[NaCl SDK Docs] Check in the generated NaCl SDK Documentation.
This is necessary so that the Chromesite server can poll for changes and
automatically update.
I can't upload the full docs/images to Rietveld, so this review will
just be empty and I'll manually commit.
BUG=none
R=awatson@chromium.org, sbc@chromium.org
Review URL: https://codereview.chromium.org/140993006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@246665 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/native_client_sdk/doc_generated/.buildinfo b/native_client_sdk/doc_generated/.buildinfo
new file mode 100644
index 0000000..0885fbe
--- /dev/null
+++ b/native_client_sdk/doc_generated/.buildinfo
@@ -0,0 +1,4 @@
+# Sphinx build info version 1
+# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
+config:
+tags:
diff --git a/native_client_sdk/doc_generated/_static/css/local_extensions.css b/native_client_sdk/doc_generated/_static/css/local_extensions.css
new file mode 100644
index 0000000..ea55fe3
--- /dev/null
+++ b/native_client_sdk/doc_generated/_static/css/local_extensions.css
@@ -0,0 +1,404 @@
+/* ======================== */
+/* NEW STYLES FOR DEVSITE */
+/* ======================== */
+
+/* GENERAL */
+.inline-toc ul, .inline-toc ol {list-style-type: none;}
+.small-gap {margin-top: 0.5em;}
+.small-gap li, dt {margin-top: 1em;}
+.no-gap {margin-bottom: 0;}
+.no-gap-li li {margin-top: 0;}
+.indent {margin-left: 40px;}
+.indent-small {margin-left: 20px;}
+
+table {width: auto;}
+.showcase, .showcase-list {margin: auto;}
+body table.showcase td {text-align: center; vertical-align: middle;}
+.showcase-list th, .generic th {text-align: center;}
+.showcase-list tbody th, .generic tbody th {text-align: left;}
+body table.showcase-list td {vertical-align: middle;}
+table.showcase td.empty {border-bottom-style: hidden; border-right-style: hidden;}
+table.showcase-list td.top-left, table.generic td.top-left {border-top-style: hidden; border-left-style: hidden;}
+th.center {text-align: center;}
+
+.showcase img.hold {opacity: 0.5;}
+.showcase span.hold {color: #888;}
+.col3 td {width: 33%;}
+.col4 td {width: 25%;}
+.col5 td {width: 20%;}
+.kd-butterbar.shown.pepper-version {text-align: right; top: 150px; right: 44px; width: 31em;}
+.kd-butterbar.shown.pepper-version span {background-color: #E5ECF9; border: 1px solid #36C;}
+.kd-butterbar.shown.pepper-version span.deprecated {background-color: #FCC; border: 1px solid #A03;}
+.kd-butterbar.shown.special-announcement {text-align: right; /* top: 185px; */ top: 150px; right: 44px; width: 31em;}
+.kd-butterbar.shown.special-announcement span {background-color: #F9EDBE; border: 1px solid #F0C36D;}
+
+/* VERSION INFORMATION */
+/*
+#gc-main .gc-toc li:first-child a {font-weight: bold; margin-bottom: 8px; background-color: #777; color: #FFF;}
+#gc-main .gc-toc li li:first-child a {font-weight: normal; margin-bottom: 0; background-color: transparent; color: #777;}
+#gc-main .gc-toc li li:first-child a:hover {background-color: #EEE; color: #000;}
+#gc-main .gc-toc li li:first-child a.tlw-control:hover {background-color: transparent;}
+
+*/
+#gc-main .gc-toc > ul:first-child > li:first-child > a {font-weight: bold; margin-bottom: 8px; background-color: #777; color: #FFF;}
+
+/* HOME PAGE */
+.features section h3 {font-weight: bold; margin-bottom: 0.2em; margin-top: 0;}
+.features section p {margin-bottom: 0;}
+p.date {margin-top: 0; margin-bottom: 0.5em; font-style: italic;}
+blockquote.indent-only {font-style: normal; color: #000; }
+#home .button-nacl {
+ border-top: 1px solid #96d1f8;
+ background: #65a9d7;
+ background: -webkit-gradient(linear, left top, left bottom, from(#3e779d), to(#65a9d7));
+ background: -webkit-linear-gradient(top, #3e779d, #65a9d7);
+ background: -moz-linear-gradient(top, #3e779d, #65a9d7);
+ background: -ms-linear-gradient(top, #3e779d, #65a9d7);
+ background: -o-linear-gradient(top, #3e779d, #65a9d7);
+ padding: 5px 10px;
+ -webkit-border-radius: 5px;
+ -moz-border-radius: 5px;
+ border-radius: 5px;
+ -webkit-box-shadow: rgba(0,0,0,1) 0 1px 0;
+ -moz-box-shadow: rgba(0,0,0,1) 0 1px 0;
+ box-shadow: rgba(0,0,0,1) 0 1px 0;
+ text-shadow: rgba(0,0,0,.4) 0 1px 0;
+ color: white;
+ font-size: 18px;
+ text-decoration: none;
+ vertical-align: middle;
+ }
+#home .button-nacl:visited {
+ color: #fff;
+ }
+#home .button-nacl:hover {
+ border-top-color: #28597a;
+ background: #28597a;
+ color: #ccc;
+ }
+#home .button-nacl:active {
+ border-top-color: #1b435e;
+ background: #1b435e;
+ }
+#home .button-download {
+ float: right;
+ margin: 2em 4em;
+ }
+#home .big-intro {
+ font-size: 16px;
+ }
+#home iframe.video {
+ display: block;
+ margin: 1em auto 0;
+ }
+#home .right-side {
+ float: right;
+ width: 54%;
+ background-color: #FFF;
+ }
+#home .right-side-inner {
+ padding-left: 40px;
+ }
+
+/* ======================== */
+/* OLD STYLES FROM CODESITE */
+/* ======================== */
+.note ul, .caution ul {
+ margin-bottom: 0;
+}
+/* CSS for the Examples page */
+.INFO {
+ font-weight: bold;
+ margin: 1.5em auto 2em;
+ width: 90%;
+ border: solid blue 2px;
+ padding: 5px;
+ line-height: 1.3;
+}
+.WARNING {
+ font-weight: bold;
+ margin: 1.7em auto 2.2em;
+ width: 90%;
+ font-size: 110%;
+ background-color: #ffe;
+ border: solid red 2px;
+ padding: 7px;
+}
+.inactive_link {
+ font-weight: bold;
+ color: #888888;
+ text-decoration: line-through;
+}
+a img {
+ border: none;
+}
+
+/* CSS for the Release Notes page */
+.functions {list-style-type: none;}
+li.gap, .gap li {margin-top: 1.5em;}
+.gap li li {margin-top: 0.2em;}
+
+/* CSS for Reference section */
+
+/*
+ * Based off the Doxygen generated template stylesheet and trimmed/edited to
+ * remove items that would conflict with codesite or other overlying
+ * stylesheets while maintaining the desired look and feel.
+ *
+ * The #doxygen-ref is an id tag which encompasses code generated by doxygen
+ * and allows override of standard html tags while not affecting the rest
+ * of the page such as sidebars.
+ */
+
+/*
+#doxygen-ref h2 {
+ font-size: 167%;
+ border-bottom: 1px solid;
+ border-bottom-width: 1px;
+ border-bottom-style: solid;
+ border-bottom-color: #CCC;
+}
+*/
+
+#doxygen-ref A.el {
+ text-decoration: none;
+ font-weight: bold;
+ text-align:left;
+
+}
+
+#doxygen-ref A.code:link,
+A.code:visited {
+ text-decoration: none;
+ font-weight: normal;
+ color: #00F;
+}
+#doxygen-ref A.codeRef:link,
+A.codeRef:visited {
+ font-weight: normal;
+ color: #00F;
+}
+#doxygen-ref A:hover {
+ text-decoration: none;
+ background-color: #f2f2ff;
+}
+
+#doxygen-ref DL.el {
+ margin-left: -1cm;
+}
+#doxygen-ref .fragment {
+ font-family: Fixed, monospace;
+ font-size: 95%;
+}
+#doxygen-ref PRE.fragment {
+ border: 1px solid #CCC;
+ background-color: #f5f5f5;
+ margin: 4px 8px 4px 2px
+ padding: 4px 6px;
+}
+
+#doxygen-ref TD {
+ margin: 0;
+ padding: 0;
+}
+
+#doxygen-ref TD.memname {
+ width: 50%;
+}
+
+#doxygen-ref TD.paramtype {
+ width: auto;
+
+}
+
+#doxygen-ref TD.md {
+ background-color: #e1e1e4;
+ font-weight: bold;
+ border: none;
+}
+
+#doxygen-ref .memberdecls {
+ border: "0";
+}
+
+#doxygen-ref .memitem {
+ padding: 4px;
+ background-color: #ffff;
+}
+
+#doxygen-ref .memItemLeft {
+ white-space: nowrap;
+}
+
+#doxygen-ref .memItemRight {
+ white-space: nowrap;
+}
+
+#doxygen-ref .memname {
+ background-color: #e1e1e4;
+ white-space: nowrap;
+ font-weight: bold;
+}
+#doxygen-ref .memdoc{
+ padding-left: 10px;
+}
+#doxygen-ref div.memproto td {
+ background-color: #e1e1e4;
+}
+#doxygen-ref .memproto {
+ background-color: #e1e1e4;
+ width: auto;
+ border-width: 1px;
+ border-style: solid;
+ border-color: #e1e1f4;
+ font-weight: bold;
+ -moz-border-radius: 8px 8px 8px 8px;
+}
+#doxygen-ref .memproto .deprecated,
+.memname .deprecated,
+.summary .deprecated {
+ color: red;
+}
+#doxygen-ref .paramkey {
+ text-align: right;
+}
+#doxygen-ref .paramtype {
+ white-space: nowrap;
+}
+#doxygen-ref .paramname {
+ color: #602020;
+ font-style: italic;
+ white-space: nowrap;
+}
+#doxygen-ref DIV.groupHeader {
+ margin: 12px 16px 6px auto;
+ font-weight: bold;
+}
+
+#doxygen-ref TR.memlist {
+ background-color: #f0f0f0;
+}
+
+#doxygen-ref table.memname {
+ width: auto;
+}
+
+#doxygen-ref td.memname {
+ width: auto;
+}
+
+#doxygen-ref table.memname td {
+ padding: 0 2px;
+}
+
+#doxygen-ref .memberdecls td {
+ width: auto;
+ border: none;
+}
+
+#doxygen-ref th {
+ font-size: 16px;
+ background-color: #DDD;
+ padding: 0 4px;
+}
+
+#doxygen-ref SPAN.keyword,
+SPAN.keywordflow {
+ color: #008000;
+}
+#doxygen-ref SPAN.keywordtyp {
+ color: #604020;
+}
+#doxygen-ref SPAN.comment {
+ color: #800000;
+}
+#doxygen-ref SPAN.preprocessor {
+ color: #806020;
+}
+#doxygen-ref SPAN.stringliteral {
+ color: #002080;
+}
+#doxygen-ref SPAN.charliteral {
+ color: #008080;
+}
+
+#doxygen-ref .mdescLeft,
+#doxygen-ref .mdescRight {
+ padding: 0 8px 4px 8px;
+ font-size: 80%;
+ font-style: italic;
+ background-color: #FAFAFA;
+ border: 1px none #E0E0E0;
+ margin: 0;
+}
+#doxygen-ref .search {
+ color: #039;
+ font-weight: bold;
+}
+
+#doxygen-ref HR {
+ height: 1px;
+ border: none;
+ display: none;
+}
+#doxygen-ref table,
+#doxygen-ref td,
+#doxygen-ref tr {
+ border:none;
+ width: auto;
+ text-align: left;
+ padding: 10px;
+ margin-bottom: 0;
+}
+#doxygen-ref .contents H1 {
+ text-align: center;
+ background-color: #ffffff;
+ border: 0;
+}
+
+#doxygen-ref CAPTION {
+ font-weight: bold;
+}
+#doxygen-ref .contents .summary {
+ line-height: 1em;
+}
+#doxygen-ref .contents .summary TD {
+}
+#doxygen-ref .contents .summary .type {
+ text-align: right;
+}
+#doxygen-ref .memdoc {
+ padding-left: 30px;
+}
+#doxygen-ref .memitem {
+ border-top:1px solid #E5ECF9;
+ border:none;
+}
+#doxygen-ref .doxygen-global {
+ background-color: #ffcc66;
+}
+@font-face {
+ font-family: 'Open Sans';
+ font-style: normal;
+ font-weight: 300;
+ src: local('Open Sans Light'), local('OpenSans-Light'), url(https://themes.googleusercontent.com/static/fonts/opensans/v6/DXI1ORHCpsQm3Vp6mXoaTXhCUOGz7vYGh680lGh-uXM.woff) format('woff');
+}
+@font-face {
+ font-family: 'Open Sans';
+ font-style: normal;
+ font-weight: 400;
+ src: local('Open Sans'), local('OpenSans'), url(https://themes.googleusercontent.com/static/fonts/opensans/v6/cJZKeOuBrn4kERxqtaUH3T8E0i7KZn-EPnyo3HZu7kw.woff) format('woff');
+}
+@font-face {
+ font-family: 'Open Sans';
+ font-style: normal;
+ font-weight: 600;
+ src: local('Open Sans Semibold'), local('OpenSans-Semibold'), url(https://themes.googleusercontent.com/static/fonts/opensans/v6/MTP_ySUJH_bn48VBG8sNSnhCUOGz7vYGh680lGh-uXM.woff) format('woff');
+}
+@font-face {
+ font-family: 'Open Sans';
+ font-style: normal;
+ font-weight: 700;
+ src: local('Open Sans Bold'), local('OpenSans-Bold'), url(https://themes.googleusercontent.com/static/fonts/opensans/v6/k3k702ZOKiLJc3WVjuplzHhCUOGz7vYGh680lGh-uXM.woff) format('woff');
+}
+html{margin:0;padding:0;border:0}.bp-reset-element,body,h1,h2,h3,h4,h5,h6,article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,blockquote,q,th,td,caption,table,div,span,object,iframe,p,pre,a,abbr,acronym,address,code,del,dfn,em,img,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,caption,tbody,tfoot,thead,tr{margin:0;padding:0;border:0;font-weight:inherit;font-style:inherit;font-size:100%;font-family:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary{display:block}blockquote,q{quotes:"" ""}blockquote:before,blockquote:after,q:before,q:after{content:""}th,td,caption{float:none !important;text-align:left;font-weight:normal;vertical-align:middle}table{border-collapse:separate;border-spacing:0;vertical-align:middle}a img{border:none}body{line-height:1.5;font-family:"Arial",sans-serif;color:#333;font-size:81.25%}h1,h2,h3,h4,h5,h6{font-weight:normal;color:#222}h1 img,h2 img,h3 img,h4 img,h5 img,h6 img{margin:0}h1{font-size:3em;line-height:1;margin-bottom:0.50em}h2{font-size:2em;margin-bottom:0.75em}h3{font-size:1.5em;line-height:1;margin-bottom:1.00em}h4{font-size:1.2em;line-height:1.25;margin-bottom:1.25em}h5{font-size:1em;font-weight:bold;margin-bottom:1.50em}h6{font-size:1em;font-weight:bold}p{margin:0 0 1.5em}p .left{display:inline;float:left;margin:1.5em 1.5em 1.5em 0;padding:0}p .right{display:inline;float:right;margin:1.5em 0 1.5em 1.5em;padding:0}a{text-decoration:underline;color:#006ac8}a:visited{color:#551a8b}a:focus{color:#006ac8}a:hover{color:#006ac8}a:active{color:red}blockquote{margin:1.5em;color:#666;font-style:italic}strong,dfn{font-weight:bold}em,dfn{font-style:italic}sup,sub{line-height:0}abbr,acronym{border-bottom:1px dotted #666}address{margin:0 0 1.5em;font-style:italic}del{color:#666}pre{margin:1.5em 0;white-space:pre}pre,code,tt{font:1em "Droid Sans Mono",monospace;line-height:1.5}li ul,li ol{margin:0}ul,ol{margin:0 1.5em 1.5em 0;padding-left:1.5em}ul{list-style-type:disc}ol{list-style-type:decimal}dl{margin:0 0 1.5em 0}dl dt{font-weight:bold}dd{margin-left:1.5em}table{margin-bottom:1.4em;width:100%}th{font-weight:bold}thead th{background:#6199df}th,td,caption{padding:4px 10px 4px 5px}table.striped tr:nth-child(even) td,table tr.even td{background:#efefef}tfoot{font-style:italic}caption{background:#eee}.quiet{color:#666}.loud{color:#111}body{line-height:1.67;background-color:#fff;overflow-y:scroll;min-width:1000px}img[width="1"][height="1"]{position:absolute;top:-9999px;left:-9999px}#gc-googlebar{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;min-width:952px;width:auto !important;width:952px;position:relative;background:#f1f1f1;border-bottom:1px solid #e5e5e5;height:77px;margin:0;overflow:hidden;padding:24px 44px;color:rgba(255,255,255,0.5)}#gc-googlebar .signed-in>div{float:left}#gc-googlebar .signed-in a,#gc-googlebar .signed-in a:visited{display:block;text-align:right;line-height:140%;color:#808080}#gc-googlebar .signed-in a{text-decoration:none}#gc-googlebar .signed-in a:hover{text-decoration:underline}#gc-googlebar .signed-in img{width:30px;height:30px}#gc-googlebar .gc-social{float:right;font-size:12px;margin-top:-1px}#gc-googlebar .gc-social .email{font-weight:bold;color:#777}#gc-googlebar .gc-social img{vertical-align:middle;border:1px solid #acacac;margin-left:8px;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px}#gc-googlebar .gc-social #loginLink{color:#484848}#gc-logo{display:block;height:37px;vertical-align:top;text-decoration:none;position:absolute}#gc-logo img{width:200px;vertical-align:top;top:-12px;left:-4px;position:relative}.gc-search{position:absolute;left:270px;right:308px;width:350px}.gc-search .searchbox{position:absolute;left:0px;right:81px;background-color:#fff;border:1px solid rgba(0,0,0,0.15);border-top:1px solid rgba(0,0,0,0.25);height:28px;padding-left:4px}.gc-search .searchbox:hover{-webkit-box-shadow:rgba(0,0,0,0.3) 0 1px 2px inset;-moz-box-shadow:rgba(0,0,0,0.3) 0 1px 2px inset;box-shadow:rgba(0,0,0,0.3) 0 1px 2px inset;border:1px solid #4d90fe}.gc-search .searchbox .button.mini{height:19px;line-height:19px;min-width:18px;width:auto}.gc-search .searchbox .button.left{border-radius:4px 0 0 4px;padding:0 4px 0 4px}.gc-search .searchbox .button.right{border-radius:0 4px 4px 0;padding:0px}.gc-search .searchbox .button.right span{position:relative;bottom:1px;right:1px}.gc-search .searchbox span.button.button-blue{cursor:default}.gc-search .searchbox span.button.button-blue pre{background:none;border:none;color:white;font:inherit;display:inline;padding:0}.gc-search .searchbox input{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;background-color:transparent;border:0;font-size:13px;height:28px;margin:0;outline:none;padding:5px 2px;width:100%}.gc-search button{padding-top:0;padding-bottom:1px;position:absolute;right:0}.gc-search button img{vertical-align:middle;margin-top:-3px}#search-full{font-size:10px}#restrict{margin:5px 0 10px 0}#restrict label{font-size:13px}#restrict label span{font-size:13px;font-weight:bold}.gsc-completion-container{z-index:100}#gc-appbar{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-bottom:1px solid #ebebeb;line-height:24px;overflow:hidden;padding:21px 44px;position:relative}#gc-appbar .developers{color:#dd4b39;font-size:20px;margin-right:-2000px;float:left}#gc-appbar h1{display:block;font-size:20px;margin:0 16px 0 0}#gc-appbar h1 div{vertical-align:top}#gc-appbar a{color:inherit;text-decoration:none;margin-right:24px}#gc-appbar a.google-feedback{text-decoration:none;margin-right:0px;font-size:12px}#gc-appbar a.google-feedback:hover{text-decoration:underline}#gc-appbar .confidential{position:absolute;width:100%}#gc-appbar nav{display:-moz-inline-stack;display:inline-block;vertical-align:middle;*vertical-align:auto;zoom:1;*display:inline;vertical-align:middle}#gc-appbar nav>ul{margin:0;padding:0;border:0;overflow:hidden;*zoom:1;margin-left:-20px}#gc-appbar nav>ul li{list-style-image:none;list-style-type:none;margin-left:0;white-space:nowrap;display:inline;float:left;padding-left:4px;padding-right:4px}#gc-appbar nav>ul li:first-child,#gc-appbar nav>ul li.first{padding-left:0}#gc-appbar nav>ul li:last-child{padding-right:0}#gc-appbar nav>ul li.last{padding-right:0}#gc-appbar nav>ul>li{padding:0}#gc-appbar nav>ul>li.active{font-weight:bold}#gc-appbar nav>ul>li>a{color:#434343;display:block;line-height:2;padding:0 20px;text-decoration:none}#gc-appbar nav>ul>li>a:visited{color:#434343}#gc-footer{font-size:12px;background:#333}#gc-footer>div{line-height:44px}#gc-footer li{margin:0 30px 0 0}#gc-footer a,#gc-footer a:visited{color:rgba(255,255,255,0.8)}#gc-footer .kd-select{margin-bottom:2px}#gc-footer #developers-logo-footer{float:left;margin-top:10px;margin-right:30px}#gc-footer #gc-copyright{float:left;width:75%}#gc-footer #gc-language{text-align:right;float:right}#gc-footer #gc-language ul{float:right}#gc-topnav{font-size:14px;background:#444}#gc-topnav>div{line-height:39px}#gc-topnav a,#gc-topnav a:visited{color:#fff}#gc-topnav li{margin:0 30px 0 0}#gc-topnav li.active{background:url("data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAABgAAAAKCAYAAACuaZ5oAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAH1JREFUeNpi/P//PwORgBmIJ0DZBUD8lyhdIAuIwEJAvP0/AmyHihHUS4zhKkB8+z8muA2Vo8gCeyB++x83eAtVQ5YFOUD88z9h8AeqlmgLmIF48n/SwWSoXrwWoEcmqQAj8omJTFIBSuQTG5mkAnjkwyLzz3/qA3DkAwQYABEvANn67PzPAAAAAElFTkSuQmCC") no-repeat scroll center 33px transparent}#gc-topnav li.active a{font-weight:bold}#gc-appnav{font-size:14px;background:#fff;color:#15c;border-bottom:1px solid #ebebeb}#gc-appnav>div{line-height:33px}#gc-appnav li{margin:0 20px 0 0}#gc-appnav li.active>a{color:#222}#gc-footer,#gc-topnav,#gc-appnav{overflow:hidden;*zoom:1;clear:both;padding:0 44px}#gc-footer a,#gc-footer a:visited,#gc-topnav a,#gc-topnav a:visited,#gc-appnav a,#gc-appnav a:visited{text-decoration:none}#gc-footer a:hover,#gc-footer a:visited:hover,#gc-topnav a:hover,#gc-topnav a:visited:hover,#gc-appnav a:hover,#gc-appnav a:visited:hover{text-decoration:underline}#gc-footer>div ul,#gc-topnav>div ul,#gc-appnav>div ul{margin:0;padding:0;border:0;overflow:hidden;*zoom:1}#gc-footer>div ul li,#gc-topnav>div ul li,#gc-appnav>div ul li{list-style-image:none;list-style-type:none;margin-left:0;white-space:nowrap;display:inline;float:left;padding-left:4px;padding-right:4px}#gc-footer>div ul li:first-child,#gc-footer>div ul li.first,#gc-topnav>div ul li:first-child,#gc-topnav>div ul li.first,#gc-appnav>div ul li:first-child,#gc-appnav>div ul li.first{padding-left:0}#gc-footer>div ul li:last-child,#gc-topnav>div ul li:last-child,#gc-appnav>div ul li:last-child{padding-right:0}#gc-footer>div ul li.last,#gc-topnav>div ul li.last,#gc-appnav>div ul li.last{padding-right:0}#gc-footer>div li,#gc-topnav>div li,#gc-appnav>div li{padding:0}#fat-footer{font-size:13px;background-color:#f9f9f9;border-top:1px solid #f1f1f1;clear:both;margin-bottom:0;padding:0 0 20px 0;overflow:hidden}#fat-footer section{max-width:1128px;padding:20px 44px}#fat-footer section article{display:inline;float:left;overflow:hidden;width:23.15975%;margin-right:1.042%;float:left;font-size:12px}#fat-footer section article h3{color:#666;font-size:12px;font-weight:bold;padding-left:3px}#fat-footer section article>ul{list-style-type:none;padding:0;margin:0}#fat-footer section article>ul>li{background-repeat:no-repeat;background-position:0 0;padding:0px 0 0px 4px}#socialbar{display:inline;float:left;overflow:hidden;width:22.1075%;margin-right:0;padding:12px;background-color:#f9f9f9;border:1px solid #ccc;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;-o-border-radius:5px;border-radius:5px}#socialbar h2{font-size:16px}#socialbar .hangout-icon{margin-bottom:-2px}#socialbar .more{font-size:11px}#socialbar #experts{line-height:24px}#socialbar #experts .smallicon{width:24px;float:left;margin-right:5px}#socialbar #homephoto{margin:10px 0;width:100%;border:1px solid #ccc}#platform-activities{display:inline;float:left;overflow:hidden;width:70.511%;margin-right:1.042%;margin-top:10px;margin-right:20px;min-height:400px}#platform-activities #highlights>div{display:inline;float:left;overflow:hidden;width:48.41375%;margin-right:0}#platform-activities #highlights #main-highlight{background-position:top center;background-size:cover;border:1px solid #ccc;border-radius:4px;margin-right:16px;max-height:220px;overflow:hidden;position:relative}#platform-activities #highlights #main-highlight a,#platform-activities #highlights #main-highlight a:visited{text-decoration:none}#platform-activities #highlights #main-highlight a>img,#platform-activities #highlights #main-highlight a:visited>img{border:none;height:100%;width:100%}#platform-activities #highlights #main-highlight a .caption,#platform-activities #highlights #main-highlight a:visited .caption{background:#000;border-top:1px solid #eee;border-bottom-left-radius:4px;border-bottom-right-radius:4px;bottom:0;opacity:0.85;position:absolute;width:100%}#platform-activities #highlights #main-highlight a .caption.dark,#platform-activities #highlights #main-highlight a:visited .caption.dark{background:#fff}#platform-activities #highlights #main-highlight a .caption.dark p,#platform-activities #highlights #main-highlight a:visited .caption.dark p{color:#000}#platform-activities #highlights #main-highlight a .caption p,#platform-activities #highlights #main-highlight a:visited .caption p{color:#fff;font-size:13px;line-height:150%;margin:5px 10px;opacity:1}#platform-activities #highlights #main-highlight a .caption img,#platform-activities #highlights #main-highlight a:visited .caption img{border:none;float:left;margin:5px;opacity:1}#platform-activities #highlights #other-highlights{overflow:hidden}#platform-activities #highlights #other-highlights li{padding:0;clear:both;overflow:hidden}#platform-activities #highlights #other-highlights li:first-child{padding:0 0 6px 0}#platform-activities #highlights #other-highlights li:last-child{padding:5px 0 0 0}#platform-activities #highlights #other-highlights li>a{float:left;width:35%;margin-right:3%}#platform-activities #highlights #other-highlights li>div{width:62%;float:left;margin-top:-5px}#platform-activities #highlights #other-highlights li img{width:100%;border:1px solid #ccc;border-radius:4px}#platform-activities #nav-lists h2{margin-bottom:10px}#platform-activities #nav-lists div:first-child{margin-right:10px}#platform-activities #nav-lists div:last-child{margin-left:10px;float:right}#platform-activities #nav-lists>div.nav-list ul{margin-top:-12px}#platform-activities #nav-lists>div.nav-list ul>li{padding-top:12px;padding-left:0 !important}#platform-activities #nav-lists>div.nav-list ul>li>a{float:left;margin-top:6px}#platform-activities #nav-lists>div.nav-list ul>li>div{float:left;width:85%}#platform-activities #programs p{white-space:normal;margin:10px 0}#platform-activities #dev-toolkit{font-size:13px}#platform-activities #dev-toolkit ul{margin:0;padding:0;border:0;overflow:hidden;*zoom:1;text-align:left;white-space:nowrap;padding:0}#platform-activities #dev-toolkit ul li{list-style-image:none;list-style-type:none;margin-left:0;white-space:nowrap;display:inline;float:left;padding-left:4px;padding-right:4px}#platform-activities #dev-toolkit ul li:first-child,#platform-activities #dev-toolkit ul li.first{padding-left:0}#platform-activities #dev-toolkit ul li:last-child{padding-right:0}#platform-activities #dev-toolkit ul li.last{padding-right:0}#platform-activities #dev-toolkit ul li{display:inline-block;padding-bottom:5px;margin:10px 3%}#platform-activities #dev-toolkit ul li p{margin-bottom:0;display:inline}#platform-activities #dev-toolkit ul li>a.toolicon{display:block;background:url("//code.google.com/images/icon_sprite-35.png") left center no-repeat;line-height:35px;padding-left:40px;height:35px}#platform-activities #dev-toolkit ul li.console>a.toolicon{background-position:0px -140px}#platform-activities #dev-toolkit ul li.explorer>a.toolicon{background-position:0px -525px}#platform-activities #dev-toolkit ul li.oauth>a.toolicon{background-position:0px -595px}#platform-activities #dev-toolkit ul li.hosting>a.toolicon{background-position:0px -70px}#platform-activities #dev-toolkit ul li.appengine>a.toolicon{background-position:0px -175px}#platform-activities #dev-toolkit ul li.pagespeed>a.toolicon{background:url(/_static/images/pagespeed-32.png) center no-repeat}#platform-activities #dev-toolkit ul li:first-child{margin-left:0}#platform-activities #dev-toolkit ul li:last-child{margin-right:0}#platform-activities #dev-toolkit.center-img ul li>a.toolicon{width:0}#platform-activities #dev-toolkit.center-img ul li>a{margin:auto;display:block}body.home{font-family:"open sans",arial,sans-serif}body.home #title-container{margin:14px 0}body.home #title-container h1{display:inline-block;font-size:24px;font-weight:normal;color:#222}body.home #gc-main{padding-bottom:0}body.home #rss-feed{margin-bottom:25px}body.home #gc-sidebar{display:none}body.home #gc-content{display:block;float:none;max-width:1128px;width:100%;padding-top:14px}body.home h2{font-size:18px;font-weight:normal;color:#222;margin:0px}body.home h2>a img{padding-left:15px;position:relative;top:2px}body.home h3{font-size:14px;font-weight:normal;color:#222;margin:0 0 0.2em 0}body.home h4{font-size:13px;font-weight:normal;color:#222;margin:0 0 0.2em 0}body.home a,body.home a:visited{text-decoration:none}body.home a:hover,body.home a:visited:hover{text-decoration:underline}body.home section>div{margin-bottom:20px;overflow:hidden}.feed-entries article{padding:10px 0;overflow:hidden}.feed-entries article header{font-size:13px;font-weight:normal;display:block;margin:0}.feed-entries article header span,.feed-entries article header time{font-weight:normal}.feed-entries article article.content,.feed-entries article span{font-size:13px;padding:0}.feed-entries article time{font-size:11px;color:#777}.feed-entries article div:first-child{float:left}.feed-entries article div:last-child{padding-top:1em;float:right}.feed{-webkit-box-shadow:#fff 0 1px 0 inset;-moz-box-shadow:#fff 0 1px 0 inset;box-shadow:#fff 0 1px 0 inset;background-color:#f6f9ff;border:1px solid #ecf0f4;border-radius:5px;padding:0 12px;margin-top:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;-o-border-radius:5px;border-radius:5px}.feed article{font-size:13px;color:#222}.feed article a header{font-size:13px;margin:0 0 0.2em 0}.nav-list{font-size:13px;display:inline;float:left;overflow:hidden;width:47.3615%;margin-right:0;float:left}.nav-list p{margin-bottom:.5em}.nav-list>ul{list-style-type:none;padding:0;margin:0}.nav-list>ul>li{min-height:74px;background-repeat:no-repeat;background-position:0 35%;padding:3px 0 3px 45px}h1.name{font-size:32px;margin:0;margin-left:16px;line-height:1;vertical-align:top}.profile-photo{padding:0 16px 16px}.profile-photo img{display:block;width:100%;height:auto}.join-date,.last-seen{display:inline-block;font-size:13px;font-weight:bold;margin-bottom:10px;padding-left:15px}.urls{margin-right:0}.urls li{list-style:none;line-height:2em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.urls li img{vertical-align:middle}.profile-following>ul{margin:0;padding:0;border:0;overflow:hidden;*zoom:1;margin:0 1em}.profile-following>ul li{list-style-image:none;list-style-type:none;margin-left:0;white-space:nowrap;display:inline;float:left;padding-left:4px;padding-right:4px}.profile-following>ul li:first-child,.profile-following>ul li.first{padding-left:0}.profile-following>ul li:last-child{padding-right:0}.profile-following>ul li.last{padding-right:0}.profile-following>ul li{padding-right:0px}.profile-following>ul img{height:33px;width:auto;border:1px solid #ccc}.profile-projects>ul{margin:0;padding:0;border:0;overflow:hidden;*zoom:1;margin:0 1em}.profile-projects>ul li{list-style-image:none;list-style-type:none;margin-left:0;white-space:nowrap;display:inline;float:left;padding-left:4px;padding-right:4px}.profile-projects>ul li:first-child,.profile-projects>ul li.first{padding-left:0}.profile-projects>ul li:last-child{padding-right:0}.profile-projects>ul li.last{padding-right:0}.profile-projects>ul li{padding-right:0px}.profile-projects>ul img{border:1px solid #ccc}.data{clear:both;color:#999;font-size:80%;margin-bottom:10px}.data dl{overflow:auto}.data dl,.data dt,.data dd{margin:0;padding:0;line-height:1.4em}.data dt{clear:both;float:left;font-weight:bold}.data dd{float:right}.profile-header{width:100%;display:-moz-inline-stack;display:inline-block;vertical-align:middle;*vertical-align:auto;zoom:1;*display:inline}.profile-header .info{width:100%}.profile-header .info .detail{margin:0 2.5em;color:#999}.profile-header .info .detail .location{float:left}.profile-header .info .detail .tags{margin:0;padding:0;border:0;overflow:hidden;*zoom:1;padding-left:1em}.profile-header .info .detail .tags li{list-style-image:none;list-style-type:none;margin-left:0;white-space:nowrap;display:inline;float:left;padding-left:4px;padding-right:4px}.profile-header .info .detail .tags li:first-child,.profile-header .info .detail .tags li.first{padding-left:0}.profile-header .info .detail .tags li:last-child{padding-right:0}.profile-header .info .detail .tags li.last{padding-right:0}.profile-header .info .detail .tags li{background:url("../images/tag-icon.png") left center no-repeat;margin-left:5px;padding-left:15px !important}.profile-header .info .detail .tags a{text-decoration:none}.profile-header .info .detail .tags a:hover{text-decoration:underline}.profile-header .follow{float:right}.profile-header .follow button{margin:20px 10px auto auto;border:none;color:white;-webkit-border-radius:10px;-moz-border-radius:10px;-ms-border-radius:10px;-o-border-radius:10px;border-radius:10px;padding:6px 8px 6px 8px;font-weight:bold;font-size:8.5pt;background:-webkit-gradient(linear, 50% 100%, 50% 0%, color-stop(0%, #008bbc), color-stop(100%, #80bfdf));background:-webkit-linear-gradient(bottom, #008bbc,#80bfdf);background:-moz-linear-gradient(bottom, #008bbc,#80bfdf);background:-o-linear-gradient(bottom, #008bbc,#80bfdf);background:linear-gradient(bottom, #008bbc,#80bfdf)}.profile-header .follow button:active{background:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #008bbc), color-stop(100%, #80bfdf));background:-webkit-linear-gradient(top, #008bbc,#80bfdf);background:-moz-linear-gradient(top, #008bbc,#80bfdf);background:-o-linear-gradient(top, #008bbc,#80bfdf);background:linear-gradient(top, #008bbc,#80bfdf)}.profile-nav{border-top:1px solid #ebebeb;border-bottom:1px solid #ebebeb;background:#f1f1f1;padding:0 5px 0 16px;font-size:15px;margin-top:20px}.profile-nav>ul{margin:0;padding:0;border:0;overflow:hidden;*zoom:1;margin-left:-12px}.profile-nav>ul li{list-style-image:none;list-style-type:none;margin-left:0;white-space:nowrap;display:inline;float:left;padding-left:4px;padding-right:4px}.profile-nav>ul li:first-child,.profile-nav>ul li.first{padding-left:0}.profile-nav>ul li:last-child{padding-right:0}.profile-nav>ul li.last{padding-right:0}.profile-nav>ul li{padding:0;line-height:normal}.profile-nav>ul a{display:block;text-decoration:none;padding:7px 12px;color:#777;display:block}.profile-nav>ul a:hover{color:#dd4b39}.profile-nav>ul a.spacer{font-weight:bold;height:1px;margin:0;padding-top:0;padding-bottom:0;margin-top:-1px;visibility:hidden}.profile-nav>ul li.selected a{color:#dd4b39;font-weight:bold;cursor:default}.profile-panel+.profile-panel{display:none}.circle{float:right;margin-top:20px;margin-right:10px}.circle .circle-action{font-size:0px}.circle .circle-action button{margin:0px;border:1px solid #004057;color:white;padding:2px 8px 2px 8px;font-weight:bold;font-size:10pt}.circle .circle-member button{background:-webkit-gradient(linear, 50% 100%, 50% 0%, color-stop(0%, #338f02), color-stop(100%, #68b537));background:-webkit-linear-gradient(bottom, #338f02,#68b537);background:-moz-linear-gradient(bottom, #338f02,#68b537);background:-o-linear-gradient(bottom, #338f02,#68b537);background:linear-gradient(bottom, #338f02,#68b537)}.circle .circle-member #button_drop{-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;-o-border-radius:3px;border-radius:3px}.circle .circle-member .drop-active{background:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #338f02), color-stop(100%, #68b537));background:-webkit-linear-gradient(top, #338f02,#68b537);background:-moz-linear-gradient(top, #338f02,#68b537);background:-o-linear-gradient(top, #338f02,#68b537);background:linear-gradient(top, #338f02,#68b537)}.circle .circle-nonmember button{background:-webkit-gradient(linear, 50% 100%, 50% 0%, color-stop(0%, #0f5487), color-stop(100%, #348ed1));background:-webkit-linear-gradient(bottom, #0f5487,#348ed1);background:-moz-linear-gradient(bottom, #0f5487,#348ed1);background:-o-linear-gradient(bottom, #0f5487,#348ed1);background:linear-gradient(bottom, #0f5487,#348ed1)}.circle .circle-nonmember #quick_add{-moz-border-radius-topleft:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-moz-border-radius-bottomleft:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px}.circle .circle-nonmember #quick_add:active{background:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #0f5487), color-stop(100%, #348ed1));background:-webkit-linear-gradient(top, #0f5487,#348ed1);background:-moz-linear-gradient(top, #0f5487,#348ed1);background:-o-linear-gradient(top, #0f5487,#348ed1);background:linear-gradient(top, #0f5487,#348ed1)}.circle .circle-nonmember #button_drop{-moz-border-radius-topright:3px;-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-moz-border-radius-bottomright:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px}.circle .circle-nonmember .drop-active{background:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #0f5487), color-stop(100%, #348ed1));background:-webkit-linear-gradient(top, #0f5487,#348ed1);background:-moz-linear-gradient(top, #0f5487,#348ed1);background:-o-linear-gradient(top, #0f5487,#348ed1);background:linear-gradient(top, #0f5487,#348ed1)}.circle #circle_drop{position:absolute;z-index:100;font-size:8.5pt;background-color:#fff;border-width:1px;border-style:solid;border-color:#aaa #777 #777 #aaa;padding:5px;visibility:hidden;color:black}.circle #circle_drop span{font-weight:bolder}.circle #circle_drop .container{overflow:auto;margin:2px 0px}.circle #circle_drop .container .check{float:left}.circle #circle_drop .container .check button{background-color:#fff;width:auto;padding:0px;margin:0px 5px;border:none}.circle #circle_drop .container .check button:hover{background-color:#aaa}.circle #circle_drop .container .name{float:left;white-space:pre}.circle #circle_drop .container .count{float:right;color:#999}body.profile.status #gc-sidebar{border-right:1px solid #ebebeb;padding-right:16px}body.profile.status #gc-content{border:0;padding-top:0}body.profile.status #gc-content>div{padding-top:14px}body.profile.status #gc-content .profile-panel{margin:15px 0 0 20px}body.profile.status #gc-content .profile-panel .info-block{color:#777;padding-top:10px}body.profile.status #gc-content .profile-panel .info-block label{display:inline-block;font-weight:bold;margin-right:15px;text-align:right;vertical-aligh:top;width:100px}body.profile.status #gc-content .profile-panel .info-block #chapter-list{display:inline-block}body.profile.status #gc-content .profile-panel .info-block #chapter-list span{display:inline-block;margin-right:20px}.kd-button{background-color:#f5f5f5;border:1px solid #dcdcdc;border:1px solid rgba(0,0,0,0.1);color:#666;cursor:pointer;display:-moz-inline-stack;display:inline-block;vertical-align:middle;*vertical-align:auto;zoom:1;*display:inline;font-family:"Arial",sans-serif;font-size:11px;font-weight:bold;height:27px;line-height:27px;min-width:54px;padding:0 8px;text-align:center;text-decoration:none !important;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;background:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #f5f5f5), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f5f5f5,#f1f1f1);background:-moz-linear-gradient(top, #f5f5f5,#f1f1f1);background:-o-linear-gradient(top, #f5f5f5,#f1f1f1);background:linear-gradient(top, #f5f5f5,#f1f1f1);-webkit-transition:all,0.218s;-moz-transition:all,0.218s;-o-transition:all,0.218s;transition:all,0.218s}.kd-button:hover{background-color:#f8f8f8;border:1px solid #c6c6c6;color:#333;background:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #f8f8f8), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f8f8f8,#f1f1f1);background:-moz-linear-gradient(top, #f8f8f8,#f1f1f1);background:-o-linear-gradient(top, #f8f8f8,#f1f1f1);background:linear-gradient(top, #f8f8f8,#f1f1f1);-webkit-box-shadow:rgba(0,0,0,0.1) 0 1px 1px 0;-moz-box-shadow:rgba(0,0,0,0.1) 0 1px 1px 0;box-shadow:rgba(0,0,0,0.1) 0 1px 1px 0;-webkit-transition:all,0;-moz-transition:all,0;-o-transition:all,0;transition:all,0}.kd-button:active{background-color:#f6f6f6;background:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #f6f6f6), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f6f6f6,#f1f1f1);background:-moz-linear-gradient(top, #f6f6f6,#f1f1f1);background:-o-linear-gradient(top, #f6f6f6,#f1f1f1);background:linear-gradient(top, #f6f6f6,#f1f1f1);-webkit-box-shadow:rgba(0,0,0,0.1) 0 1px 2px 0 inset;-moz-box-shadow:rgba(0,0,0,0.1) 0 1px 2px 0 inset;box-shadow:rgba(0,0,0,0.1) 0 1px 2px 0 inset}.kd-button:visited{color:#666}.kd-button:focus{border:1px solid #4d90fe;outline:none}.kd-button.disabled,.kd-button.disabled:hover,.kd-button.disabled:active{background:#fff;border:1px solid #f3f3f3;border:1px solid rgba(0,0,0,0.05);color:#b8b8b8;cursor:default;pointer-events:none}.kd-closebutton{width:44px;height:44px;background:url("/_static/images/x.png") center no-repeat;position:absolute;top:0;right:0;opacity:.7;-moz-opacity:.7;filter:alpha(opacity=70);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";cursor:default}.kd-closebutton:hover{opacity:1;-moz-opacity:1;filter:alpha(opacity=100);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"}.button-blue{background-color:#4d90fe !important;border-color:#3079ed !important;color:#fff !important;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #4d90fe), color-stop(100%, #4787ed)) !important;background-image:-webkit-linear-gradient(top, #4d90fe,#4787ed) !important;background-image:-moz-linear-gradient(top, #4d90fe,#4787ed) !important;background-image:-o-linear-gradient(top, #4d90fe,#4787ed) !important;background-image:linear-gradient(top, #4d90fe,#4787ed) !important}.button-blue.disabled,.button-blue.disabled:hover,.button-blue.disabled:active{background:#4d90fe !important;border:1px solid #3079ed !important;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=50);opacity:0.5}.button-blue:hover{background-color:#357ae8 !important;border-color:#2f5bb7 !important;color:#fff !important;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #4d90fe), color-stop(100%, #357ae8)) !important;background-image:-webkit-linear-gradient(top, #4d90fe,#357ae8) !important;background-image:-moz-linear-gradient(top, #4d90fe,#357ae8) !important;background-image:-o-linear-gradient(top, #4d90fe,#357ae8) !important;background-image:linear-gradient(top, #4d90fe,#357ae8) !important;-webkit-box-shadow:rgba(0,0,0,0.2) 0 1px 1px 0;-moz-box-shadow:rgba(0,0,0,0.2) 0 1px 1px 0;box-shadow:rgba(0,0,0,0.2) 0 1px 1px 0}.button-blue:hover.disabled,.button-blue:hover.disabled:hover,.button-blue:hover.disabled:active{background:#357ae8 !important;border:1px solid #2f5bb7 !important;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=50);opacity:0.5}.button-blue:active{-webkit-box-shadow:rgba(0,0,0,0.3) 0 1px 2px 0 inset;-moz-box-shadow:rgba(0,0,0,0.3) 0 1px 2px 0 inset;box-shadow:rgba(0,0,0,0.3) 0 1px 2px 0 inset}.button-blue.selected{-webkit-box-shadow:rgba(0,0,0,0.3) 0 3px 6px 0 inset;-moz-box-shadow:rgba(0,0,0,0.3) 0 3px 6px 0 inset;box-shadow:rgba(0,0,0,0.3) 0 3px 6px 0 inset}.button-green{background-color:#3d9400 !important;border-color:#29691d !important;color:#fff !important;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #3d9400), color-stop(100%, #398a00)) !important;background-image:-webkit-linear-gradient(top, #3d9400,#398a00) !important;background-image:-moz-linear-gradient(top, #3d9400,#398a00) !important;background-image:-o-linear-gradient(top, #3d9400,#398a00) !important;background-image:linear-gradient(top, #3d9400,#398a00) !important}.button-green.disabled,.button-green.disabled:hover,.button-green.disabled:active{background:#3d9400 !important;border:1px solid #29691d !important;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=50);opacity:0.5}.button-green:hover{background-color:#368200 !important;border-color:#2d6200 !important;color:#fff !important;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #3d9400), color-stop(100%, #368200)) !important;background-image:-webkit-linear-gradient(top, #3d9400,#368200) !important;background-image:-moz-linear-gradient(top, #3d9400,#368200) !important;background-image:-o-linear-gradient(top, #3d9400,#368200) !important;background-image:linear-gradient(top, #3d9400,#368200) !important;-webkit-box-shadow:rgba(0,0,0,0.3) 0 1px 1px 0;-moz-box-shadow:rgba(0,0,0,0.3) 0 1px 1px 0;box-shadow:rgba(0,0,0,0.3) 0 1px 1px 0}.button-green:hover.disabled,.button-green:hover.disabled:hover,.button-green:hover.disabled:active{background:#368200 !important;border:1px solid #2d6200 !important;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=50);opacity:0.5}.button-green:active{-webkit-box-shadow:rgba(0,0,0,0.3) 0 1px 2px 0 inset;-moz-box-shadow:rgba(0,0,0,0.3) 0 1px 2px 0 inset;box-shadow:rgba(0,0,0,0.3) 0 1px 2px 0 inset}.button-red{background-color:#d14836 !important;border-color:#992a1b !important;color:#fff !important;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #dd4b39), color-stop(100%, #d14836)) !important;background-image:-webkit-linear-gradient(top, #dd4b39,#d14836) !important;background-image:-moz-linear-gradient(top, #dd4b39,#d14836) !important;background-image:-o-linear-gradient(top, #dd4b39,#d14836) !important;background-image:linear-gradient(top, #dd4b39,#d14836) !important;text-shadow:rgba(0,0,0,0.1) 0 1px 0}.button-red.disabled,.button-red.disabled:hover,.button-red.disabled:active{background:#d14836 !important;border:1px solid #992a1b !important;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=50);opacity:0.5}.button-red:hover{background-color:#c53727 !important;border-color:#b0281a !important;color:#fff !important;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #dd4b39), color-stop(100%, #c53727)) !important;background-image:-webkit-linear-gradient(top, #dd4b39,#c53727) !important;background-image:-moz-linear-gradient(top, #dd4b39,#c53727) !important;background-image:-o-linear-gradient(top, #dd4b39,#c53727) !important;background-image:linear-gradient(top, #dd4b39,#c53727) !important;border-bottom:1px solid #af301f;-webkit-box-shadow:rgba(0,0,0,0.2) 0 1px 1px 0;-moz-box-shadow:rgba(0,0,0,0.2) 0 1px 1px 0;box-shadow:rgba(0,0,0,0.2) 0 1px 1px 0}.button-red:hover.disabled,.button-red:hover.disabled:hover,.button-red:hover.disabled:active{background:#c53727 !important;border:1px solid #b0281a !important;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=50);opacity:0.5}.button-red:active{-webkit-box-shadow:rgba(0,0,0,0.3) 0 1px 2px 0 inset;-moz-box-shadow:rgba(0,0,0,0.3) 0 1px 2px 0 inset;box-shadow:rgba(0,0,0,0.3) 0 1px 2px 0 inset}body.team{min-width:0}body.profile.team{color:#222;font-family:Arial,sans-serif;line-height:18px}body.profile.team a,body.profile.team a:visited{text-decoration:none}body.profile.team a:hover,body.profile.team a:visited:hover{text-decoration:underline}body.profile.team #gc-sidebar{padding-right:16px}body.profile.team #gc-content{border:0;padding-top:0}body.profile.team #gc-content>div{border-left:1px solid #ebebeb;padding-top:14px}body.profile.team .profile-nav{border-right:1px solid #ebebeb}body.profile.team div.tag-autocomplete{width:70.2%}body.profile.team .tag-autocomplete-suggestions{max-height:300px}.team .notification-container{text-align:center;margin:0 auto;width:50px}.team #notification,.team #notification-bottom{background-color:#f9edbe;border:1px solid #f0c36d;color:#484848;font-size:13px;font-weight:bold;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;-webkit-box-shadow:rgba(0,0,0,0.2) 0 2px 4px;-moz-box-shadow:rgba(0,0,0,0.2) 0 2px 4px;box-shadow:rgba(0,0,0,0.2) 0 2px 4px;margin-left:-75px;margin-top:-25px;position:absolute;padding:0 10px}.team .fn-photo{display:block;height:100px;width:100px}.team #region-available,.team #region-added{height:auto}.team .profile-link{font-size:10px;font-weight:bold;padding-left:5px;text-decoration:none}.team .profile-div{height:145px;position:relative}.team .hr-line{border-bottom:solid 1px #c5c7c9;display:block;width:85%}.team #no-results{display:none;text-align:center}.team #tag-component{padding-bottom:5px}.team .profile-btn{text-align:right;padding-right:10px}.team .edit-button{text-align:right;padding:0 15px 10px}.team .team-content{float:right;padding-top:5px;padding-right:5px}.team .edit-title{color:#333;font-size:16px;padding-top:20px}.team .edits-field{margin-left:-3px;width:95%}.team .join-value,.team .seen-value{color:#008000;padding-left:5px;font-size:90%}.team .mode-view{margin:25px 0 80px 30px}.team .plus-profile{text-decoration:none;padding-left:15px}.team .person-name{padding:2px 0 0 5px;position:absolute}.team .public-profile{padding:0 0 10px 15px}.team .spec-edit{display:inline-block;width:195px}.team .span-edit{display:inline-block;text-transform:capitalize}.team .info-section{padding:0 0 10px 0}.team #edit-panel{padding-left:20px}.team #linked_id-edit{padding:15px}.team .info-block{color:#777;margin-top:10px;padding:5px 0 5px 20px;text-align:left;vertical-align:top}.team .info-block>h2{color:inherit;display:inline-block;font-size:16px;margin-bottom:0;vertical-align:top;width:160px}.team .info-block>span{display:inline-block;margin-left:15px;max-width:700px}.team .info-block .edited{color:#222}.team .info-block.edit-mode:hover{background-color:#ebeffa}.team #back-team{float:right;margin-left:30px;height:25px}.team .edit-info{border:1px solid #acacac;color:inherit;font-family:inherit;height:22px;outline:none;margin-left:15px;min-width:300px}.team .edit-error{border:1px solid #dd4b39 !important}.team .error-msg{color:#dd4b39;padding-left:15px;width:450px}.team #id-update{color:#9fca8c;display:none;padding-left:15px}.team #about-value{height:120px}.team #bio-value{border:1px solid #acacac;height:65px;outline:none;padding:10px;resize:none;width:68%}.team #overlay{background-color:#f1f1f1;display:none;height:100%;left:0;position:absolute;top:0;width:100%;z-index:1000 !important;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=60);opacity:0.6}.team #edit-block{background:#fff;border:1px solid #ccc;display:none;left:40%;padding:10px;position:absolute;top:40%;z-index:1001 !important;-webkit-box-shadow:rgba(0,0,0,0.25) 2px 2px 4px 1px;-moz-box-shadow:rgba(0,0,0,0.25) 2px 2px 4px 1px;box-shadow:rgba(0,0,0,0.25) 2px 2px 4px 1px}.team #edit-block .edit-content{display:none;margin-bottom:10px}.team #edit-block .edit-content>h2{font-weight:bold;display:inline-block;width:135px;vertical-align:top;font-size:16px}.team #edit-block .edit-content #speciality-value{display:block;margin:15px 0 0 154px;width:320px}.team #profile-panels{margin:0 0 10px 10px}.team #edit-action{margin-left:150px}.team .btn{background-color:#f5f5f5;border:1px solid #dcdcdc;border:1px solid rgba(0,0,0,0.1);color:#666;cursor:pointer;display:-moz-inline-stack;display:inline-block;vertical-align:middle;*vertical-align:auto;zoom:1;*display:inline;font-family:"Arial",sans-serif;font-size:11px;font-weight:bold;height:27px;line-height:27px;min-width:54px;padding:0 8px;text-align:center;text-decoration:none !important;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;background:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #f5f5f5), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f5f5f5,#f1f1f1);background:-moz-linear-gradient(top, #f5f5f5,#f1f1f1);background:-o-linear-gradient(top, #f5f5f5,#f1f1f1);background:linear-gradient(top, #f5f5f5,#f1f1f1);-webkit-transition:all,0.218s;-moz-transition:all,0.218s;-o-transition:all,0.218s;transition:all,0.218s;vertical-align:top}.team .btn:hover{background-color:#f8f8f8;border:1px solid #c6c6c6;color:#333;background:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #f8f8f8), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f8f8f8,#f1f1f1);background:-moz-linear-gradient(top, #f8f8f8,#f1f1f1);background:-o-linear-gradient(top, #f8f8f8,#f1f1f1);background:linear-gradient(top, #f8f8f8,#f1f1f1);-webkit-box-shadow:rgba(0,0,0,0.1) 0 1px 1px 0;-moz-box-shadow:rgba(0,0,0,0.1) 0 1px 1px 0;box-shadow:rgba(0,0,0,0.1) 0 1px 1px 0;-webkit-transition:all,0;-moz-transition:all,0;-o-transition:all,0;transition:all,0}.team .btn:active{background-color:#f6f6f6;background:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #f6f6f6), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f6f6f6,#f1f1f1);background:-moz-linear-gradient(top, #f6f6f6,#f1f1f1);background:-o-linear-gradient(top, #f6f6f6,#f1f1f1);background:linear-gradient(top, #f6f6f6,#f1f1f1);-webkit-box-shadow:rgba(0,0,0,0.1) 0 1px 2px 0 inset;-moz-box-shadow:rgba(0,0,0,0.1) 0 1px 2px 0 inset;box-shadow:rgba(0,0,0,0.1) 0 1px 2px 0 inset}.team .btn:visited{color:#666}.team .btn:focus{border:1px solid #4d90fe;outline:none}.team .btn.disabled,.team .btn.disabled:hover,.team .btn.disabled:active{background:#fff;border:1px solid #f3f3f3;border:1px solid rgba(0,0,0,0.05);color:#b8b8b8;cursor:default;pointer-events:none}.team .btn.action{background-color:#4d90fe;border:1px solid #3079ed;color:#fff !important;background:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #4d90fe), color-stop(100%, #357ae8));background:-webkit-linear-gradient(top, #4d90fe,#357ae8);background:-moz-linear-gradient(top, #4d90fe,#357ae8);background:-o-linear-gradient(top, #4d90fe,#357ae8);background:linear-gradient(top, #4d90fe,#357ae8)}.team .btn.action:hover{background-color:#357ae8;border:1px solid #2f5bb7;background:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #4d90fe), color-stop(100%, #357ae8));background:-webkit-linear-gradient(top, #4d90fe,#357ae8);background:-moz-linear-gradient(top, #4d90fe,#357ae8);background:-o-linear-gradient(top, #4d90fe,#357ae8);background:linear-gradient(top, #4d90fe,#357ae8);-webkit-transition:all,0;-moz-transition:all,0;-o-transition:all,0;transition:all,0}.team .btn.action:focus{-webkit-box-shadow:#fff 0 1px 2px 0 inset;-moz-box-shadow:#fff 0 1px 2px 0 inset;box-shadow:#fff 0 1px 2px 0 inset}.team .btn.action.disabled,.team .btn.action.disabled:hover,.team .btn.action.disabled:active{border:#3079ED;background-color:#4D90FE;cursor:default;pointer-events:none;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=50);opacity:0.5}.team .team-select{background:#fff;border:1px solid #acacac;height:27px;margin-left:15px;min-width:150px;outline:none}.team #speciality-added,.team #speciality-available{height:100px}.team .largefont{cursor:pointer;font-size:14px;font-weight:bold;position:relative;text-decoration:none;top:2px}.team a.alt{color:#58B;text-decoration:none}.team a.alt:hover{color:#3B8;text-decoration:underline}.team p.bio{font-family:Sans-Serif;line-height:16px;padding-top:5px}.team p.bio,.team p.name{margin:0}.team img.nobdr{border:0px;height:16px;width:16px}.team img.profile{height:100px;margin:5px 5px 10px 5px;padding:1px;width:100px}.team .selected{color:#222 !important;font-weight:bold;text-decoration:none}.team .grid,.team .list{text-decoration:none}.team .vcard{float:left;height:140px;width:155px}.team #listview{padding-top:15px}.team .border-rightmost{border-right:1px solid #fff !important}.team .border-other-cards{border-right:1px solid #ebebeb}.team #content{padding:5px 0 0}.team .team-content{display:none}.team .header-container{padding:30px 0 10px 0}.team .header-container h1{display:inline}.team .header-container .profile-btn{display:inline;float:right;padding-right:0}.team .gallery-four-column{width:1600px}.team .gallery-four-column .profile-row{display:inline-block;margin:0 -2px;padding:15px 30px 10px 30px;vertical-align:top;width:320px}.team .gallery-four-column .profile-row .profile-info{margin-left:75px;min-height:85px;padding-left:10px;position:relative;top:-5px;width:230px}.team .gallery-four-column .profile-row .profile-bio-inner{position:relative;line-height:16px;width:300px}.team .gallery-four-column .profile-row .profile-div{height:160px;padding-bottom:0;position:relative}.team .gallery-three-column{width:1200px}.team .gallery-three-column .profile-row{display:inline-block;margin:0 -2px;padding:15px 30px 10px 30px;vertical-align:top;width:320px}.team .gallery-three-column .profile-row .profile-info{margin-left:75px;min-height:85px;padding-left:10px;position:relative;top:-5px;width:230px}.team .gallery-three-column .profile-row .profile-bio-inner{position:relative;line-height:16px;width:300px}.team .gallery-three-column .profile-row .profile-div{height:160px;padding-bottom:0;position:relative}.team .gallery-two-column{width:800px}.team .gallery-two-column .profile-row{display:inline-block;margin:0 -2px;padding:15px 30px 10px 30px;vertical-align:top;width:340px}.team .gallery-two-column .profile-row .profile-info{margin-left:75px;min-height:110px;padding-left:10px;position:relative;top:-5px;width:230px}.team .gallery-two-column .profile-row .profile-bio-inner{position:relative;line-height:16px;width:300px}.team .gallery-two-column .profile-row .profile-div{height:160px;padding-bottom:20px;position:relative}.team .gallery-one-column{width:500px}.team .gallery-one-column .profile-row{display:inline-block;margin:0 -2px;padding:15px 30px 10px 30px;vertical-align:top;width:470px}.team .gallery-one-column .profile-row .profile-info{margin-left:75px;min-height:80px;padding-bottom:5px;padding-left:10px;position:relative;top:-5px;width:100%}.team .gallery-one-column .profile-row .profile-bio-inner{position:relative;line-height:16px;width:400px}.team .gallery-one-column .profile-row .profile-div{height:160px;padding-bottom:0;position:relative}.team .profile-row:hover{background:#f1f1f1;-webkit-box-shadow:#999 1px 1px 5px 0;-moz-box-shadow:#999 1px 1px 5px 0;box-shadow:#999 1px 1px 5px 0;cursor:pointer}.team .hr-image{background-color:#202020;display:none;height:8px;overflow:hidden;position:absolute;left:0px;top:-5px;width:100%}.team .profile-card-other{padding:15px 30px 20px 30px}.team .profile-card-leftmost{padding:15px 30px 20px 0 !important;margin-left:-10px !important}.team .profile-content{padding-left:10px;width:100%}.team .image-td{vertical-align:top;width:75px}.team .person-title{font-size:11px;overflow:hidden;padding-top:0 !important;width:102%}.team .plus-badge{display:block;height:65px;padding-top:10px;position:relative}.team .plus-badge.hide{display:none}.team .profile-common{background-repeat:no-repeat;background-size:contain;#border-bottom:1px solid #c5c7c9;#border-left:1px solid #c5c7c9;#border-right:1px solid #c5c7c9}.team .profile-view{position:absolute}.team .more-link{cursor:pointer;text-decoration:none}.team #border-bottom{border:solid 2px #fff;position:relative;top:-4px;width:1200px}.team .category-association{display:none;font-size:13px}.team .profile-img{cursor:pointer;padding:0 5px 10px 0;position:relative;top:1px;z-index:100}.team .profile-info{margin-left:75px;min-height:85px;padding-left:10px;position:relative;top:-5px;width:230px}.team #gridview{display:none}.team .profile-bio-outer.hide{display:inline-block;float:left;height:65px;overflow:hidden;width:100%}.team .more-bio{cursor:pointer;text-decoration:none}.team .profile-bio-inner{line-height:16px;padding-bottom:10px;position:relative;width:310px}.team .zoomed-view{background-color:#fff;border:0;-webkit-box-shadow:#202020 0 10px 50px 0;-moz-box-shadow:#202020 0 10px 50px 0;box-shadow:#202020 0 10px 50px 0;height:auto;z-index:200}.team .zoomed-view .profile-info{width:320px !important}.team .zoomed-view .profile-content{padding-left:0}.team .zoomed-view .profile-bio-inner{margin:0;padding:0;width:420px !important}.team .zoomed-view .profile-bio-inner p{margin:0}.team .hr-line{border-bottom:solid 1px #ebebeb}.team #speciality-val,.team #region-val,.team .category-tag{text-transform:capitalize}.team .profile-name{display:block;line-height:100%;text-align:left;width:100px}.team .info-bar{margin:10px 0 30px 0}.team .info-bar>span{float:right}.team #import-data,.team #display-data,.team #result{float:left}.team #csv{width:250px;height:250px;margin:20px;float:left}.team #import-data{left:20px;position:relative;width:300px;height:330px;margin-right:25px}.team #display-data{width:300px;height:135px;top:12px;position:relative;margin-left:10px}.team #submit-button{left:90px;position:relative;width:115px}.team #result{float:right;width:1000px;left:30px;position:relative;top:20px;border:none;height:500px;resize:none}.team #main-div{bottom:5px;position:relative}.team #msg-txt{border:1px solid #000;display:block;padding:10px;margin:10px}.team .show-btn{margin-left:15px}.kd-button{background-color:#f5f5f5;border:1px solid #dcdcdc;border:1px solid rgba(0,0,0,0.1);color:#666;cursor:pointer;display:-moz-inline-stack;display:inline-block;vertical-align:middle;*vertical-align:auto;zoom:1;*display:inline;font-family:"Arial",sans-serif;font-size:11px;font-weight:bold;height:27px;line-height:27px;min-width:54px;padding:0 8px;text-align:center;text-decoration:none !important;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;background:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #f5f5f5), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f5f5f5,#f1f1f1);background:-moz-linear-gradient(top, #f5f5f5,#f1f1f1);background:-o-linear-gradient(top, #f5f5f5,#f1f1f1);background:linear-gradient(top, #f5f5f5,#f1f1f1);-webkit-transition:all,0.218s;-moz-transition:all,0.218s;-o-transition:all,0.218s;transition:all,0.218s}.kd-button:hover{background-color:#f8f8f8;border:1px solid #c6c6c6;color:#333;background:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #f8f8f8), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f8f8f8,#f1f1f1);background:-moz-linear-gradient(top, #f8f8f8,#f1f1f1);background:-o-linear-gradient(top, #f8f8f8,#f1f1f1);background:linear-gradient(top, #f8f8f8,#f1f1f1);-webkit-box-shadow:rgba(0,0,0,0.1) 0 1px 1px 0;-moz-box-shadow:rgba(0,0,0,0.1) 0 1px 1px 0;box-shadow:rgba(0,0,0,0.1) 0 1px 1px 0;-webkit-transition:all,0;-moz-transition:all,0;-o-transition:all,0;transition:all,0}.kd-button:active{background-color:#f6f6f6;background:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #f6f6f6), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f6f6f6,#f1f1f1);background:-moz-linear-gradient(top, #f6f6f6,#f1f1f1);background:-o-linear-gradient(top, #f6f6f6,#f1f1f1);background:linear-gradient(top, #f6f6f6,#f1f1f1);-webkit-box-shadow:rgba(0,0,0,0.1) 0 1px 2px 0 inset;-moz-box-shadow:rgba(0,0,0,0.1) 0 1px 2px 0 inset;box-shadow:rgba(0,0,0,0.1) 0 1px 2px 0 inset}.kd-button:visited{color:#666}.kd-button:focus{border:1px solid #4d90fe;outline:none}.kd-button.disabled,.kd-button.disabled:hover,.kd-button.disabled:active{background:#fff;border:1px solid #f3f3f3;border:1px solid rgba(0,0,0,0.05);color:#b8b8b8;cursor:default;pointer-events:none}.kd-closebutton{width:44px;height:44px;background:url("/_static/images/x.png") center no-repeat;position:absolute;top:0;right:0;opacity:.7;-moz-opacity:.7;filter:alpha(opacity=70);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";cursor:default}.kd-closebutton:hover{opacity:1;-moz-opacity:1;filter:alpha(opacity=100);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"}.button-blue{background-color:#4d90fe !important;border-color:#3079ed !important;color:#fff !important;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #4d90fe), color-stop(100%, #4787ed)) !important;background-image:-webkit-linear-gradient(top, #4d90fe,#4787ed) !important;background-image:-moz-linear-gradient(top, #4d90fe,#4787ed) !important;background-image:-o-linear-gradient(top, #4d90fe,#4787ed) !important;background-image:linear-gradient(top, #4d90fe,#4787ed) !important}.button-blue.disabled,.button-blue.disabled:hover,.button-blue.disabled:active{background:#4d90fe !important;border:1px solid #3079ed !important;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=50);opacity:0.5}.button-blue:hover{background-color:#357ae8 !important;border-color:#2f5bb7 !important;color:#fff !important;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #4d90fe), color-stop(100%, #357ae8)) !important;background-image:-webkit-linear-gradient(top, #4d90fe,#357ae8) !important;background-image:-moz-linear-gradient(top, #4d90fe,#357ae8) !important;background-image:-o-linear-gradient(top, #4d90fe,#357ae8) !important;background-image:linear-gradient(top, #4d90fe,#357ae8) !important;-webkit-box-shadow:rgba(0,0,0,0.2) 0 1px 1px 0;-moz-box-shadow:rgba(0,0,0,0.2) 0 1px 1px 0;box-shadow:rgba(0,0,0,0.2) 0 1px 1px 0}.button-blue:hover.disabled,.button-blue:hover.disabled:hover,.button-blue:hover.disabled:active{background:#357ae8 !important;border:1px solid #2f5bb7 !important;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=50);opacity:0.5}.button-blue:active{-webkit-box-shadow:rgba(0,0,0,0.3) 0 1px 2px 0 inset;-moz-box-shadow:rgba(0,0,0,0.3) 0 1px 2px 0 inset;box-shadow:rgba(0,0,0,0.3) 0 1px 2px 0 inset}.button-blue.selected{-webkit-box-shadow:rgba(0,0,0,0.3) 0 3px 6px 0 inset;-moz-box-shadow:rgba(0,0,0,0.3) 0 3px 6px 0 inset;box-shadow:rgba(0,0,0,0.3) 0 3px 6px 0 inset}.button-green{background-color:#3d9400 !important;border-color:#29691d !important;color:#fff !important;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #3d9400), color-stop(100%, #398a00)) !important;background-image:-webkit-linear-gradient(top, #3d9400,#398a00) !important;background-image:-moz-linear-gradient(top, #3d9400,#398a00) !important;background-image:-o-linear-gradient(top, #3d9400,#398a00) !important;background-image:linear-gradient(top, #3d9400,#398a00) !important}.button-green.disabled,.button-green.disabled:hover,.button-green.disabled:active{background:#3d9400 !important;border:1px solid #29691d !important;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=50);opacity:0.5}.button-green:hover{background-color:#368200 !important;border-color:#2d6200 !important;color:#fff !important;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #3d9400), color-stop(100%, #368200)) !important;background-image:-webkit-linear-gradient(top, #3d9400,#368200) !important;background-image:-moz-linear-gradient(top, #3d9400,#368200) !important;background-image:-o-linear-gradient(top, #3d9400,#368200) !important;background-image:linear-gradient(top, #3d9400,#368200) !important;-webkit-box-shadow:rgba(0,0,0,0.3) 0 1px 1px 0;-moz-box-shadow:rgba(0,0,0,0.3) 0 1px 1px 0;box-shadow:rgba(0,0,0,0.3) 0 1px 1px 0}.button-green:hover.disabled,.button-green:hover.disabled:hover,.button-green:hover.disabled:active{background:#368200 !important;border:1px solid #2d6200 !important;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=50);opacity:0.5}.button-green:active{-webkit-box-shadow:rgba(0,0,0,0.3) 0 1px 2px 0 inset;-moz-box-shadow:rgba(0,0,0,0.3) 0 1px 2px 0 inset;box-shadow:rgba(0,0,0,0.3) 0 1px 2px 0 inset}.button-red{background-color:#d14836 !important;border-color:#992a1b !important;color:#fff !important;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #dd4b39), color-stop(100%, #d14836)) !important;background-image:-webkit-linear-gradient(top, #dd4b39,#d14836) !important;background-image:-moz-linear-gradient(top, #dd4b39,#d14836) !important;background-image:-o-linear-gradient(top, #dd4b39,#d14836) !important;background-image:linear-gradient(top, #dd4b39,#d14836) !important;text-shadow:rgba(0,0,0,0.1) 0 1px 0}.button-red.disabled,.button-red.disabled:hover,.button-red.disabled:active{background:#d14836 !important;border:1px solid #992a1b !important;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=50);opacity:0.5}.button-red:hover{background-color:#c53727 !important;border-color:#b0281a !important;color:#fff !important;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #dd4b39), color-stop(100%, #c53727)) !important;background-image:-webkit-linear-gradient(top, #dd4b39,#c53727) !important;background-image:-moz-linear-gradient(top, #dd4b39,#c53727) !important;background-image:-o-linear-gradient(top, #dd4b39,#c53727) !important;background-image:linear-gradient(top, #dd4b39,#c53727) !important;border-bottom:1px solid #af301f;-webkit-box-shadow:rgba(0,0,0,0.2) 0 1px 1px 0;-moz-box-shadow:rgba(0,0,0,0.2) 0 1px 1px 0;box-shadow:rgba(0,0,0,0.2) 0 1px 1px 0}.button-red:hover.disabled,.button-red:hover.disabled:hover,.button-red:hover.disabled:active{background:#c53727 !important;border:1px solid #b0281a !important;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=50);opacity:0.5}.button-red:active{-webkit-box-shadow:rgba(0,0,0,0.3) 0 1px 2px 0 inset;-moz-box-shadow:rgba(0,0,0,0.3) 0 1px 2px 0 inset;box-shadow:rgba(0,0,0,0.3) 0 1px 2px 0 inset}.kd-bubble{background:#FFF;outline:1px solid rgba(0,0,0,0.2);padding:16px;position:relative;width:146px;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 2px 4px rgba(0,0,0,0.2);-moz-box-shadow:0 2px 4px rgba(0,0,0,0.2);box-shadow:0 2px 4px rgba(0,0,0,0.2)}.kd-bubble .pointer{background:url("/_static/images/bubble_point_white.png");display:block;height:11px;left:24px;margin:0 0 0 -5px;outline:none;position:absolute;top:-11px;width:17px}.kd-bubble.alert{background:#f9edbe;outline:1px solid #f0c36d}.kd-bubble.alert .pointer{background:url("/_static/images/bubble_point_yellow.png")}.kd-bubble p{color:#666;margin-bottom:0}.kd-textinput{height:29px;background-color:#fff;line-height:27px;padding-left:8px;color:333;border:1px solid #d9d9d9;border-top:1px solid silver;display:inline-block;vertical-align:top;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-border-radius:"1px";-moz-border-radius:"1px";-ms-border-radius:"1px";-o-border-radius:"1px";border-radius:"1px"}.kd-textinput:hover{border:1px solid #b9b9b9;border-top:1px solid #a0a0a0;-webkit-box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.1)";-moz-box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.1)";box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.1)"}.kd-textinput:focus{-webkit-box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.3)";-moz-box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.3)";box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.3)";outline:none;border:1px solid #4d90fe}.kd-textinput.disabled,.kd-textinput.disabled:hover,.kd-textinput.disabled:active,.kd-textinput:disabled{background:#fff;border:1px solid #f3f3f3;border:1px solid rgba(0,0,0,0.05);color:#b8b8b8;cursor:default;pointer-events:none}.kd-zippy span.row{cursor:pointer;display:block}.kd-zippy span.row.expanded .kd-zippycontent{height:165px}.kd-zippycontent{position:relative;overflow:hidden;height:0;-webkit-transition:all 0.5s;-moz-transition:all 0.5s;-o-transition:all 0.5s;transition:all 0.5s}.kd-zippycontent li{padding-left:5px;margin-left:0px;background-repeat:no-repeat;background-position:2px center;line-height:23px}.kd-zippycontent>*{position:absolute;bottom:0;left:0;width:100%}.kd-disclosureindicator{display:inline-block;width:5px;height:7px;background:url("/_static/images/disclosure_arrow_dk_grey.png") center no-repeat;-webkit-transition:all 0.5s;-moz-transition:all 0.5s;transition:all 0.5s}.kd-disclosureindicator.down{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);transform:rotate(90deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1)}#gc-appbar .payment-status{float:right}.profile-photo-128{width:128px;height:128px;position:relative;background-repeat:no-repeat;background-position:left top;background-size:contain}.profile-photo-64{width:64px;height:64px;position:relative;background-repeat:no-repeat;background-position:left top;background-size:contain}body.manage-events fieldgroup.visibility{color:#ccc}body.manage-events fieldgroup.visibility.enabled div{color:#222}body.manage-events fieldgroup.visibility.enabled div label:hover{color:#15c;text-decoration:none}body.manage-events fieldgroup.visibility.enabled div label:hover:hover{text-decoration:underline}body.manage-events table{border-collapse:collapse;border-color:#dcdcdc;border-spacing:0;border-style:solid;border-width:0 0 1px 0}body.manage-events th{background:#f1f1f1;border-top:1px solid #dcdcdc;color:#444;padding:2px 0}body.manage-events th a,body.manage-events th a:visited{color:#444}body.manage-events th a.sorted,body.manage-events th a:visited.sorted{color:#00008b}body.manage-events tr.reg-row:hover{background-color:#ddd}body.manage-events td{border-color:#dcdcdc;border-style:solid;border-width:1px 0 0 0;margin:0;padding:1px;color:#444;vertical-align:top}body.manage-events td ul,body.manage-events td ol{margin:0;padding:0}body.manage-events td.edit-presenter-info{position:relative}body.manage-events td.edit-presenter-info .edit{display:none;position:absolute;bottom:4px;right:4px}body.manage-events td .toggle-description-container{width:100%;text-align:center;margin:12px 0 4px 0}body.manage-events form.manage-session,body.manage-events form.manage-track,body.manage-events form.manage-location{min-width:500px;width:80%}body.manage-events form.manage-session p.warning,body.manage-events form.manage-track p.warning,body.manage-events form.manage-location p.warning{display:none;font-size:10px;margin-top:0.5em}body.manage-events form.manage-session input[type=text],body.manage-events form.manage-track input[type=text],body.manage-events form.manage-location input[type=text]{height:29px;background-color:#fff;line-height:27px;padding-left:8px;color:333;border:1px solid #d9d9d9;border-top:1px solid silver;display:inline-block;vertical-align:top;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-border-radius:"1px";-moz-border-radius:"1px";-ms-border-radius:"1px";-o-border-radius:"1px";border-radius:"1px";min-width:500px;width:50%}body.manage-events form.manage-session input[type=text]:hover,body.manage-events form.manage-track input[type=text]:hover,body.manage-events form.manage-location input[type=text]:hover{border:1px solid #b9b9b9;border-top:1px solid #a0a0a0;-webkit-box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.1)";-moz-box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.1)";box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.1)"}body.manage-events form.manage-session input[type=text]:focus,body.manage-events form.manage-track input[type=text]:focus,body.manage-events form.manage-location input[type=text]:focus{-webkit-box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.3)";-moz-box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.3)";box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.3)";outline:none;border:1px solid #4d90fe}body.manage-events form.manage-session input[type=text].disabled,body.manage-events form.manage-session input[type=text].disabled:hover,body.manage-events form.manage-session input[type=text].disabled:active,body.manage-events form.manage-session input[type=text]:disabled,body.manage-events form.manage-track input[type=text].disabled,body.manage-events form.manage-track input[type=text].disabled:hover,body.manage-events form.manage-track input[type=text].disabled:active,body.manage-events form.manage-track input[type=text]:disabled,body.manage-events form.manage-location input[type=text].disabled,body.manage-events form.manage-location input[type=text].disabled:hover,body.manage-events form.manage-location input[type=text].disabled:active,body.manage-events form.manage-location input[type=text]:disabled{background:#fff;border:1px solid #f3f3f3;border:1px solid rgba(0,0,0,0.05);color:#b8b8b8;cursor:default;pointer-events:none}body.manage-events form.manage-session input[type=text].primary,body.manage-events form.manage-track input[type=text].primary,body.manage-events form.manage-location input[type=text].primary{font-weight:bold;width:537px}body.manage-events form.manage-session div.profiles-container,body.manage-events form.manage-track div.profiles-container,body.manage-events form.manage-location div.profiles-container{height:29px;background-color:#fff;line-height:27px;padding-left:8px;color:333;border:1px solid #d9d9d9;border-top:1px solid silver;display:inline-block;vertical-align:top;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-border-radius:"1px";-moz-border-radius:"1px";-ms-border-radius:"1px";-o-border-radius:"1px";border-radius:"1px";height:auto !important;min-height:29px;min-width:300px;width:50%}body.manage-events form.manage-session div.profiles-container:hover,body.manage-events form.manage-track div.profiles-container:hover,body.manage-events form.manage-location div.profiles-container:hover{border:1px solid #b9b9b9;border-top:1px solid #a0a0a0;-webkit-box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.1)";-moz-box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.1)";box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.1)"}body.manage-events form.manage-session div.profiles-container:focus,body.manage-events form.manage-track div.profiles-container:focus,body.manage-events form.manage-location div.profiles-container:focus{-webkit-box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.3)";-moz-box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.3)";box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.3)";outline:none;border:1px solid #4d90fe}body.manage-events form.manage-session div.profiles-container.disabled,body.manage-events form.manage-session div.profiles-container.disabled:hover,body.manage-events form.manage-session div.profiles-container.disabled:active,body.manage-events form.manage-session div.profiles-container:disabled,body.manage-events form.manage-track div.profiles-container.disabled,body.manage-events form.manage-track div.profiles-container.disabled:hover,body.manage-events form.manage-track div.profiles-container.disabled:active,body.manage-events form.manage-track div.profiles-container:disabled,body.manage-events form.manage-location div.profiles-container.disabled,body.manage-events form.manage-location div.profiles-container.disabled:hover,body.manage-events form.manage-location div.profiles-container.disabled:active,body.manage-events form.manage-location div.profiles-container:disabled{background:#fff;border:1px solid #f3f3f3;border:1px solid rgba(0,0,0,0.05);color:#b8b8b8;cursor:default;pointer-events:none}body.manage-events form.manage-session div.profiles-container #profile-query,body.manage-events form.manage-track div.profiles-container #profile-query,body.manage-events form.manage-location div.profiles-container #profile-query{display:inline-block;border:none;height:27px;margin:0;min-width:auto !important;padding:0}body.manage-events form.manage-session div.profiles-container ul.profiles,body.manage-events form.manage-track div.profiles-container ul.profiles,body.manage-events form.manage-location div.profiles-container ul.profiles{display:inline;height:100%;margin:0;padding:0}body.manage-events form.manage-session div.profiles-container ul.profiles .button.mini,body.manage-events form.manage-track div.profiles-container ul.profiles .button.mini,body.manage-events form.manage-location div.profiles-container ul.profiles .button.mini{height:19px;line-height:19px;min-width:18px;width:auto}body.manage-events form.manage-session div.profiles-container ul.profiles .button.left,body.manage-events form.manage-track div.profiles-container ul.profiles .button.left,body.manage-events form.manage-location div.profiles-container ul.profiles .button.left{border-radius:4px 0 0 4px;padding:0 4px 0 4px}body.manage-events form.manage-session div.profiles-container ul.profiles .button.right,body.manage-events form.manage-track div.profiles-container ul.profiles .button.right,body.manage-events form.manage-location div.profiles-container ul.profiles .button.right{border-radius:0 4px 4px 0;padding:0px}body.manage-events form.manage-session div.profiles-container ul.profiles .button.right span,body.manage-events form.manage-track div.profiles-container ul.profiles .button.right span,body.manage-events form.manage-location div.profiles-container ul.profiles .button.right span{position:relative;bottom:1px;right:1px}body.manage-events form.manage-session div.profiles-container ul.profiles li,body.manage-events form.manage-track div.profiles-container ul.profiles li,body.manage-events form.manage-location div.profiles-container ul.profiles li{display:inline-block;margin-right:4px}body.manage-events form.manage-session ul.tracks,body.manage-events form.manage-track ul.tracks,body.manage-events form.manage-location ul.tracks{display:inline-block;padding-top:0;min-width:20%;vertical-align:top}body.manage-events form.manage-session ul.tracks label,body.manage-events form.manage-track ul.tracks label,body.manage-events form.manage-location ul.tracks label{display:inline;font-weight:normal}body.manage-events form.manage-session a.remove,body.manage-events form.manage-track a.remove,body.manage-events form.manage-location a.remove{background:#dd4b39;border-radius:2px;color:#fff;cursor:pointer;padding:0px 4px;text-decoration:none}body.manage-events form.manage-session #added-sessions,body.manage-events form.manage-track #added-sessions,body.manage-events form.manage-location #added-sessions{border:1px solid gray;border-style:inset;min-height:20px;padding:4px}body.manage-events form.manage-session label,body.manage-events form.manage-track label,body.manage-events form.manage-location label{cursor:pointer;display:block;font-weight:600;margin-right:4px}body.manage-events form.manage-session section,body.manage-events form.manage-track section,body.manage-events form.manage-location section{margin-bottom:0.5em}body.manage-events form.manage-session section.datetime input,body.manage-events form.manage-track section.datetime input,body.manage-events form.manage-location section.datetime input{min-width:80px;width:100px}body.manage-events form.manage-session section.datetime span,body.manage-events form.manage-track section.datetime span,body.manage-events form.manage-location section.datetime span{position:relative;top:4px}body.manage-events form.manage-session textarea,body.manage-events form.manage-track textarea,body.manage-events form.manage-location textarea{height:29px;background-color:#fff;line-height:27px;padding-left:8px;color:333;border:1px solid #d9d9d9;border-top:1px solid silver;display:inline-block;vertical-align:top;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-border-radius:"1px";-moz-border-radius:"1px";-ms-border-radius:"1px";-o-border-radius:"1px";border-radius:"1px";font-family:"Arial",sans-serif;height:95px;margin:0 2px;resize:none;width:100%}body.manage-events form.manage-session textarea:hover,body.manage-events form.manage-track textarea:hover,body.manage-events form.manage-location textarea:hover{border:1px solid #b9b9b9;border-top:1px solid #a0a0a0;-webkit-box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.1)";-moz-box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.1)";box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.1)"}body.manage-events form.manage-session textarea:focus,body.manage-events form.manage-track textarea:focus,body.manage-events form.manage-location textarea:focus{-webkit-box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.3)";-moz-box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.3)";box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.3)";outline:none;border:1px solid #4d90fe}body.manage-events form.manage-session textarea.disabled,body.manage-events form.manage-session textarea.disabled:hover,body.manage-events form.manage-session textarea.disabled:active,body.manage-events form.manage-session textarea:disabled,body.manage-events form.manage-track textarea.disabled,body.manage-events form.manage-track textarea.disabled:hover,body.manage-events form.manage-track textarea.disabled:active,body.manage-events form.manage-track textarea:disabled,body.manage-events form.manage-location textarea.disabled,body.manage-events form.manage-location textarea.disabled:hover,body.manage-events form.manage-location textarea.disabled:active,body.manage-events form.manage-location textarea:disabled{background:#fff;border:1px solid #f3f3f3;border:1px solid rgba(0,0,0,0.05);color:#b8b8b8;cursor:default;pointer-events:none}body.manage-events #count-table .small-cell{width:150px}body.manage-events .delta-positive{color:#00c000}body.manage-events .delta-negative,body.manage-events .event-title{color:red !important}body.email-templates .hidden,body.email-templates .kd-error-message{display:none}body.email-templates #template-fields td{width:100px}body.email-templates #template-fields tr{line-height:35px}body.event-permissions{font-family:"Open Sans",arial,sans-serif}body.event-permissions h3{margin-bottom:0}body.event-permissions .profiles{padding-top:30px;width:50%}body.event-permissions .profiles a{text-decoration:none}body.events{font-family:"Open Sans",arial,sans-serif}body.events h2,body.events header{margin-bottom:0.5em}body.events h2 a.more,body.events header a.more{text-decoration:none;color:#15c;font-size:13px}body.events h2 a.more:hover,body.events header a.more:hover{text-decoration:underline}body.events section{margin-bottom:2em}body.events section.organizer-add-revoke{display:inline-block;width:65%}body.events img.tiny-profile-photo{width:25px;height:25px;margin-right:10px}body.events .separate-group{padding-top:20px}body.events #gc-content{max-width:1128px}body.events #gc-appbar{border-bottom:0}body.events #gc-appbar #title-container{max-width:1128px}body.events #required-msg-p{margin:0;font-size:11px}body.events .required-marker{color:#dd4b39;vertical-align:super}body.events .ui-helper-clearfix:empty{display:none}body.events .secondary-text{color:#777;display:block;font-size:11px}body.events .help-anchor{cursor:pointer;font-size:10px}body.events .event-title{color:#000;font-size:20px;font-weight:bold;line-height:24px;margin:0px;padding:0px;text-decoration:none}body.events #title-container{margin:28px 0 21px 0}body.events #title-container a.product-link,body.events #title-container a.product-link:hover{text-decoration:none}body.events #title-container .icon{vertical-align:middle}body.events #title-container .gdl-icon{float:left;margin-top:-12px;margin-right:12px}body.events #title-container .button{float:right;margin-top:5px}body.events #title-container .plusone-container{vertical-align:bottom}body.events #title-container h1{display:inline;font-size:24px;margin:0;vertical-align:middle}body.events #title-container .date,body.events #title-container .event-producer,body.events #title-container .product-info{margin-top:3px;font-size:14px;color:#777}body.events #title-container .date a,body.events #title-container .event-producer a,body.events #title-container .product-info a{color:#15c;text-decoration:none}body.events #title-container .date a:hover,body.events #title-container .event-producer a:hover,body.events #title-container .product-info a:hover{text-decoration:underline}body.events #title-container .product-info{padding-top:5px;margin-top:5px}body.events #title-container img.small-cal-icon{height:20px;padding:0 5px 0 20px;margin-bottom:-5px;width:20px}body.events #title-container a.add-calendar{font-size:12px;text-decoration:none}body.events #title-container a.add-calendar:hover{text-decoration:none}body.events .carousel-header{display:block;height:30px;padding-bottom:5px}body.events .carousel-header button{float:right;min-height:30px;min-width:36px}body.events .carousel-header button img{opacity:0.5;vertical-align:middle}body.events .carousel-header h2{display:inline}body.events .carousel-header #carousel-next{margin-left:0}body.events .carousel-header #carousel-prev{margin-left:12px;margin-right:0}body.events .carousel-header #gdl-product-filter-container{display:inline;float:right;margin-right:0}body.events .carousel{margin-top:0px;height:200px}body.events .calendar-tab{cursor:pointer;height:40px;padding:10px 5px 0 0}body.events .tab-container{padding-top:20px}body.events .tab-container h2{border-left:1px solid #e5e5e5;display:inline-block;padding-left:24px;padding-right:24px}body.events #cal-events-tab,body.events #cal-locations-tab{border-left:0}body.events .tabs-bottom{border-bottom:1px solid #e5e5e5;margin-top:-9px;margin-bottom:25px;width:100%}body.events .selected-tab{color:#1155cc}body.events .revoke{float:right}body.events .add-user{margin-left:5px;margin-right:5px;width:200px}body.events #addOrganizer #add-organizer-error{color:#dd4b39;display:none;padding-top:10px}body.events #addOrganizer #add-organizer-error #no-profile,body.events #addOrganizer #add-organizer-error #non-googler{display:none}body.events #add-organizer-error,body.events #revoke-organizer-error{color:#dd4b39;display:none;padding-top:10px}body.events #add-organizer-error #try-again-msg,body.events #add-organizer-error #error-msg,body.events #revoke-organizer-error #try-again-msg,body.events #revoke-organizer-error #error-msg{display:none}body.events .organizers{padding-top:1px}body.events .organizers .organizer a{text-decoration:none}body.events .organizers .organizer img{vertical-align:text-bottom}body.events #attend-label{line-height:35px}body.events .revoke{float:right}body.events .add-user{margin-left:5px;margin-right:5px;width:200px}body.events .admin{clear:both;display:inline-block;font-family:inherit;padding-top:10px;width:100%}body.events .admin h1{color:#777;font-size:20px;font-weight:normal;margin-bottom:0.50em}body.events .admin .col-one{float:left;width:58%}body.events .admin .col-two{float:left;line-height:30px;width:160px}body.events .dashboard{display:inline-block;height:500px;vertical-align:top;width:40%}body.events .dashboard ol{list-style-type:none}body.events .dashboard li{color:#777;font-size:13px;margin:4px}body.events .associate-group{margin-bottom:15px}body.events .associate-group a{text-decoration:none}body.events .associate-group img{height:25px;vertical-align:middle;width:25px}body.events #event-details-beta{display:inline;float:left;overflow:hidden;width:70.511%;margin-right:1.042%;float:left;max-width:688px;width:80%}body.events #reg-status{color:#15c;font-size:16px}body.events #gdl-product-filter-container{text-align:right;margin-right:12px;padding-bottom:5px}body.events #player-container{width:100%;background-color:#f1f1f1;text-align:center;padding:14px 0 10px 0}body.events #player-container #ytplayer,body.events #player-container #player-placeholder{width:850px;height:505px}body.events #event-details-beta .inline,body.events #live-event-details .inline{margin:0 0 1em 0}body.events #event-details-beta .inline header,body.events #live-event-details .inline header{display:inline}body.events #event-details-beta header,body.events #live-event-details header{font-size:13px;font-weight:bold}body.events #event-details-beta .event-title,body.events #live-event-details .event-title{color:#000;font-size:20px;font-weight:bold;line-height:24px;margin:0px;padding:0px}body.events #event-details-beta .event-info,body.events #live-event-details .event-info{color:#222;display:inline;font-size:16px;font-weight:normal;margin:0px;padding:0px}body.events #event-details-beta .event-description,body.events #live-event-details .event-description{padding-top:10px;padding-bottom:20px;text-align:justify}body.events #event-details-beta .event-sub-info,body.events #live-event-details .event-sub-info{font-size:11px;padding-top:10px;text-decoration:none}body.events #event-details-beta .event-sub-info span.grey,body.events #live-event-details .event-sub-info span.grey{color:#777;text-decoration:none}body.events #event-details-beta #confirm-delete,body.events #live-event-details #confirm-delete{background-color:#fff;border:1px solid #acacac;color:#222;font-size:13px;left:50%;margin-left:-285px;margin-top:36px;padding:32px 44px;pointer-events:auto;position:fixed;right:auto;top:0px;width:480px;z-index:100;-webkit-box-shadow:rgba(0,0,0,0.2) 0 4px 16px 0;-moz-box-shadow:rgba(0,0,0,0.2) 0 4px 16px 0;box-shadow:rgba(0,0,0,0.2) 0 4px 16px 0;-webkit-transform:scale(1.05, 1.05);-moz-transform:scale(1.05, 1.05);-ms-transform:scale(1.05, 1.05);-o-transform:scale(1.05, 1.05);transform:scale(1.05, 1.05)}body.events #event-details-beta #confirm-delete h1,body.events #live-event-details #confirm-delete h1{color:#000;font-size:16px;margin:0px;margin-bottom:16px}body.events #event-socialbar{display:inline;float:left;overflow:hidden;width:22.1075%;margin-right:0;max-width:160px;margin-left:25px;padding:12px}body.events #event-socialbar #add-to-calendar img.small-cal-icon{height:20px;padding-right:5px;width:20px}body.events #event-socialbar #add-to-calendar a.add-calendar{vertical-align:top;text-decoration:none}body.events #event-socialbar h2{font-size:13px;font-weight:bold;margin:16px 0 4px 0}body.events #event-socialbar #manage-event .button{margin-bottom:20px}body.events #event-socialbar .organizers,body.events #event-socialbar .attendees{margin:0;padding:0}body.events #event-socialbar .organizers ul,body.events #event-socialbar .attendees ul{margin:0 0 0 2px;padding:0}body.events #event-socialbar .organizers li,body.events #event-socialbar .attendees li{display:inline;margin:0;padding:0}body.events #event-socialbar .organizers li.hidden,body.events #event-socialbar .attendees li.hidden{display:none}body.events #event-socialbar .organizers a,body.events #event-socialbar .attendees a{text-decoration:none}body.events #event-socialbar .organizers img,body.events #event-socialbar .attendees img{margin:-1px 0}body.events #event-socialbar .rsvp-message div{margin-top:15px}body.events #reg-form-wrapper{clear:both;display:none}body.events #reg-form-wrapper.reg-form-border{border:1px solid #ccc}body.events a.next.right.events-carousel-anchor,body.events a.prev.left.events-carousel-anchor{background-color:rgba(255,255,255,0.2)}body.events article.event{overflow:hidden;border:1px solid #eee;-webkit-box-shadow:0 2px 2px #d2d2d2;-moz-box-shadow:0 2px 2px #d2d2d2;box-shadow:0 2px 2px #d2d2d2}body.events article.event .icon-arrow,body.events article.event .icon-video-cam{margin-bottom:-3px}body.events article.event header.present{background-color:#dd4b39;text-align:center;font-size:14px;line-height:30px;padding:5px 0 0 0;margin-bottom:0;*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0, startColorstr='#FFDD4B39', endColorstr='#FFD85D52');background:#dd4b39;background:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #dd4b39), color-stop(100%, #d85d52));background:-webkit-linear-gradient(top, #dd4b39 0%,#d85d52 100%);background:-moz-linear-gradient(top, #dd4b39 0%,#d85d52 100%);background:-o-linear-gradient(top, #dd4b39 0%,#d85d52 100%);background:linear-gradient(top, #dd4b39 0%,#d85d52 100%)}body.events article.event header.past{background:#999}body.events article.event header{background-color:#4486f6;vertical-align:middle;font-size:12px;font-weight:600;color:#fff;height:34px;padding:5px 0 0 8px;margin-bottom:0;line-height:15px;border-bottom:1px solid #ddd;background:#4486f6;background:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #4486f6), color-stop(100%, #207cca), color-stop(100%, #2989d8), color-stop(100%, #4180eb));background:-webkit-linear-gradient(top, #4486f6 0%,#207cca 100%,#2989d8 100%,#4180eb 100%);background:-moz-linear-gradient(top, #4486f6 0%,#207cca 100%,#2989d8 100%,#4180eb 100%);background:-o-linear-gradient(top, #4486f6 0%,#207cca 100%,#2989d8 100%,#4180eb 100%);background:linear-gradient(top, #4486f6 0%,#207cca 100%,#2989d8 100%,#4180eb 100%)}body.events article.event header .event-timezone{font-size:10px;font-weight:normal;color:rgba(255,255,255,0.8)}body.events article.event header.default-filler{background:none}body.events article.event summary{height:118px;display:block;color:black;font-size:14px;border-bottom:1px solid #ddd;padding:6px 4px 4px 10px}body.events article.event summary img{height:auto;width:auto;max-width:64px;max-height:64px;float:right;display:inline;position:absolute;right:15px;bottom:40px}body.events article.event a.button{padding:0 5px 0 0;background-color:#fff;color:#1155CC;vertical-align:center;float:right;font-size:14px;font-weight:normal;border:0 none;background-image:none}body.events article.event:nth-child(5n+1) summary{*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#FFCBECC7', endColorstr='#FFCBECC7');background:#cbecc7;background:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, #cbecc7), color-stop(35%, #dbe8da), color-stop(68%, #d7e8d5), color-stop(100%, #cbecc7), color-stop(100%, #eeeeee), color-stop(100%, #cbecc7));background:-webkit-linear-gradient(left, #cbecc7 0%,#dbe8da 35%,#d7e8d5 68%,#cbecc7 100%,#eeeeee 100%,#cbecc7 100%);background:-moz-linear-gradient(left, #cbecc7 0%,#dbe8da 35%,#d7e8d5 68%,#cbecc7 100%,#eeeeee 100%,#cbecc7 100%);background:-o-linear-gradient(left, #cbecc7 0%,#dbe8da 35%,#d7e8d5 68%,#cbecc7 100%,#eeeeee 100%,#cbecc7 100%);background:linear-gradient(left, #cbecc7 0%,#dbe8da 35%,#d7e8d5 68%,#cbecc7 100%,#eeeeee 100%,#cbecc7 100%)}body.events article.event:nth-child(8n+1) summary{background-color:#dfeead;background-image:none}body.events article.event:nth-child(5n+2) summary{*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#FFEEEEEE', endColorstr='#FFEEEEEE');background:#eee;background:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, #eeeeee), color-stop(35%, #fcfcfc), color-stop(68%, #f7f7f7), color-stop(100%, #eeeeee), color-stop(100%, #eeeeee));background:-webkit-linear-gradient(left, #eeeeee 0%,#fcfcfc 35%,#f7f7f7 68%,#eeeeee 100%,#eeeeee 100%);background:-moz-linear-gradient(left, #eeeeee 0%,#fcfcfc 35%,#f7f7f7 68%,#eeeeee 100%,#eeeeee 100%);background:-o-linear-gradient(left, #eeeeee 0%,#fcfcfc 35%,#f7f7f7 68%,#eeeeee 100%,#eeeeee 100%);background:linear-gradient(left, #eeeeee 0%,#fcfcfc 35%,#f7f7f7 68%,#eeeeee 100%,#eeeeee 100%)}body.events article.event:nth-child(5n+3) summary{*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#FFDFEEAD', endColorstr='#FFDFEEAD');background:#dfeead;background:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(12%, #dfeead), color-stop(36%, #ebf8c2), color-stop(62%, #ebf8c2), color-stop(95%, #dfeead));background:-webkit-linear-gradient(left, #dfeead 12%,#ebf8c2 36%,#ebf8c2 62%,#dfeead 95%);background:-moz-linear-gradient(left, #dfeead 12%,#ebf8c2 36%,#ebf8c2 62%,#dfeead 95%);background:-o-linear-gradient(left, #dfeead 12%,#ebf8c2 36%,#ebf8c2 62%,#dfeead 95%);background:linear-gradient(left, #dfeead 12%,#ebf8c2 36%,#ebf8c2 62%,#dfeead 95%)}body.events article.event:nth-child(5n+4) summary{*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#FFFBF0A0', endColorstr='#FFFBF0A0');background:#fbf0a0;background:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, #fbf0a0), color-stop(35%, #f7f1c3), color-stop(68%, #f7efc5), color-stop(100%, #fbf0a0), color-stop(100%, #eeeeee), color-stop(100%, #fbf0a0));background:-webkit-linear-gradient(left, #fbf0a0 0%,#f7f1c3 35%,#f7efc5 68%,#fbf0a0 100%,#eeeeee 100%,#fbf0a0 100%);background:-moz-linear-gradient(left, #fbf0a0 0%,#f7f1c3 35%,#f7efc5 68%,#fbf0a0 100%,#eeeeee 100%,#fbf0a0 100%);background:-o-linear-gradient(left, #fbf0a0 0%,#f7f1c3 35%,#f7efc5 68%,#fbf0a0 100%,#eeeeee 100%,#fbf0a0 100%);background:linear-gradient(left, #fbf0a0 0%,#f7f1c3 35%,#f7efc5 68%,#fbf0a0 100%,#eeeeee 100%,#fbf0a0 100%)}body.events article.event:nth-child(5n) summary{*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1, startColorstr='#FFDCE8FF', endColorstr='#FFEEEEEE');background:#dce8ff;background:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #dce8ff), color-stop(35%, #e8f0ff), color-stop(68%, #e8f0ff), color-stop(100%, #dce8ff), color-stop(100%, #eeeeee));background:-webkit-linear-gradient(#dce8ff 0%,#e8f0ff 35%,#e8f0ff 68%,#dce8ff 100%,#eeeeee 100%);background:-moz-linear-gradient(#dce8ff 0%,#e8f0ff 35%,#e8f0ff 68%,#dce8ff 100%,#eeeeee 100%);background:-o-linear-gradient(#dce8ff 0%,#e8f0ff 35%,#e8f0ff 68%,#dce8ff 100%,#eeeeee 100%);background:linear-gradient(#dce8ff 0%,#e8f0ff 35%,#e8f0ff 68%,#dce8ff 100%,#eeeeee 100%)}body.events article.event summary.default-filler{background-color:#ccc;background-image:none}body.events #previous-shows ol{list-style-type:none;margin-bottom:0;margin-right:0;padding-left:0}body.events #previous-shows ol.center{text-align:center}body.events #previous-shows ol.center li{text-align:left;margin:10px 19px}body.events #previous-shows ol li{color:#777;display:inline-block;font-size:13px;line-height:14 0%;margin-bottom:20px;margin-right:35px;max-width:240px;vertical-align:top}body.events #previous-shows ol li a{text-decoration:none;display:block;font-size:14px}body.events #previous-shows ol li a:hover{text-decoration:underline}body.events img.video-thumbnail{display:block;width:240px;height:135px;border:1px solid #ccc;border-radius:4px}body.events .white-down-arrow{background-image:url("/_static/images/white-down-arrow.png");background-repeat:no-repeat;float:right;height:6px;margin-right:-4px;margin-top:11px;width:10px}body.events #create-dialog{-webkit-transition:all,0.218s;-moz-transition:all,0.218s;-o-transition:all,0.218s;transition:all,0.218s;-webkit-box-shadow:rgba(0,0,0,0.2) 0 4px 16px 0;-moz-box-shadow:rgba(0,0,0,0.2) 0 4px 16px 0;box-shadow:rgba(0,0,0,0.2) 0 4px 16px 0;position:fixed;background-color:#fff;outline:1px solid rgba(0,0,0,0.2);padding:30px 32px;max-width:512px;z-index:100;pointer-events:auto;position:absolute;left:50%;margin-left:-500px;margin-top:90px;top:0px;width:688px;max-width:688px}body.events #event-recurrence-container{margin-top:9px}body.events #event-recurrence-container.disabled{color:#ccc}body.events #confirm-delete,body.events #confirm-edit,body.events #confirm-stale{background-color:#fff;border:1px solid #acacac;color:#222;font-size:13px;left:50%;margin-left:-285px;margin-top:36px;padding:32px 44px;pointer-events:auto;position:fixed;right:auto;top:0px;width:480px;z-index:100;-webkit-box-shadow:rgba(0,0,0,0.2) 0 4px 16px 0;-moz-box-shadow:rgba(0,0,0,0.2) 0 4px 16px 0;box-shadow:rgba(0,0,0,0.2) 0 4px 16px 0;-webkit-transform:scale(1.05, 1.05);-moz-transform:scale(1.05, 1.05);-ms-transform:scale(1.05, 1.05);-o-transform:scale(1.05, 1.05);transform:scale(1.05, 1.05)}body.events #confirm-delete h1,body.events #confirm-edit h1,body.events #confirm-stale h1{color:#000;font-size:16px;margin:0px;margin-bottom:16px}body.events #event-tabs{padding-top:5px;padding-bottom:40px}body.events #create-form{font-family:"Arial","Helvetica",sans-serif}body.events #create-form h1{color:#000;font-size:16px;line-height:24px;margin:0px;margin-bottom:16px;padding:0px}body.events #create-form .kd-tabbed-horz{overflow:visible !important}body.events #create-form #field-all_day,body.events #create-form #view-all-tags,body.events #create-form #gplus_event_link_tag{padding-left:7px;text-decoration:none}body.events #create-form #id_recurrences+span.kd-select{padding-left:0;padding-right:0}body.events #create-form input.kd-checkbox{margin-left:0}body.events #create-form #event-key-field-wrapper{margin-top:0}body.events #create-form #id_invitation_only{background:#fff}body.events #create-form #conference-fields div.reg-details.create-mode{margin-top:0}body.events #create-form #registration-group-wrapper{display:inline-block}body.events #create-form #devsite-fields,body.events #create-form #thirdparty-fields{background:#f1f1f1;display:none}body.events #create-form #devsite-fields{padding:20px}body.events #create-form #thirdparty-fields{padding:30px 15px 30px}body.events #create-form .help-anchor{padding-left:20px}body.events #create-form .kd-bubble.field-help{position:absolute;width:270px;display:none}body.events #create-form .kd-bubble.field-help .pointer{left:-9px;top:30px;-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-ms-transform:rotate(-90deg);-o-transform:rotate(-90deg);transform:rotate(-90deg)}body.events #create-form label.reg-system-label{padding-right:20px}body.events #create-form label[for="reg-thirdparty"]{padding-right:0}body.events #create-form #reg-system-help{margin-left:550px;margin-top:-46px}body.events #create-form #reg-system-help p{margin-top:10px}body.events #create-form #reg-system-help .title{font-weight:bold}body.events #create-form #invitation-help{margin-left:14px;margin-top:-20px}body.events #create-form #external-reg-help{margin-left:252px;margin-top:-45px}body.events #create-form #details-page-help{margin-left:10px;margin-top:-23px}body.events #create-form #key-name-help{margin-left:15px;margin-top:-24px}body.events #create-form .kd-select .kd-disclosureindicator{background:url("/_static/images/disclosure_arrow_dk_grey_up_down.png");width:7px;height:11px;-webkit-transform:none;-moz-transform:none;transform:none;margin-top:8px}body.events #create-form label.visibility{padding-right:20px}body.events #create-form .associated-group{border-top:solid #f1f1f1 1px;border-bottom:solid #f1f1f1 1px;padding-top:25px;padding-bottom:32px}body.events #create-form #id_site_wrapper{padding-right:30px}body.events #create-form #id_studio_wrapper{padding-right:30px}body.events #create-form #id_description{width:500px;height:120px}body.events #create-form #field-tags #field-tags-input{width:500px}body.events #create-form #field-tags label[for="field-tags-input"] a{font-size:11px}body.events #create-form #field-toggle-conference{margin-top:5px;padding-bottom:22px}body.events #create-form #field-visibility .help-anchor{padding-left:0}body.events #create-form #field-visibility #visibility-help{margin-left:17px;margin-top:-17px}body.events #create-form #field-visibility #visibility-help p{margin-top:10px}body.events #create-form #field-visibility #visibility-help .title{font-weight:bold}body.events #create-form #id_hangout_link,body.events #create-form #id_moderator_link{width:425px}body.events #create-form .fieldWrapper{clear:both}body.events #create-form .fieldWrapper:not(.firstField){margin-top:20px}body.events #create-form .fieldWrapper.invite-only{padding-bottom:20px}body.events #create-form .fieldWrapper label{font-size:13px}body.events #create-form .fieldWrapper input[type=text],body.events #create-form .fieldWrapper textarea{height:29px;background-color:#fff;line-height:27px;padding-left:8px;color:333;border:1px solid #d9d9d9;border-top:1px solid silver;display:inline-block;vertical-align:top;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-border-radius:"1px";-moz-border-radius:"1px";-ms-border-radius:"1px";-o-border-radius:"1px";border-radius:"1px";width:60%}body.events #create-form .fieldWrapper input[type=text]:hover,body.events #create-form .fieldWrapper textarea:hover{border:1px solid #b9b9b9;border-top:1px solid #a0a0a0;-webkit-box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.1)";-moz-box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.1)";box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.1)"}body.events #create-form .fieldWrapper input[type=text]:focus,body.events #create-form .fieldWrapper textarea:focus{-webkit-box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.3)";-moz-box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.3)";box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.3)";outline:none;border:1px solid #4d90fe}body.events #create-form .fieldWrapper input[type=text].disabled,body.events #create-form .fieldWrapper input[type=text].disabled:hover,body.events #create-form .fieldWrapper input[type=text].disabled:active,body.events #create-form .fieldWrapper input[type=text]:disabled,body.events #create-form .fieldWrapper textarea.disabled,body.events #create-form .fieldWrapper textarea.disabled:hover,body.events #create-form .fieldWrapper textarea.disabled:active,body.events #create-form .fieldWrapper textarea:disabled{background:#fff;border:1px solid #f3f3f3;border:1px solid rgba(0,0,0,0.05);color:#b8b8b8;cursor:default;pointer-events:none}body.events #create-form .fieldWrapper input[type=text],body.events #create-form .fieldWrapper #id_location{height:29px;width:500px}body.events #create-form .fieldWrapper input[type=text]:hover,body.events #create-form .fieldWrapper textarea:hover{border:1px solid #b9b9b9;border-top:1px solid #a0a0a0;-webkit-box-shadow:rgba(0,0,0,0.1) 0 0px 1px 0;-moz-box-shadow:rgba(0,0,0,0.1) 0 0px 1px 0;box-shadow:rgba(0,0,0,0.1) 0 0px 1px 0}body.events #create-form .fieldWrapper input[type=text]:focus,body.events #create-form .fieldWrapper textarea:focus{border:1px solid #4d90fe;outline:none;-webkit-box-shadow:rgba(0,0,0,0.3) 0 0px 1px 0;-moz-box-shadow:rgba(0,0,0,0.3) 0 0px 1px 0;box-shadow:rgba(0,0,0,0.3) 0 0px 1px 0}body.events #create-form .fieldWrapper div.date_time input[type="text"]{vertical-align:baseline}body.events #create-form .fieldWrapper .tz_holder .name_tz{height:auto}body.events #create-form .fieldWrapper .tz_holder #error-message-tz{display:none;height:auto}body.events #create-form .fieldWrapper .location-container{padding:0;height:29px;width:500px}body.events #create-form .fieldWrapper .location-container input#id_location,body.events #create-form .fieldWrapper .location-container li{height:29px}body.events #create-form .fieldWrapper .location-container .chosen-locations{display:inline;height:100%;padding:0;width:100%}body.events #create-form .fieldWrapper .location-container .chosen-locations .button.mini{height:19px;line-height:19px;min-width:18px;width:auto}body.events #create-form .fieldWrapper .location-container .chosen-locations .button.left{border-radius:4px 0 0 4px;padding:0 4px 0 4px}body.events #create-form .fieldWrapper .location-container .chosen-locations .button.right{border-radius:0 4px 4px 0;padding:0px}body.events #create-form .fieldWrapper .location-container .chosen-locations .button.right span{position:relative;bottom:1px;right:1px}body.events #create-form .fieldWrapper .location-container .chosen-locations li{display:inline-block;margin-left:4px}body.events #create-form .fieldWrapper .location-container #id_location{height:100%;margin:0;outline:none;width:100%}body.events #create-form .fieldWrapper .formerror{color:#dd4b39;text-decoration:none}body.events #create-form .fieldWrapper .formerror input[type=text],body.events #create-form .fieldWrapper .formerror textarea,body.events #create-form .fieldWrapper .formerror select,body.events #create-form .fieldWrapper .formerror .kd-select{border:1px solid #dd4b39}body.events #create-form .fieldWrapper .error-message{display:none;margin-top:3px}body.events #create-form .fieldWrapper .inner-group{display:inline-block;margin-right:50px}body.events #create-form .fieldWrapper #quota-wrapper{display:inline-block;margin-left:60px}body.events #create-form .fieldWrapper #quota-wrapper input[type="text"]{width:60px}body.events #create-form .fieldWrapper .gplus-event{font-size:10px}body.events #create-form .date_time input[type=text]{margin-right:5px;width:90px}body.events #create-form .date_time div{display:inline-block}body.events #create-form .event-icon-container{clear:right;float:right;padding-right:350px;margin-top:7px}body.events #create-form .toggle-conference{display:inline-block;float:right;margin-right:430px}body.events #create-form.conference #conference-fields{display:block}body.events #create-form.conference #field-toggle-conference{padding-bottom:20px}body.events #create-form.conference .advanced-options input[type="text"]{width:100%}body.events #create-form.conference #make-conference{display:none}body.events #create-form.event #conference-fields,body.events #create-form.hangout #conference-fields,body.events #create-form.youtube #conference-fields{display:none}body.events #create-form.event .advanced-options,body.events #create-form.hangout .advanced-options,body.events #create-form.youtube .advanced-options{display:none}body.events #create-form.event #make-event,body.events #create-form.hangout #make-event,body.events #create-form.youtube #make-event{display:none}body.events .hidden{display:none}body.events .undo{color:#15c;cursor:pointer;font-size:13px;padding-left:8px;text-decoration:underline}body.events #dialog-shield{filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=75);opacity:0.75;-webkit-transition:all,0.218s;-moz-transition:all,0.218s;-o-transition:all,0.218s;transition:all,0.218s;background:#fff;position:fixed;height:100%;width:100%;left:0;right:0;top:0;bottom:0;z-index:99;margin:0}body.events img.tiny-profile-photo{width:25px;height:25px}body.events .kd-zippy span.row{cursor:pointer;display:block}body.events .kd-zippy.expanded .kd-zippycontent{height:185px}body.events .kd-zippycontent li{padding-left:5px;margin-left:0px;background-repeat:no-repeat;background-position:2px center;line-height:23px}body.events .kd-disclosureindicator{display:inline-block;width:5px;height:7px;background:url("/_static/images/disclosure_arrow_dk_grey.png") center no-repeat;-webkit-transition:all 0.5s;-moz-transition:all 0.5s;transition:all 0.5s}body.events .kd-disclosureindicator.down{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);transform:rotate(90deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1)}body.events .icon_url_preview{height:25px;margin-bottom:-8px;margin-left:6px;width:30px;padding-right:5px}body.events ul{list-style:none;padding-left:0px;padding-top:11px;margin-bottom:0px}body.events #id_location{resize:none}body.events #id_location,body.events #id_description{overflow:auto}body.events .kd-butterbar.manage-agenda{position:fixed;top:30px}body.events .agenda h3{margin-bottom:0}body.events .agenda .calendar{margin-top:8px}body.events .agenda .filters{margin-top:1em;padding-top:0}body.events .agenda .filters li{border:1px solid #fff;border-radius:4px;display:inline-block;font-family:"Lucida Granda",sans-serif;height:28px;line-height:28px;min-width:54px;padding:0 8px;text-align:center;vertical-align:middle}body.events .agenda .filters li input{margin:0;padding:0}body.events .agenda .filters li label{color:white;cursor:pointer;font-size:11px;font-weight:bold}body.events .agenda .filters li.button{padding:0}body.events #template_error{display:none}body.events #email-details .kd-textinput{width:160px}body.events #email-details tr{line-height:40px}body.events #registration-emails #email_subject{width:660px}body.events #event-wallet-credential #credential_key_name{width:150px;margin:-4px 0 0 5px}body.events #email-list tr.selected,body.events #email-list tr.selected:hover,body.events #template-list tr.selected,body.events #template-list tr.selected:hover{background-color:#ccc}body.events #email-list tr:hover,body.events #template-list tr:hover{background-color:#e0ecf8}body.events #email-list tr td,body.events #template-list tr td{border-collapse:collapse;border-color:#dcdcdc;border-spacing:0;border-style:solid;border-width:0 0 1px 0;cursor:pointer;padding:3px}#oauth-response-container{text-align:center;margin:0 auto;width:50px}#oauth-response-container div{text-align:center;vertical-align:top;background-color:#F9EDBE;border:1px solid #f0c36d;color:#484848;font-size:13px;font-weight:bold;-moz-border-radius:2px;-webkit-border-radius:2px;-o-border-radius:2px;-ms-border-radius:2px;-khtml-border-radius:2px;border-radius:2px;-moz-box-shadow:rgba(0,0,0,0.2) 0 2px 4px;-webkit-box-shadow:rgba(0,0,0,0.2) 0 2px 4px;-o-box-shadow:rgba(0,0,0,0.2) 0 2px 4px;box-shadow:rgba(0,0,0,0.2) 0 2px 4px;margin-left:-60px;margin-top:-108px;position:absolute;padding:0 10px}.hide-oauth-container{display:none}.unhide-oauth-container{display:block}.manage-reports #submit-reports{margin:5px 0 0 33%}.kd-bubble{background:#FFF;outline:1px solid rgba(0,0,0,0.2);padding:16px;position:relative;width:146px;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 2px 4px rgba(0,0,0,0.2);-moz-box-shadow:0 2px 4px rgba(0,0,0,0.2);box-shadow:0 2px 4px rgba(0,0,0,0.2)}.kd-bubble .pointer{background:url("/_static/images/bubble_point_white.png");display:block;height:11px;left:24px;margin:0 0 0 -5px;outline:none;position:absolute;top:-11px;width:17px}.kd-bubble.alert{background:#f9edbe;outline:1px solid #f0c36d}.kd-bubble.alert .pointer{background:url("/_static/images/bubble_point_yellow.png")}.kd-bubble p{color:#666;margin-bottom:0}.reg-details.hide-details,.payment-details.hide-details{display:none}.reg-details div.details,.payment-details div.details{display:-webkit-box;display:-moz-box;display:-ms-box;display:box;-webkit-box-pack:justify;-moz-box-pack:justify;-ms-box-pack:justify;box-pack:justify;-webkit-box-lines:multiple;-moz-box-lines:multiple;-ms-box-lines:multiple;box-lines:multiple}.reg-details div.details div.reg-field,.payment-details div.details div.reg-field{-webkit-box-flex:1;-moz-box-flex:1;-ms-box-flex:1;box-flex:1;border:1px solid #777;height:100%}.reg-details div.details div.reg-field div.reg-key,.payment-details div.details div.reg-field div.reg-key{background-color:#3f74e9;color:#fefefe;width:100%}.reg-details div.details div.reg-field div.reg-value,.payment-details div.details div.reg-field div.reg-value{background-color:#eee;width:100%}div.log-entry{background-color:#f7f7f7;padding:5px 0px}div.log-entry .log-header{cursor:pointer}div.log-entry date{font-weight:bold}div.log-entry .hide-log-detail{display:none}div.log-entry .log-change-param{font-weight:bold;color:green}div.log-entry div.log-detail-container{background-color:#eee;padding-top:5px}div.log-entry div.log-detail-container>div label{font-weight:bold;position:absolute;margin-left:20px}div.log-entry div.log-detail-container>div div{display:inline;margin-left:200px}div.log-entry div.log-detail-container>div div .log-was{font-weight:bold;color:red}div.log-entry div.log-detail-container>div div .log-now{font-weight:bold;color:green}div.registration-field.valid img.valid{display:''}div.registration-field.valid img.invalid{display:none}div.registration-field.invalid img.valid{display:none}div.registration-field.invalid img.invalid{display:''}div.registration-field.pending img.valid,div.registration-field.pending img.invalid{display:none}#regflow #main{padding-top:15px}#flow-wrapper{font-family:"Open Sans",arial,sans-serif;min-height:400px}#flow-wrapper .content{font-size:15px;position:relative}#flow-wrapper .content p strong{font-weight:600}#flow-wrapper .io-blue{color:#3f74e9}#flow-wrapper .io-red{color:#f05620}#flow-wrapper .io-gray{color:#666}#flow-wrapper #promo-code{float:right;padding:0;margin:0 0 20px 0;font-weight:600}#flow-wrapper #promo-code strong{color:#3f74e9;font-size:15px}#flow-wrapper #confirmation-code{color:#f05620;font-size:15px}#flow-wrapper h1{font-size:1.5em;margin:1em 0 0.5em 0}#flow-wrapper .registration-ui #plus-profile{padding-bottom:10px}#flow-wrapper .registration-ui #plus-profile span{display:inline-block;vertical-align:top}#flow-wrapper .registration-ui #plus-profile span#profile-image{border:1px solid #ccc;padding:1px}#flow-wrapper .registration-ui #plus-profile span#profile-image img{margin-bottom:-7px}#flow-wrapper .registration-ui #plus-profile span#disp-name{font-weight:bold}#flow-wrapper .registration-ui #plus-profile span#disp-name a{text-decoration:none}#flow-wrapper .registration-ui select{width:200px;margin:7px 2px 10px 2px}#flow-wrapper .registration-ui .button-red{margin:30px 0px 10px 50px}#flow-wrapper .registration-ui td{height:35px;color:#666;font-size:13px;vertical-align:baseline;padding:4px 2px 3px 2px}#flow-wrapper .registration-ui td.align-top{vertical-align:top;padding-top:16px}#flow-wrapper .registration-ui .column{display:inline-block;vertical-align:top;margin-top:6px;margin-right:12px}#flow-wrapper .registration-ui textarea{width:200px;margin:4px 0;background-color:white;line-height:27px;padding-left:8px;color:#333;border:1px solid #d9d9d9;border-top:1px solid silver;display:inline-block;font-family:Arial,sans-serif}#flow-wrapper .registration-ui .error-field{border:1px dotted #f05620 !important}#flow-wrapper .registration-ui .error-text{color:#f05620;display:none;font-size:11px;font-weight:normal}#flow-wrapper .registration-ui .help-text{font-size:12px;font-weight:normal}#flow-wrapper .registration-ui #plus-id-message{font-weight:normal;padding:5px 0 0 20px;text-align:left}#flow-wrapper .registration-ui #hotel_name{width:250px}#flow-wrapper .registration-ui #gender-group label{cursor:pointer;display:block;margin:6px 0 0 0;position:relative;text-align:left}#flow-wrapper .registration-ui #gender-group label>span{left:20px;position:absolute;top:0}#flow-wrapper .registration-ui .custom-field-action{color:#b8b8b8;cursor:pointer;padding-right:25px}#flow-wrapper .registration-ui .custom-field-action:hover{color:#666}#flow-wrapper .registration-ui #custom-field-input button,#flow-wrapper .registration-ui .custom-field-wrapper button{margin:0 0 3px 30px}#flow-wrapper .registration-ui .custom-field-wrapper td:first-child input[type="text"]{display:none;width:175px}#flow-wrapper .registration-ui .custom-field-wrapper td:nth-child(2) button{display:none}#flow-wrapper .registration-ui .custom-field-wrapper.visible td:first-child .custom-field-action{display:none}#flow-wrapper .registration-ui .custom-field-wrapper.visible td:first-child label{display:none}#flow-wrapper .registration-ui .custom-field-wrapper.visible td:first-child input[type="text"]{display:inline-block}#flow-wrapper .registration-ui .custom-field-wrapper.visible td:nth-child(2) button{display:inline-block}#flow-wrapper #legal-text-container label{margin-right:0px}#gc-appbar h1.event-title{font-size:2em}#io #flow-wrapper .registration-ui p{color:#666}#io #flow-wrapper .registration-ui section.main-section{border:none;border-bottom:1px solid #e5e5e5;margin:0;padding:10px 0 30px 0}#io #flow-wrapper .registration-ui section.main-section:last-child{border-bottom:none;padding-top:30px}#io #flow-wrapper .registration-ui section.main-section h5{font-size:14px;font-weight:bold;line-height:20px}#io #flow-wrapper .registration-ui section.main-section>section{border:none;margin-bottom:0;margin-top:25px;padding:0}#io #flow-wrapper .registration-ui section.main-section>section>h5{margin-top:0}#io #flow-wrapper .registration-ui section.main-section .kd-radio{position:relative;top:5px}#io #flow-wrapper .registration-ui section.main-section .kd-radio+label:before,#io #flow-wrapper .registration-ui section.main-section .kd-radio:checked+label:before{content:none}#io #flow-wrapper .registration-ui table{width:100%}#io #flow-wrapper .registration-ui tr:first-child p:first-child{margin:0}#io #flow-wrapper .registration-ui tr:last-child p:last-child{margin-bottom:0}#io #flow-wrapper .registration-ui td:first-child{padding:6px 12px 6px 6px;text-align:left;font-weight:bold;width:100px}#io #flow-wrapper .registration-ui .product-table{width:65%;border-collapse:collapse;border:1px solid #666}#io #flow-wrapper .registration-ui .product-table th,#io #flow-wrapper .registration-ui .product-table td{border-left:1px solid #666;border-right:1px solid #666;text-align:center;width:18%}#io #flow-wrapper .registration-ui .product-table th:first-child,#io #flow-wrapper .registration-ui .product-table td:first-child{width:46%;text-align:left;padding-left:6px}#io #flow-wrapper .registration-ui .product-table th label,#io #flow-wrapper .registration-ui .product-table td label{display:none}#io #flow-wrapper .registration-ui .product-table td:nth-child(2):hover,#io #flow-wrapper .registration-ui .product-table td:nth-child(3):hover,#io #flow-wrapper .registration-ui .product-table td:nth-child(4):hover{cursor:pointer;background-color:#f9edbe}#io #flow-wrapper .registration-ui .product-table th{background-color:#ccc;color:#666;height:25px;padding:5px 2px}#io #flow-wrapper .registration-ui .product-table tr:nth-child(even){background-color:#ebebeb}#io #flow-wrapper .registration-ui .required::after{content:"* ";color:#f05620;white-space:nowrap}#io #flow-wrapper .registration-ui .input-pair{white-space:nowrap;margin-right:40px}#io #flow-wrapper .registration-ui .input-pair label:first-child{margin-right:15px}#io #flow-wrapper .registration-ui .input-pair label:nth-child(2){margin-left:3px}#ticket-warning-container{text-align:left;width:500px;margin:auto}#ticket-warning-container #ticket-warning-container-header img{vertical-align:middle}#ticket-warning-container #ticket-warning-list{margin-left:50px}#payment-verification{text-align:center}#top-timer #countdown-warning{text-align:center;background-color:#444;color:#CCC}#top-timer #countdown-warning #countdown-timer{font-size:2.5em}#top-timer #countdown-warning #countdown-message{font-size:1.5em}#flow-wrapper #wait-page-content,#flow-wrapper #payment-page-content,#gc-content #wait-page-content,#gc-content #payment-page-content{background:none;top:0;text-align:center;color:#666;padding-top:25px}#flow-wrapper #wait-page-content p,#flow-wrapper #payment-page-content p,#gc-content #wait-page-content p,#gc-content #payment-page-content p{color:#666;font-size:15px}#flow-wrapper #wait-page-content h1,#flow-wrapper #payment-page-content h1,#gc-content #wait-page-content h1,#gc-content #payment-page-content h1{color:#666;line-height:140%}#flow-wrapper .danger-timer,#gc-content .danger-timer{color:#f05620}#flow-wrapper .stopped-timer,#gc-content .stopped-timer{color:#f1f1f1}#flow-wrapper #countdown-timer,#gc-content #countdown-timer{font-size:50px}#flow-wrapper #status_img_loading,#gc-content #status_img_loading{padding-top:40px;padding-bottom:40px}#flow-wrapper .help-anchor,#gc-content .help-anchor{cursor:pointer;font-size:10px;margin-left:20px;text-decoration:none;vertical-align:super}#flow-wrapper .kd-bubble.field-help,#gc-content .kd-bubble.field-help{position:absolute;width:300px;display:none}#flow-wrapper .kd-bubble.field-help .pointer,#gc-content .kd-bubble.field-help .pointer{left:-9px;top:20px;-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-ms-transform:rotate(-90deg);-o-transform:rotate(-90deg);transform:rotate(-90deg)}#flow-wrapper #user-id-help,#gc-content #user-id-help{margin:-13px 0 0 25px;width:500px}#flow-wrapper #user-id-help span,#gc-content #user-id-help span{display:inline-block}#flow-wrapper input[type="email"],#flow-wrapper input[type="text"],#gc-content input[type="email"],#gc-content input[type="text"]{width:200px;height:29px;margin:4px 0;background-color:white;line-height:27px;padding-left:8px;color:#333;border:1px solid #d9d9d9;border-top:1px solid silver;display:inline-block}#flow-wrapper input[type="email"].disabled,#flow-wrapper input[type="email"].disabled:hover,#flow-wrapper input[type="email"].disabled:active,#flow-wrapper input[type="text"].disabled,#flow-wrapper input[type="text"].disabled:hover,#flow-wrapper input[type="text"].disabled:active,#gc-content input[type="email"].disabled,#gc-content input[type="email"].disabled:hover,#gc-content input[type="email"].disabled:active,#gc-content input[type="text"].disabled,#gc-content input[type="text"].disabled:hover,#gc-content input[type="text"].disabled:active{background:#fff;border:1px solid #f3f3f3;border:1px solid rgba(0,0,0,0.05);color:#b8b8b8;cursor:default;pointer-events:none}#flow-wrapper #search-form input#filter-value.kd-textinput,#gc-content #search-form input#filter-value.kd-textinput{margin:0 0;width:300px}.errormsg{display:none;color:#dd4b39}#registration-error{text-align:center;color:#666;padding-top:25px}#gc-content .registration-ui table{width:auto}#gc-content .registration-ui td:first-child{padding:6px 12px 6px 6px;text-align:right;font-weight:bold}#gc-content .registration-ui td:last-child{width:80%}#gc-content .registration-ui .required::before{content:"* ";color:#f05620;white-space:nowrap}#gc-content .registration-ui .input-pair{white-space:nowrap}#gc-content .registration-ui .input-pair label{margin-right:8px}#redeem-wrapper p{font-size:1em}#redeem-wrapper span.label{margin-right:5px}#redeem-wrapper .required::after{content:"* ";color:#dd4b39;white-space:nowrap}#redeem-wrapper #promocode-value{font-weight:bold}#redeem-wrapper #user-id-help span{margin-bottom:10px}body.redeem-vipcode{font-family:"Open Sans",arial,sans-serif}body.redeem-vipcode #gc-content{margin:0 auto;margin-top:40px;width:1000px}body.redeem-vipcode #gc-content h1{font-size:23px}body.redeem-vipcode #gc-content #redeem-wrapper p{color:#3f3f3f;font-size:14px;margin:21px 0}.todos-list #add-button{float:right}.todos-list td button{float:right;margin-right:10px}.todos-list .th-datetime{width:280px}.add-edit-todo #delete-button{margin-left:400px}.add-edit-todo-fields{margin-bottom:10px;width:38%;border-width:0px !important}.add-edit-todo-fields td{border-width:0px !important;width:50px;height:40px}.add-edit-todo-fields .time-input{width:78px}.add-edit-todo-fields .checkbox-action-container a{margin-right:10px}.add-edit-todo-fields .type-code-field{display:inline-block}.badge-filter-page td{border-color:#F0F0F0;border-style:solid;border-width:1px;padding-left:5px}.badge-filter-page th{border:none}.badge-filter-page #start-board{float:right;margin-top:-35px}.badge-filter-page .type_checkboxes{display:inline-block;margin-left:10px;max-width:715px;vertical-align:top}#badge-board{font:normal 100% "Open Sans",Arial,sans-serif}#badge-board a{text-decoration:none}#badge-board #header .content{top:-58px;width:100%}#badge-board #header .content #logo,#badge-board #header .content #location{left:50px}#badge-board #header .content #logo{bottom:5em !important}#badge-board #header .content #location{bottom:4em !important}#badge-board #header .content .page-title{border-bottom:none;color:#3D88F3;font-size:40px;left:35%;top:35%;position:relative}#badge-board #main{padding:0 0 200px !important}#badge-board #main .content{width:100%}#badge-board #main .content table{font-size:40px;width:100%}#badge-board #main .content table tr{height:140px}#badge-board #main .content table tr .td_checkin_time{width:380px}#badge-board #main .content table tr .td_type_code{width:440px}#badge-board #main .content table tr .td_shirt_size{width:480px}#badge-board #main .content table tr td{border-color:#F1F1F1;border-style:solid;border-width:2px;padding-left:60px;vertical-align:middle}#badge-board #main .content table tr:nth-child(even) td{background-color:#FAFAFA}#badge-board #main .content table tr:nth-child(odd) td{background:none}#badge-board #footer{pointer-events:none !important}#badge-board #footer #thisisgoogle{margin-top:5px !important}.summary-column{width:49%;display:inline-block;vertical-align:top;line-height:1.8}.pagespeed a{text-decoration:none}.pagespeed #gc-main{margin-left:0px !important;max-width:1304px;width:80%}.pagespeed #gc-content{padding:0 !important}.pagespeed .gux-tooltip a,.pagespeed .gux-tooltip a:visited{color:#4272db;text-decoration:none}.pagespeed .gux-tooltip a:hover{color:#4272db;text-decoration:underline}.pagespeed .gwt-PopupPanelGlass{background-color:#000000;opacity:0.3;z-index:100}.pagespeed .gwt-PopupPanel{background:none repeat scroll 0 0 #fff;border:3px solid #c3d9ff;padding:3px;z-index:101}.pagespeed #messageContainer{position:absolute;top:54px;width:100%;text-align:center;display:none;z-index:1000}.pagespeed #messageLabel{display:inline-block;margin:0 auto;-webkit-box-shadow:0 2px 4px rgba(0,0,0,0.2);-moz-box-shadow:0 2px 4px rgba(0,0,0,0.2);box-shadow:0 2px 4px rgba(0,0,0,0.2);padding:7px 16px !important;background:#f9edbe !important;border:1px solid #f0c36d;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;line-height:16px;font-size:11px}.pagespeed #messageLabel{background-color:#fe8;padding:2px 15px}.pagespeed #messageLabel.progress{background-color:#ffee88}.pagespeed #messageLabel.error{background:#dd4b39 !important;border:1px solid #bb3c2c;color:white}.kd-textinput{height:29px;background-color:#fff;line-height:27px;padding-left:8px;color:333;border:1px solid #d9d9d9;border-top:1px solid silver;display:inline-block;vertical-align:top;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-border-radius:"1px";-moz-border-radius:"1px";-ms-border-radius:"1px";-o-border-radius:"1px";border-radius:"1px"}.kd-textinput:hover{border:1px solid #b9b9b9;border-top:1px solid #a0a0a0;-webkit-box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.1)";-moz-box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.1)";box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.1)"}.kd-textinput:focus{-webkit-box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.3)";-moz-box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.3)";box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.3)";outline:none;border:1px solid #4d90fe}.kd-textinput.disabled,.kd-textinput.disabled:hover,.kd-textinput.disabled:active,.kd-textinput:disabled{background:#fff;border:1px solid #f3f3f3;border:1px solid rgba(0,0,0,0.05);color:#b8b8b8;cursor:default;pointer-events:none}.admin{color:#222;font-family:Arial,sans-serif;font-size:13px;line-height:18px;max-width:952px}.admin h1{font-size:24px;margin:1.5em;margin-left:0px;color:#dd4b39}.admin #user,.admin .name-title{color:#000;font-size:16px;line-height:24px;margin-top:16px;margin-bottom:16px}.admin .name-title{margin-bottom:0}.admin .btn-revoke{float:right}.admin .col-1{float:left;padding-top:10px}.admin .col-2{float:right;padding-top:10px}.admin ul{list-style:none;padding:0px}.admin ul li{padding:3px;padding-left:8px;max-width:400px}.admin ul li .x-delete,.admin ul li .notowned{color:#777;font-weight:bold;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=0);opacity:0}.admin ul li span{padding:0px 5px}.admin ul li div{float:right}.admin ul li:hover{background-color:#eee}.admin ul li:hover .x-delete,.admin ul li:hover .notowned{cursor:pointer;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100);opacity:1}.admin .profiles{padding-top:20px}.admin .profiles .profile a{text-decoration:none}.admin .profiles .profile img{vertical-align:text-bottom}.admin img.tiny-profile-photo{width:25px;height:25px}.admin #search-name{width:280px}.admin input[type=text]{background-color:#fff;border:1px solid #d9d9d9;border-top:1px solid silver;display:inline-block;height:22px;padding-left:3px;width:175px;-webkit-border-radius:1px;-moz-border-radius:1px;-ms-border-radius:1px;-o-border-radius:1px;border-radius:1px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.admin input[type=text]:hover{border:1px solid #b9b9b9;border-top:1px solid #a0a0a0;-webkit-box-shadow:rgba(0,0,0,0.1) 0 0px 1px 0;-moz-box-shadow:rgba(0,0,0,0.1) 0 0px 1px 0;box-shadow:rgba(0,0,0,0.1) 0 0px 1px 0}.admin input[type=text]:focus{border:1px solid #4d90fe;outline:none;-webkit-box-shadow:rgba(0,0,0,0.3) 0 0px 1px 0;-moz-box-shadow:rgba(0,0,0,0.3) 0 0px 1px 0;box-shadow:rgba(0,0,0,0.3) 0 0px 1px 0}.admin .formerror,.admin .blocked{color:#DD4B39}.admin .formerror input[type=text],.admin .formerror textarea,.admin .blocked input[type=text],.admin .blocked textarea{border:1px solid #dd4b39}.admin .blocked{font-weight:bold}.api-explorer .api-result{float:left;margin-left:30px}.api-explorer #error-text{display:none}.api-explorer #errors{display:none}.api-explorer #api-button{display:none}.api-explorer #result{display:none}.api-explorer #base-url{display:none}.api-explorer #working-text{display:none}.api-explorer .api-select{float:left;border:1px solid #222;display:inline-block;padding:10px;margin:5px}#pagenotfound div.item div{margin:4px 0px}#pagenotfound div.item span,#pagenotfound div.item input{margin-left:8px}#pagenotfound div.item span{font-weight:bold}#pagenotfound div.item input{width:50px}#pagenotfound .new-issue{background-color:#DFD}#pagenotfound .old-issue{background-color:#FDD}#pagenotfound .ignored-issue{opacity:.4}.savedlogs>div{list-style:none}.savedlogs>div>div .exw-control{padding-top:4px}.savedlogs>div>div>div{font-weight:bold}.savedlogs>div>div .applog{background-color:#f7f7f7;font-weight:normal;margin:0}.savedlogs>div>div .debug{color:#888}.savedlogs>div>div .info{color:#3c0}.savedlogs>div>div .warn{color:#f70}.savedlogs>div>div .error{color:#f00}.savedlogs>div>div .critical{color:#f00}.savedlogs .spacer{width:80%;border:1px #999 solid;margin:20px 0px}.savedlogs input[type=text],.savedlogs textarea{height:29px;background-color:#fff;line-height:27px;padding-left:8px;color:333;border:1px solid #d9d9d9;border-top:1px solid silver;display:inline-block;vertical-align:top;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-border-radius:"1px";-moz-border-radius:"1px";-ms-border-radius:"1px";-o-border-radius:"1px";border-radius:"1px"}.savedlogs input[type=text]:hover,.savedlogs textarea:hover{border:1px solid #b9b9b9;border-top:1px solid #a0a0a0;-webkit-box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.1)";-moz-box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.1)";box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.1)"}.savedlogs input[type=text]:focus,.savedlogs textarea:focus{-webkit-box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.3)";-moz-box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.3)";box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.3)";outline:none;border:1px solid #4d90fe}.savedlogs input[type=text].disabled,.savedlogs input[type=text].disabled:hover,.savedlogs input[type=text].disabled:active,.savedlogs input[type=text]:disabled,.savedlogs textarea.disabled,.savedlogs textarea.disabled:hover,.savedlogs textarea.disabled:active,.savedlogs textarea:disabled{background:#fff;border:1px solid #f3f3f3;border:1px solid rgba(0,0,0,0.05);color:#b8b8b8;cursor:default;pointer-events:none}.savedlogs input[type=text]{height:29px}.savedlogs textarea{height:95px;margin:5px 0px;resize:none;width:100%}#existingpermissions{margin-top:15px}.manage-permissions{overflow:hidden}.google_wallet_admin .kd-textinput,.google_wallet_admin .kd-checkbox input{margin:5px}.google_wallet_admin #wallet-details-result-container{text-align:center;margin:0 auto;width:50px}.google_wallet_admin #wallet-details-result-container div{display:none;text-align:center;vertical-align:top;background-color:#F9EDBE;border:1px solid #f0c36d;color:#484848;font-size:13px;font-weight:bold;-moz-border-radius:2px;-webkit-border-radius:2px;-o-border-radius:2px;-ms-border-radius:2px;-khtml-border-radius:2px;border-radius:2px;-moz-box-shadow:rgba(0,0,0,0.2) 0 2px 4px;-webkit-box-shadow:rgba(0,0,0,0.2) 0 2px 4px;-o-box-shadow:rgba(0,0,0,0.2) 0 2px 4px;box-shadow:rgba(0,0,0,0.2) 0 2px 4px;margin-left:-60px;margin-top:-55px;position:absolute;padding:0 10px}.google_wallet_admin #postback-url{border:1px solid #b9b9b9;padding:3px;margin:5px;display:inline-block}.google_wallet_admin #edit-wallet-errors{color:#dd4b39}.google_wallet_admin #existing-wallets .delete-span{color:#fec4bc;cursor:pointer;font-weight:bold}.google_wallet_admin .right-align-field{width:110px}.google_wallet_admin .decorated tr.selected,.google_wallet_admin .decorated tr.selected:hover{background-color:#ccc}.google_wallet_admin .decorated tr.selected .delete-span,.google_wallet_admin .decorated tr.selected:hover .delete-span{color:#dd4b39}.google_wallet_admin .decorated tr:hover{background-color:#e0ecf8}.google_wallet_admin .decorated tr:hover .delete-span{color:#dd4b39}.google_wallet_admin .decorated tr th{width:250px}.google_wallet_admin .decorated tr td{cursor:pointer}.search-exp{float:right;width:28%;padding-left:5px}.search-exp article{font-size:13px}.search-exp article>div{line-height:0px}.search-exp article>div span{line-height:13px}.search-exp header{font-size:13px}.search-exp .more{font-size:13px}.search-autocomplete{background-color:#fefefe;border:1px solid #bbb;padding:0 5px;width:50%;z-index:1100}.search-autocomplete div>a.result{font-size:81%}.search-autocomplete div>span{font-size:68%}.search-autocomplete div>p.content{font-size:81%;color:#555}.search-page div>a.result{font-size:100%}.search-page div>span{font-size:75%}.search-page div>p.content{font-size:81%}.search-results div{font-size:16px}.search-results div>p.path{font-size:68%;color:#093;line-height:1.2em;margin:0;padding:0}body.search #sidebar{display:none}body.search #content{display:block;float:none;width:100%}.result-paging{margin:10px}.profile-results{padding:10px;overflow:auto;clear:both}.profile-results h1{border-bottom:#999 1px solid}.profile-results>.result{display:inline;float:left;overflow:hidden;width:32.63%;margin-right:0;margin:10px auto 10px auto;float:left}.profile-results>.result div span{display:block}.profile-results>.result .thumb{margin-left:15px;float:left}.profile-results>.result .stats{float:right;margin-right:15px}.profile-results>.result .stats .result-name{font-size:120%}.profile-results>.result img{display:block;width:auto;height:75px;border:#999 1px solid;padding:2px}#search-results{width:100%}#search-results a.gs-title{color:#15c}#search-results a.gs-title:active{color:#dd4b39}#search-results .gs-snippet{color:#222}#search-results .gs-visibleUrl,#search-results .gs-visibleUrl-long,#search-results .gs-visibleUrl-short{color:#093}#search-results .loading{font-size:13px}#search-results .gsc-control-cse{padding:0}#search-results .gsc-result,#search-results .gsc-result-info{padding-left:0}#search-results td.gsc-table-cell-thumbnail,#search-results td.gsc-thumbnail{display:none}#search-results .gs-image{display:none}.gsc-adBlock,.gsc-adBlockVertical,.gsc-resultsHeader{display:none !important}.gsc-wrapper{width:100% !important}.gsc-tabsArea{display:none}.gs-per-result-labels{display:none}body.tags_admin>.ui-autocomplete,body.tag-list>.ui-autocomplete,body.showcase-dashboard>.ui-autocomplete{cursor:default;position:absolute}body.tags_admin>.ui-autocomplete,body.tag-list>.ui-autocomplete,body.showcase-dashboard>.ui-autocomplete{width:1px}body.tags_admin>.ui-menu,body.tag-list>.ui-menu,body.showcase-dashboard>.ui-menu{display:block;float:left;list-style:none outside none;margin:0;padding:2px}body.tags_admin>.ui-menu .ui-menu,body.tag-list>.ui-menu .ui-menu,body.showcase-dashboard>.ui-menu .ui-menu{margin-top:-3px}body.tags_admin>.ui-menu .ui-menu-item,body.tag-list>.ui-menu .ui-menu-item,body.showcase-dashboard>.ui-menu .ui-menu-item{clear:left;float:left;margin:0;padding:0;width:100%}body.tags_admin>.ui-menu .ui-menu-item a,body.tag-list>.ui-menu .ui-menu-item a,body.showcase-dashboard>.ui-menu .ui-menu-item a{display:block;line-height:1.5;padding:2.6px 5.2px;text-decoration:none}body.tags_admin>.ui-menu .ui-menu-item a.ui-state-hover,body.tags_admin>.ui-menu .ui-menu-item a.ui-state-active,body.tag-list>.ui-menu .ui-menu-item a.ui-state-hover,body.tag-list>.ui-menu .ui-menu-item a.ui-state-active,body.showcase-dashboard>.ui-menu .ui-menu-item a.ui-state-hover,body.showcase-dashboard>.ui-menu .ui-menu-item a.ui-state-active{font-weight:normal;margin:-1px}body.tags_admin .ui-state-hover,body.tag-list .ui-state-hover,body.showcase-dashboard .ui-state-hover{background-color:#f1f1f1;color:#202020;font-weight:bold}body.tags_admin>.ui-widget-content,body.tag-list>.ui-widget-content,body.showcase-dashboard>.ui-widget-content{background-color:#fff;color:#202020;border:1px solid #ddd}body.tags_admin .ui-widget.tag-admin,body.tag-list .ui-widget.tag-admin,body.showcase-dashboard .ui-widget.tag-admin{display:inline;padding-right:100px}body.tags_admin .ui-widget.tag-admin label,body.tag-list .ui-widget.tag-admin label,body.showcase-dashboard .ui-widget.tag-admin label{display:inline}body.tags_admin .google-visualization-table-div-page>div:nth-child(2),body.tag-list .google-visualization-table-div-page>div:nth-child(2),body.showcase-dashboard .google-visualization-table-div-page>div:nth-child(2){float:right}.kd-butterbar-container{text-align:center;position:absolute;background:none;width:100%;height:0px;overflow:visible}.kd-butterbar-container .kd-butterbar-m{position:relative;top:20px;display:inline-block;text-align:center;padding:8px 16px;background:#f9edbe;border:1px solid #f0c36d;z-index:10;opacity:0;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 2px 4px rgba(0,0,0,0.2);-moz-box-shadow:0 2px 4px rgba(0,0,0,0.2);box-shadow:0 2px 4px rgba(0,0,0,0.2);-webkit-transition:opacity 0.218s;-moz-transition:opacity 0.218s;-o-transition:opacity 0.218s;transition:opacity 0.218s}.kd-butterbar-container .kd-butterbar-m.io{z-index:65535}.kd-butterbar-container .kd-butterbar-m.io p{font-size:13px}.kd-butterbar-container .kd-butterbar-m p{font-size:12px;margin:0;line-height:20px}.kd-butterbar-container .kd-butterbar-m p a{color:#222;text-decoration:underline}.kd-butterbar-container .kd-butterbar-m p a:visited,.kd-butterbar-container .kd-butterbar-m p a:hover{color:#222}.kd-butterbar-container .kd-butterbar-m a.kd-butterbar-dismiss{text-decoration:none;color:black;float:right;display:block;position:absolute;top:1px;right:4px;font-size:12px}.kd-butterbar-container .kd-butterbar-m a.kd-butterbar-dismiss:before{content:"\00d7"}.kd-butterbar-container .kd-butterbar-m.shown{opacity:1;-webkit-transition:opacity 0.13s;-moz-transition:opacity 0.13s;-o-transition:opacity 0.13s;transition:opacity 0.13s}.kd-butterbar{position:absolute;text-align:center;z-index:10;margin-top:-13px;width:100%;opacity:0;-webkit-transition:opacity 0.13s;-moz-transition:opacity 0.13s;-o-transition:opacity 0.13s;transition:opacity 0.13s}.kd-butterbar>span,.kd-butterbar>p{font-family:"Arial","Helvetica",sans-serif;font-size:11px;padding:8px 16px;background:#f9edbe;border:1px solid #f0c36d;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 2px 4px rgba(0,0,0,0.2);-moz-box-shadow:0 2px 4px rgba(0,0,0,0.2);box-shadow:0 2px 4px rgba(0,0,0,0.2)}.kd-butterbar a{color:#333;text-decoration:underline}.kd-butterbar a:visited,.kd-butterbar a:hover{color:#333}.kd-butterbar.shown{opacity:1;-webkit-transform:scale(1);-webkit-transition:all 0.13s,left 0 linear 0;-moz-transition:all 0.218s;-o-transition:all 0.218s}.kd-button{background-color:#f5f5f5;border:1px solid #dcdcdc;border:1px solid rgba(0,0,0,0.1);color:#666;cursor:pointer;display:-moz-inline-stack;display:inline-block;vertical-align:middle;*vertical-align:auto;zoom:1;*display:inline;font-family:"Arial",sans-serif;font-size:11px;font-weight:bold;height:27px;line-height:27px;min-width:54px;padding:0 8px;text-align:center;text-decoration:none !important;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;background:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #f5f5f5), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f5f5f5,#f1f1f1);background:-moz-linear-gradient(top, #f5f5f5,#f1f1f1);background:-o-linear-gradient(top, #f5f5f5,#f1f1f1);background:linear-gradient(top, #f5f5f5,#f1f1f1);-webkit-transition:all,0.218s;-moz-transition:all,0.218s;-o-transition:all,0.218s;transition:all,0.218s}.kd-button:hover{background-color:#f8f8f8;border:1px solid #c6c6c6;color:#333;background:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #f8f8f8), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f8f8f8,#f1f1f1);background:-moz-linear-gradient(top, #f8f8f8,#f1f1f1);background:-o-linear-gradient(top, #f8f8f8,#f1f1f1);background:linear-gradient(top, #f8f8f8,#f1f1f1);-webkit-box-shadow:rgba(0,0,0,0.1) 0 1px 1px 0;-moz-box-shadow:rgba(0,0,0,0.1) 0 1px 1px 0;box-shadow:rgba(0,0,0,0.1) 0 1px 1px 0;-webkit-transition:all,0;-moz-transition:all,0;-o-transition:all,0;transition:all,0}.kd-button:active{background-color:#f6f6f6;background:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #f6f6f6), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f6f6f6,#f1f1f1);background:-moz-linear-gradient(top, #f6f6f6,#f1f1f1);background:-o-linear-gradient(top, #f6f6f6,#f1f1f1);background:linear-gradient(top, #f6f6f6,#f1f1f1);-webkit-box-shadow:rgba(0,0,0,0.1) 0 1px 2px 0 inset;-moz-box-shadow:rgba(0,0,0,0.1) 0 1px 2px 0 inset;box-shadow:rgba(0,0,0,0.1) 0 1px 2px 0 inset}.kd-button:visited{color:#666}.kd-button:focus{border:1px solid #4d90fe;outline:none}.kd-button.disabled,.kd-button.disabled:hover,.kd-button.disabled:active{background:#fff;border:1px solid #f3f3f3;border:1px solid rgba(0,0,0,0.05);color:#b8b8b8;cursor:default;pointer-events:none}.kd-closebutton{width:44px;height:44px;background:url("/_static/images/x.png") center no-repeat;position:absolute;top:0;right:0;opacity:.7;-moz-opacity:.7;filter:alpha(opacity=70);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";cursor:default}.kd-closebutton:hover{opacity:1;-moz-opacity:1;filter:alpha(opacity=100);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"}.button-blue{background-color:#4d90fe !important;border-color:#3079ed !important;color:#fff !important;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #4d90fe), color-stop(100%, #4787ed)) !important;background-image:-webkit-linear-gradient(top, #4d90fe,#4787ed) !important;background-image:-moz-linear-gradient(top, #4d90fe,#4787ed) !important;background-image:-o-linear-gradient(top, #4d90fe,#4787ed) !important;background-image:linear-gradient(top, #4d90fe,#4787ed) !important}.button-blue.disabled,.button-blue.disabled:hover,.button-blue.disabled:active{background:#4d90fe !important;border:1px solid #3079ed !important;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=50);opacity:0.5}.button-blue:hover{background-color:#357ae8 !important;border-color:#2f5bb7 !important;color:#fff !important;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #4d90fe), color-stop(100%, #357ae8)) !important;background-image:-webkit-linear-gradient(top, #4d90fe,#357ae8) !important;background-image:-moz-linear-gradient(top, #4d90fe,#357ae8) !important;background-image:-o-linear-gradient(top, #4d90fe,#357ae8) !important;background-image:linear-gradient(top, #4d90fe,#357ae8) !important;-webkit-box-shadow:rgba(0,0,0,0.2) 0 1px 1px 0;-moz-box-shadow:rgba(0,0,0,0.2) 0 1px 1px 0;box-shadow:rgba(0,0,0,0.2) 0 1px 1px 0}.button-blue:hover.disabled,.button-blue:hover.disabled:hover,.button-blue:hover.disabled:active{background:#357ae8 !important;border:1px solid #2f5bb7 !important;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=50);opacity:0.5}.button-blue:active{-webkit-box-shadow:rgba(0,0,0,0.3) 0 1px 2px 0 inset;-moz-box-shadow:rgba(0,0,0,0.3) 0 1px 2px 0 inset;box-shadow:rgba(0,0,0,0.3) 0 1px 2px 0 inset}.button-blue.selected{-webkit-box-shadow:rgba(0,0,0,0.3) 0 3px 6px 0 inset;-moz-box-shadow:rgba(0,0,0,0.3) 0 3px 6px 0 inset;box-shadow:rgba(0,0,0,0.3) 0 3px 6px 0 inset}.button-green{background-color:#3d9400 !important;border-color:#29691d !important;color:#fff !important;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #3d9400), color-stop(100%, #398a00)) !important;background-image:-webkit-linear-gradient(top, #3d9400,#398a00) !important;background-image:-moz-linear-gradient(top, #3d9400,#398a00) !important;background-image:-o-linear-gradient(top, #3d9400,#398a00) !important;background-image:linear-gradient(top, #3d9400,#398a00) !important}.button-green.disabled,.button-green.disabled:hover,.button-green.disabled:active{background:#3d9400 !important;border:1px solid #29691d !important;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=50);opacity:0.5}.button-green:hover{background-color:#368200 !important;border-color:#2d6200 !important;color:#fff !important;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #3d9400), color-stop(100%, #368200)) !important;background-image:-webkit-linear-gradient(top, #3d9400,#368200) !important;background-image:-moz-linear-gradient(top, #3d9400,#368200) !important;background-image:-o-linear-gradient(top, #3d9400,#368200) !important;background-image:linear-gradient(top, #3d9400,#368200) !important;-webkit-box-shadow:rgba(0,0,0,0.3) 0 1px 1px 0;-moz-box-shadow:rgba(0,0,0,0.3) 0 1px 1px 0;box-shadow:rgba(0,0,0,0.3) 0 1px 1px 0}.button-green:hover.disabled,.button-green:hover.disabled:hover,.button-green:hover.disabled:active{background:#368200 !important;border:1px solid #2d6200 !important;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=50);opacity:0.5}.button-green:active{-webkit-box-shadow:rgba(0,0,0,0.3) 0 1px 2px 0 inset;-moz-box-shadow:rgba(0,0,0,0.3) 0 1px 2px 0 inset;box-shadow:rgba(0,0,0,0.3) 0 1px 2px 0 inset}.button-red{background-color:#d14836 !important;border-color:#992a1b !important;color:#fff !important;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #dd4b39), color-stop(100%, #d14836)) !important;background-image:-webkit-linear-gradient(top, #dd4b39,#d14836) !important;background-image:-moz-linear-gradient(top, #dd4b39,#d14836) !important;background-image:-o-linear-gradient(top, #dd4b39,#d14836) !important;background-image:linear-gradient(top, #dd4b39,#d14836) !important;text-shadow:rgba(0,0,0,0.1) 0 1px 0}.button-red.disabled,.button-red.disabled:hover,.button-red.disabled:active{background:#d14836 !important;border:1px solid #992a1b !important;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=50);opacity:0.5}.button-red:hover{background-color:#c53727 !important;border-color:#b0281a !important;color:#fff !important;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #dd4b39), color-stop(100%, #c53727)) !important;background-image:-webkit-linear-gradient(top, #dd4b39,#c53727) !important;background-image:-moz-linear-gradient(top, #dd4b39,#c53727) !important;background-image:-o-linear-gradient(top, #dd4b39,#c53727) !important;background-image:linear-gradient(top, #dd4b39,#c53727) !important;border-bottom:1px solid #af301f;-webkit-box-shadow:rgba(0,0,0,0.2) 0 1px 1px 0;-moz-box-shadow:rgba(0,0,0,0.2) 0 1px 1px 0;box-shadow:rgba(0,0,0,0.2) 0 1px 1px 0}.button-red:hover.disabled,.button-red:hover.disabled:hover,.button-red:hover.disabled:active{background:#c53727 !important;border:1px solid #b0281a !important;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=50);opacity:0.5}.button-red:active{-webkit-box-shadow:rgba(0,0,0,0.3) 0 1px 2px 0 inset;-moz-box-shadow:rgba(0,0,0,0.3) 0 1px 2px 0 inset;box-shadow:rgba(0,0,0,0.3) 0 1px 2px 0 inset}.kd-textinput{height:29px;background-color:#fff;line-height:27px;padding-left:8px;color:333;border:1px solid #d9d9d9;border-top:1px solid silver;display:inline-block;vertical-align:top;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-border-radius:"1px";-moz-border-radius:"1px";-ms-border-radius:"1px";-o-border-radius:"1px";border-radius:"1px"}.kd-textinput:hover{border:1px solid #b9b9b9;border-top:1px solid #a0a0a0;-webkit-box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.1)";-moz-box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.1)";box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.1)"}.kd-textinput:focus{-webkit-box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.3)";-moz-box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.3)";box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.3)";outline:none;border:1px solid #4d90fe}.kd-textinput.disabled,.kd-textinput.disabled:hover,.kd-textinput.disabled:active,.kd-textinput:disabled{background:#fff;border:1px solid #f3f3f3;border:1px solid rgba(0,0,0,0.05);color:#b8b8b8;cursor:default;pointer-events:none}.kd-menubutton{position:relative}.kd-menubutton .kd-disclosureindicator{float:right;margin-top:10px;margin-left:7px;opacity:.8;-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none;*float:none;*position:relative;*top:-3px;margin-top:8px}.kd-menubutton span.label{display:inline-block}.kd-menubutton .kd-menulist{text-align:left;position:absolute;z-index:99;background:#FFF;height:0;width:auto;-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=0);opacity:0}.kd-menubutton .kd-menulist.shown{height:auto;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100);opacity:1;-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.kd-menulistitem{display:block;padding:6px 44px 6px 16px;position:relative;color:#333;font-size:13px;font-weight:normal;cursor:default;margin:0;-webkit-transition:background,0.13s;-moz-transition:background,0.13s;-o-transition:background,0.13s;transition:background,0.13s}.kd-menulistitem.disabled,.kd-menulistitem:hover{color:#ccc;background-color:#FFF;cursor:default}.kd-menulistitem:hover,.kd-menulistitem.selected{background-color:#f1f1f1;color:#222;-webkit-transition:background,0s;-moz-transition:background,0s;-o-transition:background,0s;transition:background,0s}.kd-menulist{background:#FFF;z-index:99;outline:1px solid rgba(0,0,0,0.2);padding:0 0 6px;white-space:nowrap;overflow:auto;margin:0;-webkit-transition:opacity,0.218s;-moz-transition:opacity,0.218s;-o-transition:opacity,0.218s;transition:opacity,0.218s;-webkit-box-shadow:0px 2px 4px rgba(0,0,0,0.2);-moz-box-shadow:0px 2px 4px rgba(0,0,0,0.2);box-shadow:0px 2px 4px rgba(0,0,0,0.2)}.kd-select .kd-disclosureindicator{background:url("/_static/images/disclosure_arrow_dk_grey_up_down.png");width:7px;height:11px;-webkit-transform:none;-moz-transform:none;-ms-transform:none;-o-transform:none;transform:none;filter:none;margin-top:8px}select.kd-select{vertical-align:top}.kd-disclosureindicator{display:inline-block;width:5px;height:7px;background:url("/_static/images/disclosure_arrow_dk_grey.png") center no-repeat;-webkit-transition:all,0.218s;-moz-transition:all,0.218s;-o-transition:all,0.218s;transition:all,0.218s}.kd-tabbar-horz{border-bottom:1px solid #ccc;height:28px}.kd-tabbar-vert{border-right:1px solid #ccc;display:inline-block;width:71px;height:100%;position:relative;z-index:3;float:left}.kd-tabbar-vert+.border{position:absolute;top:0px;bottom:0px;right:0px;border:1px solid #ccc;z-index:2}a.kd-tabbutton{text-decoration:none}.kd-tabbutton{display:inline-block;min-width:54px;*min-width:70px;text-align:center;color:#666;font-size:11px;font-weight:bold;height:27px;padding:0 8px;line-height:27px;-webkit-transition:all,0.218s;-moz-transition:all,0.218s;-o-transition:all,0.218s;transition:all,0.218s;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none;user-select:none;filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#f5f5f5',EndColorStr='#f1f1f1');cursor:default;border:1px solid transparent}.kd-tabbutton:hover{color:#222}.kd-tabbutton:active{color:#333}.kd-tabbutton.selected{color:#202020;border:1px solid #ccc}.kd-tabbar-horz .kd-tabbutton{-moz-border-radius-topright:2px;-webkit-border-top-right-radius:2px;border-top-right-radius:2px;-moz-border-radius-topleft:2px;-webkit-border-top-left-radius:2px;border-top-left-radius:2px}.kd-tabbar-horz .kd-tabbutton.selected{border-bottom:1px solid #fff}.kd-tabbar-vert .kd-tabbutton{-moz-border-radius-topright:2px;-webkit-border-top-right-radius:2px;border-top-right-radius:2px;-moz-border-radius-topleft:2px;-webkit-border-top-left-radius:2px;border-top-left-radius:2px}.kd-tabbar-vert .kd-tabbutton.selected{border-right:1px solid #fff}.kd-tabbed-horz,.kd-tabbed-vert{position:relative;overflow:hidden;*zoom:1}.kd-tabbed-horz>article,.kd-tabbed-vert>article{padding:.7em;display:none}.kd-tabbed-horz>article.selected,.kd-tabbed-vert>article.selected{display:block;position:relative}.kd-tabbed-horz>article{border-top:0px}.kd-tabbed-vert>article{position:relative;z-index:0}.kd-button{background-color:#f5f5f5;border:1px solid #dcdcdc;border:1px solid rgba(0,0,0,0.1);color:#666;cursor:pointer;display:-moz-inline-stack;display:inline-block;vertical-align:middle;*vertical-align:auto;zoom:1;*display:inline;font-family:"Arial",sans-serif;font-size:11px;font-weight:bold;height:27px;line-height:27px;min-width:54px;padding:0 8px;text-align:center;text-decoration:none !important;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;background:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #f5f5f5), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f5f5f5,#f1f1f1);background:-moz-linear-gradient(top, #f5f5f5,#f1f1f1);background:-o-linear-gradient(top, #f5f5f5,#f1f1f1);background:linear-gradient(top, #f5f5f5,#f1f1f1);-webkit-transition:all,0.218s;-moz-transition:all,0.218s;-o-transition:all,0.218s;transition:all,0.218s}.kd-button:hover{background-color:#f8f8f8;border:1px solid #c6c6c6;color:#333;background:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #f8f8f8), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f8f8f8,#f1f1f1);background:-moz-linear-gradient(top, #f8f8f8,#f1f1f1);background:-o-linear-gradient(top, #f8f8f8,#f1f1f1);background:linear-gradient(top, #f8f8f8,#f1f1f1);-webkit-box-shadow:rgba(0,0,0,0.1) 0 1px 1px 0;-moz-box-shadow:rgba(0,0,0,0.1) 0 1px 1px 0;box-shadow:rgba(0,0,0,0.1) 0 1px 1px 0;-webkit-transition:all,0;-moz-transition:all,0;-o-transition:all,0;transition:all,0}.kd-button:active{background-color:#f6f6f6;background:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #f6f6f6), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f6f6f6,#f1f1f1);background:-moz-linear-gradient(top, #f6f6f6,#f1f1f1);background:-o-linear-gradient(top, #f6f6f6,#f1f1f1);background:linear-gradient(top, #f6f6f6,#f1f1f1);-webkit-box-shadow:rgba(0,0,0,0.1) 0 1px 2px 0 inset;-moz-box-shadow:rgba(0,0,0,0.1) 0 1px 2px 0 inset;box-shadow:rgba(0,0,0,0.1) 0 1px 2px 0 inset}.kd-button:visited{color:#666}.kd-button:focus{border:1px solid #4d90fe;outline:none}.kd-button.disabled,.kd-button.disabled:hover,.kd-button.disabled:active{background:#fff;border:1px solid #f3f3f3;border:1px solid rgba(0,0,0,0.05);color:#b8b8b8;cursor:default;pointer-events:none}.kd-closebutton{width:44px;height:44px;background:url("/_static/images/x.png") center no-repeat;position:absolute;top:0;right:0;opacity:.7;-moz-opacity:.7;filter:alpha(opacity=70);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";cursor:default}.kd-closebutton:hover{opacity:1;-moz-opacity:1;filter:alpha(opacity=100);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"}.button-blue{background-color:#4d90fe !important;border-color:#3079ed !important;color:#fff !important;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #4d90fe), color-stop(100%, #4787ed)) !important;background-image:-webkit-linear-gradient(top, #4d90fe,#4787ed) !important;background-image:-moz-linear-gradient(top, #4d90fe,#4787ed) !important;background-image:-o-linear-gradient(top, #4d90fe,#4787ed) !important;background-image:linear-gradient(top, #4d90fe,#4787ed) !important}.button-blue.disabled,.button-blue.disabled:hover,.button-blue.disabled:active{background:#4d90fe !important;border:1px solid #3079ed !important;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=50);opacity:0.5}.button-blue:hover{background-color:#357ae8 !important;border-color:#2f5bb7 !important;color:#fff !important;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #4d90fe), color-stop(100%, #357ae8)) !important;background-image:-webkit-linear-gradient(top, #4d90fe,#357ae8) !important;background-image:-moz-linear-gradient(top, #4d90fe,#357ae8) !important;background-image:-o-linear-gradient(top, #4d90fe,#357ae8) !important;background-image:linear-gradient(top, #4d90fe,#357ae8) !important;-webkit-box-shadow:rgba(0,0,0,0.2) 0 1px 1px 0;-moz-box-shadow:rgba(0,0,0,0.2) 0 1px 1px 0;box-shadow:rgba(0,0,0,0.2) 0 1px 1px 0}.button-blue:hover.disabled,.button-blue:hover.disabled:hover,.button-blue:hover.disabled:active{background:#357ae8 !important;border:1px solid #2f5bb7 !important;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=50);opacity:0.5}.button-blue:active{-webkit-box-shadow:rgba(0,0,0,0.3) 0 1px 2px 0 inset;-moz-box-shadow:rgba(0,0,0,0.3) 0 1px 2px 0 inset;box-shadow:rgba(0,0,0,0.3) 0 1px 2px 0 inset}.button-blue.selected{-webkit-box-shadow:rgba(0,0,0,0.3) 0 3px 6px 0 inset;-moz-box-shadow:rgba(0,0,0,0.3) 0 3px 6px 0 inset;box-shadow:rgba(0,0,0,0.3) 0 3px 6px 0 inset}.button-green{background-color:#3d9400 !important;border-color:#29691d !important;color:#fff !important;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #3d9400), color-stop(100%, #398a00)) !important;background-image:-webkit-linear-gradient(top, #3d9400,#398a00) !important;background-image:-moz-linear-gradient(top, #3d9400,#398a00) !important;background-image:-o-linear-gradient(top, #3d9400,#398a00) !important;background-image:linear-gradient(top, #3d9400,#398a00) !important}.button-green.disabled,.button-green.disabled:hover,.button-green.disabled:active{background:#3d9400 !important;border:1px solid #29691d !important;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=50);opacity:0.5}.button-green:hover{background-color:#368200 !important;border-color:#2d6200 !important;color:#fff !important;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #3d9400), color-stop(100%, #368200)) !important;background-image:-webkit-linear-gradient(top, #3d9400,#368200) !important;background-image:-moz-linear-gradient(top, #3d9400,#368200) !important;background-image:-o-linear-gradient(top, #3d9400,#368200) !important;background-image:linear-gradient(top, #3d9400,#368200) !important;-webkit-box-shadow:rgba(0,0,0,0.3) 0 1px 1px 0;-moz-box-shadow:rgba(0,0,0,0.3) 0 1px 1px 0;box-shadow:rgba(0,0,0,0.3) 0 1px 1px 0}.button-green:hover.disabled,.button-green:hover.disabled:hover,.button-green:hover.disabled:active{background:#368200 !important;border:1px solid #2d6200 !important;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=50);opacity:0.5}.button-green:active{-webkit-box-shadow:rgba(0,0,0,0.3) 0 1px 2px 0 inset;-moz-box-shadow:rgba(0,0,0,0.3) 0 1px 2px 0 inset;box-shadow:rgba(0,0,0,0.3) 0 1px 2px 0 inset}.button-red{background-color:#d14836 !important;border-color:#992a1b !important;color:#fff !important;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #dd4b39), color-stop(100%, #d14836)) !important;background-image:-webkit-linear-gradient(top, #dd4b39,#d14836) !important;background-image:-moz-linear-gradient(top, #dd4b39,#d14836) !important;background-image:-o-linear-gradient(top, #dd4b39,#d14836) !important;background-image:linear-gradient(top, #dd4b39,#d14836) !important;text-shadow:rgba(0,0,0,0.1) 0 1px 0}.button-red.disabled,.button-red.disabled:hover,.button-red.disabled:active{background:#d14836 !important;border:1px solid #992a1b !important;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=50);opacity:0.5}.button-red:hover{background-color:#c53727 !important;border-color:#b0281a !important;color:#fff !important;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #dd4b39), color-stop(100%, #c53727)) !important;background-image:-webkit-linear-gradient(top, #dd4b39,#c53727) !important;background-image:-moz-linear-gradient(top, #dd4b39,#c53727) !important;background-image:-o-linear-gradient(top, #dd4b39,#c53727) !important;background-image:linear-gradient(top, #dd4b39,#c53727) !important;border-bottom:1px solid #af301f;-webkit-box-shadow:rgba(0,0,0,0.2) 0 1px 1px 0;-moz-box-shadow:rgba(0,0,0,0.2) 0 1px 1px 0;box-shadow:rgba(0,0,0,0.2) 0 1px 1px 0}.button-red:hover.disabled,.button-red:hover.disabled:hover,.button-red:hover.disabled:active{background:#c53727 !important;border:1px solid #b0281a !important;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=50);opacity:0.5}.button-red:active{-webkit-box-shadow:rgba(0,0,0,0.3) 0 1px 2px 0 inset;-moz-box-shadow:rgba(0,0,0,0.3) 0 1px 2px 0 inset;box-shadow:rgba(0,0,0,0.3) 0 1px 2px 0 inset}.kd-radio[dir=rtl]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #c6c6c6;-webkit-border-radius:1px;-moz-border-radius:1px;-ms-border-radius:1px;-o-border-radius:1px;border-radius:1px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;cursor:default;position:relative;vertical-align:baseline;margin:3px 3px 3px 4px;-webkit-border-radius:50%;-moz-border-radius:50%;-ms-border-radius:50%;-o-border-radius:50%;border-radius:50%;width:15px;height:15px;top:3px;margin-left:3px}.kd-radio[dir=rtl]:active{border-color:#666;background:#ebebeb}.kd-radio[dir=rtl]:hover{border-color:#666;-webkit-box-shadow:rgba(0,0,0,0.1) 0 1px 1px 0;-moz-box-shadow:rgba(0,0,0,0.1) 0 1px 1px 0;box-shadow:rgba(0,0,0,0.1) 0 1px 1px 0}.kd-radio[dir=rtl]:disabled{border-color:#f1f1f1;background:#fff;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.kd-radio[dir=rtl]+label.disabledtext{color:#B8B8B8}.kd-radio[dir=rtl]:checked::after{content:'';display:block;position:relative;top:3px;left:3px;width:7px;height:7px;background:#666;-webkit-border-radius:50%;-moz-border-radius:50%;-ms-border-radius:50%;-o-border-radius:50%;border-radius:50%}.kd-radio[dir=ltr]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #c6c6c6;-webkit-border-radius:1px;-moz-border-radius:1px;-ms-border-radius:1px;-o-border-radius:1px;border-radius:1px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;cursor:default;position:relative;vertical-align:baseline;margin:3px 3px 3px 4px;-webkit-border-radius:50%;-moz-border-radius:50%;-ms-border-radius:50%;-o-border-radius:50%;border-radius:50%;width:15px;height:15px;top:3px;margin-right:3px}.kd-radio[dir=ltr]:active{border-color:#666;background:#ebebeb}.kd-radio[dir=ltr]:hover{border-color:#666;-webkit-box-shadow:rgba(0,0,0,0.1) 0 1px 1px 0;-moz-box-shadow:rgba(0,0,0,0.1) 0 1px 1px 0;box-shadow:rgba(0,0,0,0.1) 0 1px 1px 0}.kd-radio[dir=ltr]:disabled{border-color:#f1f1f1;background:#fff;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.kd-radio[dir=ltr]+label.disabledtext{color:#B8B8B8}.kd-radio[dir=ltr]:checked::after{content:'';display:block;position:relative;top:3px;left:3px;width:7px;height:7px;background:#666;-webkit-border-radius:50%;-moz-border-radius:50%;-ms-border-radius:50%;-o-border-radius:50%;border-radius:50%}.kd-radio{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #c6c6c6;-webkit-border-radius:1px;-moz-border-radius:1px;-ms-border-radius:1px;-o-border-radius:1px;border-radius:1px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;cursor:default;position:relative;vertical-align:baseline;margin:3px 3px 3px 4px;-webkit-border-radius:50%;-moz-border-radius:50%;-ms-border-radius:50%;-o-border-radius:50%;border-radius:50%;width:15px;height:15px;top:3px;margin-right:3px}.kd-radio:active{border-color:#666;background:#ebebeb}.kd-radio:hover{border-color:#666;-webkit-box-shadow:rgba(0,0,0,0.1) 0 1px 1px 0;-moz-box-shadow:rgba(0,0,0,0.1) 0 1px 1px 0;box-shadow:rgba(0,0,0,0.1) 0 1px 1px 0}.kd-radio:disabled{border-color:#f1f1f1;background:#fff;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.kd-radio+label.disabledtext{color:#B8B8B8}.kd-radio:checked::after{content:'';display:block;position:relative;top:3px;left:3px;width:7px;height:7px;background:#666;-webkit-border-radius:50%;-moz-border-radius:50%;-ms-border-radius:50%;-o-border-radius:50%;border-radius:50%}.kd-checkbox[dir=rtl]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #c6c6c6;-webkit-border-radius:1px;-moz-border-radius:1px;-ms-border-radius:1px;-o-border-radius:1px;border-radius:1px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;cursor:default;position:relative;vertical-align:baseline;margin:3px 3px 3px 4px;top:5.25px;margin-right:3.25px;width:13px;height:13px}.kd-checkbox[dir=rtl]:active{border-color:#666;background:#ebebeb}.kd-checkbox[dir=rtl]:hover{border-color:#666;-webkit-box-shadow:rgba(0,0,0,0.1) 0 1px 1px 0;-moz-box-shadow:rgba(0,0,0,0.1) 0 1px 1px 0;box-shadow:rgba(0,0,0,0.1) 0 1px 1px 0}.kd-checkbox[dir=rtl]:disabled{border-color:#f1f1f1;background:#fff;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.kd-checkbox[dir=rtl]+label.disabledtext{color:#B8B8B8}.kd-checkbox[dir=rtl] else{margin-left:3.25px}.kd-checkbox[dir=rtl]:checked::after{content:url("/_static/images/check_no_box.png");display:block;position:absolute;top:-6px;left:-5px}.kd-checkbox[dir=rtl]:focus{outline:none;border-color:#4d90fe}.kd-checkbox[dir=ltr]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #c6c6c6;-webkit-border-radius:1px;-moz-border-radius:1px;-ms-border-radius:1px;-o-border-radius:1px;border-radius:1px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;cursor:default;position:relative;vertical-align:baseline;margin:3px 3px 3px 4px;top:5.25px;width:13px;height:13px}.kd-checkbox[dir=ltr]:active{border-color:#666;background:#ebebeb}.kd-checkbox[dir=ltr]:hover{border-color:#666;-webkit-box-shadow:rgba(0,0,0,0.1) 0 1px 1px 0;-moz-box-shadow:rgba(0,0,0,0.1) 0 1px 1px 0;box-shadow:rgba(0,0,0,0.1) 0 1px 1px 0}.kd-checkbox[dir=ltr]:disabled{border-color:#f1f1f1;background:#fff;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.kd-checkbox[dir=ltr]+label.disabledtext{color:#B8B8B8}.kd-checkbox[dir=ltr] else{margin-left:3.25px}.kd-checkbox[dir=ltr]:checked::after{content:url("/_static/images/check_no_box.png");display:block;position:absolute;top:-6px;left:-5px}.kd-checkbox[dir=ltr]:focus{outline:none;border-color:#4d90fe}.kd-checkbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #c6c6c6;-webkit-border-radius:1px;-moz-border-radius:1px;-ms-border-radius:1px;-o-border-radius:1px;border-radius:1px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;cursor:default;position:relative;vertical-align:baseline;margin:3px 3px 3px 4px;top:5.25px;width:13px;height:13px}.kd-checkbox:active{border-color:#666;background:#ebebeb}.kd-checkbox:hover{border-color:#666;-webkit-box-shadow:rgba(0,0,0,0.1) 0 1px 1px 0;-moz-box-shadow:rgba(0,0,0,0.1) 0 1px 1px 0;box-shadow:rgba(0,0,0,0.1) 0 1px 1px 0}.kd-checkbox:disabled{border-color:#f1f1f1;background:#fff;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.kd-checkbox+label.disabledtext{color:#B8B8B8}.kd-checkbox else{margin-left:3.25px}.kd-checkbox:checked::after{content:url("/_static/images/check_no_box.png");display:block;position:absolute;top:-6px;left:-5px}.kd-checkbox:focus{outline:none;border-color:#4d90fe}#loader{height:18px;position:relative;width:18px}#loader *{display:block;position:absolute}#loader .circle{border-radius:50%;-moz-border-radius:50%;-webkit-border-radius:50%;height:100%;opacity:0;overflow:hidden;width:100%}#loader .mask{height:100%;opacity:0;overflow:hidden;width:100%}#loader .mask .first{-webkit-transition-delay:0.22s;-moz-transition-delay:0.22s;-o-transition-delay:0.22s;transition-delay:0.22s;-webkit-transition-duration:0s;-moz-transition-duration:0s;-o-transition-duration:0s;transition-duration:0s;-webkit-transition-property:border-color;-moz-transition-property:border-color;-o-transition-property:border-color;transition-property:border-color}#loader .circle.initial .mask{height:50%;top:0}#loader .circle .mask .base{border-radius:50%;-moz-border-radius:50%;-webkit-border-radius:50%;height:100%;opacity:0;width:100%;-webkit-transition-delay:0s;-moz-transition-delay:0s;-o-transition-delay:0s;transition-delay:0s;-webkit-transition-duration:0s;-moz-transition-duration:0s;-o-transition-duration:0s;transition-duration:0s;-webkit-transition-property:opacity;-moz-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity;-webkit-transition-timing-function:linear;-moz-transition-timing-function:linear;-o-transition-timing-function:linear;transition-timing-function:linear}#loader .circle .mask .mover{border-radius:50%;-moz-border-radius:50%;-webkit-border-radius:50%;height:100%;width:100%;-webkit-transition-delay:0s;-moz-transition-delay:0s;-o-transition-delay:0s;transition-delay:0s;-webkit-transition-duration:0.22s;-moz-transition-duration:0.22s;-o-transition-duration:0.22s;transition-duration:0.22s;-webkit-transition-property:background-color,left,top,right,bottom,width,height;-moz-transition-property:background-color,left,top,right,bottom,width,height;-o-transition-property:background-color,left,top,right,bottom,width,height;transition-property:background-color,left,top,right,bottom,width,height;-webkit-transition-timing-function:ease-in;-moz-transition-timing-function:ease-in;-o-transition-timing-function:ease-in;transition-timing-function:ease-in}#loader .circle .mask.second .mover,#loader .circle.initial .mask .mover{-webkit-transition-delay:0.22s;-moz-transition-delay:0.22s;-o-transition-delay:0.22s;transition-delay:0.22s;-webkit-transition-timing-function:ease-out;-moz-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out}#loader .circle.initial .mask .mover{background-color:#2159bd;height:0;top:100%}#loader .circle.red .mask.first{border-bottom:1px solid #555;height:50%;top:0}#loader .circle.red .mask.first .base{background-color:#fa2424;height:200%;top:0}#loader .circle.red .mask.first .mover{background-color:#3c78f8;height:200%;top:0}#loader .circle.red .mask.second{bottom:0;height:50%}#loader .circle.red .mask.second .base{background-color:#3c78f8;bottom:0;height:200%}#loader .circle.red .mask.second .mover{background-color:#9e1212;bottom:100%;height:0}#loader .circle.yellow .mask.first{border-left:1px solid #888;right:0;width:50%}#loader .circle.yellow .mask.first .base{background-color:#ffd34b;right:0;width:200%}#loader .circle.yellow .mask.first .mover{background-color:#fa2424;right:0;width:200%}#loader .circle.yellow .mask.second{left:0;width:50%}#loader .circle.yellow .mask.second .base{background-color:#fa2424;left:0;width:200%}#loader .circle.yellow .mask.second .mover{background-color:#dea11a;left:100%;width:0}#loader .circle.green .mask.first{border-top:1px solid #555;bottom:0;height:50%}#loader .circle.green .mask.first .base{background-color:#00b15f;bottom:0;height:200%}#loader .circle.green .mask.first .mover{background-color:#ffd34b;bottom:0;height:200%}#loader .circle.green .mask.second{height:50%;top:0}#loader .circle.green .mask.second .base{background-color:#ffd34b;height:200%;top:0}#loader .circle.green .mask.second .mover{background-color:#008948;height:0;top:100%}#loader .circle.blue .mask.first{border-right:1px solid #888;left:0;width:50%}#loader .circle.blue .mask.first .base{background-color:#3c78f8;left:0;width:200%}#loader .circle.blue .mask.first .mover{background-color:#00b15f;left:0;width:200%}#loader .circle.blue .mask.second{right:0;width:50%}#loader .circle.blue .mask.second .base{background-color:#00b15f;right:0;width:200%}#loader .circle.blue .mask.second .mover{background-color:#2159bd;right:100%;width:0}#loader.initial .circle.initial,#loader.initial .circle.initial .mask{opacity:1}#loader.initial .circle.initial .mask .mover{background-color:#555;height:200%;top:0}#loader.yellow .circle.yellow,#loader.yellow .circle.yellow .mask,#loader.yellow .circle.yellow .mask .base{opacity:1}#loader.yellow .circle.yellow .mask.first{border-color:#555}#loader.yellow .circle.yellow .mask.first .mover{background-color:#6a6a6a;right:100%;width:0}#loader.yellow .circle.yellow .mask.second .mover{background-color:#555;left:0;width:200%}#loader.green .circle.green,#loader.green .circle.green .mask,#loader.green .circle.green .mask .base{opacity:1}#loader.green .circle.green .mask.first{border-color:#888}#loader.green .circle.green .mask.first .mover{background-color:#363636;bottom:100%;height:0}#loader.green .circle.green .mask.second .mover{background-color:#888;height:200%;top:0}#loader.blue .circle.blue,#loader.blue .circle.blue .mask,#loader.blue .circle.blue .mask .base{opacity:1}#loader.blue .circle.blue .mask.first{border-color:#555}#loader.blue .circle.blue .mask.first .mover{background-color:#6a6a6a;left:100%;width:0}#loader.blue .circle.blue .mask.second .mover{background-color:#555;right:0;width:200%}#loader.red .circle.red,#loader.red .circle.red .mask,#loader.red .circle.red .mask .base{opacity:1}#loader.red.firstTime .circle.red .mask.second .base{opacity:0}#loader.red .circle.red .mask.first{border-color:#888}#loader.red .circle.red .mask.first .mover{background-color:#363636;height:0;top:100%}#loader.initial .circle.initial .mask .mover{background-color:#3c78f8}#loader.yellow .circle.yellow .mask.first{border-color:#ffd34b}#loader.yellow .circle.yellow .mask.first .mover{background-color:#9e1212}#loader.yellow .circle.yellow .mask.second .mover{background-color:#ffd34b}#loader.green .circle.green .mask.first{border-color:#00b15f}#loader.green .circle.green .mask.first .mover{background-color:#dea11a}#loader.green .circle.green .mask.second .mover{background-color:#00b15f}#loader.blue .circle.blue .mask.first{border-color:#3c78f8}#loader.blue .circle.blue .mask.first .mover{background-color:#008948}#loader.blue .circle.blue .mask.second .mover{background-color:#3c78f8}#loader.red .circle.red .mask.first{border-color:#fa2424}#loader.red .circle.red .mask.first .mover{background-color:#2159bd}#loader.red .circle.red .mask.second .mover{background-color:#fa2424;bottom:0;height:200%}#loader.stopped .mask.first .base,#loader.finishing .mask.first .base,#loader.finishing .mask.second .base,#loader.finishing .mask.first .mover{opacity:0 !important}#loader.finishing .mask.first{border-color:transparent !important}#loader.finishing.blue .circle.blue .mask.second .mover{right:100%;width:0}#loader.finishing.green .circle.green .mask.second .mover{height:0;top:100%}#loader.finishing.yellow .circle.yellow .mask.second .mover{left:100%;width:0}#loader.finishing.red .circle.red .mask.second .mover{bottom:100%;height:0}#loader.finishing .mover{-webkit-transition-delay:0s !important;-moz-transition-delay:0s !important;-o-transition-delay:0s !important;transition-delay:0s !important}body{font-family:Arial,sans-serif;color:#222}h1,h2,h3,h4,h5,header{font-size:16px;line-height:24px;font-weight:normal;color:#222}h1{font-size:20px}img.centered{margin:auto;display:block}section{margin-bottom:1.5em}.main table{margin:0}.main th,.main td,.main caption{padding:0}.main th{color:#FFF;background-color:#6199df}.main tr.alt td,.main td.alt{background-color:#efefef}ul,ol{padding-left:2em}ul{list-style-type:disc}ul ul{list-style-type:circle}ul ul ul{list-style-type:square}ul.disc{list-style-type:disc}ul.circle{list-style-type:circle}ul.square{list-style-type:square}ol{list-style-type:decimal}ol ol{list-style-type:lower-alpha}ol ol ol{list-style-type:lower-roman}ol ul{list-style-type:circle}ol.decimal{list-style-type:decimal}ol.upper-alpha{list-style-type:upper-alpha}ol.lower-alpha{list-style-type:lower-alpha}ol.upper-roman{list-style-type:upper-roman}ol.lower-roman{list-style-type:lower-roman}ol.nolist,ul.nolist{padding-left:0;list-style-image:none;list-style-type:none;margin-left:0}p img.left,p img.right,p img.center{margin:5px 1em 1em}p img.left{margin-left:0}a{color:#15c}a:visited{color:#15c}a:active{color:#dd4b39}.center{text-align:center}figure{margin:0 0 1.5em}figure.right{float:right;margin:5px 1em 1em}figcaption{font-style:italic;font-size:90%}#gc-sidebar h3{font-size:1.15em;font-weight:bold;color:#333;border-bottom:1px solid #bbb;margin:2em 0 0.5em 0}.activity{border-bottom:1px solid #ebebeb;border-top:1px solid transparent;padding:16px 21px;line-height:1.4em}.activity>div{padding:0 44px 0 64px}.activity a{text-decoration:none}.activity a:visited{color:#15c}.activity .author{position:relative;max-width:100%}.activity .author img.photo{position:absolute;border:0;width:48px;height:auto;left:-64px}.activity .author a{text-decoration:none}.activity .author a:hover{text-decoration:underline}.activity .author .fn{font-weight:bold;float:left;max-width:100%;text-overflow:ellipsis;overflow:hidden}.activity .author time,.activity .author time a{color:#999}.activity .entry-attachments,.activity .entry-content,.activity .entry-meta,.activity .replies,.activity .add-reply,.activity .edit-div,.activity .showmore{display:block}.activity .entry-content{margin-bottom:0.5em}.activity .entry-meta{margin-top:0.8em}.activity .entry-time,.activity .entry-time:visited{color:#666;text-decoration:none}.activity .entry-time:hover,.activity .entry-time:visited:hover{text-decoration:underline}.activity .service{font-size:85%}.activity .service img{margin-right:7px;vertical-align:middle}.activity .service a,.activity .service a:visited{color:#666;text-decoration:none}.activity .service a:hover,.activity .service a:visited:hover{text-decoration:underline}.activity .service span{color:#666}.activity .entry-attachments{margin-top:5px}.activity .entry-attachments div{clear:both}.activity .replies{font-size:90%;padding-top:5px}.activity .replies .show-comments{border-top:1px solid #ccc;border-bottom:1px solid #ccc;background-color:#EEE;padding:5px 10px}.activity .replies .comment{border-bottom:1px solid #ccc;padding:7px}.activity .replies .comment>div{margin-left:40px}.activity .replies .comment img{float:left;padding:1px}.activity .replies .comment p{margin:0px}.activity .replies .comment .comment-date{color:#CCC}.activity .add-reply{font-size:80%;border:1px solid #d9d9d9;color:#999;cursor:text;padding:2px 7px}.activity .edit-div{display:none}.activity .edit-div textarea{width:100%;border:1px solid #ccc;font-family:inherit}.button{background-color:#f5f5f5;border:1px solid #dcdcdc;border:1px solid rgba(0,0,0,0.1);color:#666;cursor:pointer;display:-moz-inline-stack;display:inline-block;vertical-align:middle;*vertical-align:auto;zoom:1;*display:inline;font-family:"Arial",sans-serif;font-size:11px;font-weight:bold;height:27px;line-height:27px;min-width:54px;padding:0 8px;text-align:center;text-decoration:none !important;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;background:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #f5f5f5), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f5f5f5,#f1f1f1);background:-moz-linear-gradient(top, #f5f5f5,#f1f1f1);background:-o-linear-gradient(top, #f5f5f5,#f1f1f1);background:linear-gradient(top, #f5f5f5,#f1f1f1);-webkit-transition:all,0.218s;-moz-transition:all,0.218s;-o-transition:all,0.218s;transition:all,0.218s;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.button:hover{background-color:#f8f8f8;border:1px solid #c6c6c6;color:#333;background:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #f8f8f8), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f8f8f8,#f1f1f1);background:-moz-linear-gradient(top, #f8f8f8,#f1f1f1);background:-o-linear-gradient(top, #f8f8f8,#f1f1f1);background:linear-gradient(top, #f8f8f8,#f1f1f1);-webkit-box-shadow:rgba(0,0,0,0.1) 0 1px 1px 0;-moz-box-shadow:rgba(0,0,0,0.1) 0 1px 1px 0;box-shadow:rgba(0,0,0,0.1) 0 1px 1px 0;-webkit-transition:all,0;-moz-transition:all,0;-o-transition:all,0;transition:all,0}.button:active{background-color:#f6f6f6;background:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #f6f6f6), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f6f6f6,#f1f1f1);background:-moz-linear-gradient(top, #f6f6f6,#f1f1f1);background:-o-linear-gradient(top, #f6f6f6,#f1f1f1);background:linear-gradient(top, #f6f6f6,#f1f1f1);-webkit-box-shadow:rgba(0,0,0,0.1) 0 1px 2px 0 inset;-moz-box-shadow:rgba(0,0,0,0.1) 0 1px 2px 0 inset;box-shadow:rgba(0,0,0,0.1) 0 1px 2px 0 inset}.button:visited{color:#666}.button:focus{border:1px solid #4d90fe;outline:none}.button.disabled,.button.disabled:hover,.button.disabled:active{background:#fff;border:1px solid #f3f3f3;border:1px solid rgba(0,0,0,0.05);color:#b8b8b8;cursor:default;pointer-events:none}a.button:hover,a.button{text-decoration:none}.arrow-right:after{padding-left:3px;content:' \279C'}.main{display:block;padding:0 44px;margin:auto;overflow:auto;padding-bottom:50px}.main .gc-toc.compact h2,.main .gc-toc.compact h3,.main .gc-toc.compact li,.main .gc-toc.compact a,.main .gc-toc.compact span{line-height:20px}.main .gc-toc.compact li{padding-top:2px;padding-bottom:2px}.main .gc-toc.compact li>ul{padding-top:2px}.main .gc-toc h2,.main .gc-toc h3,.main .gc-toc .title{font-size:100%;font-weight:bold;margin:0}.main .gc-toc ul{list-style:none;padding:0;margin:0}.main .gc-toc>ul{margin-bottom:8px}.main .gc-toc h2,.main .gc-toc h3,.main .gc-toc li,.main .gc-toc a,.main .gc-toc span{line-height:20px}.main .gc-toc li{padding-top:5px;padding-bottom:5px}.main .gc-toc li>ul{padding-top:5px}.main .gc-toc hr{margin:.6em;visibility:hidden}.main .gc-toc a{text-decoration:none;color:#222}.main .gc-toc a:visited{color:#222}.main .gc-toc a:hover{background-color:#eee;color:#222}.main .gc-toc .tlw-control{cursor:pointer;display:block;padding:0 8px;position:absolute}.main .gc-toc .tlw-control:hover{background-color:transparent}.main .gc-toc .tlw-control-title{cursor:pointer}.main .gc-toc li{margin-left:-16px;position:relative}.main .gc-toc li a,.main .gc-toc li .tlw-title{display:block;padding:0;overflow:hidden;text-overflow:ellipsis;color:#222}.main .gc-toc li a img.tlw-icon,.main .gc-toc li .tlw-title img.tlw-icon{height:16px;margin:-3px 0;padding-right:6px;width:16px}.main .gc-toc li a,.main .gc-toc li .tlw-title,.main .gc-toc li ul{padding-left:16px}.main .gc-toc li .tlw-control{left:-4px}.main .gc-toc li li a,.main .gc-toc li li .tlw-title,.main .gc-toc li li ul{padding-left:32px}.main .gc-toc li li .tlw-control{left:12px}.main .gc-toc li li li{margin-left:-32px}.main .gc-toc li li li a,.main .gc-toc li li li .tlw-title,.main .gc-toc li li li ul{padding-left:48px}.main .gc-toc li li li .tlw-control{left:28px}.main .gc-toc li sup{margin-left:4px}.main .gc-toc li.experimental sup,.main .gc-toc li.new sup{color:#dd4b39}.main .gc-toc li.deprecated sup,.main .gc-toc li.deprecated a{color:#ccc}.main .gc-toc li.active>a{color:#dd4b39}hr{height:0;border:0;border-top:1px solid #ccc;background-color:#ccc;margin:1em 0;clear:both}#gc-content{padding:0px}body.docs table{border:1px solid #bbb;border-spacing:0;border-collapse:collapse;margin:0 0 1.5em}body.docs table thead th,body.docs table th{border:1px solid #4d90fe}body.docs table tfoot th{border:1px solid #bbb}body.docs table td{border:1px solid #bbb;vertical-align:top}body.docs table th,body.docs table td{padding:6px 10px}body.docs table th code{color:#fff}body.docs table.columns{border:none}body.docs table.columns>tbody>tr>td,body.docs table.columns>tr>td{border:none;padding:0 3em 0 0}body.docs table.columns>tbody>tr>td:last-child,body.docs table.columns>tr>td:last-child{border:none;padding:0}body.docs table[border="0"]{border:none}body.docs table[border="0"]>tbody>tr>td,body.docs table[border="0"]>tr>td{border:none}body.whitelist{background-image:url(/_static/images/confidential-watermark.png)}body.two-column #gc-sidebar{width:160px;margin-right:-160px;padding:16px 0;vertical-align:top;float:left}body.two-column #gc-content{margin-left:176px;max-width:1040px;vertical-align:top;padding-top:14px}body.two-column #gc-content>div{width:100%;float:left}body.two-column #gc-sidebar.wide{width:248px;margin-right:-248px}body.two-column #gc-content.wide-sidebar{margin-left:264px;max-width:952px}body.two-column #gc-content.no-sidebar{margin-left:0;max-width:1304px}.plusone-container{display:inline-block;margin-left:24px}body.profile #gc-sidebar{width:232px}body.profile #gc-content{margin-left:248px;border:1px solid #ebebeb;border-top:0px}.hidden{display:none}div.confidential{top:0;line-height:0;text-align:center}div.confidential span{display:-moz-inline-stack;display:inline-block;vertical-align:middle;*vertical-align:auto;zoom:1;*display:inline;padding:0 3em}div.confidential a{color:#fff}div.confidential a:visited,div.confidential a:hover{color:#fff}div.confidential span,span.confidential{-moz-border-radius-bottomleft:2px;-webkit-border-bottom-left-radius:2px;border-bottom-left-radius:2px;-moz-border-radius-bottomright:2px;-webkit-border-bottom-right-radius:2px;border-bottom-right-radius:2px;background:#dd4b39;border:1px solid #d14836;color:#fff;font-weight:bold;line-height:2}span.confidential{-moz-border-radius-topleft:2px;-webkit-border-top-left-radius:2px;border-top-left-radius:2px;-moz-border-radius-topright:2px;-webkit-border-top-right-radius:2px;border-top-right-radius:2px;padding:0 4px}.announcement{background-color:#FFECBC;border-radius:2px;border:1px solid #ffbf68;padding:10px 20px;color:#666;margin-top:10px;margin-right:16px}.announcement>div strong{font-size:1.2em}.announcement>div#gc-description a{text-decoration:underline}.quiet{color:#919191}.quieter{color:#ccc}.doublespace,.doublespace li{margin-top:1em;line-height:200%}aside.note,aside.caution,aside.dogfood,aside.warning,aside.special,aside.caution,aside.dogfood,aside.dogfood,aside.warning,aside.lapswarning,aside.special{margin-bottom:1.5em}.note,.caution,.dogfood,.warning,.special{background-color:#efefef;padding:6px 8px 6px 10px;border-left:6px solid #999}.note>h4,.caution>h4,.dogfood>h4,.warning>h4,.special>h4{font-weight:bold;font-size:1em;margin:0}.note>p:last-child,.caution>p:last-child,.dogfood>p:last-child,.warning>p:last-child,.special>p:last-child{margin:0}.msgDialogContent{display:none;text-align:left;margin-bottom:32px}.msgDialogContent>div{padding:5px 0}.msgDialogContent button{display:none}.msgDialogContent h1{margin-bottom:10px}.msgDialogContent p{text-align:left}.msgDialog{width:250px;min-height:16px}.msgDialog .ui-dialog-titlebar{line-height:1.2em;margin-top:-1.21em}.msgDialog .button{float:left;margin:0}.msgDialog .button-blue{float:right}.caution,.dogfood{background-color:#fffbd9;border-left-color:#ffef70}.dogfood{background:#fffbd9 url("/_static/images/dogfood-16.png") 5px 9px no-repeat;padding-left:35px}.warning{background-color:#fcc;border-left-color:#a03}.special{background-color:#e5ecf9;border-left-color:#36c}.kd-error-message{color:#dd4b39}table.decorated{border-collapse:collapse;border-color:#dcdcdc;border-spacing:0;border-style:solid;border-width:0 0 1px 0}table.decorated thead th{background:#f1f1f1;border-top:1px solid #dcdcdc;color:#444;padding:2px 0}table.decorated td{border-color:#dcdcdc;border-style:solid;border-width:1px 0 0 0;color:#444;margin:0;padding:1px}table.light-table{border-collapse:collapse;border-spacing:0;margin:10px 0}table.light-table tr{background-color:#fafafa}table.light-table tbody tr:nth-of-type(odd){background-color:#fff}table.light-table th{background-color:#f5f5f5;border:1px solid #eee;padding:4px 12px;text-align:left;vertical-align:top}table.light-table td{border:1px solid #eee;padding:4px 12px;vertical-align:top}.supporting-link{font-size:85%;color:#919191}.supporting-link:visited{color:#ccc}.supporting-link:hover{color:blue}#auth-not-available{z-index:100;position:absolute;width:100%}#auth-not-available p{margin-left:auto;margin-right:auto;width:400px}#auth-not-available p span{color:#fff;display:block;text-align:center;background-color:#922;border:1px solid red;padding:3px 5px}.ui-widget-overlay{filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=75);opacity:0.75;-webkit-transition:all,0.218s;-moz-transition:all,0.218s;-o-transition:all,0.218s;transition:all,0.218s;background:#fff;position:fixed;height:100%;width:100%;left:0;right:0;top:0;bottom:0;z-index:99;margin:0}.ui-dialog{-webkit-transition:all,0.218s;-moz-transition:all,0.218s;-o-transition:all,0.218s;transition:all,0.218s;-webkit-box-shadow:rgba(0,0,0,0.2) 0 4px 16px 0;-moz-box-shadow:rgba(0,0,0,0.2) 0 4px 16px 0;box-shadow:rgba(0,0,0,0.2) 0 4px 16px 0;position:fixed;background-color:#fff;outline:1px solid rgba(0,0,0,0.2);padding:30px 32px;max-width:512px;z-index:100;pointer-events:auto;border:1px solid #ccc;position:absolute}.ui-dialog a.ui-dialog-titlebar-close{background:url(/_static/images/x.png) center no-repeat;cursor:pointer;width:44px;height:44px;position:absolute;top:0px;right:0px;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=70);opacity:0.7}.ui-dialog a.ui-dialog-titlebar-close:hover{filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100);opacity:1}.ui-dialog .ui-dialog-buttonpane{margin-top:16px}.ui-datepicker{background:#fff;border:2px;cursor:auto;outline:1px solid rgba(0,0,0,0.2);padding:16px;pointer-events:none;width:144px}.ui-datepicker .ui-datepicker-header{height:24px}.ui-datepicker .ui-datepicker-header a{color:#777;float:right;height:10px;margin-bottom:4px;padding-bottom:10px;padding-left:6px;text-decoration:none;width:13px}.ui-datepicker .ui-datepicker-header a:hover{background:#eee}.ui-datepicker .ui-datepicker-header a.ui-datepicker-prev{cursor:pointer;margin-right:20px;pointer-events:auto}.ui-datepicker .ui-datepicker-header a.ui-datepicker-prev .ui-icon{height:15px;width:15px}.ui-datepicker .ui-datepicker-header a.ui-datepicker-next{cursor:pointer;margin-right:-36px;pointer-events:auto}.ui-datepicker .ui-datepicker-header .ui-datepicker-title{color:#777;font-size:13px;padding-left:4px}.ui-datepicker .ui-datepicker-calendar{height:120px;margin:0px;padding:0px;width:144px}.ui-datepicker .ui-datepicker-calendar td,.ui-datepicker .ui-datepicker-calendar th{background:#fff;color:#777;font-size:11px;font-weight:normal;height:20px;line-height:20px;padding-bottom:0px;padding-left:4px;padding-right:0px;padding-top:0px;width:20px}.ui-datepicker .ui-datepicker-calendar td .ui-state-default,.ui-datepicker .ui-datepicker-calendar th .ui-state-default{color:#777;text-decoration:none}.ui-datepicker .ui-datepicker-calendar td.ui-datepicker-other-month .ui-state-default,.ui-datepicker .ui-datepicker-calendar th.ui-datepicker-other-month .ui-state-default{color:#ccc;cursor:auto;pointer-events:none}.ui-datepicker .ui-datepicker-calendar td{cursor:pointer;pointer-events:auto}.ui-datepicker .ui-datepicker-calendar td:hover,.ui-datepicker .ui-datepicker-calendar td.selected{background:#eee;color:#222}.ui-datepicker .ui-datepicker-calendar td:hover.ui-state-disabled,.ui-datepicker .ui-datepicker-calendar td.selected.ui-state-disabled{background:#fff}iframe.framebox{border:0;overflow:auto}.framebox_body{overflow:hidden}.related-panel{position:absolute;font-size:10px;background-color:#f7f7f7;border:1px solid #aaa;-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px;z-index:1000;padding:0px 5px 5px 5px}.related-panel>div{margin-top:10px}.related-panel a{text-decoration:none}.related-panel a:hover{text-decoration:underline}.related-panel ul{margin:0}.kd-tooltip{background:#444;color:#fff;display:block;font-size:11px;font-weight:bold;line-height:29px;margin-left:20px;outline:1px solid rgba(255,255,255,0.5);padding:0 10px;position:absolute;text-align:center;top:20px;-webkit-box-shadow:rgba(0,0,0,0.2) 1px 2px 4px;-moz-box-shadow:rgba(0,0,0,0.2) 1px 2px 4px;box-shadow:rgba(0,0,0,0.2) 1px 2px 4px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;opacity:0.0;-webkit-transition:opacity,0.2s;-moz-transition:opacity,0.2s;-o-transition:opacity,0.2s;transition:opacity,0.2s}.kd-tooltip .pointer{display:block;left:24px;margin:0 0 0 -5px;outline:none;position:absolute;top:-5px;border-top:transparent;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #444}.kd-tooltip.visible{opacity:1.0}.fc{direction:ltr;font-size:1em;text-align:left}.fc table{border-collapse:collapse;border-spacing:0}.fc td,.fc th{padding:0;vertical-align:top}.fc .fc-header-space{padding-left:10px}.fc .ui-resizable-handle{display:block;font-size:300%;line-height:50%;overflow:hidden;position:absolute;z-index:99999}.fc .ui-draggable-dragging .fc-event-bg,.fc .fc-select-helper .fc-event-bg{display:none}.fc-header td{white-space:nowrap}.fc-header .fc-button{margin-bottom:1em;margin-right:-1px;vertical-align:top}.fc-header .fc-corner-right{margin-right:1px}.fc-header .ui-corner-right{margin-right:0}.fc-header .fc-state-hover,.fc-header .ui-state-hover{z-index:2}.fc-header .fc-state-down{z-index:3}.fc-header .fc-state-active,.fc-header .ui-state-active{z-index:4}.fc-header-left{text-align:left;width:25%}.fc-header-center{text-align:center}.fc-header-right{width:25%;text-align:right}.fc-header-title{display:inline-block;vertical-align:top}.fc-header-title h2{margin-top:0;white-space:nowrap}.fc-content{clear:both;border:1px solid rgba(0,0,0,0.1)}.fc-content thead th,.fc-content tbody th{background-color:#f1f1f1;color:#202020;font-weight:normal;font-size:12px}.fc-view{width:100%}.fc-widget-header,.fc-widget-content{border:1px solid #f1f1f1}.fc-state-highlight{background:#ffc}.fc-cell-overlay{background:#9cf;opacity:.2;filter:alpha(opacity=20)}.fc-button{background-color:#f5f5f5;border:1px solid #dcdcdc;border:1px solid rgba(0,0,0,0.1);color:#666;cursor:pointer;font-size:11px;font-weight:bold;height:27px;line-height:27px;min-width:54px;padding:0 8px;text-align:center;text-decoration:none;display:-moz-inline-stack;display:inline-block;vertical-align:middle;*vertical-align:auto;zoom:1;*display:inline;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;background:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #f5f5f5), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f5f5f5,#f1f1f1);background:-moz-linear-gradient(top, #f5f5f5,#f1f1f1);background:-o-linear-gradient(top, #f5f5f5,#f1f1f1);background:linear-gradient(top, #f5f5f5,#f1f1f1);-webkit-transition:all,0.218s;-moz-transition:all,0.218s;-o-transition:all,0.218s;transition:all,0.218s}.fc-button.fc-button-prev,.fc-button.fc-button-next{height:29px;min-width:36px;padding:0 0;width:36px}.fc-button:focus{border:1px solid #4d90fe;outline:none}.fc-button-prev .fc-button-inner,.fc-button-next .fc-button-inner{display:block;width:1px;height:1px}.fc-button-prev .fc-button-content,.fc-button-next .fc-button-content{background-image:url("/_static/images/icons_sprite.cache.png");background-repeat:no-repeat;color:#f1f1f1;display:block;float:right;height:21px;left:26px;position:relative;text-align:center;text-indent:-9999px;top:1px;white-space:nowrap;width:21px}.fc-button-prev .fc-button-content{background-position:-36px -14px}.fc-button-next .fc-button-content{background-position:-66px -14px}.fc-state-hover{background-color:#f8f8f8;border:1px solid #c6c6c6;color:#333;background:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #f8f8f8), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f8f8f8,#f1f1f1);background:-moz-linear-gradient(top, #f8f8f8,#f1f1f1);background:-o-linear-gradient(top, #f8f8f8,#f1f1f1);background:linear-gradient(top, #f8f8f8,#f1f1f1);-webkit-box-shadow:rgba(0,0,0,0.1) 0 1px 1px 0;-moz-box-shadow:rgba(0,0,0,0.1) 0 1px 1px 0;box-shadow:rgba(0,0,0,0.1) 0 1px 1px 0;-webkit-transition:all,0;-moz-transition:all,0;-o-transition:all,0;transition:all,0}.fc-state-down,.fc-state-active{background-color:#f6f6f6;background:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #f6f6f6), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f6f6f6,#f1f1f1);background:-moz-linear-gradient(top, #f6f6f6,#f1f1f1);background:-o-linear-gradient(top, #f6f6f6,#f1f1f1);background:linear-gradient(top, #f6f6f6,#f1f1f1);-webkit-box-shadow:rgba(0,0,0,0.1) 0 1px 2px 0 inset;-moz-box-shadow:rgba(0,0,0,0.1) 0 1px 2px 0 inset;box-shadow:rgba(0,0,0,0.1) 0 1px 2px 0 inset}.fc-state-disabled{background:#fff;border:1px solid #f3f3f3;border:1px solid rgba(0,0,0,0.05);color:#b8b8b8;cursor:default;pointer-events:none}.fc-event{border-style:none;border-width:0;font-size:.85em;cursor:default}a.fc-event,.fc-event-draggable{cursor:pointer}a.fc-event{text-decoration:none}.fc-rtl .fc-event{text-align:right}a.fc-past,.groups #gdg-calender-container a.fc-past,a.fc-present,.groups #gdg-calender-container a.fc-present,a.fc-future,.groups #gdg-calender-container a.fc-future{-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px}a.fc-past,.groups #gdg-calender-container a.fc-past{background-color:#999;border:1px solid #999;color:#999}a.fc-present,.groups #gdg-calender-container a.fc-present{background-color:#dd4b39;border:1px solid #dd4b39;color:#dd4b39}a.fc-future,.groups #gdg-calender-container a.fc-future{background-color:#4d90fe;border:1px solid #4d90fe;color:#4d90fe}.fc-event-inner{position:relative;width:100%;height:100%;border-style:solid;border-width:1px;overflow:hidden}.fc-event-time,.fc-event-title{color:#fff;padding:0 1px;word-wrap:break-word}.fc .ui-resizable-handle{display:block;font-size:300%;line-height:50%;overflow:hidden;position:absolute;z-index:99999}.fc-event-hori{border-width:1px 0;margin-bottom:1px}.fc-event-hori .ui-resizable-e{cursor:e-resize;height:100% !important;right:-3px !important;top:0 !important;width:7px !important}.fc-event-hori .ui-resizable-w{cursor:w-resize;height:100% !important;left:-3px !important;top:0 !important;width:7px !important}.fc-event-hori .ui-resizable-handle{_padding-bottom:14px}.fc-corner-left{margin-left:1px}.fc-corner-left .fc-button-inner,.fc-corner-left .fc-event-inner{margin-left:-1px}.fc-corner-left .fc-event-inner{border-left-width:1px}.fc-corner-right{margin-right:1px}.fc-corner-right .fc-button-inner,.fc-corner-right .fc-event-inner{margin-right:-1px}.fc-corner-right .fc-event-inner{border-left-width:1px}.fc-corner-top{margin-top:1px}.fc-corner-top .fc-event-inner{margin-top:1px;border-top-width:1px}.fc-corner-bottom{margin-bottom:1px}.fc-corner-bottom .fc-event-inner{border-bottom-width:1px;margin-bottom:-1px}table.fc-border-separate{border-collapse:separate}fc-border-separate th,fc-border-separate td{border-width:1px 0 0 1px}fc-border-separate th.fc-last,fc-border-separate td.fc-last{border-right-width:1px}fc-border-separate tr.fc-last th,fc-border-separate tr.fc-last td{border-bottom-width:1px}fc-border-separate tr.fc-first td,fc-border-separate tr.fc-first th{border-top-width:0}.fc-grid th{text-align:center}.fc-grid .fc-day-number{float:right;padding:0 2px}.fc-grid .fc-other-month .fc-day-number{filter:alpha(opacity=30);opacity:0.3}.fc-grid .fc-day-content{clear:both;padding:2px 2px 1px}.fc-grid .fc-event-time{font-weight:bold}.fc-rtl .fc-grid .fc-day-number{float:left}.fc-rtl .fc-grid .fc-event-time{float:right}.fc-agenda table{border-collapse:separate}.fc-agenda .fc-agenda-axis{font-weight:normal;padding:0 4px;text-align:right;vertical-align:middle;white-space:nowrap;width:50px}.fc-agenda .fc-day-content{padding:2px 2px 1px}.fc-agenda-days th{text-align:center}.fc-agenda-days .fc-agenda-axis{border-right-width:1px}.fc-agenda-days .fc-col0{border-left-width:0}.fc-agenda-allday th{border-width:0 1px}.fc-agenda-allday .fc-day-content{min-height:34px;_height:34px}.fc-agenda-divider-inner{height:2px;overflow:hidden}.fc-widget-header .fc-agenda-divider-inner{background:#eee}.fc-agenda-slots th{border-width:1px 1px 0}.fc-agenda-slots td{background:none;border-width:1px 0 0}.fc-agenda-slots td div{height:20px}.fc-agenda-slots tr.fc-slot0 th,.fc-agenda-slots tr.fc-slot0 td{border-top-width:0}.fc-agenda-slots tr.fc-minor th,.fc-agenda-slots tr.fc-minor td{border-top-width:dotted}.fc-agenda-slots tr.fc-minor th.ui-widget-header{*border-top-style:solid}.fc-event-vert{border-width:0 1px}.fc-event-vert .fc-event-head,.fc-event-vert .fc-event-content{overflow:hidden;position:relative;width:100%;z-index:2}.fc-event-vert .fc-event-time{font-size:10px;white-space:nowrap}.fc-event-vert .fc-event-bg{background:#fff;filter:alpha(opacity=30);height:100%;left:0;opacity:.3;position:absolute;top:0;width:100%;z-index:1}.fc-event-vert .ui-resizable-s{bottom:0 !important;cursor:s-resize;font-family:monospace;font-size:11px !important;height:8px !important;line-height:8px !important;overflow:hidden !important;text-align:center;width:100% !important}.fc .ui-draggable-dragging .fc-event-bg,.fc-select-helper .fc-event-bg{display:none}.fc-agenda .ui-resizable-resizing{_overflow:hidden}.calender-prev-overlay-css{opacity:0.6;cursor:default}.fc-attending{background-color:#3d9400 !important;border-color:#3d9400 !important;color:#3d9400 !important}.fc-organizing{background-color:red !important;border-color:red !important;color:red !important}td[class*='fc-day']:hover{cursor:pointer;background-color:#eee}.fc-icon-preview{height:19px;margin:2px 3px 0 2px;width:20px;float:right;background-size:contain;background-repeat:no-repeat}.kd-button{background-color:#f5f5f5;border:1px solid #dcdcdc;border:1px solid rgba(0,0,0,0.1);color:#666;cursor:pointer;display:-moz-inline-stack;display:inline-block;vertical-align:middle;*vertical-align:auto;zoom:1;*display:inline;font-family:"Arial",sans-serif;font-size:11px;font-weight:bold;height:27px;line-height:27px;min-width:54px;padding:0 8px;text-align:center;text-decoration:none !important;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;background:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #f5f5f5), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f5f5f5,#f1f1f1);background:-moz-linear-gradient(top, #f5f5f5,#f1f1f1);background:-o-linear-gradient(top, #f5f5f5,#f1f1f1);background:linear-gradient(top, #f5f5f5,#f1f1f1);-webkit-transition:all,0.218s;-moz-transition:all,0.218s;-o-transition:all,0.218s;transition:all,0.218s}.kd-button:hover{background-color:#f8f8f8;border:1px solid #c6c6c6;color:#333;background:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #f8f8f8), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f8f8f8,#f1f1f1);background:-moz-linear-gradient(top, #f8f8f8,#f1f1f1);background:-o-linear-gradient(top, #f8f8f8,#f1f1f1);background:linear-gradient(top, #f8f8f8,#f1f1f1);-webkit-box-shadow:rgba(0,0,0,0.1) 0 1px 1px 0;-moz-box-shadow:rgba(0,0,0,0.1) 0 1px 1px 0;box-shadow:rgba(0,0,0,0.1) 0 1px 1px 0;-webkit-transition:all,0;-moz-transition:all,0;-o-transition:all,0;transition:all,0}.kd-button:active{background-color:#f6f6f6;background:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #f6f6f6), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f6f6f6,#f1f1f1);background:-moz-linear-gradient(top, #f6f6f6,#f1f1f1);background:-o-linear-gradient(top, #f6f6f6,#f1f1f1);background:linear-gradient(top, #f6f6f6,#f1f1f1);-webkit-box-shadow:rgba(0,0,0,0.1) 0 1px 2px 0 inset;-moz-box-shadow:rgba(0,0,0,0.1) 0 1px 2px 0 inset;box-shadow:rgba(0,0,0,0.1) 0 1px 2px 0 inset}.kd-button:visited{color:#666}.kd-button:focus{border:1px solid #4d90fe;outline:none}.kd-button.disabled,.kd-button.disabled:hover,.kd-button.disabled:active{background:#fff;border:1px solid #f3f3f3;border:1px solid rgba(0,0,0,0.05);color:#b8b8b8;cursor:default;pointer-events:none}.kd-closebutton{width:44px;height:44px;background:url("/_static/images/x.png") center no-repeat;position:absolute;top:0;right:0;opacity:.7;-moz-opacity:.7;filter:alpha(opacity=70);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";cursor:default}.kd-closebutton:hover{opacity:1;-moz-opacity:1;filter:alpha(opacity=100);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"}.button-blue{background-color:#4d90fe !important;border-color:#3079ed !important;color:#fff !important;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #4d90fe), color-stop(100%, #4787ed)) !important;background-image:-webkit-linear-gradient(top, #4d90fe,#4787ed) !important;background-image:-moz-linear-gradient(top, #4d90fe,#4787ed) !important;background-image:-o-linear-gradient(top, #4d90fe,#4787ed) !important;background-image:linear-gradient(top, #4d90fe,#4787ed) !important}.button-blue.disabled,.button-blue.disabled:hover,.button-blue.disabled:active{background:#4d90fe !important;border:1px solid #3079ed !important;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=50);opacity:0.5}.button-blue:hover{background-color:#357ae8 !important;border-color:#2f5bb7 !important;color:#fff !important;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #4d90fe), color-stop(100%, #357ae8)) !important;background-image:-webkit-linear-gradient(top, #4d90fe,#357ae8) !important;background-image:-moz-linear-gradient(top, #4d90fe,#357ae8) !important;background-image:-o-linear-gradient(top, #4d90fe,#357ae8) !important;background-image:linear-gradient(top, #4d90fe,#357ae8) !important;-webkit-box-shadow:rgba(0,0,0,0.2) 0 1px 1px 0;-moz-box-shadow:rgba(0,0,0,0.2) 0 1px 1px 0;box-shadow:rgba(0,0,0,0.2) 0 1px 1px 0}.button-blue:hover.disabled,.button-blue:hover.disabled:hover,.button-blue:hover.disabled:active{background:#357ae8 !important;border:1px solid #2f5bb7 !important;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=50);opacity:0.5}.button-blue:active{-webkit-box-shadow:rgba(0,0,0,0.3) 0 1px 2px 0 inset;-moz-box-shadow:rgba(0,0,0,0.3) 0 1px 2px 0 inset;box-shadow:rgba(0,0,0,0.3) 0 1px 2px 0 inset}.button-blue.selected{-webkit-box-shadow:rgba(0,0,0,0.3) 0 3px 6px 0 inset;-moz-box-shadow:rgba(0,0,0,0.3) 0 3px 6px 0 inset;box-shadow:rgba(0,0,0,0.3) 0 3px 6px 0 inset}.button-green{background-color:#3d9400 !important;border-color:#29691d !important;color:#fff !important;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #3d9400), color-stop(100%, #398a00)) !important;background-image:-webkit-linear-gradient(top, #3d9400,#398a00) !important;background-image:-moz-linear-gradient(top, #3d9400,#398a00) !important;background-image:-o-linear-gradient(top, #3d9400,#398a00) !important;background-image:linear-gradient(top, #3d9400,#398a00) !important}.button-green.disabled,.button-green.disabled:hover,.button-green.disabled:active{background:#3d9400 !important;border:1px solid #29691d !important;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=50);opacity:0.5}.button-green:hover{background-color:#368200 !important;border-color:#2d6200 !important;color:#fff !important;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #3d9400), color-stop(100%, #368200)) !important;background-image:-webkit-linear-gradient(top, #3d9400,#368200) !important;background-image:-moz-linear-gradient(top, #3d9400,#368200) !important;background-image:-o-linear-gradient(top, #3d9400,#368200) !important;background-image:linear-gradient(top, #3d9400,#368200) !important;-webkit-box-shadow:rgba(0,0,0,0.3) 0 1px 1px 0;-moz-box-shadow:rgba(0,0,0,0.3) 0 1px 1px 0;box-shadow:rgba(0,0,0,0.3) 0 1px 1px 0}.button-green:hover.disabled,.button-green:hover.disabled:hover,.button-green:hover.disabled:active{background:#368200 !important;border:1px solid #2d6200 !important;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=50);opacity:0.5}.button-green:active{-webkit-box-shadow:rgba(0,0,0,0.3) 0 1px 2px 0 inset;-moz-box-shadow:rgba(0,0,0,0.3) 0 1px 2px 0 inset;box-shadow:rgba(0,0,0,0.3) 0 1px 2px 0 inset}.button-red{background-color:#d14836 !important;border-color:#992a1b !important;color:#fff !important;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #dd4b39), color-stop(100%, #d14836)) !important;background-image:-webkit-linear-gradient(top, #dd4b39,#d14836) !important;background-image:-moz-linear-gradient(top, #dd4b39,#d14836) !important;background-image:-o-linear-gradient(top, #dd4b39,#d14836) !important;background-image:linear-gradient(top, #dd4b39,#d14836) !important;text-shadow:rgba(0,0,0,0.1) 0 1px 0}.button-red.disabled,.button-red.disabled:hover,.button-red.disabled:active{background:#d14836 !important;border:1px solid #992a1b !important;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=50);opacity:0.5}.button-red:hover{background-color:#c53727 !important;border-color:#b0281a !important;color:#fff !important;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #dd4b39), color-stop(100%, #c53727)) !important;background-image:-webkit-linear-gradient(top, #dd4b39,#c53727) !important;background-image:-moz-linear-gradient(top, #dd4b39,#c53727) !important;background-image:-o-linear-gradient(top, #dd4b39,#c53727) !important;background-image:linear-gradient(top, #dd4b39,#c53727) !important;border-bottom:1px solid #af301f;-webkit-box-shadow:rgba(0,0,0,0.2) 0 1px 1px 0;-moz-box-shadow:rgba(0,0,0,0.2) 0 1px 1px 0;box-shadow:rgba(0,0,0,0.2) 0 1px 1px 0}.button-red:hover.disabled,.button-red:hover.disabled:hover,.button-red:hover.disabled:active{background:#c53727 !important;border:1px solid #b0281a !important;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=50);opacity:0.5}.button-red:active{-webkit-box-shadow:rgba(0,0,0,0.3) 0 1px 2px 0 inset;-moz-box-shadow:rgba(0,0,0,0.3) 0 1px 2px 0 inset;box-shadow:rgba(0,0,0,0.3) 0 1px 2px 0 inset}.carousel{visibility:hidden;font-family:"Open Sans",Helvetica,Arial,sans-serif;width:'100%';position:relative;overflow:hidden;margin:0 auto 13px;z-index:1;background-color:#fff;-webkit-box-shadow:#d2d2d2 2px 1px 12px;-moz-box-shadow:#d2d2d2 2px 1px 12px;box-shadow:#d2d2d2 2px 1px 12px}.carousel:first-child{margin-top:-15px}.carousel>article+article{margin-bottom:-100%}.carousel article{float:left;position:relative}.carousel>a{width:29px;height:58px;-webkit-transition-property:width;-moz-transition-property:width;-o-transition-property:width;transition-property:width;-webkit-transition-duration:0.1s;-moz-transition-duration:0.1s;-o-transition-duration:0.1s;transition-duration:0.1s;position:absolute;top:50%;margin-top:-29px;z-index:2;display:block;color:#484848;text-align:center;text-decoration:none;vertical-align:middle;background-color:#fff;cursor:pointer;font-size:35px;-webkit-box-shadow:rgba(0,0,0,0.2) 0 1px 1px 0;-moz-box-shadow:rgba(0,0,0,0.2) 0 1px 1px 0;box-shadow:rgba(0,0,0,0.2) 0 1px 1px 0}.carousel>a>div{position:absolute;top:15px;line-height:30px}.carousel>a:hover{width:33px}.carousel>a.left{left:0px;-webkit-border-radius:0 29px 29px 0/0 29px 29px 0;-moz-border-radius:0 29px 29px 0/0 29px 29px 0;-ms-border-radius:0 29px 29px 0/0 29px 29px 0;-o-border-radius:0 29px 29px 0/0 29px 29px 0;border-radius:0 29px 29px 0/0 29px 29px 0}.carousel>a.left>div{right:9px;background:url(/_static/images/arrow-sprites.png) no-repeat;width:20px;height:30px;overflow:hidden;background-position:0px -60px}.carousel>a.right{right:0px;-webkit-border-radius:29px 0 0 29px/29px 0 0 29px;-moz-border-radius:29px 0 0 29px/29px 0 0 29px;-ms-border-radius:29px 0 0 29px/29px 0 0 29px;-o-border-radius:29px 0 0 29px/29px 0 0 29px;border-radius:29px 0 0 29px/29px 0 0 29px}.carousel>a.right>div{left:9px;background:url(/_static/images/arrow-sprites.png) no-repeat;width:20px;height:30px;overflow:hidden;background-position:-20px -60px}.carousel>a.disabled{visibility:hidden !important}.carousel>.frame{border:1px solid #ebebeb;overflow:hidden;position:relative;z-index:1}.carousel>.frame>.items{width:20000em;position:absolute}.carousel>.frame>.items>article>*{z-index:1}.carousel>.frame>.items>article .default-filler{background-color:#ccc}.carousel>.frame>.items>article.default-carousel-style>img{display:block;z-index:0}.carousel>.frame>.items>article.default-carousel-style>img.stretch{width:100%;height:100%}.carousel>.frame>.items>article.default-carousel-style>img.scale{width:100%}.carousel>.frame>.items>article.default-carousel-style>img.center{width:auto;margin:auto}.carousel>.frame>.items>article.default-carousel-style>header{background-color:#000;padding:20px;position:absolute;top:0px;left:0px;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=80);opacity:0.8;color:#fff;font-size:24px;font-weight:lighter}.carousel>.frame>.items>article.default-carousel-style>summary{position:absolute;bottom:0px;left:0px;padding:30px;width:47%;font-size:16px;font-weight:bold;line-height:24px}.carousel>.frame>.items>article.default-carousel-style>summary.dark-back,.carousel>.frame>.items>article.default-carousel-style>summary{color:#fff;text-shadow:#000 0 0 2px}.carousel>.frame>.items>article.default-carousel-style>summary.light-back{color:#202020;text-shadow:#fff 0 0 2px}.carousel>.frame>.items>article.default-carousel-style>a.button{font-size:16px;position:absolute;bottom:25px;right:45px;line-height:50px;min-height:50px;height:auto !important;height:50px;min-width:120px;width:auto !important;width:120px}.carousel #main-navi-holder{margin:-20px auto 10px auto;padding-top:25px;background-color:#eee;border:1px solid #ddd;width:920px;height:22px;z-index:0}.carousel #main-navi-holder #nav-text{margin-left:20px;font-size:10pt;font-weight:bold}.carousel #main-navi-holder #nav-text a{text-decoration:none;color:#222}.carousel .navi{margin:5px auto auto auto;height:22px;width:28px;position:relative;z-index:1}.carousel .navi a{width:8px;height:8px;margin:3px;display:block;float:left;font-size:1px;background:url(/_static/images/navdot-plain.png) 0 0 no-repeat}.carousel .navi a:hover{background:url(/_static/images/navdot-selected.png) 0 0 no-repeat}.carousel .navi a.active{background:url(/_static/images/navdot-selected.png) 0 0 no-repeat}.carousel-nav{list-style-type:none;border:0;padding:0;margin-bottom:-1px;overflow:auto;position:relative;z-index:2;cursor:pointer}.carousel-nav>*{float:left;display:inline;border:1px solid #999;margin-right:-1px;padding:10px;background:#fff}.carousel-nav>*.active{border-bottom-color:transparent}.carousel+.carousel-nav{margin:-14px 0 0 0}.carousel+.carousel-nav>.active{border-top-color:transparent;border-bottom-color:#999}nav.paging-nav .first img{margin-left:-8px;margin-right:-8px}nav.paging-nav img{margin-top:2px;opacity:0.5}nav.paging-nav .disabled img{opacity:0.25}nav.paging-nav .paging-range{display:inline-block;font-size:14px;height:27px;margin-left:6px;vertical-align:middle}nav.paging-nav .paging-progress{display:inline-block;position:absolute;width:80px;height:14px}.feed.rendered>article{display:block}.feed>article{color:#666;font-size:1.2em;padding-top:10px;display:none}.feed>article a{text-decoration:none}.feed>article img{float:left;padding-top:5px;margin-right:5px;width:52px}.feed>article header{font-size:20px;margin:0;padding-bottom:4px;color:inherit}.feed>article .entry-content{display:inline}.feed>article time,.feed>article .blog-title{font-size:11px;color:#777}.kd-button{background-color:#f5f5f5;border:1px solid #dcdcdc;border:1px solid rgba(0,0,0,0.1);color:#666;cursor:pointer;display:-moz-inline-stack;display:inline-block;vertical-align:middle;*vertical-align:auto;zoom:1;*display:inline;font-family:"Arial",sans-serif;font-size:11px;font-weight:bold;height:27px;line-height:27px;min-width:54px;padding:0 8px;text-align:center;text-decoration:none !important;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;background:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #f5f5f5), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f5f5f5,#f1f1f1);background:-moz-linear-gradient(top, #f5f5f5,#f1f1f1);background:-o-linear-gradient(top, #f5f5f5,#f1f1f1);background:linear-gradient(top, #f5f5f5,#f1f1f1);-webkit-transition:all,0.218s;-moz-transition:all,0.218s;-o-transition:all,0.218s;transition:all,0.218s}.kd-button:hover{background-color:#f8f8f8;border:1px solid #c6c6c6;color:#333;background:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #f8f8f8), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f8f8f8,#f1f1f1);background:-moz-linear-gradient(top, #f8f8f8,#f1f1f1);background:-o-linear-gradient(top, #f8f8f8,#f1f1f1);background:linear-gradient(top, #f8f8f8,#f1f1f1);-webkit-box-shadow:rgba(0,0,0,0.1) 0 1px 1px 0;-moz-box-shadow:rgba(0,0,0,0.1) 0 1px 1px 0;box-shadow:rgba(0,0,0,0.1) 0 1px 1px 0;-webkit-transition:all,0;-moz-transition:all,0;-o-transition:all,0;transition:all,0}.kd-button:active{background-color:#f6f6f6;background:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #f6f6f6), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f6f6f6,#f1f1f1);background:-moz-linear-gradient(top, #f6f6f6,#f1f1f1);background:-o-linear-gradient(top, #f6f6f6,#f1f1f1);background:linear-gradient(top, #f6f6f6,#f1f1f1);-webkit-box-shadow:rgba(0,0,0,0.1) 0 1px 2px 0 inset;-moz-box-shadow:rgba(0,0,0,0.1) 0 1px 2px 0 inset;box-shadow:rgba(0,0,0,0.1) 0 1px 2px 0 inset}.kd-button:visited{color:#666}.kd-button:focus{border:1px solid #4d90fe;outline:none}.kd-button.disabled,.kd-button.disabled:hover,.kd-button.disabled:active{background:#fff;border:1px solid #f3f3f3;border:1px solid rgba(0,0,0,0.05);color:#b8b8b8;cursor:default;pointer-events:none}.kd-closebutton{width:44px;height:44px;background:url("/_static/images/x.png") center no-repeat;position:absolute;top:0;right:0;opacity:.7;-moz-opacity:.7;filter:alpha(opacity=70);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";cursor:default}.kd-closebutton:hover{opacity:1;-moz-opacity:1;filter:alpha(opacity=100);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"}.button-blue{background-color:#4d90fe !important;border-color:#3079ed !important;color:#fff !important;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #4d90fe), color-stop(100%, #4787ed)) !important;background-image:-webkit-linear-gradient(top, #4d90fe,#4787ed) !important;background-image:-moz-linear-gradient(top, #4d90fe,#4787ed) !important;background-image:-o-linear-gradient(top, #4d90fe,#4787ed) !important;background-image:linear-gradient(top, #4d90fe,#4787ed) !important}.button-blue.disabled,.button-blue.disabled:hover,.button-blue.disabled:active{background:#4d90fe !important;border:1px solid #3079ed !important;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=50);opacity:0.5}.button-blue:hover{background-color:#357ae8 !important;border-color:#2f5bb7 !important;color:#fff !important;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #4d90fe), color-stop(100%, #357ae8)) !important;background-image:-webkit-linear-gradient(top, #4d90fe,#357ae8) !important;background-image:-moz-linear-gradient(top, #4d90fe,#357ae8) !important;background-image:-o-linear-gradient(top, #4d90fe,#357ae8) !important;background-image:linear-gradient(top, #4d90fe,#357ae8) !important;-webkit-box-shadow:rgba(0,0,0,0.2) 0 1px 1px 0;-moz-box-shadow:rgba(0,0,0,0.2) 0 1px 1px 0;box-shadow:rgba(0,0,0,0.2) 0 1px 1px 0}.button-blue:hover.disabled,.button-blue:hover.disabled:hover,.button-blue:hover.disabled:active{background:#357ae8 !important;border:1px solid #2f5bb7 !important;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=50);opacity:0.5}.button-blue:active{-webkit-box-shadow:rgba(0,0,0,0.3) 0 1px 2px 0 inset;-moz-box-shadow:rgba(0,0,0,0.3) 0 1px 2px 0 inset;box-shadow:rgba(0,0,0,0.3) 0 1px 2px 0 inset}.button-blue.selected{-webkit-box-shadow:rgba(0,0,0,0.3) 0 3px 6px 0 inset;-moz-box-shadow:rgba(0,0,0,0.3) 0 3px 6px 0 inset;box-shadow:rgba(0,0,0,0.3) 0 3px 6px 0 inset}.button-green{background-color:#3d9400 !important;border-color:#29691d !important;color:#fff !important;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #3d9400), color-stop(100%, #398a00)) !important;background-image:-webkit-linear-gradient(top, #3d9400,#398a00) !important;background-image:-moz-linear-gradient(top, #3d9400,#398a00) !important;background-image:-o-linear-gradient(top, #3d9400,#398a00) !important;background-image:linear-gradient(top, #3d9400,#398a00) !important}.button-green.disabled,.button-green.disabled:hover,.button-green.disabled:active{background:#3d9400 !important;border:1px solid #29691d !important;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=50);opacity:0.5}.button-green:hover{background-color:#368200 !important;border-color:#2d6200 !important;color:#fff !important;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #3d9400), color-stop(100%, #368200)) !important;background-image:-webkit-linear-gradient(top, #3d9400,#368200) !important;background-image:-moz-linear-gradient(top, #3d9400,#368200) !important;background-image:-o-linear-gradient(top, #3d9400,#368200) !important;background-image:linear-gradient(top, #3d9400,#368200) !important;-webkit-box-shadow:rgba(0,0,0,0.3) 0 1px 1px 0;-moz-box-shadow:rgba(0,0,0,0.3) 0 1px 1px 0;box-shadow:rgba(0,0,0,0.3) 0 1px 1px 0}.button-green:hover.disabled,.button-green:hover.disabled:hover,.button-green:hover.disabled:active{background:#368200 !important;border:1px solid #2d6200 !important;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=50);opacity:0.5}.button-green:active{-webkit-box-shadow:rgba(0,0,0,0.3) 0 1px 2px 0 inset;-moz-box-shadow:rgba(0,0,0,0.3) 0 1px 2px 0 inset;box-shadow:rgba(0,0,0,0.3) 0 1px 2px 0 inset}.button-red{background-color:#d14836 !important;border-color:#992a1b !important;color:#fff !important;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #dd4b39), color-stop(100%, #d14836)) !important;background-image:-webkit-linear-gradient(top, #dd4b39,#d14836) !important;background-image:-moz-linear-gradient(top, #dd4b39,#d14836) !important;background-image:-o-linear-gradient(top, #dd4b39,#d14836) !important;background-image:linear-gradient(top, #dd4b39,#d14836) !important;text-shadow:rgba(0,0,0,0.1) 0 1px 0}.button-red.disabled,.button-red.disabled:hover,.button-red.disabled:active{background:#d14836 !important;border:1px solid #992a1b !important;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=50);opacity:0.5}.button-red:hover{background-color:#c53727 !important;border-color:#b0281a !important;color:#fff !important;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #dd4b39), color-stop(100%, #c53727)) !important;background-image:-webkit-linear-gradient(top, #dd4b39,#c53727) !important;background-image:-moz-linear-gradient(top, #dd4b39,#c53727) !important;background-image:-o-linear-gradient(top, #dd4b39,#c53727) !important;background-image:linear-gradient(top, #dd4b39,#c53727) !important;border-bottom:1px solid #af301f;-webkit-box-shadow:rgba(0,0,0,0.2) 0 1px 1px 0;-moz-box-shadow:rgba(0,0,0,0.2) 0 1px 1px 0;box-shadow:rgba(0,0,0,0.2) 0 1px 1px 0}.button-red:hover.disabled,.button-red:hover.disabled:hover,.button-red:hover.disabled:active{background:#c53727 !important;border:1px solid #b0281a !important;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=50);opacity:0.5}.button-red:active{-webkit-box-shadow:rgba(0,0,0,0.3) 0 1px 2px 0 inset;-moz-box-shadow:rgba(0,0,0,0.3) 0 1px 2px 0 inset;box-shadow:rgba(0,0,0,0.3) 0 1px 2px 0 inset}body.showcase{min-width:0}.kd-button.selected{background-color:#eee;background-image:-webkit-gradient(linear, left top, left bottom, from(#eee), to(#e0e0e0));background-image:-webkit-linear-gradient(top, #eee, #e0e0e0);background-image:-moz-linear-gradient(top, #eee, #e0e0e0);background-image:-ms-linear-gradient(top, #eee, #e0e0e0);background-image:-o-linear-gradient(top, #eee, #e0e0e0);background-image:linear-gradient(top, #eeeeee,#e0e0e0);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#eee',EndColorStr='#e0e0e0');-webkit-box-shadow:inset 0px 1px 2px rgba(0,0,0,0.1);-moz-box-shadow:inset 0px 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0px 1px 2px rgba(0,0,0,0.1);border:1px solid #ccc;color:#333}.showcase{font-family:Arial,sans-serif;font-size:13px;line-height:18px}.showcase #showcase{padding:0;margin:0;min-height:101%}.showcase #kicker h4{font-size:13px;margin:2px 0 0 0}.showcase #showcaseappview{position:relative;padding:0;margin:0}.showcase .viewpane{position:relative;padding:0;margin:0}.showcase .viewpane-toolbar{position:relative;padding:0;margin:0}.showcase .viewpane-content{padding:0 20px 20px 46px;overflow:hidden}.showcase .showcase-menu{position:absolute;width:98%}.showcase .showcase-menu div.prev-button,.showcase .showcase-menu div.next-button{cursor:pointer;height:457px;-webkit-transition:all,0.3s;-moz-transition:all,0.3s;-o-transition:all,0.3s;transition:all,0.3s;position:absolute;width:25px;z-index:101}.showcase .showcase-menu div.prev-button:hover,.showcase .showcase-menu div.next-button:hover{background-color:#4d90fe}.showcase .showcase-menu div.prev-button{float:left;position:relative}.showcase .showcase-menu div.next-button{float:right;position:relative}.showcase .showcase-menu a.next,.showcase .showcase-menu a.prev{background-image:url("/_static/images/arrow-sprites.png");width:19px;height:31px;position:absolute;background-repeat:no-repeat;top:45%}.showcase .showcase-menu a.next{background-position:-17px -58px}.showcase .showcase-menu a.prev{background-position:0 -58px}.showcase .clear{clear:both}.showcase #notification-container,.showcase #notification-container-bottom{text-align:center;margin:0 auto;width:50px}.showcase #notification,.showcase #notification-bottom{background-color:#f9edbe;border:1px solid #f0c36d;color:#484848;font-size:13px;font-weight:bold;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;-webkit-box-shadow:rgba(0,0,0,0.2) 0 2px 4px;-moz-box-shadow:rgba(0,0,0,0.2) 0 2px 4px;box-shadow:rgba(0,0,0,0.2) 0 2px 4px;margin-left:-75px;margin-top:-25px;position:absolute;padding:0 10px}.showcase .showcase-spotlight{height:auto;margin:0 0 10px 0;padding:0 0 0 0;position:relative}.showcase .showcase-spotlight .list-container{padding-top:0px}.showcase .showcase-spotlight h2{color:#484848;font-size:16px;margin:10px 0 24px 0}.showcase .showcase-spotlight .list-item{background-color:#4d90fe;display:inline-block;height:auto;margin:0 7px 7px 0;overflow:hidden;width:24%}.showcase .showcase-spotlight .list-item .image{position:relative;width:100%;height:auto;overflow:hidden;padding:0;margin:0;margin-bottom:-4px}.showcase .showcase-spotlight .list-item .image img{width:100%;height:auto;padding:0;margin:0}.showcase .showcase-spotlight .list-item .title{position:relative;width:100%;top:13px;padding:0;margin:0;font-size:16px;font-weight:normal;color:#fff;text-align:center}.showcase .showcase-spotlight .list-item-selected{background-color:#fff;border:0;padding:0;margin:0 7px 7px 0}.showcase .showcase-spotlight .list-item .overlay{position:absolute;width:100%;height:45px;bottom:0px;padding:0;overflow:hidden;background-color:#4d90fe;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=75);opacity:0.75;text-align:center}.showcase .list-container{width:101%;height:auto;padding-top:12px;clear:both;position:relative}.showcase .list-item{position:relative;float:left;width:17%;height:10%;margin:10px;overflow:hidden;cursor:hand;cursor:pointer}.showcase .list-item .image{position:relative;width:100%;height:auto;overflow:hidden}.showcase .list-item .image img{width:100%;height:85%}.showcase .list-item .title{position:relative;width:100%;height:59px;padding:8px 0 0 0;font-size:13px;color:#15c;overflow:hidden}.showcase .list-item-selected{background-color:#ebf2fc;border:solid #cbdaf7 1px;padding:9px;margin:0}.showcase .hover-target{position:absolute;top:0;left:0;height:100%;width:100%;z-index:10}.showcase .list-hover-item{position:absolute;z-index:100;width:17%;height:10%;padding:10px;background-color:#fff;border:solid #ccc 1px;-webkit-box-shadow:rgba(0,0,0,0.25) 1px 1px 8px 0;-moz-box-shadow:rgba(0,0,0,0.25) 1px 1px 8px 0;box-shadow:rgba(0,0,0,0.25) 1px 1px 8px 0;cursor:hand;cursor:pointer}.showcase .list-spacer{position:relative;clear:left;width:100%;height:450px;background-color:#fff;z-index:99}.showcase .detail-panel{position:absolute;width:932px;height:auto;color:#202020;background:#fff;border:solid 1px #999;-webkit-box-shadow:rgba(0,0,0,0.25) 1px 1px 8px 0;-moz-box-shadow:rgba(0,0,0,0.25) 1px 1px 8px 0;box-shadow:rgba(0,0,0,0.25) 1px 1px 8px 0;z-index:100}.showcase .detail-panel-triangle{position:absolute;top:-15px;right:auto;bottom:auto;left:auto;border-width:0 15px 15px;border-style:solid;border-color:#999 transparent;display:block;width:0}.showcase .detail-panel-triangle-inner{position:absolute;top:2px;right:-13px;bottom:auto;left:auto;border-width:0 13px 13px;border-style:solid;border-color:#fff transparent;display:block;width:0}.showcase .detail-panel-content{padding:0;font-size:13px;line-height:24px;min-height:457px;height:auto}.showcase .detail-panel-content table{width:100%;height:auto}.showcase .detail-panel-content td.header-col{padding:0 0 10px 0}.showcase .detail-panel-content td.col-1{width:320px;padding:0 20px 0 0;vertical-align:top}.showcase .detail-panel-content td.col-2{vertical-align:top;padding:0 0 0 0;width:auto}.showcase .detail-panel-content .project-description{padding:0 0 16px 0}.showcase .detail-panel-content .project-developer{padding:0 0 16px 0}.showcase .detail-panel-content .project-tags a{cursor:pointer}.showcase .detail-panel-content .project-info{position:relative;margin-top:20px}.showcase .detail-panel-content .how-to{position:relative;margin-top:20px;display:none}.showcase .detail-panel-content .how-to p{margin-bottom:10px}.showcase .detail-panel-content .how-to h3{font-weight:bold}.showcase .detail-panel-content input.pagination-btn{background-color:#f1f1f1;background-image:url("/_static/images/showcase_icons.png");background-position:-74px 0;border:1px solid #c6c6c6;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;color:#fff;cursor:pointer;height:27px;text-align:center;text-shadow:0 1px rgba(0,0,0,0.1);width:35px}.showcase .detail-panel-content input.pagination-btn:disabled,.showcase .detail-panel-content input.pagination-btn:disabled:hover{filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=50);opacity:0.5;border:1px solid #c6c6c6;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;-webkit-box-shadow:rgba(0,0,0,0.1) 0 0 0;-moz-box-shadow:rgba(0,0,0,0.1) 0 0 0;box-shadow:rgba(0,0,0,0.1) 0 0 0;cursor:default}.showcase .detail-panel-content .pagination-btn:active,.showcase .detail-panel-content .pagination-btn:focus,.showcase .detail-panel-content .pagination-btn:hover,.showcase .detail-panel-content .pagination-btn:hover:focus{background:#f8f8f8;border:1px solid #999;-webkit-box-shadow:rgba(0,0,0,0.1) 0 1px 1px;-moz-box-shadow:rgba(0,0,0,0.1) 0 1px 1px;box-shadow:rgba(0,0,0,0.1) 0 1px 1px;color:#333;z-index:80}.showcase .detail-panel-content input.next-btn,.showcase .detail-panel-content input.next-btn:hover{background-image:url("/_static/images/showcase_icons.png");background-position:-93px 3px}.showcase .detail-panel-content input.previous-btn,.showcase .detail-panel-content input.previous-btn:hover{background-image:url("/_static/images/showcase_icons.png");background-position:-75px 3px}.showcase .detail-panel-content-inner{position:relative;padding:40px;min-height:370px;height:auto}.showcase .close-button{position:absolute;z-index:102;top:8px;right:8px;width:18px;height:18px;background:transparent url(/_static/images/x.png) no-repeat;overflow:hidden;cursor:hand;cursor:pointer;border:0;outline:0;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=50);opacity:0.5}.showcase .project-details-menu{position:relative;border:solid 1px #e5e5e5;border-width:0 0 1px 0;padding:0 0 0 10px}.showcase .project-details-menu-item{position:relative;display:inline-block;padding:4px 8px 4px 8px;font-weight:bold;background-color:#fff;color:#484848;cursor:hand;cursor:pointer}.showcase .project-details-menu-item:hover{color:#dd4b39}.showcase .project-details-menu-item-selected{border:solid 1px #e5e5e5;border-width:1px 1px 0 1px;color:#dd4b39;bottom:-1px}.showcase .project-images-container{position:relative;width:100%;height:auto}.showcase .project-image{position:relative;width:100%;height:auto}.showcase .project-image img{position:relative;width:100%;height:285px;border:solid 1px #e5e5e5}.showcase .project-images-menu{padding:10px 0 0 0}.showcase .project-images-counter{position:relative;display:inline-block;color:#484848;font-size:11px;padding:0 0 0 10px}.showcase .float-right{position:relative;float:right}.showcase .float-left{position:relative;float:left}.showcase a,.showcase a:link,.showcase a:visited{color:#15c;text-decoration:none}.showcase a:hover{color:#15c;text-decoration:underline}.showcase .permalink-button{background-color:#f1f1f1;border:solid 1px #ccc;cursor:pointer;display:inline-block;padding:10px;vertical-align:top}.showcase .permalink-button .permalink-icon{background-image:url("/_static/images/showcase_icons.png");background-position:-40px -6px;height:7px;overflow:hidden;width:19px}.showcase .permalink-button:hover{background:#f8f8f8;border:1px solid #c6c6c6;color:#333;-webkit-box-shadow:rgba(0,0,0,0.1) 0 1px 1px 0;-moz-box-shadow:rgba(0,0,0,0.1) 0 1px 1px 0;box-shadow:rgba(0,0,0,0.1) 0 1px 1px 0;z-index:80}.showcase .permalink-popup{background:#fff;border:1px solid rgba(0,0,0,0.2);cursor:default;font-size:13px;height:auto;left:0;margin:0;outline:none;padding:0 0 6px;position:absolute;top:0;width:400px;z-index:999;-webkit-box-shadow:rgba(0,0,0,0.2) 0 2px 4px 0;-moz-box-shadow:rgba(0,0,0,0.2) 0 2px 4px 0;box-shadow:rgba(0,0,0,0.2) 0 2px 4px 0}.showcase .permalink-popup input{border:1px solid #d9d9d9;border-top:1px solid silver;font-size:13px;height:25px;margin:10px;padding:1px 8px;position:relative;width:360px}body.showcase_admin p{margin:0}body.showcase_admin label{clear:left;display:block}body.showcase_admin label.another{display:inline}body.showcase_admin .model{background:white}body.showcase_admin #gc-main form{border:1px solid #000;display:inline-block;padding:10px;margin:5px}body.showcase_admin #result{float:right;width:400px}body.showcase_admin #result .header{font-weight:bold}body.showcase_admin #result .error{padding-top:20px}body.showcase_admin #getAllShowcases{clear:both;display:block}body .dashboard #bt-add-item{float:right;margin-right:10px}body .dashboard #entries-admin{font-size:133%;font-weight:bold;margin-top:25px;margin-bottom:15px}body .dashboard #dashboard-pagination-container{cursor:pointer;float:right}body .dashboard #showcase-entries .title{width:270px}body .dashboard #admin-panel{padding-left:50px}body .dashboard #options{padding:5px 0}body .dashboard .spotlight-btn-text{color:#3d9400}body .dashboard .non-spotlight-btn-text{color:#999}body .dashboard #showcase-table tr:hover{background:#f1f1f1;cursor:default}body .dashboard #showcase-table td,body .dashboard #showcase-table th{width:77px;padding:5px 0;verticle-align:middle}body .dashboard .align-center{text-align:center}body .dashboard a.inactive{color:#000;cursor:default;text-decoration:none}body .dashboard #options{font-size:14px}body .dashboard #result-container{text-align:center}body .dashboard #result{display:none;font-size:13px;font-weight:bold;padding:3px 15px;background-color:#f9efbe !important;border:1px solid #f0c36d !important;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;-webkit-box-shadow:rgba(0,0,0,0.2) 0 2px 4px;-moz-box-shadow:rgba(0,0,0,0.2) 0 2px 4px;box-shadow:rgba(0,0,0,0.2) 0 2px 4px;color:#666 !important;font-weight:normal !important}body .dashboard .no-items{text-align:center}body .dashboard #preview-container{display:none;position:absolute;height:100%;width:100%;z-index:2;top:0;left:0}body .dashboard #overlay{display:none;background-color:#ccc;position:absolute;height:100%;width:100%;z-index:1;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=75);opacity:0.75;top:0;left:0}body .dashboard #preview-template{display:none}body .dashboard #preview{background-color:white;padding:10px;margin:250px auto auto;width:932px;height:350px;position:fixed;margin-top:-175px;margin-left:-462px;left:50%;top:50%}body .dashboard .title{padding-left:20px;font-weight:bold}body .dashboard .thumbnail{float:left;padding-right:10px}body .dashboard .thumbnail img{width:440px;height:298px}body .dashboard .info{float:right;width:48%}body .dashboard .close-button{position:absolute;z-index:102;top:8px;right:8px;width:18px;height:18px;background:transparent url(/_static/images/x.png) no-repeat;overflow:hidden;cursor:hand;cursor:pointer;border:0;outline:0;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=50);opacity:0.5}body .dashboard .close-button:hover{filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100);opacity:1}.add-item-panel{background:#fff;border:1px solid rgba(0,0,0,0.2);cursor:default;margin:0;outline:none;padding:32px;position:absolute;top:10px;width:550px;min-height:300px;height:auto;-webkit-box-shadow:rgba(0,0,0,0.2) 0 2px 8px;-moz-box-shadow:rgba(0,0,0,0.2) 0 2px 8px;box-shadow:rgba(0,0,0,0.2) 0 2px 8px}.add-item-panel .add-errors{color:#dd4b39}.add-item-panel .add-item-panel-input-full{width:530px}.add-item-panel .kd-textinput{border:1px solid #d9d9d9;border-top:1px solid #999;font-size:13px;height:25px;padding:1px 8px}.add-item-panel .kd-custom-textinput{margin-top:2px;width:470px}.add-item-panel .kd-textarea{border:1px solid #d9d9d9;border-top:1px solid #999;font-size:13px;height:75px;padding:1px 8px;width:300px}.add-item-panel input[type="checkbox"],.add-item-panel input[type="radio"]{width:13px;height:13px;border:1px solid #999;margin:0;-webkit-border-radius:1px;-moz-border-radius:1px;-ms-border-radius:1px;-o-border-radius:1px;border-radius:1px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;cursor:default;position:relative}.add-item-panel td{padding-top:10px}.add-item-panel .button{float:none}.add-item-panel h2{font-weight:bold;line-height:0}.add-item-panel .more,.add-item-panel .close{margin-top:2px;min-width:5px;vertical-align:top}.add-item-panel .close-button{background:transparent url(/_static/images/x.png) no-repeat;border:0;cursor:pointer;height:18px;overflow:hidden;outline:0;position:absolute;right:8px;top:8px;width:18px;z-index:102;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=50);opacity:0.5}.add-item-panel .close-button:hover{filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100);opacity:1}.kd-menubutton{position:relative}.kd-menubutton .kd-disclosureindicator{float:right;margin-top:10px;margin-left:7px;opacity:.8;-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none;*float:none;*position:relative;*top:-3px;margin-top:8px}.kd-menubutton span.label{display:inline-block}.kd-menubutton .kd-menulist{text-align:left;position:absolute;z-index:99;background:#FFF;height:0;width:auto;-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=0);opacity:0}.kd-menubutton .kd-menulist.shown{height:auto;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100);opacity:1;-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.kd-menulistitem{display:block;padding:6px 44px 6px 16px;position:relative;color:#333;font-size:13px;font-weight:normal;cursor:default;margin:0;-webkit-transition:background,0.13s;-moz-transition:background,0.13s;-o-transition:background,0.13s;transition:background,0.13s}.kd-menulistitem.disabled,.kd-menulistitem:hover{color:#ccc;background-color:#FFF;cursor:default}.kd-menulistitem:hover,.kd-menulistitem.selected{background-color:#f1f1f1;color:#222;-webkit-transition:background,0s;-moz-transition:background,0s;-o-transition:background,0s;transition:background,0s}.kd-menulist{background:#FFF;z-index:99;outline:1px solid rgba(0,0,0,0.2);padding:0 0 6px;white-space:nowrap;overflow:auto;margin:0;-webkit-transition:opacity,0.218s;-moz-transition:opacity,0.218s;-o-transition:opacity,0.218s;transition:opacity,0.218s;-webkit-box-shadow:0px 2px 4px rgba(0,0,0,0.2);-moz-box-shadow:0px 2px 4px rgba(0,0,0,0.2);box-shadow:0px 2px 4px rgba(0,0,0,0.2)}.kd-textinput{height:29px;background-color:#fff;line-height:27px;padding-left:8px;color:333;border:1px solid #d9d9d9;border-top:1px solid silver;display:inline-block;vertical-align:top;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-border-radius:"1px";-moz-border-radius:"1px";-ms-border-radius:"1px";-o-border-radius:"1px";border-radius:"1px"}.kd-textinput:hover{border:1px solid #b9b9b9;border-top:1px solid #a0a0a0;-webkit-box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.1)";-moz-box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.1)";box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.1)"}.kd-textinput:focus{-webkit-box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.3)";-moz-box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.3)";box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.3)";outline:none;border:1px solid #4d90fe}.kd-textinput.disabled,.kd-textinput.disabled:hover,.kd-textinput.disabled:active,.kd-textinput:disabled{background:#fff;border:1px solid #f3f3f3;border:1px solid rgba(0,0,0,0.05);color:#b8b8b8;cursor:default;pointer-events:none}.kd-zippy span.row{cursor:pointer;display:block}.kd-zippy span.row.expanded .kd-zippycontent{height:165px}.kd-zippycontent{position:relative;overflow:hidden;height:0;-webkit-transition:all 0.5s;-moz-transition:all 0.5s;-o-transition:all 0.5s;transition:all 0.5s}.kd-zippycontent li{padding-left:5px;margin-left:0px;background-repeat:no-repeat;background-position:2px center;line-height:23px}.kd-zippycontent>*{position:absolute;bottom:0;left:0;width:100%}.kd-disclosureindicator{display:inline-block;width:5px;height:7px;background:url("/_static/images/disclosure_arrow_dk_grey.png") center no-repeat;-webkit-transition:all 0.5s;-moz-transition:all 0.5s;transition:all 0.5s}.kd-disclosureindicator.down{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);transform:rotate(90deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1)}.filter-bar{position:relative;height:auto;min-height:60px;background-color:#f1f1f1;border:solid 1px #d2d2d2;border-width:1px 0 1px 0;color:#333}.filter-bar .header-right{min-height:20px;padding:10px 0 10px 0}.filter-bar .permanent-url-container{display:initial;margin-right:16px;padding-top:10px}.toggle-button{min-width:74px}.clear-button{margin-right:16px}#pagination-container{float:right;margin-top:-60px}.filter-bar-fixed{top:0;left:0;width:100%;height:auto;min-height:50px;background-color:#f1f1f1;border:solid 1px #d2d2d2;border-width:0 0 1px 0;color:#333}.filter-bar-fixed .header-right{padding-right:10px}.float-right{position:relative;float:right}#filter-options{padding:0 0 20px 2px;display:block;clear:both}#filter-options .tag-category{width:30%;display:inline-block;vertical-align:top;height:100%;padding-left:25px}#filter-options .tag-category-border{border:1px solid #d2d2d2;border-width:0 0 0 1px}#filter-options .tag-text{color:#666;font-weight:bold;padding-left:10px}#filter-options .filter-tag{display:inline-block;width:25%;padding:1px 0;vertical-align:top}#filter-options .filter-tag input{vertical-align:top}#filter-options .filter-tag label{color:#333;margin-top:5.25px;display:inline-block}#filter-options .filter-tag label.disabled{color:#b8b8b8}.filter-option-click-disabled{pointer-events:none}.results-counter{display:inline-block;color:#666;float:left;padding:10px 0 10px 10px;width:83px}#tag-autocomplete-widget div.tag-autocomplete{font-family:Arial,sans-serif;width:60%;cursor:text;height:auto !important;padding:0 !important;height:29px;background-color:#fff;line-height:27px;padding-left:8px;color:333;border:1px solid #d9d9d9;border-top:1px solid silver;display:inline-block;vertical-align:top;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-border-radius:"1px";-moz-border-radius:"1px";-ms-border-radius:"1px";-o-border-radius:"1px";border-radius:"1px"}#tag-autocomplete-widget div.tag-autocomplete:hover{border:1px solid #b9b9b9;border-top:1px solid #a0a0a0;-webkit-box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.1)";-moz-box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.1)";box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.1)"}#tag-autocomplete-widget div.tag-autocomplete:focus{-webkit-box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.3)";-moz-box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.3)";box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.3)";outline:none;border:1px solid #4d90fe}#tag-autocomplete-widget div.tag-autocomplete.disabled,#tag-autocomplete-widget div.tag-autocomplete.disabled:hover,#tag-autocomplete-widget div.tag-autocomplete.disabled:active,#tag-autocomplete-widget div.tag-autocomplete:disabled{background:#fff;border:1px solid #f3f3f3;border:1px solid rgba(0,0,0,0.05);color:#b8b8b8;cursor:default;pointer-events:none}#tag-autocomplete-widget div.tag-autocomplete.focus{border:1px solid #4d90fe;outline:none;-webkit-box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.3)";-moz-box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.3)";box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.3)"}#tag-autocomplete-widget div.tag-autocomplete ul.chosen-tags{margin:0;padding:0}#tag-autocomplete-widget div.tag-autocomplete ul.chosen-tags li{float:left;list-style:none outside none;margin:0 0 0 4px}#tag-autocomplete-widget div.tag-autocomplete ul.chosen-tags li .button.mini{height:19px;line-height:19px;min-width:18px;width:auto}#tag-autocomplete-widget div.tag-autocomplete ul.chosen-tags li .button.left{border-radius:4px 0 0 4px;padding:0 4px 0 4px}#tag-autocomplete-widget div.tag-autocomplete ul.chosen-tags li .button.right{border-radius:0 4px 4px 0;padding:0px}#tag-autocomplete-widget div.tag-autocomplete ul.chosen-tags li .button.right span{position:relative;bottom:1px;right:1px}#tag-autocomplete-widget div.tag-autocomplete input.tag-autocomplete-input{background:none;border:none;float:left;margin:5px 0 5px 5px;outline:none;width:auto}#tag-autocomplete-widget .tags-loading{font-style:italic;margin-left:10px}#tag-autocomplete-widget ul.tag-autocomplete-suggestions{left:0px !important;padding:0 !important;top:0px !important;width:100%;background:#FFF;z-index:99;outline:1px solid rgba(0,0,0,0.2);padding:0 0 6px;white-space:nowrap;overflow:auto;margin:0;-webkit-transition:opacity,0.218s;-moz-transition:opacity,0.218s;-o-transition:opacity,0.218s;transition:opacity,0.218s;-webkit-box-shadow:0px 2px 4px rgba(0,0,0,0.2);-moz-box-shadow:0px 2px 4px rgba(0,0,0,0.2);box-shadow:0px 2px 4px rgba(0,0,0,0.2)}#tag-autocomplete-widget ul.tag-autocomplete-suggestions li.ui-menu-item{display:block;padding:6px 44px 6px 16px;position:relative;color:#333;font-size:13px;font-weight:normal;cursor:default;margin:0;-webkit-transition:background,0.13s;-moz-transition:background,0.13s;-o-transition:background,0.13s;transition:background,0.13s}#tag-autocomplete-widget ul.tag-autocomplete-suggestions li.ui-menu-item.disabled,#tag-autocomplete-widget ul.tag-autocomplete-suggestions li.ui-menu-item:hover{color:#ccc;background-color:#FFF;cursor:default}#tag-autocomplete-widget ul.tag-autocomplete-suggestions li.ui-menu-item:hover,#tag-autocomplete-widget ul.tag-autocomplete-suggestions li.ui-menu-item.selected{background-color:#f1f1f1;color:#222;-webkit-transition:background,0s;-moz-transition:background,0s;-o-transition:background,0s;transition:background,0s}#tag-autocomplete-widget ul.tag-autocomplete-suggestions .ui-corner-all{color:#222;display:block;text-decoration:none}#tag-autocomplete-widget #view-all-tags{color:#15c;text-decoration:none}#tag-autocomplete-widget #view-all-tags:hover{text-decoration:underline}#tag-autocomplete-widget .hidden{display:none}#tag-autocomplete-widget .error-text{color:#dd4b39;text-decoration:none}.help-text{color:#999}body.tags_admin div.tag-autocomplete{height:auto !important}body.tags_admin div.tag-autocomplete ul.chosen-tags li{padding-top:3px;margin-bottom:0 !important}body.tags_admin div.ui-widget.tag-admin label{font-weight:bold}body.tags_admin .tag-autocomplete-suggestions{max-height:300px}body.tags_admin #delete-tag-dialog{display:none}body.tags_admin #button-panel{float:right}body.tags_admin #edit-tag-heading{padding-top:10px}body.tags_admin #add-tag-form,body.tags_admin #edit-tag-form{width:530px;height:500px}body.tags_admin #add-tag-form input[type="text"],body.tags_admin #edit-tag-form input[type="text"]{height:23px;width:451px}body.tags_admin #add-tag-form input[readonly="true"],body.tags_admin #edit-tag-form input[readonly="true"]{background-color:#f1f1f1}body.tags_admin #add-tag-form #field-tag-list-wrapper,body.tags_admin #edit-tag-form #field-tag-list-wrapper{width:166.83%}body.tags_admin #add-tag-form div.kd-formbuttons,body.tags_admin #edit-tag-form div.kd-formbuttons{float:right}body.tags_admin #add-tag-form fieldset,body.tags_admin #edit-tag-form fieldset{padding:16px}body.tags_admin #add-tag-form legend,body.tags_admin #edit-tag-form legend{padding:0 6px}body.tags_admin #add-tag-form label,body.tags_admin #edit-tag-form label{font-weight:bold;display:block;line-height:29px}body.tags_admin #add-tag-form ul,body.tags_admin #edit-tag-form ul{list-style:none}body.tags_admin #add-tag-form ul li,body.tags_admin #edit-tag-form ul li{line-height:17px;margin-bottom:16px}body.tags_admin #move-tag-dialog{display:none}body.tags_admin #tag-admin-table{width:300px}body.tags_admin #tag-admin-table th,body.tags_admin #tag-admin-table tr,body.tags_admin #tag-admin-table td{border:0}body.tags_admin #tag-admin-table .google-visualization-table-div-page .a-d-e-f-g,body.tags_admin #tag-admin-table .google-visualization-table-div-page .a-d-e-h-g{border-style:none}body.tags_admin #tag-admin-table .google-visualization-table-div-page .a-d-e{background:none;cursor:pointer}body.tags_admin .tag-admin-header{background-color:#6199df}body.tags_admin .tag-admin-header td{color:#fff;font-weight:bold}body.tags_admin .google-visualization-table-th{text-align:center}body.tags_admin .kd-modaldialog.visible{opacity:1.0;-webkit-transform:scale(1);-moz-transform:scale(1);transform:scale(1)}body.tags_admin .kd-modaldialog{-webkit-box-shadow:0 4px 16px rgba(0,0,0,0.2);-moz-box-shadow:0 4px 16px rgba(0,0,0,0.2);-ms-box-shadow:0 4px 16px rgba(0,0,0,0.2);box-shadow:0 4px 16px rgba(0,0,0,0.2);background:white;left:50%;outline:1px solid rgba(0,0,0,0.2);padding:30px 42px;position:fixed;right:auto;width:512px;height:auto;overflow:visible;z-index:100;top:72px;margin-left:-256px;opacity:0.0;-webkit-transform:scale(1.05);-moz-transform:scale(1.05);transform:scale(1.05);-webkit-transition:all 0.218s;-moz-transition:all 0.218s;transition:all 0.218s}body.tags_admin .kd-modaldialog.medium{padding:28px 32px;width:384px}body.tags_admin .kd-modaldialog.small{padding:16px 20px;width:256px}body.tags_admin .kd-modaldialog h1{margin-bottom:1em}body.tags_admin .kd-modaldialog.small h1{margin-bottom:8px}body.tags_admin .kd-formbuttons{margin-top:16px}body.tags_admin .kd-formbuttons .kd-button.primary{float:left;margin-right:16px}body.tags_admin .kd-modaldialog .kd-confirmation{display:inline-block;padding-top:7px}body.tags_admin .associations{list-style:none}body.tags_admin #associations-wrapper{width:800px;padding:16px 0px 16px 44px;border-left:1px solid #ebebeb}body.tags_admin #associations-wrapper li{position:relative;margin-left:-16px;border-bottom:1px solid transparent}body.tags_admin #associations-wrapper li a{display:block;line-height:29px;color:#333;font-size:13px;cursor:default}body.tags_admin #associations-wrapper .kd-zippy .row a{margin-left:16px;display:inline}body.tags_admin #associations-wrapper ul ul li,body.tags_admin #associations-wrapper ul ul li a{line-height:19px}body.tags_admin #associations-wrapper ul ul li a{padding-left:12px;margin-left:16px}body.tags_admin #associations-wrapper ul>li>a{padding-left:16px}body.tags_admin #associations-wrapper ul>li>a:hover{background-color:#eee}body.tags_admin #associations-wrapper li.selected a{color:#d14836}body.tags_admin .close-button{position:absolute;z-index:102;top:8px;right:8px;width:18px;height:18px;background:transparent url(/_static/images/x.png) no-repeat;overflow:hidden;cursor:hand;cursor:pointer;border:0;outline:0;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=50);opacity:0.5}body.tag-list #tag-container{padding-top:25px}body.tag-list #tag-container .detail-block{border-bottom:1px solid #999;display:inline-block;line-height:25px;padding:20px 45px 20px 0;width:200px}body.tag-list #tag-container .detail-block p{margin:0}body.tag-list #tag-container .detail-block .tag-label{background:transparent url(/_static/images/tag-label-middle.png) repeat-x;color:#4d90fe;display:inline-block}body.tag-list #tag-container .detail-block .tag-label span{position:relative;vertical-align:top}body.tag-list #tag-container .detail-block .tag-label:before{content:url(/_static/images/tag-label-begin.png);display:inline-block;width:10px}body.tag-list #tag-container .detail-block .tag-label:after{content:url(/_static/images/tag-label-end.png);display:inline-block;width:14px}body.tag-list #tag-container .detail-block .tag-count{display:inline-block;font-weight:bold;vertical-align:top;position:relative;top:2px;right:-10px}body.tag-list #tag-container .detail-block .tag-desc{color:#999;display:none;overflow:hidden;word-break:break-all}body.tag-list #search-error{color:#dd4b39;margin:-3px 0 0 85px}.selected-filters{padding:10px}#selected-tags{display:inline-block;display:none;color:#666;padding:10px}#selected-tags>span{padding-left:10px}.selected-tag{color:#fff;padding-left:4px;padding-right:6px;padding-top:2px;padding-bottom:2px;background-color:#4d90fe}.close-span{cursor:pointer}.close-span:hover{background-color:#3079ED}#vtab{padding-left:10px;width:98%;height:auto}#vtab>ul>li{color:#4d90fe !important;font-weight:normal;width:90px;height:15px;background-color:#f1f1f1 !important;list-style-type:none;display:block;text-align:left;margin:auto;padding:5px 5px;border:1px solid #f1f1f1;position:relative;border-right:none}#vtab>ul>li.selected{font-weight:bold;border:1px solid #d9d9d9;border-right:none;z-index:1;background-color:#f1f1f1 !important;position:relative}#vtab>ul{float:left;width:90px;text-align:left;display:block;margin:auto 0;padding:0;top:30px;cursor:pointer}#vtab>div{background-color:#f1f1f1;margin-left:100px;border:1px solid #d9d9d9;min-height:106px;padding:12px;position:relative;z-index:0}.devquiz div #content{background:#fff;background-image:url(/_static/images/devquiz-logo.png);background-position:80px 30px;background-repeat:no-repeat;-webkit-box-shadow:rgba(0,0,0,0.25) 2px 4px 5px 4px;-moz-box-shadow:rgba(0,0,0,0.25) 2px 4px 5px 4px;box-shadow:rgba(0,0,0,0.25) 2px 4px 5px 4px;color:#222;font-family:Arial,sans-serif;font-size:13px;margin:20px auto;padding:150px 80px 80px 80px;width:680px}.devquiz div .logindata{background:#f1f1f1;border-radius:5px;margin:20px auto;padding:20px;width:400px}.devquiz div .question-section{background:#f1f1f1;border-radius:5px;margin:20px auto;padding:10px;width:600px}.devquiz div .question-section .text{background:transparent;border:1px solid #acacac;font:monospace;font-size:11px;height:200px;overflow-y:scroll;width:580px}.devquiz div .answer-section{background:#f1f1f1;border-radius:5px;margin:20px auto;padding:10px;width:600px}.devquiz div .answer-section .answertext{background:#fff;border:1px solid #acacac;font:monospace;font-size:11px;height:200px;overflow-y:scroll;width:580px}.devquiz div #areusure{background:#f1f1f1;border:1px solid #acacac;margin:20px;padding:10px;width:500px}.devquiz div .legalfooter{margin:30px auto;text-align:center;width:680px}.devquiz .textlabel{font-style:italic;margin:0 0 10px 0}.devquiz .answer{background:#f1f1f1;border-radius:5px;margin:20px auto;padding:10px;width:500px}.devquiz h1{font-size:16px;font-weight:bold;margin:30px 0 20px 0}.devquiz h2{color:#4d90fe;font-size:13px;font-weight:bold;margin:30px 0 10px 0}.devquiz .smalltextbox{border:1px solid #acacac;margin:0 5px;width:50px}.devquiz tt{color:#4d90fe;font-weight:bold}.devquiz hr{border:2px solid #f1f1f1;margin:20px 0}.devquiz li{margin:10px}table.code-compare{background-color:#FAFAFA}table.code-compare td{padding:6px 0px !important}ul.code-compare .hovered{background-color:#f0f0f0 !important;border-left:5px solid #6199df;margin-left:-1px !important}ul.code-compare,ul.code-compare li{margin:0px 0px 0px 1px;padding:0px;list-style-type:none;display:block}ul.code-compare pre{border:0px !important;background-color:inherit !important}ul.code-compare .hovered pre{padding-left:7px !important}ul.code-compareCode li{margin:10px 0px 0px 1px;padding:0px 0px 0px 4px}ul.code-compareCode li:first-child{margin:0px 0px 0px 1px;padding:0px 0px 0px 4px}.ui-codeSample{position:relative;border:6px solid #eee;padding:1em;margin-bottom:18px}.ui-codeSample .selector{position:absolute;top:-21px;right:-21px;padding:25px;font-size:85%}.ui-codeSample .selector>select{margin:0;height:1.5em}.ui-codeSample .selector>.prompt{background:#FFF;line-height:1.8em;float:left;padding:0 3px;margin-right:2px}.ui-codeSample .ui-codeSample-panel{display:block;overflow:auto;margin:0}.ui-codeSample .ui-codeSample-panel pre{margin:0}.ui-codeSample .ui-codeSample-hide{display:none}.ui-datasection-main{position:relative;border:6px solid #eee;padding:1em;margin:10px 0}.ui-datasection-main .selector{text-align:right;padding:0}.ui-datasection-main .selector>.prompt{background:#FFF;line-height:1.8em;float:left;padding:0 3px;margin-right:2px}.ui-datasection-main .ui-datasection-panel{display:block;overflow:auto;margin:0}.ui-datasection-main .ui-datasection-panel pre{margin:0}.ui-datasection-main .ui-datasection-hide{display:none}.ui-fusionTable .ui-fusionTable-autoAdjust td{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ui-fusionTable .ui-fusionTable-results table{margin:0}.ui-fusionTable .ui-fusionTable-results p{width:100%;text-align:center;font-weight:bold}.ui-fusionTable .ui-fusionTable-loading{filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=50);opacity:0.5}.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.pln{color:#000}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec{color:#606}@media print{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.pln{color:#000}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:12px;border:1px inset #eee}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}.page-title{font-size:2em;padding-bottom:4px;border-bottom:1px solid #ccc}body.docs .plusone-container{margin:0;position:relative;top:1px;display:-moz-inline-stack;display:inline-block;vertical-align:middle;*vertical-align:auto;zoom:1;*display:inline}body.docs a code,body.docs a kbd{color:#15c}body.docs a code:visited,body.docs a kbd:visited{color:#15c}body.docs a code:active,body.docs a kbd:active{color:#dd4b39}body.docs h2,body.docs h3,body.docs h4,body.docs h5,body.docs h6{margin-top:1.5em}body.docs h2{border-bottom:1px solid #ccc}body.docs h2{font-size:167%}body.docs h3{font-size:133%;font-weight:bold}body.docs h4{font-size:120%}body.docs h5{font-size:110%}body.docs .hero h2{border-bottom:0 !important;font-size:16px !important;margin-top:0 !important}body.docs .hero h3{margin-top:0 !important}body.docs article.story h2{border-bottom:0 !important;margin-top:0 !important}body.docs .quiet{color:#999;stress:30}body.docs .light-title{font-size:150%;border:0;color:#666}body.docs code,body.docs pre,body.docs kbd{color:#007000}body.docs pre{padding:6px 10px;background-color:#FAFAFA;border:1px solid #bbb;overflow:auto}body.docs kbd{font:1em "Droid Sans Mono",monospace;line-height:1.5;font-weight:bold}body.docs .screenshot,body.docs .border{border:1px solid #aaa;padding:3px}body.docs .apiparam{color:#066;font-style:italic}body.docs .apiparam:before{content:'{'}body.docs .apiparam:after{content:'}'}body.docs #embedded-explorer table{border:0}body.docs #embedded-explorer th,body.docs #embedded-explorer td{border:0;padding:14px;vertical-align:middle}body.docs #embedded-explorer .form td{border-bottom:1px solid #dbdbdb}body.docs #embedded-explorer h3{margin-bottom:1em;margin-top:1em}body.docs #embedded-explorer pre{border:0;padding:0}body.docs .expandable{display:block;margin-left:16px;min-height:20px}body.docs .expandable .exw-control{position:absolute;margin-top:-6px;margin-left:-16px;cursor:pointer;display:block;text-decoration:none;color:#222;font-size:20px}body.docs ul.treelist,body.docs ol.treelist{list-style-type:none;margin-left:16px}body.docs ul.treelist .tlw-control,body.docs ol.treelist .tlw-control{position:absolute;margin-left:-16px;cursor:pointer;display:block;text-decoration:none;color:#222}body.docs ul.treelist .tlw-control-title,body.docs ol.treelist .tlw-control-title{cursor:pointer}body.docs ul.treelist ul,body.docs ul.treelist ol,body.docs ol.treelist ul,body.docs ol.treelist ol{list-style-type:none}#gc-content ol.toc{list-style-type:none}#gc-content ol.toc ul,#gc-content ol.toc ol{list-style-type:none}#gc-content ol.toc li{font-weight:bold}#gc-content .listhead li{font-weight:bold}#gc-content .listhead li *,#gc-content .listhead li li{font-weight:normal}#gc-content .listhead li * b,#gc-content .listhead li * strong{font-weight:bold}#gc-content-footer{margin-top:2em;margin-bottom:1em;color:#777;font-style:italic}#gc-content-license,#gc-content-last-updated{margin-top:1em}#gc-content div.sidebox{width:22em;margin:1em 0 0 20px;padding:0 0 1em 1em;border-left:1px dotted silver;float:right;clear:right;position:relative;background-color:white;position:relative;z-index:100}.oss .oss-widget{display:none}.oss-default{float:right;width:20em}.oss-default .oss-widget{background-color:#f1f1f1;padding:6px 8px 6px 10px;margin-left:6px}.oss-default .oss-widget>header{font-weight:bold;font-size:1em}.oss-default .oss-widget .oss-feed>article{margin-bottom:6px}.oss-default .oss-widget .oss-feed>article:last-child{margin-bottom:0}.oss-default .oss-widget .oss-feed>article header{font-size:1em;line-height:1em;color:inherit}.oss-default .oss-widget .oss-feed>article time{font-size:0.85em}.oss-default .oss-widget .view-all{font-size:0.85em}.kd-bubble{background:#FFF;outline:1px solid rgba(0,0,0,0.2);padding:16px;position:relative;width:146px;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 2px 4px rgba(0,0,0,0.2);-moz-box-shadow:0 2px 4px rgba(0,0,0,0.2);box-shadow:0 2px 4px rgba(0,0,0,0.2)}.kd-bubble .pointer{background:url("/_static/images/bubble_point_white.png");display:block;height:11px;left:24px;margin:0 0 0 -5px;outline:none;position:absolute;top:-11px;width:17px}.kd-bubble.alert{background:#f9edbe;outline:1px solid #f0c36d}.kd-bubble.alert .pointer{background:url("/_static/images/bubble_point_yellow.png")}.kd-bubble p{color:#666;margin-bottom:0}#remind_type{margin:10px 0}#remind_mail table{padding-bottom:10px}#remind_mail table td,#remind_mail table th{padding:2px 5px}#remind_mail .input-section{margin:5px 0}#remind_mail .input-section input[type=text]{margin-left:10px;width:300px;padding:0 4px 0 4px}#remind_mail button{margin:5px 0}#preview_message{border:1px solid #ccc;padding:5px;min-height:40px;width:649px}#post_status .in-process{background-color:#0ee}#post_status .success{background-color:#0e0}#post_status .failure{background-color:#e00}#button_row input{margin:10px 0}#generate-attendee_type textarea{margin:10px 0;border:1px solid #ccc}#generate-attendee_type p{margin-bottom:0px}#generate-attendee_type label{position:absolute;margin-top:4px}#generate-attendee_type input[type=text],#generate-attendee_type select{margin-left:150px}#generate-attendee_type .errormsg{margin-left:10px}#generate-attendee_type .error-border{border:2px solid red}#generate-attendee_type #email_subject{margin-left:0;width:650px}#table_container{border:2px solid #ccc;height:300px;overflow-y:scroll}.ss-table td{padding:0 4px}#tab_container{border:2px solid #ccc;overflow:auto}#preview_spreadsheet{width:47%}.ss-tab{background-color:#eee;border:1px solid #ccc;cursor:pointer;margin:0;float:left}.ss-tab a,.ss-tab a:hover,.ss-tab a:visited{text-decoration:none}.ss-tab a{padding:2px;background-color:#eee}.ss-tab a:hover{background-color:#ccc}#type-list{padding-top:15px;width:640px}#type-list td{min-width:75px}#type-list tr{background-color:#fff}#type-list tr:hover{background-color:#ccc}#type-list .type-list-hover{background-color:#ccc}.vipcode,.email-attendees{font-family:"Open Sans",arial,sans-serif}.vipcode .secondary-text,.email-attendees .secondary-text{color:#777;display:block;font-size:11px;margin:5px 0 20px 0}.vipcode .required::after,.email-attendees .required::after{content:"*";color:#dd4b39;font-size:11px;margin-left:5px;vertical-align:super}.vipcode .help-anchor,.email-attendees .help-anchor{cursor:pointer;font-size:10px;margin-left:20px;text-decoration:none;vertical-align:super}.vipcode .kd-bubble.field-help,.email-attendees .kd-bubble.field-help{position:absolute;width:300px;display:none}.vipcode .kd-bubble.field-help .pointer,.email-attendees .kd-bubble.field-help .pointer{left:-9px;top:20px;-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-ms-transform:rotate(-90deg);-o-transform:rotate(-90deg);transform:rotate(-90deg)}.vipcode #attendee-type-help,.email-attendees #attendee-type-help{margin:-14px 0 0 20px}.vipcode #expiry-help,.email-attendees #expiry-help{margin:-18px 0 0 20px}.vipcode #email-list-help,.email-attendees #email-list-help{margin:122px 0px 0px 18px}.vipcode #delegatable-help,.email-attendees #delegatable-help{margin:-18px 0 0 20px}.vipcode input[type=text],.email-attendees input[type=text]{padding:0 4px 0 4px}.vipcode #select_attendee_type,.email-attendees #select_attendee_type{margin-left:15px;margin-right:10px}.vipcode select,.vipcode .vip-text,.email-attendees select,.email-attendees .vip-text{width:200px;background:white;height:27px;outline:none;border:1px solid #ccc;color:#333}.vipcode .vip-text,.vipcode textarea,.email-attendees .vip-text,.email-attendees textarea{margin-bottom:10px;border:1px solid #ccc}.vipcode .kd-disclosureindicator,.email-attendees .kd-disclosureindicator{margin-top:8px;-webkit-transform:none;-moz-transform:none;-ms-transform:none;-o-transform:none;transform:none}.vipcode #gentypebutton,.email-attendees #gentypebutton{margin-top:15px}.vipcode #generate-options,.email-attendees #generate-options{margin-bottom:25px}.vipcode #type-list td,.email-attendees #type-list td{cursor:pointer}.vipcode #validate_table,.email-attendees #validate_table{margin-left:10px}.vipcode #vip-generate,.email-attendees #vip-generate{width:90%;padding-right:20px}.vipcode #vip-generate #generate-form.count .email-fields,.email-attendees #vip-generate #generate-form.count .email-fields{display:none}.vipcode #vip-generate #generate-form.emaillist .gen-fields,.email-attendees #vip-generate #generate-form.emaillist .gen-fields{display:none}.vipcode #vip-generate td,.email-attendees #vip-generate td{padding:2px 0 2px 10px}.vipcode #vip-generate td>label,.email-attendees #vip-generate td>label{width:130px}.vipcode #vip-generate td:nth-child(2),.email-attendees #vip-generate td:nth-child(2){width:35%}.vipcode #vip-generate .common-width,.email-attendees #vip-generate .common-width{width:200px}.vipcode #vip-generate .quota-msgs,.email-attendees #vip-generate .quota-msgs{display:none}.vipcode #vip-generate .kd-select,.email-attendees #vip-generate .kd-select{margin-bottom:10px}.vipcode #vip-generate .kd-select>div,.email-attendees #vip-generate .kd-select>div{float:left;width:100%}.vipcode #vip-generate #expiry,.email-attendees #vip-generate #expiry{width:120px}.vipcode #vip-generate #vipcode,.email-attendees #vip-generate #vipcode{width:60px}.vipcode #vip-generate #email-preview,.email-attendees #vip-generate #email-preview{display:none}.vipcode #vip-generate #email-preview #email_subject,.email-attendees #vip-generate #email-preview #email_subject{width:650px}.vipcode #vip-status,.email-attendees #vip-status{vertical-align:top;margin-bottom:25px}.vipcode #vip-status #code-list th,.vipcode #vip-status #code-list td,.email-attendees #vip-status #code-list th,.email-attendees #vip-status #code-list td{padding:4px 8px}.vipcode #vip-status #vip-table,.email-attendees #vip-status #vip-table{max-height:500px;overflow:auto}.vipcode #email,.email-attendees #email{margin-bottom:0;width:230px}.vipcode #promocode-detail td,.email-attendees #promocode-detail td{border-bottom:1px solid #ccc}.vipcode #promocode-detail .amnt,.email-attendees #promocode-detail .amnt{width:100px}.vipcode table.decorated td.warning-msg,.email-attendees table.decorated td.warning-msg{color:#f00}.email-attendees input[type=text]{padding:0 4px 0 4px}.email-attendees td{padding-top:10px;vertical-align:top;width:50px}.email-attendees p,.email-attendees #attendee_message{margin:0 0 0 0}.email-attendees .errormsg{margin-left:10px}.email-attendees #email_subject{width:650px}.tab{cursor:pointer;height:40px;padding:10px 5px 0 0}.tab-container{overflow:auto;padding-top:20px}#tab-generate-promo-codes,#tab-manage-promo-codes{border-left:1px solid #e5e5e5;float:left;padding-left:24px;padding-right:24px}.tabs-bottom{border-bottom:1px solid #e5e5e5;margin-top:-12px;margin-bottom:25px;width:100%}#tab-attendee-type{text-align:left;float:left;padding-right:24px}.selected-tab{color:#1155cc}#generate-promo-codes,#manage-promo-codes{display:none}#gc-appbar a{margin-right:0}#assign-inviter-table td{width:25%}#assign-inviter-table #quota{width:190px}#assign-inviter-table .used_quota_info{display:none}#assign-inviter-table .disabled-select{background:#f1f1f1;color:#999}#assigned-inviters .delete-span{color:#fec4bc;cursor:pointer;font-weight:bold}#assigned-inviters .decorated tr.selected,#assigned-inviters .decorated tr.selected:hover{background-color:#ccc}#assigned-inviters .decorated tr.selected .delete-span,#assigned-inviters .decorated tr.selected:hover .delete-span{color:#dd4b39}#assigned-inviters .decorated tr:hover{background-color:#e0ecf8}#assigned-inviters .decorated tr:hover .delete-span{color:#dd4b39}#assigned-inviters .decorated tr th{width:250px}#assigned-inviters .decorated tr td{cursor:pointer}.errormsg{display:none;color:#dd4b39}#code-list tr{height:62px}#code-list tr .successmsg,#code-list tr .errormsg{display:none;font-size:11px;position:absolute;white-space:nowrap}#duplicate-invitees{margin-top:15px}#duplicate-invitees div{max-height:300px;overflow:scroll}#promo-error,#promo-success{display:none;left:-100px}#loading-duplicates{position:static;margin-top:15px}#spreadsheet-note{background-color:#efefef;border-left:6px solid #999;display:none;padding:6px 8px}.embed-showcase-panel{height:30px}.embed-showcase-panel #embed-button-container{float:right}.widget-close-button{background:transparent url(/_static/images/x.png) no-repeat;border:0;cursor:pointer;float:right;height:25px;opacity:0.5;outline:0;overflow:hidden;width:25px;z-index:102}.widget-close-button:hover{opacity:0.75}.widget-code-input{background:#fff;border:1px solid #d9d9d9;border-top:1px solid #999;color:#09af7d;font-size:11px;height:20px;padding:1px 8px}.widget-detail-panel{background:#fff;border:solid 1px #999;color:#202020;display:inline-block;left:30%;position:absolute;top:35%;z-index:400;-webkit-box-shadow:rgba(0,0,0,0.25) 1px 1px 8px 0;-moz-box-shadow:rgba(0,0,0,0.25) 1px 1px 8px 0;box-shadow:rgba(0,0,0,0.25) 1px 1px 8px 0}.widget-embed-code-text{padding-top:3px}.widget-note{color:#8c8c8c;font-size:10px}.widget-overlay{background-color:#ccc;display:none;left:0;min-height:100%;min-width:100%;opacity:.75;position:absolute;top:0;z-index:300}.widget-preview-td{vertical-align:top}.widget-preview-text{margin-top:-18px}.widget-project{background:#30a1e6;bottom:0px;color:#fff;font-size:16px;opacity:.75;padding:10px 0px;position:absolute;text-align:center}.widget-table{margin:55px 150px 20px 50px}.widget-table td{padding-bottom:15px}.widget-tag-font{font-weight:bold}.widget-text{padding-right:15px;text-align:right;vertical-align:baseline}.kd-tooltip{background:#444;color:#fff;display:block;font-size:11px;font-weight:bold;line-height:29px;margin-left:20px;outline:1px solid rgba(255,255,255,0.5);padding:0 10px;position:absolute;text-align:center;top:20px;-webkit-box-shadow:rgba(0,0,0,0.2) 1px 2px 4px;-moz-box-shadow:rgba(0,0,0,0.2) 1px 2px 4px;box-shadow:rgba(0,0,0,0.2) 1px 2px 4px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;opacity:0.0;-webkit-transition:opacity,0.2s;-moz-transition:opacity,0.2s;-o-transition:opacity,0.2s;transition:opacity,0.2s}.kd-tooltip .pointer{display:block;left:24px;margin:0 0 0 -5px;outline:none;position:absolute;top:-5px;border-top:transparent;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #444}.kd-tooltip.visible{opacity:1.0}.fc{direction:ltr;font-size:1em;text-align:left}.fc table{border-collapse:collapse;border-spacing:0}.fc td,.fc th{padding:0;vertical-align:top}.fc .fc-header-space{padding-left:10px}.fc .ui-resizable-handle{display:block;font-size:300%;line-height:50%;overflow:hidden;position:absolute;z-index:99999}.fc .ui-draggable-dragging .fc-event-bg,.fc .fc-select-helper .fc-event-bg{display:none}.fc-header td{white-space:nowrap}.fc-header .fc-button{margin-bottom:1em;margin-right:-1px;vertical-align:top}.fc-header .fc-corner-right{margin-right:1px}.fc-header .ui-corner-right{margin-right:0}.fc-header .fc-state-hover,.fc-header .ui-state-hover{z-index:2}.fc-header .fc-state-down{z-index:3}.fc-header .fc-state-active,.fc-header .ui-state-active{z-index:4}.fc-header-left{text-align:left;width:25%}.fc-header-center{text-align:center}.fc-header-right{width:25%;text-align:right}.fc-header-title{display:inline-block;vertical-align:top}.fc-header-title h2{margin-top:0;white-space:nowrap}.fc-content{clear:both;border:1px solid rgba(0,0,0,0.1)}.fc-content thead th,.fc-content tbody th{background-color:#f1f1f1;color:#202020;font-weight:normal;font-size:12px}.fc-view{width:100%}.fc-widget-header,.fc-widget-content{border:1px solid #f1f1f1}.fc-state-highlight{background:#ffc}.fc-cell-overlay{background:#9cf;opacity:.2;filter:alpha(opacity=20)}.fc-button{background-color:#f5f5f5;border:1px solid #dcdcdc;border:1px solid rgba(0,0,0,0.1);color:#666;cursor:pointer;font-size:11px;font-weight:bold;height:27px;line-height:27px;min-width:54px;padding:0 8px;text-align:center;text-decoration:none;display:-moz-inline-stack;display:inline-block;vertical-align:middle;*vertical-align:auto;zoom:1;*display:inline;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;background:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #f5f5f5), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f5f5f5,#f1f1f1);background:-moz-linear-gradient(top, #f5f5f5,#f1f1f1);background:-o-linear-gradient(top, #f5f5f5,#f1f1f1);background:linear-gradient(top, #f5f5f5,#f1f1f1);-webkit-transition:all,0.218s;-moz-transition:all,0.218s;-o-transition:all,0.218s;transition:all,0.218s}.fc-button.fc-button-prev,.fc-button.fc-button-next{height:29px;min-width:36px;padding:0 0;width:36px}.fc-button:focus{border:1px solid #4d90fe;outline:none}.fc-button-prev .fc-button-inner,.fc-button-next .fc-button-inner{display:block;width:1px;height:1px}.fc-button-prev .fc-button-content,.fc-button-next .fc-button-content{background-image:url("/_static/images/icons_sprite.cache.png");background-repeat:no-repeat;color:#f1f1f1;display:block;float:right;height:21px;left:26px;position:relative;text-align:center;text-indent:-9999px;top:1px;white-space:nowrap;width:21px}.fc-button-prev .fc-button-content{background-position:-36px -14px}.fc-button-next .fc-button-content{background-position:-66px -14px}.fc-state-hover{background-color:#f8f8f8;border:1px solid #c6c6c6;color:#333;background:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #f8f8f8), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f8f8f8,#f1f1f1);background:-moz-linear-gradient(top, #f8f8f8,#f1f1f1);background:-o-linear-gradient(top, #f8f8f8,#f1f1f1);background:linear-gradient(top, #f8f8f8,#f1f1f1);-webkit-box-shadow:rgba(0,0,0,0.1) 0 1px 1px 0;-moz-box-shadow:rgba(0,0,0,0.1) 0 1px 1px 0;box-shadow:rgba(0,0,0,0.1) 0 1px 1px 0;-webkit-transition:all,0;-moz-transition:all,0;-o-transition:all,0;transition:all,0}.fc-state-down,.fc-state-active{background-color:#f6f6f6;background:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #f6f6f6), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f6f6f6,#f1f1f1);background:-moz-linear-gradient(top, #f6f6f6,#f1f1f1);background:-o-linear-gradient(top, #f6f6f6,#f1f1f1);background:linear-gradient(top, #f6f6f6,#f1f1f1);-webkit-box-shadow:rgba(0,0,0,0.1) 0 1px 2px 0 inset;-moz-box-shadow:rgba(0,0,0,0.1) 0 1px 2px 0 inset;box-shadow:rgba(0,0,0,0.1) 0 1px 2px 0 inset}.fc-state-disabled{background:#fff;border:1px solid #f3f3f3;border:1px solid rgba(0,0,0,0.05);color:#b8b8b8;cursor:default;pointer-events:none}.fc-event{border-style:none;border-width:0;font-size:.85em;cursor:default}a.fc-event,.fc-event-draggable{cursor:pointer}a.fc-event{text-decoration:none}.fc-rtl .fc-event{text-align:right}a.fc-past,.groups #gdg-calender-container a.fc-past,a.fc-present,.groups #gdg-calender-container a.fc-present,a.fc-future,.groups #gdg-calender-container a.fc-future{-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px}a.fc-past,.groups #gdg-calender-container a.fc-past{background-color:#999;border:1px solid #999;color:#999}a.fc-present,.groups #gdg-calender-container a.fc-present{background-color:#dd4b39;border:1px solid #dd4b39;color:#dd4b39}a.fc-future,.groups #gdg-calender-container a.fc-future{background-color:#4d90fe;border:1px solid #4d90fe;color:#4d90fe}.fc-event-inner{position:relative;width:100%;height:100%;border-style:solid;border-width:1px;overflow:hidden}.fc-event-time,.fc-event-title{color:#fff;padding:0 1px;word-wrap:break-word}.fc .ui-resizable-handle{display:block;font-size:300%;line-height:50%;overflow:hidden;position:absolute;z-index:99999}.fc-event-hori{border-width:1px 0;margin-bottom:1px}.fc-event-hori .ui-resizable-e{cursor:e-resize;height:100% !important;right:-3px !important;top:0 !important;width:7px !important}.fc-event-hori .ui-resizable-w{cursor:w-resize;height:100% !important;left:-3px !important;top:0 !important;width:7px !important}.fc-event-hori .ui-resizable-handle{_padding-bottom:14px}.fc-corner-left{margin-left:1px}.fc-corner-left .fc-button-inner,.fc-corner-left .fc-event-inner{margin-left:-1px}.fc-corner-left .fc-event-inner{border-left-width:1px}.fc-corner-right{margin-right:1px}.fc-corner-right .fc-button-inner,.fc-corner-right .fc-event-inner{margin-right:-1px}.fc-corner-right .fc-event-inner{border-left-width:1px}.fc-corner-top{margin-top:1px}.fc-corner-top .fc-event-inner{margin-top:1px;border-top-width:1px}.fc-corner-bottom{margin-bottom:1px}.fc-corner-bottom .fc-event-inner{border-bottom-width:1px;margin-bottom:-1px}table.fc-border-separate{border-collapse:separate}fc-border-separate th,fc-border-separate td{border-width:1px 0 0 1px}fc-border-separate th.fc-last,fc-border-separate td.fc-last{border-right-width:1px}fc-border-separate tr.fc-last th,fc-border-separate tr.fc-last td{border-bottom-width:1px}fc-border-separate tr.fc-first td,fc-border-separate tr.fc-first th{border-top-width:0}.fc-grid th{text-align:center}.fc-grid .fc-day-number{float:right;padding:0 2px}.fc-grid .fc-other-month .fc-day-number{filter:alpha(opacity=30);opacity:0.3}.fc-grid .fc-day-content{clear:both;padding:2px 2px 1px}.fc-grid .fc-event-time{font-weight:bold}.fc-rtl .fc-grid .fc-day-number{float:left}.fc-rtl .fc-grid .fc-event-time{float:right}.fc-agenda table{border-collapse:separate}.fc-agenda .fc-agenda-axis{font-weight:normal;padding:0 4px;text-align:right;vertical-align:middle;white-space:nowrap;width:50px}.fc-agenda .fc-day-content{padding:2px 2px 1px}.fc-agenda-days th{text-align:center}.fc-agenda-days .fc-agenda-axis{border-right-width:1px}.fc-agenda-days .fc-col0{border-left-width:0}.fc-agenda-allday th{border-width:0 1px}.fc-agenda-allday .fc-day-content{min-height:34px;_height:34px}.fc-agenda-divider-inner{height:2px;overflow:hidden}.fc-widget-header .fc-agenda-divider-inner{background:#eee}.fc-agenda-slots th{border-width:1px 1px 0}.fc-agenda-slots td{background:none;border-width:1px 0 0}.fc-agenda-slots td div{height:20px}.fc-agenda-slots tr.fc-slot0 th,.fc-agenda-slots tr.fc-slot0 td{border-top-width:0}.fc-agenda-slots tr.fc-minor th,.fc-agenda-slots tr.fc-minor td{border-top-width:dotted}.fc-agenda-slots tr.fc-minor th.ui-widget-header{*border-top-style:solid}.fc-event-vert{border-width:0 1px}.fc-event-vert .fc-event-head,.fc-event-vert .fc-event-content{overflow:hidden;position:relative;width:100%;z-index:2}.fc-event-vert .fc-event-time{font-size:10px;white-space:nowrap}.fc-event-vert .fc-event-bg{background:#fff;filter:alpha(opacity=30);height:100%;left:0;opacity:.3;position:absolute;top:0;width:100%;z-index:1}.fc-event-vert .ui-resizable-s{bottom:0 !important;cursor:s-resize;font-family:monospace;font-size:11px !important;height:8px !important;line-height:8px !important;overflow:hidden !important;text-align:center;width:100% !important}.fc .ui-draggable-dragging .fc-event-bg,.fc-select-helper .fc-event-bg{display:none}.fc-agenda .ui-resizable-resizing{_overflow:hidden}.calender-prev-overlay-css{opacity:0.6;cursor:default}.fc-attending{background-color:#3d9400 !important;border-color:#3d9400 !important;color:#3d9400 !important}.fc-organizing{background-color:red !important;border-color:red !important;color:red !important}td[class*='fc-day']:hover{cursor:pointer;background-color:#eee}.fc-icon-preview{height:19px;margin:2px 3px 0 2px;width:20px;float:right;background-size:contain;background-repeat:no-repeat}.groups{font-size:13px}.groups h4,.groups h5,.groups h6{font-size:13px}.groups h1{color:#333}.groups h2{line-height:1.1;color:#333}.groups h3{font-size:14px;line-height:1.57}.groups h5,.groups p,.groups pre,.groups table{margin:10px 0}.groups h6{margin:10px 0 -10px}.groups a{color:#15c;text-decoration:none}.groups #devs-nav{font-size:14px;height:31px !important;padding-bottom:5px;padding-top:5px}.groups #devs-nav .active-sub{color:#333;cursor:default;font-weight:bold;text-decoration:none}.groups #devs-nav li{padding-right:20px}.groups h1,.groups h2,.groups h3,.groups h4{margin:20px 0 10px}.groups a:visited{color:#7847b2}.groups a:hover{text-decoration:underline}.groups #gdg-calender-container h2{color:#222;font-size:16px;font-weight:normal;line-height:24px;margin-top:0px}.groups #wrapper{padding:15px 0;max-width:960px}.groups #wrapper table.decorated{border-collapse:collapse;border-color:#dcdcdc;border-spacing:0;border-style:solid;border-width:0 0 1px 0;display:none}.groups #wrapper table.decorated thead th{background:#f1f1f1;border-top:1px solid #dcdcdc;color:#444;padding:2px 0}.groups #wrapper table.decorated td{border-color:#dcdcdc;border-style:solid;border-width:1px 0 0 0;color:#444;margin:0;padding:1px;width:31%}.groups #wrapper table.decorated .text-center{text-align:center}.groups #wrapper #group-counter{display:none}.groups #wrapper #next-link-container{cursor:pointer;float:right}.groups #wrapper #next-link-container a{display:none}.groups #wrapper #previous-link-container{cursor:pointer;float:left}.groups #wrapper #previous-link-container a{display:none}.groups #wrapper .import-export-container{padding:20px 0 20px 0}.groups #wrapper #import-button{margin-left:10px}.groups #wrapper #create-group-btn,.groups #wrapper #edit-group-btn{float:right;margin-bottom:10px}.groups #wrapper #delete-group-btn{float:right;margin-bottom:10px;margin-left:10px}.groups #wrapper #group-overlay{background-color:#ccc;display:none;left:0;min-height:100%;min-width:100%;opacity:.75;position:fixed;top:0;z-index:300}.groups #wrapper #notification,.groups #wrapper #error-message{background-color:#f9edbe;border:1px solid #f0c36d;color:#484848;display:none;font-weight:bold;left:25%;margin-left:-75px;margin-top:-16px;padding:0 10px;position:absolute}.groups #wrapper #create-group-form-container,.groups #wrapper #confirm-delete-group,.groups #wrapper #edit-group-form-container{width:500px}.groups #wrapper #create-group-form-container #create-group-heading,.groups #wrapper #create-group-form-container #edit-group-heading,.groups #wrapper #confirm-delete-group #create-group-heading,.groups #wrapper #confirm-delete-group #edit-group-heading,.groups #wrapper #edit-group-form-container #create-group-heading,.groups #wrapper #edit-group-form-container #edit-group-heading{margin-bottom:20px;text-align:center}.groups #wrapper #create-group-form-container #create-group-table,.groups #wrapper #create-group-form-container #edit-group-table,.groups #wrapper #confirm-delete-group #create-group-table,.groups #wrapper #confirm-delete-group #edit-group-table,.groups #wrapper #edit-group-form-container #create-group-table,.groups #wrapper #edit-group-form-container #edit-group-table{width:400px}.groups #wrapper #create-group-form-container #submit-button,.groups #wrapper #confirm-delete-group #submit-button,.groups #wrapper #edit-group-form-container #submit-button{background-color:#4d90fe;border-color:#3079ed;border:1px solid rgba(0,0,0,0.1);border-radius:2px;color:#fff;font-size:11px;font-weight:bold;height:29px;width:70px}.groups #wrapper #create-group-form-container .td-heading,.groups #wrapper #confirm-delete-group .td-heading,.groups #wrapper #edit-group-form-container .td-heading{padding-right:20px;text-align:right}.groups #wrapper #create-group-form-container .td-button-right,.groups #wrapper #confirm-delete-group .td-button-right,.groups #wrapper #edit-group-form-container .td-button-right{padding-top:25px;text-align:right}.groups #wrapper #create-group-form-container .td-button-center,.groups #wrapper #confirm-delete-group .td-button-center,.groups #wrapper #edit-group-form-container .td-button-center{padding-top:25px;text-align:center}.groups #wrapper #confirm-delete-group{background-color:#fff;border:1px solid rgba(0,0,0,0.1);border-color:#3079ed;border-radius:2px;display:none;height:150px;left:30%;padding:25px;position:absolute;top:10%;width:400px;z-index:450}.groups #wrapper #main{float:left;margin-right:20px;width:100%;display:block}.groups #wrapper #main #gdg-directory-incubating-marker{margin-bottom:15px;margin-top:10px;vertical-align:middle}.groups #wrapper #main-with-sidebar{float:left;margin-right:20px;width:70%;display:block}.groups #wrapper #main-with-sidebar>div{float:left}.groups #wrapper #main-with-sidebar span.gdg-stat{color:#777}.groups #wrapper #main-with-sidebar .stats-container{margin:0px 5px 0px 0px;width:32%}.groups #wrapper #main-with-sidebar .stats-container .separator{height:2px;margin:5px 0px 5px 0px;width:90%}.groups #wrapper #main-with-sidebar .stats-container .separator span{display:block;float:left;height:100%;width:16%}.groups #wrapper #main-with-sidebar .stats-container .separator .blue{background-color:#4d90fe}.groups #wrapper #main-with-sidebar .stats-container .separator .red{background-color:#dd4b39}.groups #wrapper #main-with-sidebar .stats-container .separator .green{background-color:#3d9400}.groups #wrapper #main-with-sidebar .stats-container .separator .yellow{background-color:#f9edbe}.groups #wrapper #main-with-sidebar #chapter-icon{float:right;margin-top:20px}.groups #wrapper #main-with-sidebar #chapter-icon img{height:60px}.groups #wrapper #map_canvas{height:360px;width:100%}.groups #wrapper #sidebar{float:left;background-color:#f1f1f1;border:1px solid #ccc;border-radius:5px 5px 5px 5px;display:inline;overflow:hidden;padding:0 15px 15px 15px;margin-top:25px;width:24%}.groups #wrapper #sidebar li{margin-bottom:5px;margin-left:10px}.groups #wrapper #sidebar .gdg-logo{padding:12px 0}.groups #wrapper #sidebar h2 span{color:#777;font-size:12px}.groups #wrapper #sidebar .gdg-stat-small{color:#589654;font-size:20px;margin:0;padding:0}.groups #wrapper #sidebar .gdg-stat{font-size:48px;color:#589654;line-height:50px;padding:0;margin:0}.groups #wrapper #sidebar .gdg-member-table{width:50%}.groups #wrapper #sidebar .gdg-member-table td{padding:1px}.groups #wrapper #sidebar .gdg-member-table th{background-color:#f1f1f1;color:#222;font-weight:normal;text-align:right}.groups #wrapper #sidebar .tiny-organizer-photo{height:19px;vertical-align:text-bottom;width:19px}.groups #wrapper #sidebar .thin-line{background-color:#eee;border:0 none;height:1px;margin:12px 0;width:100%}.groups #wrapper h3.sidebar-header{margin:0;padding:0}.groups #wrapper .live{color:#44a8f8;font-weight:bold}.groups #wrapper .rss-icon{padding-left:15px;position:relative;top:1px}.groups #wrapper .yt-inspired{float:left;padding-right:7px;position:relative;top:-5px}.groups #wrapper .hangout-camera-icon{float:left;padding-right:5px;position:relative;top:5px}.groups #wrapper .devs-photo{border:1px solid #ccc;margin-top:10px;width:100%;overflow:hidden}.groups #wrapper .gplus-icon{margin:0;padding:0;position:relative;top:10px}.groups #wrapper .gdg-program-icon{border:0px;height:100px;width:100px}.groups #wrapper .gdg-program-logo{border:0px;height:75px;width:200px}.groups #wrapper .gdg-list-item{margin-left:15px}.groups #wrapper .gdg-download-link{color:#551a8b}.groups #wrapper .gdg-info-span{opacity:.75}.groups #wrapper .gdg-column{float:left;width:25%}.groups #wrapper .gdg-no-bullets{list-style-type:none;margin-left:-20px}.groups #wrapper .gdg-no-bullets li.active a,.groups #wrapper .gdg-no-bullets li.inactive a,.groups #wrapper .gdg-no-bullets li.pending a{margin-left:20px}.groups #wrapper .gdg-no-bullets li.incubating{margin-top:2px}.groups #wrapper .gdg-no-bullets li.incubating a{margin-left:5px;position:relative;top:-2px}.groups #wrapper .gdg-no-bullets li.incubating:before{content:url(/_static/images/gdg-directory-incubating-marker.png)}.groups #wrapper .gdg-no-bullets .country-link{color:#202020}.groups{font-family:"open sans",arial,sans-serif}.groups h4,.groups h5,.groups h6{font-weight:normal;margin:20px 0 10px}.groups h1{font-size:24px}.groups h2{font-size:20px}.permanent-url-button{background-color:#f1f1f1;border:solid 1px #ccc;cursor:pointer;display:inline-block;padding:10px;vertical-align:top}.permanent-url-button .permanent-url-icon{background-image:url("/_static/images/showcase_icons.png");background-position:-40px -7px;height:7px;overflow:hidden;width:19px}.permanent-url-button:hover{background:#f8f8f8;border:1px solid #c6c6c6;color:#333;-webkit-box-shadow:rgba(0,0,0,0.1) 0 1px 1px 0;-moz-box-shadow:rgba(0,0,0,0.1) 0 1px 1px 0;box-shadow:rgba(0,0,0,0.1) 0 1px 1px 0;z-index:80}.permanent-url-popup{background:#fff;border:1px solid rgba(0,0,0,0.2);cursor:default;font-size:13px;height:auto;left:0;margin:0;outline:none;padding:0 0 6px;position:absolute;top:0;width:400px;z-index:999;-webkit-box-shadow:rgba(0,0,0,0.2) 0 2px 4px 0;-moz-box-shadow:rgba(0,0,0,0.2) 0 2px 4px 0;box-shadow:rgba(0,0,0,0.2) 0 2px 4px 0}.permanent-url-popup input{border:1px solid #d9d9d9;border-top:1px solid silver;font-size:13px;height:25px;margin:10px;padding:1px 8px;position:relative;width:360px}.multiple-input-widget input{vertical-align:middle}.multiple-input-widget input[type=button]{margin-left:10px}.multiple-input-widget .delete-span{color:#fec4bc;cursor:pointer;font-weight:bold;margin-right:5px}.multiple-input-widget .delete-span:hover{color:#dd4b39}.multiple-input-widget .input-list{background:#f1f1f1;margin-top:10px;min-height:20px;padding:10px}.multiple-input-widget .kd-textinput{margin-right:10px}.kd-menubutton{position:relative}.kd-menubutton .kd-disclosureindicator{float:right;margin-top:10px;margin-left:7px;opacity:.8;-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none;*float:none;*position:relative;*top:-3px;margin-top:8px}.kd-menubutton span.label{display:inline-block}.kd-menubutton .kd-menulist{text-align:left;position:absolute;z-index:99;background:#FFF;height:0;width:auto;-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=0);opacity:0}.kd-menubutton .kd-menulist.shown{height:auto;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100);opacity:1;-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.kd-menulistitem{display:block;padding:6px 44px 6px 16px;position:relative;color:#333;font-size:13px;font-weight:normal;cursor:default;margin:0;-webkit-transition:background,0.13s;-moz-transition:background,0.13s;-o-transition:background,0.13s;transition:background,0.13s}.kd-menulistitem.disabled,.kd-menulistitem:hover{color:#ccc;background-color:#FFF;cursor:default}.kd-menulistitem:hover,.kd-menulistitem.selected{background-color:#f1f1f1;color:#222;-webkit-transition:background,0s;-moz-transition:background,0s;-o-transition:background,0s;transition:background,0s}.kd-menulist{background:#FFF;z-index:99;outline:1px solid rgba(0,0,0,0.2);padding:0 0 6px;white-space:nowrap;overflow:auto;margin:0;-webkit-transition:opacity,0.218s;-moz-transition:opacity,0.218s;-o-transition:opacity,0.218s;transition:opacity,0.218s;-webkit-box-shadow:0px 2px 4px rgba(0,0,0,0.2);-moz-box-shadow:0px 2px 4px rgba(0,0,0,0.2);box-shadow:0px 2px 4px rgba(0,0,0,0.2)}.kd-textinput{height:29px;background-color:#fff;line-height:27px;padding-left:8px;color:333;border:1px solid #d9d9d9;border-top:1px solid silver;display:inline-block;vertical-align:top;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-border-radius:"1px";-moz-border-radius:"1px";-ms-border-radius:"1px";-o-border-radius:"1px";border-radius:"1px"}.kd-textinput:hover{border:1px solid #b9b9b9;border-top:1px solid #a0a0a0;-webkit-box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.1)";-moz-box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.1)";box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.1)"}.kd-textinput:focus{-webkit-box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.3)";-moz-box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.3)";box-shadow:"inset 0px 1px 2px rgba(0,0,0,0.3)";outline:none;border:1px solid #4d90fe}.kd-textinput.disabled,.kd-textinput.disabled:hover,.kd-textinput.disabled:active,.kd-textinput:disabled{background:#fff;border:1px solid #f3f3f3;border:1px solid rgba(0,0,0,0.05);color:#b8b8b8;cursor:default;pointer-events:none}.kd-zippy span.row{cursor:pointer;display:block}.kd-zippy span.row.expanded .kd-zippycontent{height:165px}.kd-zippycontent{position:relative;overflow:hidden;height:0;-webkit-transition:all 0.5s;-moz-transition:all 0.5s;-o-transition:all 0.5s;transition:all 0.5s}.kd-zippycontent li{padding-left:5px;margin-left:0px;background-repeat:no-repeat;background-position:2px center;line-height:23px}.kd-zippycontent>*{position:absolute;bottom:0;left:0;width:100%}.kd-disclosureindicator{display:inline-block;width:5px;height:7px;background:url("/_static/images/disclosure_arrow_dk_grey.png") center no-repeat;-webkit-transition:all 0.5s;-moz-transition:all 0.5s;transition:all 0.5s}.kd-disclosureindicator.down{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);transform:rotate(90deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1)}.regional-dashboard-ui{width:500px;padding-top:1%;padding-left:1%;border:1px solid #999;display:block;padding:10px;margin-top:5px;margin-left:30%}.regional-dashboard-viz-table{width:300px}.regional-dashboard-viz-table th,.regional-dashboard-viz-table tr,.regional-dashboard-viz-table td{border:0 !important}.regional-dashboard-viz-table .google-visualization-table-div-page .a-d-e-f-g,.regional-dashboard-viz-table .google-visualization-table-div-page .a-d-e-h-g{border-style:none}.regional-dashboard-viz-table .google-visualization-table-div-page .a-d-e{background:none;cursor:pointer}.regional-dashboard-admin-header{background-color:#6199df}.regional-dashboard-admin-header td{color:#fff;font-weight:bold}.regional-dashboard-admin-header td.google-visualization-table-th{text-align:left;padding-left:11px}.google-visualization-table-th{text-align:center}body.regional_dashboard_admin div.ui-widget.regional-dashboard label{font-weight:bold}.ui-widget.regional-dashboard{display:inline}.ui-widget.regional-dashboard label{display:inline}body.regional_dashboard_admin>.ui-autocomplete{cursor:default;position:absolute}body.regional_dashboard_admin>.ui-autocomplete{width:1px}body.regional_dashboard_admin>.ui-menu{display:block;float:left;list-style:none outside none;margin:0;padding:2px}body.regional_dashboard_admin>.ui-menu .ui-menu{margin-top:-3px}body.regional_dashboard_admin>.ui-menu .ui-menu-item{clear:left;float:left;margin:0;padding:0;width:100%}body.regional_dashboard_admin>.ui-menu .ui-menu-item a{display:block;line-height:1.5;padding:2.6px 5.2px;text-decoration:none}body.regional_dashboard_admin>.ui-menu .ui-menu-item a.ui-state-hover,body.regional_dashboard_admin>.ui-menu .ui-menu-item a.ui-state-active{font-weight:normal;margin:-1px}body.regional_dashboard_admin .ui-state-hover{background-color:#f1f1f1;color:#202020;font-weight:bold}body.regional_dashboard_admin>.ui-widget-content{background-color:#fff;color:#202020;border:1px solid #ddd}body.regional_dashboard_admin .ui-widget.tag-admin{display:inline;padding-right:100px}body.regional_dashboard_admin .ui-widget.tag-admin label{display:inline}body.regional_dashboard_admin .google-visualization-table-div-page>div:nth-child(2){float:right}body.regionaldashboard #result{position:fixed}body.regionaldashboard table{padding-top:50px}body.regionaldashboard table td{text-align:center;padding:3px;width:50%}body.regionaldashboard table td.align-left{text-align:left}body.regionaldashboard table td.align-right{text-align:right}body.regionaldashboard input.full-length{width:90%}body.regionaldashboard table.center{padding-top:30px;margin-right:30%;margin-left:30%;width:40%}body.regionaldashboard #error-message-measurement,body.regionaldashboard #success-message-measurement{padding-top:20px}body.regionaldashboard .visible-program,body.regionaldashboard .hidden-program{height:10px;margin-left:19px;padding:2px;width:12px}body.regionaldashboard .visible-program{background-image:url(/images/check.png)}body.regionaldashboard .hidden-program{background-image:url(/images/red_x.png)}#regional-dashboard-result-container{text-align:center;margin:0 auto;width:50px}#regional-dashboard-result-container div{display:none;text-align:center;vertical-align:top;background-color:#F9EDBE;border:1px solid #f0c36d;color:#484848;font-size:13px;font-weight:bold;-moz-border-radius:2px;-webkit-border-radius:2px;-o-border-radius:2px;-ms-border-radius:2px;-khtml-border-radius:2px;border-radius:2px;-moz-box-shadow:rgba(0,0,0,0.2) 0 2px 4px;-webkit-box-shadow:rgba(0,0,0,0.2) 0 2px 4px;-o-box-shadow:rgba(0,0,0,0.2) 0 2px 4px;box-shadow:rgba(0,0,0,0.2) 0 2px 4px;margin-left:-60px;margin-top:15px;position:absolute;padding:0 10px}.regional-dashboard-admin{display:inline;top:1%;width:100%}.hide-message{display:none}.regional-dashboard-admin-result-container-ui{text-align:center;margin:0 auto;width:156px;margin-bottom:10px;width:200px;margin-top:-5px}.regional-dashboard-admin-result-container-ui div{display:none;text-align:center;vertical-align:top;background-color:#F9EDBE;border:1px solid #f0c36d;color:#484848;font-size:13px;font-weight:bold;-moz-border-radius:2px;-webkit-border-radius:2px;-o-border-radius:2px;-ms-border-radius:2px;-khtml-border-radius:2px;border-radius:2px;-moz-box-shadow:rgba(0,0,0,0.2) 0 2px 4px;-webkit-box-shadow:rgba(0,0,0,0.2) 0 2px 4px;-o-box-shadow:rgba(0,0,0,0.2) 0 2px 4px;box-shadow:rgba(0,0,0,0.2) 0 2px 4px;margin-left:-60px;position:relative}.program-fields-errors{color:#dd4b39}.measurement-fields-errors{color:#dd4b39}.left-align-field{text-align:left !important}.right-align-field{text-align:right !important}.regional-dashboard-add-quarter-ui{margin-top:20px;margin-left:33%}.regional-dashboard-add-quarter-overlay-css{opacity:0.6;cursor:default}.bulk-result-container{position:absolute;left:45%}.bulk-result{width:250px}.bulk-edit-table-css{left:30%;position:absolute;width:37%;margin-top:50px}.bulk-edit-table-css td{padding-bottom:5px;text-align:center}.bulk-edit-table-css textarea{overflow:hidden}.bulk-edit-table-css .bulk-table-header{width:100% !important}.bulk-edit-table-css .bulk-edit-foot-css{padding-bottom:5px}#wl-admin-error{display:none;border:2px solid #c00;background-color:#fcc;color:black;padding:1em}#wl-admin-error a{color:black;font-weight:bold;text-decoration:underline}#wl-admin-query{position:relative;width:600px;padding:10px 20px;height:36px}#wl-admin-query .query-path-box{position:absolute}#wl-admin-query .query-button{position:absolute;left:332px}#wl-admin-query-path{width:300px;font-size:16px}#wl-admin-illustrated-path{padding:10px 20px;border-top:1px dashed #aaa;border-bottom:1px dashed #aaa;background-color:#eef;font-family:monospace;font-size:24px;overflow:auto}#wl-admin-illustrated-path a{text-decoration:none;border:none}#wl-admin-illustrated-path a:hover{border-bottom:1px dotted #333}#wl-admin-offer-delete{border-top:1px solid #ddd}#wl-admin-edit{padding:20px 0;width:800px}#wl-admin-edit-add-box{width:300px;float:left}#wl-admin-edit-list{width:495px;float:left}#wl-admin-edit-list li{list-style:none;clear:both}#wl-admin-edit-list .delete-box{float:left;width:30px;height:12px}#wl-admin-edit-list .email-addr-box{float:left;width:235px;overflow:auto}#wl-admin-edit-list .affiliation-box{float:left;width:100px}#wl-admin-edit-list .owner-box{float:left;width:75px}#wl-admin-child-lists{padding:20px;border-top:1px solid #ddd}#wl-admin-child-lists ul{margin-top:8px}.whitelist-admin .notice{width:600px;padding:0 0 10px 20px;color:#777;line-height:1.1em;font-style:italic}.whitelist-admin .explain-restrict{padding:20px}.whitelist-admin .explain-restrict .status{width:180px;float:left;font-size:24px;font-weight:bold}.whitelist-admin .explain-restrict .status.public{color:#009}.whitelist-admin .explain-restrict .status.restricted{color:#900}.whitelist-admin .explain-restrict .explain{width:396px;float:left}.whitelist-admin .parent-path{padding-left:2em}.whitelist-admin .cms-path{padding-left:2em;font-family:monospace}.whitelist-admin .and-subpaths{display:none}.whitelist-admin .create-whitelist-progress,.whitelist-admin .delete-whitelist-progress,.whitelist-admin .wl-edit-add-progress,.whitelist-admin .wl-edit-list-remove-progress{display:inline-block;margin-left:5px;position:absolute;width:20px;height:14px}.whitelist-admin .offer{padding:20px}.whitelist-admin .offer-button-box{float:left;width:180px}.whitelist-admin .offer-button-desc{float:left;width:476px}.whitelist-admin .wl-edit-list-remove-progress-box{float:left;margin-left:96px;margin-top:1em}.whitelist-admin .wl-edit-list-remove{float:left;margin-left:20px;margin-top:1em}.whitelist-admin .wl-edit-list-copy{float:right;margin-right:20px;margin-top:1em}.msgDialog .button.delete-confirmation-cancel{float:right}
diff --git a/native_client_sdk/doc_generated/_static/pygments.css b/native_client_sdk/doc_generated/_static/pygments.css
new file mode 100644
index 0000000..1a14f2a
--- /dev/null
+++ b/native_client_sdk/doc_generated/_static/pygments.css
@@ -0,0 +1,62 @@
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #eeffcc; }
+.highlight .c { color: #408090; font-style: italic } /* Comment */
+.highlight .err { border: 1px solid #FF0000 } /* Error */
+.highlight .k { color: #007020; font-weight: bold } /* Keyword */
+.highlight .o { color: #666666 } /* Operator */
+.highlight .cm { color: #408090; font-style: italic } /* Comment.Multiline */
+.highlight .cp { color: #007020 } /* Comment.Preproc */
+.highlight .c1 { color: #408090; font-style: italic } /* Comment.Single */
+.highlight .cs { color: #408090; background-color: #fff0f0 } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #303030 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0040D0 } /* Generic.Traceback */
+.highlight .kc { color: #007020; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #007020; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #007020; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #007020 } /* Keyword.Pseudo */
+.highlight .kr { color: #007020; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #902000 } /* Keyword.Type */
+.highlight .m { color: #208050 } /* Literal.Number */
+.highlight .s { color: #4070a0 } /* Literal.String */
+.highlight .na { color: #4070a0 } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #0e84b5; font-weight: bold } /* Name.Class */
+.highlight .no { color: #60add5 } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #d55537; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #007020 } /* Name.Exception */
+.highlight .nf { color: #06287e } /* Name.Function */
+.highlight .nl { color: #002070; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #062873; font-weight: bold } /* Name.Tag */
+.highlight .nv { color: #bb60d5 } /* Name.Variable */
+.highlight .ow { color: #007020; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mf { color: #208050 } /* Literal.Number.Float */
+.highlight .mh { color: #208050 } /* Literal.Number.Hex */
+.highlight .mi { color: #208050 } /* Literal.Number.Integer */
+.highlight .mo { color: #208050 } /* Literal.Number.Oct */
+.highlight .sb { color: #4070a0 } /* Literal.String.Backtick */
+.highlight .sc { color: #4070a0 } /* Literal.String.Char */
+.highlight .sd { color: #4070a0; font-style: italic } /* Literal.String.Doc */
+.highlight .s2 { color: #4070a0 } /* Literal.String.Double */
+.highlight .se { color: #4070a0; font-weight: bold } /* Literal.String.Escape */
+.highlight .sh { color: #4070a0 } /* Literal.String.Heredoc */
+.highlight .si { color: #70a0d0; font-style: italic } /* Literal.String.Interpol */
+.highlight .sx { color: #c65d09 } /* Literal.String.Other */
+.highlight .sr { color: #235388 } /* Literal.String.Regex */
+.highlight .s1 { color: #4070a0 } /* Literal.String.Single */
+.highlight .ss { color: #517918 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .vc { color: #bb60d5 } /* Name.Variable.Class */
+.highlight .vg { color: #bb60d5 } /* Name.Variable.Global */
+.highlight .vi { color: #bb60d5 } /* Name.Variable.Instance */
+.highlight .il { color: #208050 } /* Literal.Number.Integer.Long */
\ No newline at end of file
diff --git a/native_client_sdk/doc_generated/community/application-gallery.html b/native_client_sdk/doc_generated/community/application-gallery.html
new file mode 100644
index 0000000..81aca82a
--- /dev/null
+++ b/native_client_sdk/doc_generated/community/application-gallery.html
@@ -0,0 +1,7 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<section id="application-gallery">
+<span id="id1"></span><h1 id="application-gallery"><span id="id1"></span>Application Gallery</h1>
+</section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/community/index.html b/native_client_sdk/doc_generated/community/index.html
new file mode 100644
index 0000000..e8bb503
--- /dev/null
+++ b/native_client_sdk/doc_generated/community/index.html
@@ -0,0 +1,12 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<section id="community">
+<span id="id1"></span><h1 id="community"><span id="id1"></span>Community</h1>
+<p>This section contains pages related to the Native Client <em>community</em> - both
+<strong>implementors</strong> (contributors to the <a class="reference external" href="nacl_project_">open-source Native Client project</a>) and <strong>developers</strong>, who use Native Client to develop web
+applications.</p>
+<p>For a list of active forums where you can ask questions, check the
+<a class="reference internal" href="/native-client/help.html#help"><em>help page</em></a>.</p>
+</section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/community/middleware.html b/native_client_sdk/doc_generated/community/middleware.html
new file mode 100644
index 0000000..8cee6c7
--- /dev/null
+++ b/native_client_sdk/doc_generated/community/middleware.html
@@ -0,0 +1,7 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<section id="middleware-and-software-support">
+<h1 id="middleware-and-software-support">Middleware and Software Support</h1>
+</section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/community/security-contest/contest-announcement.html b/native_client_sdk/doc_generated/community/security-contest/contest-announcement.html
new file mode 100644
index 0000000..10507d9
--- /dev/null
+++ b/native_client_sdk/doc_generated/community/security-contest/contest-announcement.html
@@ -0,0 +1,75 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<section id="native-client-security-contest">
+<span id="contest-announcement"></span><h1 id="native-client-security-contest"><span id="contest-announcement"></span>Native Client Security Contest</h1>
+<div class="contents local topic" id="contents">
+<ul class="small-gap">
+<li><a class="reference internal" href="#what-it-is" id="id1">What it is</a></li>
+<li><a class="reference internal" href="#when" id="id2">When</a></li>
+<li><a class="reference internal" href="#what-s-in-it-for-you" id="id3">What’s in it for you</a></li>
+<li><a class="reference internal" href="#forum-native-client-announce" id="id4">Forum: native-client-announce</a></li>
+<li><a class="reference internal" href="#forum-native-client-discuss" id="id5">Forum: native-client-discuss</a></li>
+</ul>
+</div>
+<aside class="caution">
+The Native Client Security Contest has ended—check out the
+<a class="reference internal" href="/native-client/community/security-contest/index.html#contest-winners"><em>winning submissions</em></a>. We welcome your
+continued involvement in the project. You can help by submitting
+<a class="reference external" href="http://code.google.com/p/nativeclient/issues/list">bugs</a> and
+participating in the <a class="reference external" href="http://groups.google.com/group/native-client-discuss">Native Client discussion group</a>.
+</aside>
+<p>Do you think it is impossible to safely run untrusted x86 code on the
+web? Do you want a chance to impress a panel of some of the <a class="reference internal" href="/native-client/community/security-contest/index.html#contest-judges"><em>top
+security experts</em></a> in the world? Then submit an
+exploit to the Native Client Security contest and you could also win
+<a class="reference internal" href="/native-client/community/security-contest/contest-faq.html#contest-faq-prizes"><em>cash prizes</em></a>, not to mention bragging
+rights.</p>
+<section id="what-it-is">
+<h2 id="what-it-is">What it is</h2>
+<p><img alt="WHAT" src="/native-client/images/code-32.gif" /> This is a contest with the goal to test the security of Native Client.</p>
+<p>To participate, you will need to:</p>
+<ul class="small-gap">
+<li><a class="reference external" href="http://nativeclientsecuritycontest.appspot.com/register">Register</a>
+yourself (or your team)</li>
+<li><a class="reference external" href="http://code.google.com/p/nativeclient/wiki/Downloads?tm=2">Download</a>
+our latest build</li>
+<li><a class="reference external" href="https://groups.google.com/group/native-client-discuss">Join</a> the Native
+Client discussion group</li>
+<li><a class="reference external" href="https://code.google.com/p/nativeclient/issues">Report</a> the exploits you
+find to our team</li>
+</ul>
+</section><section id="when">
+<h2 id="when">When</h2>
+<p><img alt="WHEN" src="/native-client/images/calendar-32.gif" /> You can register for the contest on Wednesday, February
+25th 2009. The contest will end on Tuesday, May 5th 2009 at 11:59:59
+Pacific time. Sign up early to start reporting exploits as soon as
+possible.</p>
+</section><section id="what-s-in-it-for-you">
+<h2 id="what-s-in-it-for-you">What’s in it for you</h2>
+<p><img alt="PRIZES" src="/native-client/images/gift-32.gif" /> Participating in the contest means that you will engage with
+early stage research technology. In addition, your work will be
+reviewed by a <a class="reference internal" href="/native-client/community/security-contest/index.html#contest-judges"><em>panel of security experts</em></a> from
+some of the world’s most renowned universities, chaired by Edward
+Felten of Princeton University. Finally, by submitting high impact
+bug(s), you will also have the chance to compete to win one of our
+five cash prizes, as well as the recognition of your peers.</p>
+<div class="sidebar">
+<p class="first sidebar-title">More about Native Client</p>
+<ul class="last small-gap">
+<li><a class="reference external" href="http://code.google.com/p/nativeclient">Learn more about the Native Client open-source project</a></li>
+<li><a class="reference external" href="http://code.google.com/p/nativeclient/wiki/Downloads?tm=2">Download Native Client</a></li>
+<li><a class="reference external" href="http://static.googleusercontent.com/external_content/untrusted_dlcp/research.google.com/en/us/pubs/archive/34913.pdf">Read the research paper</a>
+(PDF)</li>
+</ul>
+</div>
+<div class="sidebar">
+<p class="first sidebar-title">Featured Video</p>
+<p>Watch a talk about Native Client at Stanford University.</p>
+<div class="last"><iframe width="640" height="360" src="//www.youtube.com/embed/L8m9U7p_Ntk?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div></div>
+</section><section id="forum-native-client-announce">
+<h2 id="forum-native-client-announce">Forum: native-client-announce</h2>
+<iframe src="https://groups.google.com/forum/embed/?place=forum/native-client-announce&showsearch=false&showtabs=false&theme=default&hideforumtitle=true&hidesubject=false&showpopout=true&parenturl=https%3A%2F%2Fdevelopers.google.com%2Fnative-client%2Fcommunity%2Fsecurity-contest%2Fcontest-announcement" scrolling="no" frameborder="1" width="768" height="512"></iframe></section><section id="forum-native-client-discuss">
+<h2 id="forum-native-client-discuss">Forum: native-client-discuss</h2>
+<iframe src="https://groups.google.com/forum/embed/?place=forum/native-client-discuss&showsearch=false&showtabs=false&theme=default&hideforumtitle=true&hidesubject=false&showpopout=true&parenturl=https%3A%2F%2Fdevelopers.google.com%2Fnative-client%2Fcommunity%2Fsecurity-contest%2Fcontest-announcement" scrolling="no" frameborder="1" width="768" height="512"></iframe></section></section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/community/security-contest/contest-faq.html b/native_client_sdk/doc_generated/community/security-contest/contest-faq.html
new file mode 100644
index 0000000..c13d001
--- /dev/null
+++ b/native_client_sdk/doc_generated/community/security-contest/contest-faq.html
@@ -0,0 +1,382 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<section id="security-contest-faq">
+<span id="contest-faq"></span><h1 id="security-contest-faq"><span id="contest-faq"></span>Security Contest FAQ</h1>
+<aside class="caution">
+The Native Client Security Contest has ended—check out the
+<a class="reference internal" href="/native-client/community/security-contest/index.html#contest-winners"><em>winning submissions</em></a>. We welcome your
+continued involvement in the project. You can help by submitting
+<a class="reference external" href="http://code.google.com/p/nativeclient/issues/list">bugs</a> and
+participating in the <a class="reference external" href="http://groups.google.com/group/native-client-discuss">Native Client discussion group</a>.
+</aside>
+<p>This FAQ is provided for reference only. For the complete official
+contest rules, see the Terms and Conditions.</p>
+<div class="contents local topic" id="contents">
+<ul class="small-gap">
+<li><a class="reference internal" href="#what-is-this-contest-about" id="id1">What is this contest about?</a></li>
+<li><a class="reference internal" href="#where-can-i-get-more-information-on-native-client" id="id2">Where can I get more information on Native Client?</a></li>
+<li><a class="reference internal" href="#what-people-are-you-looking-for" id="id3">What people are you looking for?</a></li>
+<li><a class="reference internal" href="#how-do-i-sign-up" id="id4">How do I sign up?</a></li>
+<li><a class="reference internal" href="#what-is-the-process-of-participating" id="id5">What is the process of participating?</a></li>
+<li><a class="reference internal" href="#how-many-prizes-are-there-what-are-the-prizes" id="id6">How many prizes are there? What are the prizes?</a></li>
+<li><a class="reference internal" href="#can-i-sign-up-as-a-team-how-many-people-can-be-a-member-of-my-team" id="id7">Can I sign up as a team? How many people can be a member of my team?</a></li>
+<li><a class="reference internal" href="#what-will-i-need-to-do-to-win" id="id8">What will I need to do to win?</a></li>
+<li><a class="reference internal" href="#who-is-going-to-judge-these-entries-who-are-these-people" id="id9">Who is going to judge these entries? Who are these people?</a></li>
+<li><a class="reference internal" href="#when-can-i-start-submitting-issues" id="id10">When can I start submitting issues?</a></li>
+<li><a class="reference internal" href="#registration-does-not-work-for-me-what-can-i-do" id="id11">Registration does not work for me—what can I do?</a></li>
+<li><a class="reference internal" href="#i-registered-as-a-team-but-i-want-to-change-the-team-composition-by-adding-or-removing-members-what-should-i-do" id="id12">I registered as a team but I want to change the team composition by adding or removing members. What should I do?</a></li>
+<li><a class="reference internal" href="#i-have-a-previous-engagement-and-i-cannot-sign-up-until-after-the-competition-starts-is-this-ok" id="id13">I have a previous engagement and I cannot sign up until after the competition starts. Is this ok?</a></li>
+<li><a class="reference internal" href="#my-team-has-accepted-the-terms-and-conditions-except-for-one-person-who-is-unavailable-whose-email-was-misspelled-etc-what-can-i-do" id="id14">My team has accepted the Terms and Conditions except for one person who is unavailable / whose email was misspelled / etc. What can I do?</a></li>
+<li><a class="reference internal" href="#can-i-enter-multiple-times" id="id15">Can I enter multiple times?</a></li>
+<li><a class="reference internal" href="#why-do-you-need-a-prize-recipient" id="id16">Why do you need a prize recipient?</a></li>
+<li><a class="reference internal" href="#we-want-to-change-the-prize-recipient-what-can-we-do" id="id17">We want to change the prize recipient. What can we do?</a></li>
+<li><a class="reference internal" href="#i-want-to-remain-anonymous-during-the-contest-is-this-possible" id="id18">I want to remain anonymous during the contest. Is this possible?</a></li>
+<li><a class="reference internal" href="#one-of-my-professors-friends-is-a-judge-can-i-participate" id="id19">One of my professors / friends is a judge. Can I participate?</a></li>
+<li><a class="reference internal" href="#can-my-company-be-registered-as-an-entrant" id="id20">Can my company be registered as an entrant?</a></li>
+<li><a class="reference internal" href="#i-never-signed-up-for-this-contest-but-i-got-an-email-from-you-what-is-this-about" id="id21">I never signed up for this contest, but I got an email from you. What is this about?</a></li>
+<li><a class="reference internal" href="#i-tried-to-sign-up-and-it-seems-someone-who-wants-to-be-a-member-of-my-team-has-already-registered-with-another-team-what-can-we-do" id="id22">I tried to sign up and it seems someone who wants to be a member of my team has already registered with another team. What can we do?</a></li>
+<li><a class="reference internal" href="#i-lost-or-never-got-the-email-asking-me-to-confirm-the-terms-and-conditions-what-can-i-do" id="id23">I lost or never got the email asking me to confirm the Terms and Conditions. What can I do?</a></li>
+<li><a class="reference internal" href="#one-of-our-team-members-rejected-the-terms-and-conditions-what-can-we-do" id="id24">One of our team members rejected the Terms and Conditions. What can we do?</a></li>
+<li><a class="reference internal" href="#how-are-you-going-to-evaluate-the-submissions" id="id25">How are you going to evaluate the submissions?</a></li>
+<li><a class="reference internal" href="#can-i-include-issues-i-submitted-before-the-contest" id="id26">Can I include issues I submitted before the contest?</a></li>
+<li><a class="reference internal" href="#what-is-the-difference-between-exploit-issue-and-summary" id="id27">What is the difference between exploit, issue and summary?</a></li>
+<li><a class="reference internal" href="#what-issues-should-i-include-in-the-summary" id="id28">What issues should I include in the summary?</a></li>
+<li><a class="reference internal" href="#why-are-you-asking-for-the-top-10-issues-only" id="id29">Why are you asking for the top 10 issues only?</a></li>
+<li><a class="reference internal" href="#my-english-is-not-great-will-this-count-against-me-in-the-judging-process" id="id30">My English is not great—will this count against me in the judging process?</a></li>
+<li><a class="reference internal" href="#what-information-do-i-need-to-include-in-the-issue-submission" id="id31">What information do I need to include in the issue submission?</a></li>
+<li><a class="reference internal" href="#how-do-i-contest-a-decision-that-a-bug-is-a-duplicate" id="id32">How do I contest a decision that a bug is a duplicate?</a></li>
+<li><a class="reference internal" href="#why-is-the-native-client-team-updating-the-source-code-during-the-contest" id="id33">Why is the Native Client team updating the source code during the contest?</a></li>
+<li><a class="reference internal" href="#i-forgot-to-include-something-in-the-summary-what-can-i-do" id="id34">I forgot to include something in the summary—what can I do?</a></li>
+<li><a class="reference internal" href="#someone-from-our-team-submitted-a-summary-on-behalf-of-our-team-without-consulting-with-everyone-else-how-can-we-ensure-that-the-judges-will-use-the-previous-summary-and-not-the-last-one" id="id35">Someone from our team submitted a summary on behalf of our team without consulting with everyone else. How can we ensure that the judges will use the previous summary and not the last one?</a></li>
+<li><a class="reference internal" href="#will-you-be-evaluating-each-exploit-separately-for-every-one-of-the-criteria" id="id36">Will you be evaluating each exploit separately for every one of the criteria?</a></li>
+<li><a class="reference internal" href="#i-only-found-one-exploit-but-i-think-it-is-very-good-can-i-still-win" id="id37">I only found one exploit but I think it is very good. Can I still win?</a></li>
+<li><a class="reference internal" href="#how-are-you-going-to-pick-the-winners" id="id38">How are you going to pick the winners?</a></li>
+<li><a class="reference internal" href="#when-and-how-are-we-going-to-find-out-the-results-of-the-contest" id="id39">When and how are we going to find out the results of the contest?</a></li>
+<li><a class="reference internal" href="#what-will-google-do-with-my-data" id="id40">What will Google do with my data?</a></li>
+<li><a class="reference internal" href="#i-have-more-questions-where-can-i-get-a-response" id="id41">I have more questions—where can I get a response?</a></li>
+<li><a class="reference internal" href="#i-like-this-project-are-you-hiring-people-to-work-on-it-full-time" id="id42">I like this project. Are you hiring people to work on it full time?</a></li>
+<li><a class="reference internal" href="#how-can-i-get-involved-in-this-project-besides-the-contest" id="id43">How can I get involved in this project besides the contest?</a></li>
+<li><a class="reference internal" href="#why-is-my-country-province-excluded-from-the-contest" id="id44">Why is my country/province excluded from the contest?</a></li>
+</ul>
+</div>
+<section id="what-is-this-contest-about">
+<h2 id="what-is-this-contest-about">What is this contest about?</h2>
+<p>We launched this contest in order to help make Native Client more
+secure. We invite participants to discover security bugs in our
+technology in order to compete to win cash prizes.</p>
+</section><section id="where-can-i-get-more-information-on-native-client">
+<h2 id="where-can-i-get-more-information-on-native-client">Where can I get more information on Native Client?</h2>
+<p>You can read our <a class="reference external" href="http://static.googleusercontent.com/external_content/untrusted_dlcp/research.google.com/en/us/pubs/archive/34913.pdf">research paper</a>
+(PDF) or visit the site for the <a class="reference external" href="http://code.google.com/p/nativeclient">Native Client open-source project</a>.</p>
+</section><section id="what-people-are-you-looking-for">
+<h2 id="what-people-are-you-looking-for">What people are you looking for?</h2>
+<p>We are not looking for any particular participant profile. Everyone
+who is eligible to participate based on the <a class="reference internal" href="/native-client/community/security-contest/contest-terms.html"><em>Terms and Conditions</em></a> of the contest can sign up.</p>
+</section><section id="how-do-i-sign-up">
+<h2 id="how-do-i-sign-up">How do I sign up?</h2>
+<p>The first thing you need to do is to register. Then you and your team
+members (if any) will receive an email from our team asking you to
+review and accept the <a class="reference internal" href="/native-client/community/security-contest/contest-terms.html"><em>Terms and Conditions</em></a>:doc:` of the contest <contest-terms>`. Once everyone
+from your team has accepted the <a class="reference internal" href="/native-client/community/security-contest/contest-terms.html"><em>Terms and Conditions</em></a> you can start submitting bugs through the Native
+Client issue tracker. You should not submit any bugs as part of your
+contest entries until everyone on your team has accepted the
+<a class="reference internal" href="/native-client/community/security-contest/contest-terms.html"><em>Terms and Conditions</em></a>, as those bugs will not be
+eligible for consideration in the contest.</p>
+</section><section id="what-is-the-process-of-participating">
+<h2 id="what-is-the-process-of-participating">What is the process of participating?</h2>
+<p>After you register yourself or your team and every member of your team
+has accepted the <a class="reference internal" href="/native-client/community/security-contest/contest-terms.html"><em>Terms and Conditions</em></a>, download
+the latest build of Native Client, attack it, and identify security
+exploits. Submit these bugs through our Native Client Issue Tracker as
+quickly as you can, as you will only get credit for exploits that are
+first reported by yourself or your team. Before the end of the
+contest, you will need to submit a summary with the top 10 exploits
+you identified. Our judges will review submitted summaries and will
+select the top 5 contestants.</p>
+</section><section id="how-many-prizes-are-there-what-are-the-prizes">
+<span id="contest-faq-prizes"></span><h2 id="how-many-prizes-are-there-what-are-the-prizes"><span id="contest-faq-prizes"></span>How many prizes are there? What are the prizes?</h2>
+<p>There are five cash prizes: The first prize is $8,192, the second
+prize $4,096, the third prize is $2,048, the fourth prize is $1,024
+and the fifth prize is $1,024. All amounts are in USD.</p>
+</section><section id="can-i-sign-up-as-a-team-how-many-people-can-be-a-member-of-my-team">
+<h2 id="can-i-sign-up-as-a-team-how-many-people-can-be-a-member-of-my-team">Can I sign up as a team? How many people can be a member of my team?</h2>
+<p>You can sign up as a team. There is no limit to how many people can
+participate in your team. However we recommend that you keep the size
+of your team small so as to be able to better coordinate during the
+contest.</p>
+</section><section id="what-will-i-need-to-do-to-win">
+<h2 id="what-will-i-need-to-do-to-win">What will I need to do to win?</h2>
+<p>To participate, you will need to test the Native Client builds,
+identify security exploits which affect the current Native Client
+build at the time of submission and report them to our team. Our
+judges will review your entry. If you are one of the top five
+participants selected by the judges and satisfy the requirements for
+eligibility, then you will win a cash prize. For more information on
+how to participate and how your entry will be evaluated please review
+our detailed <a class="reference internal" href="/native-client/community/security-contest/contest-terms.html"><em>Terms and Conditions</em></a>.</p>
+</section><section id="who-is-going-to-judge-these-entries-who-are-these-people">
+<h2 id="who-is-going-to-judge-these-entries-who-are-these-people">Who is going to judge these entries? Who are these people?</h2>
+<p>Google has recruited a group of distinguished security experts to
+serve as judges for this contest:</p>
+<ul class="small-gap">
+<li>Edward Felten — jury chair (Princeton)</li>
+<li>Alex Halderman (Michigan)</li>
+<li>Brad Karp (University College London)</li>
+<li>Greg Morrisett (Harvard)</li>
+<li>Niels Provos (Google)</li>
+<li>Stefan Savage (UCSD)</li>
+<li>Dan Wallach (Rice)</li>
+<li>Bennet Yee (Google)</li>
+<li>Nickolai Zeldovich (MIT)</li>
+</ul>
+<p>Check out the <a class="reference internal" href="/native-client/community/security-contest/index.html#contest-judges"><em>Judges info</em></a> to learn more about
+their careers and contributions to the security community.</p>
+</section><section id="when-can-i-start-submitting-issues">
+<h2 id="when-can-i-start-submitting-issues">When can I start submitting issues?</h2>
+<p>You can start submitting issues after you and your team members (if
+any) have completed the registration process and accepted the
+<a class="reference internal" href="/native-client/community/security-contest/contest-terms.html"><em>Terms and Conditions</em></a>.</p>
+</section><section id="registration-does-not-work-for-me-what-can-i-do">
+<h2 id="registration-does-not-work-for-me-what-can-i-do">Registration does not work for me—what can I do?</h2>
+<p>We recommend that you post this problem at the Google Group. Once you
+do so, a member from our team will reach out to you to try to diagnose
+the issue. We will try to help you out; keep in mind though that we
+can not be responsible for the inability of a participant to register.</p>
+</section><section id="i-registered-as-a-team-but-i-want-to-change-the-team-composition-by-adding-or-removing-members-what-should-i-do">
+<h2 id="i-registered-as-a-team-but-i-want-to-change-the-team-composition-by-adding-or-removing-members-what-should-i-do">I registered as a team but I want to change the team composition by adding or removing members. What should I do?</h2>
+<p>Please reply to one of the registration email messages you received
+(it should be sent to <a class="reference external" href="mailto:nacl-security-contest%40google.com">nacl-security-contest<span>@</span>google<span>.</span>com</a>) and indicate
+the changes you’d like to make. Please note that neither the team name
+nor team membership can be changed once all members have accepted the
+<a class="reference internal" href="/native-client/community/security-contest/contest-terms.html"><em>Terms and Conditions</em></a>.</p>
+</section><section id="i-have-a-previous-engagement-and-i-cannot-sign-up-until-after-the-competition-starts-is-this-ok">
+<h2 id="i-have-a-previous-engagement-and-i-cannot-sign-up-until-after-the-competition-starts-is-this-ok">I have a previous engagement and I cannot sign up until after the competition starts. Is this ok?</h2>
+<p>You can sign up until the last day of the contest May
+5th, 2009. However, keep in mind that while you can submit bugs
+through the Native Client Issue Tracker, none of these will be taken
+into account unless you (and all your team members) have completed the
+registration process prior to submitting any bugs.</p>
+</section><section id="my-team-has-accepted-the-terms-and-conditions-except-for-one-person-who-is-unavailable-whose-email-was-misspelled-etc-what-can-i-do">
+<h2 id="my-team-has-accepted-the-terms-and-conditions-except-for-one-person-who-is-unavailable-whose-email-was-misspelled-etc-what-can-i-do">My team has accepted the Terms and Conditions except for one person who is unavailable / whose email was misspelled / etc. What can I do?</h2>
+<p>To make edits to your team’s composition, or to update the contact
+information of a team member, you will need to reply to one of the
+registration emails you received (it should be sent to
+<a class="reference external" href="mailto:nacl-security-contest%40google.com">nacl-security-contest<span>@</span>google<span>.</span>com</a>) and indicate the changes you’d like
+to make. Please note that this will mean that your team members will
+receive an email notifying them of the changes in the team’s
+composition and asking them to re-accept the <a class="reference internal" href="/native-client/community/security-contest/contest-terms.html"><em>Terms and
+Conditions</em></a>. All team members will need to re-accept
+the <a class="reference internal" href="/native-client/community/security-contest/contest-terms.html"><em>Terms and Conditions</em></a> for the team to be
+considered as active.</p>
+</section><section id="can-i-enter-multiple-times">
+<h2 id="can-i-enter-multiple-times">Can I enter multiple times?</h2>
+<p>No, you cannot enter multiple times. If you register as an individual
+you can not also register on a team and if you are on a team you can
+not also be on another team.</p>
+</section><section id="why-do-you-need-a-prize-recipient">
+<h2 id="why-do-you-need-a-prize-recipient">Why do you need a prize recipient?</h2>
+<p>Google will not be responsible for the division of any prize money
+between members of a potential winning team. Instead Google will
+deliver the prize to one member indicated by the team. The team is
+solely responsible for managing the logistics of distributing the
+prize among team members. This is why Google asks all participating
+teams to identify a prize recipient.</p>
+</section><section id="we-want-to-change-the-prize-recipient-what-can-we-do">
+<h2 id="we-want-to-change-the-prize-recipient-what-can-we-do">We want to change the prize recipient. What can we do?</h2>
+<p>To make edits to the prize recipient before all team members have
+accepted the <a class="reference internal" href="/native-client/community/security-contest/contest-terms.html"><em>Terms and Conditions</em></a>, you will
+need to reply to one of the registration emails you received (it
+should be sent to <a class="reference external" href="mailto:nacl-security-contest%40google.com">nacl-security-contest<span>@</span>google<span>.</span>com</a>) and indicate the
+changes you’d like to make. Please note that this will mean that your
+team members will receive an email notifying them of the change and
+asking them to re-accept the <a class="reference internal" href="/native-client/community/security-contest/contest-terms.html"><em>Terms and Conditions</em></a>. All team members will need to re-accept the
+<a class="reference internal" href="/native-client/community/security-contest/contest-terms.html"><em>Terms and Conditions</em></a> for the team to be
+considered registered. After all team members have accepted the
+<a class="reference internal" href="/native-client/community/security-contest/contest-terms.html"><em>Terms and Conditions</em></a>, there can be no changes
+to the prize recipient.</p>
+</section><section id="i-want-to-remain-anonymous-during-the-contest-is-this-possible">
+<h2 id="i-want-to-remain-anonymous-during-the-contest-is-this-possible">I want to remain anonymous during the contest. Is this possible?</h2>
+<p>Yes. However, you will still need to provide us with your email
+address to register. After the contest ends and if you are one of the
+top 5 participants, to claim your prize, you and all of your team
+members (if any) will need to submit to Google all necessary tax and
+legal information that Google will need to comply with US and
+international legal and tax regulations.</p>
+</section><section id="one-of-my-professors-friends-is-a-judge-can-i-participate">
+<h2 id="one-of-my-professors-friends-is-a-judge-can-i-participate">One of my professors / friends is a judge. Can I participate?</h2>
+<p>Yes, you can participate.</p>
+</section><section id="can-my-company-be-registered-as-an-entrant">
+<h2 id="can-my-company-be-registered-as-an-entrant">Can my company be registered as an entrant?</h2>
+<p>No, this is not possible under our <a class="reference internal" href="/native-client/community/security-contest/contest-terms.html"><em>Terms and Conditions</em></a>.</p>
+</section><section id="i-never-signed-up-for-this-contest-but-i-got-an-email-from-you-what-is-this-about">
+<h2 id="i-never-signed-up-for-this-contest-but-i-got-an-email-from-you-what-is-this-about">I never signed up for this contest, but I got an email from you. What is this about?</h2>
+<p>You have probably received an e-mail identifying you as a member of
+team that another person has created. In our email, we identified the
+email address of a person who registered you as a teammate in the
+Native Client Security Contest. If you want to participate in this
+person’s team, then accept the <a class="reference internal" href="/native-client/community/security-contest/contest-terms.html"><em>Terms and Conditions</em></a> by clicking on the link included in the email. If you
+do not wish to participate in the contest or you want to do so as a
+member of a different team, then you can remove yourself from the list
+of team members of that particular team.</p>
+</section><section id="i-tried-to-sign-up-and-it-seems-someone-who-wants-to-be-a-member-of-my-team-has-already-registered-with-another-team-what-can-we-do">
+<h2 id="i-tried-to-sign-up-and-it-seems-someone-who-wants-to-be-a-member-of-my-team-has-already-registered-with-another-team-what-can-we-do">I tried to sign up and it seems someone who wants to be a member of my team has already registered with another team. What can we do?</h2>
+<p>If everyone in your potential teammate’s original team (including
+himself/herself) has accepted the <a class="reference internal" href="/native-client/community/security-contest/contest-terms.html"><em>Terms and Conditions</em></a> of the contest, then unfortunately you will have to
+look for other potential partners. Otherwise, your potential teammate
+can remove himself from the other team. All he/she will need to do is
+to reply to one of the registration emails he/she received (it should
+be sent to <a class="reference external" href="mailto:nacl-security-contest%40google.com">nacl-security-contest<span>@</span>google<span>.</span>com</a>) and indicate the changes
+to be made. Please note that this will mean that his/her team members
+will receive an email notifying them of the changes in the team’s
+composition and asking them to re-accept the <a class="reference internal" href="/native-client/community/security-contest/contest-terms.html"><em>Terms and
+Conditions</em></a>. All team members of that team will need
+to re-accept the <a class="reference internal" href="/native-client/community/security-contest/contest-terms.html"><em>Terms and Conditions</em></a> for that
+team to be considered as active.</p>
+</section><section id="i-lost-or-never-got-the-email-asking-me-to-confirm-the-terms-and-conditions-what-can-i-do">
+<h2 id="i-lost-or-never-got-the-email-asking-me-to-confirm-the-terms-and-conditions-what-can-i-do">I lost or never got the email asking me to confirm the Terms and Conditions. What can I do?</h2>
+<p>Don’t worry, just send us an email at <a class="reference external" href="mailto:nacl-security-contest%40google.com">nacl-security-contest<span>@</span>google<span>.</span>com</a>
+and we will send you the link you need.</p>
+</section><section id="one-of-our-team-members-rejected-the-terms-and-conditions-what-can-we-do">
+<h2 id="one-of-our-team-members-rejected-the-terms-and-conditions-what-can-we-do">One of our team members rejected the Terms and Conditions. What can we do?</h2>
+<p>Your team is now considered to be invalid. If this rejection happened
+by accident, please restart the registration process. If it was
+deliberate then create a new team with teammates who are willing to
+accept the <a class="reference internal" href="/native-client/community/security-contest/contest-terms.html"><em>Terms and Conditions</em></a>. No one can
+participate in the contest unless they have accepted the <a class="reference internal" href="/native-client/community/security-contest/contest-terms.html"><em>Terms
+and Conditions</em></a> and no team can participate unless all
+team members have accepted the <a class="reference internal" href="/native-client/community/security-contest/contest-terms.html"><em>Terms and Conditions</em></a>.</p>
+</section><section id="how-are-you-going-to-evaluate-the-submissions">
+<h2 id="how-are-you-going-to-evaluate-the-submissions">How are you going to evaluate the submissions?</h2>
+<p>The judges will evaluate each Summary based on the following
+criteria: a) Quality (Severity, Scope, Reliability and Style) and b)
+Quantity. Please review the judging criteria in the contest
+<a class="reference internal" href="/native-client/community/security-contest/contest-terms.html"><em>Terms and Conditions</em></a> for more information.</p>
+</section><section id="can-i-include-issues-i-submitted-before-the-contest">
+<h2 id="can-i-include-issues-i-submitted-before-the-contest">Can I include issues I submitted before the contest?</h2>
+<p>No, you can not.</p>
+</section><section id="what-is-the-difference-between-exploit-issue-and-summary">
+<h2 id="what-is-the-difference-between-exploit-issue-and-summary">What is the difference between exploit, issue and summary?</h2>
+<p>An exploit becomes an issue once you submit it through the Native
+Client issue tracker. A summary can include multiple issues but not
+more than 10.</p>
+</section><section id="what-issues-should-i-include-in-the-summary">
+<h2 id="what-issues-should-i-include-in-the-summary">What issues should I include in the summary?</h2>
+<p>You should include a maximum of 10 issues that you and your team
+members (if any) submitted to the Native Client Issue tracker. We
+recommend that you carefully review the judging criteria in the
+<a class="reference internal" href="/native-client/community/security-contest/contest-terms.html"><em>Terms and Conditions</em></a> to identify which bugs are
+more likely to be perceived as high impact from our judges and could
+help you win one of the five cash prizes. Do not include issues that
+have been marked as duplicates or unverifiable, as these will not be
+taken into account by our judges.</p>
+</section><section id="why-are-you-asking-for-the-top-10-issues-only">
+<h2 id="why-are-you-asking-for-the-top-10-issues-only">Why are you asking for the top 10 issues only?</h2>
+<p>We want to make sure that we use our judges’ time wisely. Rather than
+having them review hundreds of similar or small scale bugs, sometimes
+identified with the same automatic process, we are limiting the number
+of issues that each participant can submit in his/her/their summary.</p>
+</section><section id="my-english-is-not-great-will-this-count-against-me-in-the-judging-process">
+<h2 id="my-english-is-not-great-will-this-count-against-me-in-the-judging-process">My English is not great—will this count against me in the judging process?</h2>
+<p>Entries in languages other than in English or entries that are deemed
+incomprehensible by the judges will not be reviewed. We do not plan to
+penalize summaries for spelling or grammar mistakes, but please make
+your descriptions as clear as possible.</p>
+</section><section id="what-information-do-i-need-to-include-in-the-issue-submission">
+<h2 id="what-information-do-i-need-to-include-in-the-issue-submission">What information do I need to include in the issue submission?</h2>
+<p>Please review the “Minimum requirements for issues” section of
+contest’s <a class="reference internal" href="/native-client/community/security-contest/contest-terms.html"><em>Terms and Conditions</em></a>. You will find a
+list of all the information you will need to include in every
+submitted issue. Failure to provide this information might make the
+submitted issue invalid for the purposes of this contest.</p>
+</section><section id="how-do-i-contest-a-decision-that-a-bug-is-a-duplicate">
+<h2 id="how-do-i-contest-a-decision-that-a-bug-is-a-duplicate">How do I contest a decision that a bug is a duplicate?</h2>
+<p>Please highlight this in our Google Group and a member of our team
+will get in touch with you.</p>
+</section><section id="why-is-the-native-client-team-updating-the-source-code-during-the-contest">
+<h2 id="why-is-the-native-client-team-updating-the-source-code-during-the-contest">Why is the Native Client team updating the source code during the contest?</h2>
+<p>We are updating Native Client’s source code to fix bugs reported by
+contest participants or exploits identified by our team. Our goal is
+to protect contestants and other users of the Native Client software
+from exploits that could damage their system. In addition, by updating
+our builds, we will be providing you with more opportunities to find
+new security bugs. Finally, we believe this will make the contest more
+interesting by continuously raising the bar of bug finding.</p>
+</section><section id="i-forgot-to-include-something-in-the-summary-what-can-i-do">
+<h2 id="i-forgot-to-include-something-in-the-summary-what-can-i-do">I forgot to include something in the summary—what can I do?</h2>
+<p>If the contest has not ended, you may submit an updated summary. You
+may not submit an updated summary once the contest has ended.</p>
+</section><section id="someone-from-our-team-submitted-a-summary-on-behalf-of-our-team-without-consulting-with-everyone-else-how-can-we-ensure-that-the-judges-will-use-the-previous-summary-and-not-the-last-one">
+<h2 id="someone-from-our-team-submitted-a-summary-on-behalf-of-our-team-without-consulting-with-everyone-else-how-can-we-ensure-that-the-judges-will-use-the-previous-summary-and-not-the-last-one">Someone from our team submitted a summary on behalf of our team without consulting with everyone else. How can we ensure that the judges will use the previous summary and not the last one?</h2>
+<p>If your team member submitted his / her version of the team’s summary
+before the end date of the contest, and if this is the last summary
+that was submitted from your team, then the Judges will disregard all
+previous versions of your summary and will only review this last
+one. If the contest has not ended, you may resubmit a previous summary
+to override the first.</p>
+</section><section id="will-you-be-evaluating-each-exploit-separately-for-every-one-of-the-criteria">
+<h2 id="will-you-be-evaluating-each-exploit-separately-for-every-one-of-the-criteria">Will you be evaluating each exploit separately for every one of the criteria?</h2>
+<p>We will use our criteria to evaluate submitted summaries, not
+individual exploits.</p>
+</section><section id="i-only-found-one-exploit-but-i-think-it-is-very-good-can-i-still-win">
+<h2 id="i-only-found-one-exploit-but-i-think-it-is-very-good-can-i-still-win">I only found one exploit but I think it is very good. Can I still win?</h2>
+<p>Yes. Quantity is only one of the criteria we use to evaluate submitted
+summaries.</p>
+</section><section id="how-are-you-going-to-pick-the-winners">
+<h2 id="how-are-you-going-to-pick-the-winners">How are you going to pick the winners?</h2>
+<p>After the contest ends, all submitted Summaries will be judged by a
+panel of at least three judges. The judges will evaluate each Summary
+based on the following criteria: a) Quality (Severity, Scope,
+Reliability and Style) and b) Quantity. Each panel will evaluate a
+number of the submitted summaries and will select the highest ranking
+Summaries to move to the next level of judging. Those top Summaries
+will then be evaluated by all Judges using the same Criteria, and the
+top five Summaries will be selected as potential winners. For more
+information on the judging criteria and the judging process please
+review the relevant section of the <a class="reference internal" href="/native-client/community/security-contest/contest-terms.html"><em>Terms and Conditions</em></a>.</p>
+</section><section id="when-and-how-are-we-going-to-find-out-the-results-of-the-contest">
+<h2 id="when-and-how-are-we-going-to-find-out-the-results-of-the-contest">When and how are we going to find out the results of the contest?</h2>
+<p>We will contact all prospective winners at the email address provided
+to us at the registration process. You may request a list of winners
+after December 7th, 2009 by writing to: Native Client Security Contest
+Google Inc. 1600 Amphitheater Parkway Mountain View, CA 94043 USA</p>
+</section><section id="what-will-google-do-with-my-data">
+<h2 id="what-will-google-do-with-my-data">What will Google do with my data?</h2>
+<p>The personal data you provided to Google during the Contest will be
+stored and processed in the US within the context of the Contest. We
+will maintain your data in the way described at the Google Privacy
+Policy found at <a class="reference external" href="http://www.google.com/privacypolicy.html">http://www.google.com/privacypolicy.html</a>. Google may
+use your data to verify your identity, postal address and telephone
+number in the event you qualify for a prize. You have a right to
+access and withdraw your personal data. To exercise this right, you
+may write to: Native Client Security Contest, Google Inc., 1600
+Amphitheater Parkway, Mountain View, CA 94043, USA.</p>
+</section><section id="i-have-more-questions-where-can-i-get-a-response">
+<h2 id="i-have-more-questions-where-can-i-get-a-response">I have more questions—where can I get a response?</h2>
+<p>We recommend to ask any additional questions you might have in the
+Google Group. Members from our team will be monitoring the group and
+will respond to your question there, to benefit other contest
+participants.</p>
+</section><section id="i-like-this-project-are-you-hiring-people-to-work-on-it-full-time">
+<h2 id="i-like-this-project-are-you-hiring-people-to-work-on-it-full-time">I like this project. Are you hiring people to work on it full time?</h2>
+<p>At Google we are always looking for great people. Please review our
+current openings at www.google.com/jobs.</p>
+</section><section id="how-can-i-get-involved-in-this-project-besides-the-contest">
+<h2 id="how-can-i-get-involved-in-this-project-besides-the-contest">How can I get involved in this project besides the contest?</h2>
+<p>Thank you for your interest in Native Client. You can help us by:</p>
+<ul class="small-gap">
+<li>Identifying bugs</li>
+<li>Porting OS libraries</li>
+<li>Writing apps</li>
+</ul>
+<p>We would also like to see you participate in our discussion group.</p>
+</section><section id="why-is-my-country-province-excluded-from-the-contest">
+<h2 id="why-is-my-country-province-excluded-from-the-contest">Why is my country/province excluded from the contest?</h2>
+<p>While we seek to make this contest open worldwide, we cannot open it
+to residents of Cuba, Iran, Syria, North Korea, Sudan, or Myanmar
+(Burma) because of U.S. laws. In addition, the contest is not open to
+residents of Brazil, Italy, or Quebec because of local
+restrictions. For more information on eligibility, see the <a class="reference internal" href="/native-client/community/security-contest/contest-terms.html"><em>Terms
+and Conditions</em></a>.</p>
+</section></section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/community/security-contest/contest-terms.html b/native_client_sdk/doc_generated/community/security-contest/contest-terms.html
new file mode 100644
index 0000000..d18b617
--- /dev/null
+++ b/native_client_sdk/doc_generated/community/security-contest/contest-terms.html
@@ -0,0 +1,928 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<section id="security-contest-terms-and-conditions">
+<span id="contest-terms"></span><h1 id="security-contest-terms-and-conditions"><span id="contest-terms"></span>Security Contest Terms and Conditions</h1>
+<aside class="caution">
+The Native Client Security Contest has ended—check out the
+<a class="reference internal" href="/native-client/community/security-contest/index.html#contest-winners"><em>winning submissions</em></a>. We welcome your
+continued involvement in the project. You can help by submitting
+<a class="reference external" href="http://code.google.com/p/nativeclient/issues/list">bugs</a> and
+participating in the <a class="reference external" href="http://groups.google.com/group/native-client-discuss">Native Client discussion group</a>.
+</aside>
+<aside class="warning">
+This has been reformatted from the original, and the enumeration
+list numbering style differs from the original document.
+</aside>
+<p>NO PURCHASE NECESSARY TO ENTER OR WIN. VOID WHERE PROHIBITED. CONTEST
+IS OPEN TO RESIDENTS OF THE 50 UNITED STATES, THE DISTRICT OF COLUMBIA
+AND WORLDWIDE, EXCEPT FOR ITALY, BRAZIL, QUEBEC, CUBA, IRAN, SYRIA,
+NORTH KOREA, SUDAN AND MYANMAR.</p>
+<p>ENTRY IN THIS CONTEST CONSTITUTES YOUR ACCEPTANCE OF THESE TERMS AND
+CONDITIONS.</p>
+<ol class="upperroman">
+<li><p class="first">Binding Agreement</p>
+<p>In order to enter the Native Client Security Contest (“Contest”),
+you must agree to these Terms and Conditions (“Terms”). Therefore,
+please read these Terms prior to entry to ensure you understand and
+agree. You agree that submission of an entry in the Contest
+constitutes your agreement to these Terms. After reading the Terms
+and in order to participate, each Participant (as defined below)
+must complete the registration form, clicking the “I understand and
+agree” box (or the equivalent), on the Contest entry webpage. Once
+the Participant clicks the “I understand and agree” box (or the
+equivalent), the Terms form a binding legal agreement between each
+Participant and Google with respect to the Contest.</p>
+<p>Participants may not submit an Exploit, Issue or Summary to the
+Contest and are not eligible to receive the prizes described in
+these Terms unless they agree to these Terms. If a Participant is
+part of a team, each member of the team must read and agree to
+these Terms and click on the “I understand and agree” box (or the
+equivalent) described herein. Failure of any member of a team to
+agree to these Terms and click on the “I understand and agree” box
+(or the equivalent) described herein will disqualify the entire
+team.</p>
+<p>By entering, Participant warrants that Participant has not violated
+any employment agreement or other restriction imposed by his or her
+employer by participating in this Contest.</p>
+</li>
+<li><p class="first">Description</p>
+<p>The Contest is organized by Google and is designed to motivate the
+developer community to identify and report security Exploits (as
+defined below) on Google’s Native Client software and reward those
+developers who identify one or more security Exploits that are
+evaluated as a winning exploit by the Judges.</p>
+<p>Once a Participant has registered for the Contest, the Participant
+will be asked to identify security Exploits in Google’s Native
+Client Software and enter those Exploits on Google’s <a class="reference external" href="http://code.google.com/p/nativeclient/issues/list">Native Client
+Issue Tracker</a>
+web site using the “Security Contest Template.” At this point, the
+Exploit will become an Issue and will no longer be able to be
+identified by another Participant. Google will then verify that the
+Issue is reproducible. If so, that Issue will become a Verified
+Issue. Finally, the Participant will submit a Summary of up to his
+or her top ten best Issues that were submitted on the <a class="reference external" href="http://code.google.com/p/nativeclient/issues/list">Native
+Client Issue Tracker</a>. Since it is
+possible that an Issue may not be verified until after the Contest
+End Date, if a Participant includes such an Issue in their Summary
+and such Issue is not ultimately verified, then that Issue will not
+be considered to be part of the Summary.</p>
+<p>Prizes will be awarded to those Participants who submit the best
+Summaries as determined in the sole discretion of the Judges when
+considering the Judging Criteria described herein.</p>
+</li>
+<li><p class="first">Sponsor</p>
+<p>The Contest is sponsored by Google Inc. (“Google” or “Sponsor”), a
+Delaware corporation with its principal place of business at 1600
+Amphitheater Parkway, Mountain View, CA, 94043, USA.</p>
+</li>
+<li><p class="first">Term</p>
+<p>The Contest begins at 9:00:00 A.M. Pacific Time (PT) Zone in the
+United States on Februrary 25th, 2009 (“Contest Start Date”) and
+ends at 11:59:59 P.M. PT on May 5th, 2009 (“Contest End
+Date”). Participants must register by May 5th, 2009 at 11:59:59
+Pacific Time to be eligible to participate. ENTRANTS ARE
+RESPONSIBLE FOR DETERMINING THE CORRESPONDING TIME ZONE IN THEIR
+RESPECTIVE JURISDICTIONS.</p>
+</li>
+<li><p class="first">Definitions</p>
+<p>Throughout these Terms, Google will use the following defined terms
+and words. Please review them carefully to ensure you understand.</p>
+<ol class="arabic simple">
+<li>Covert Channel Attack: A “Covert Channel Attack” means an
+attempt to manipulate certain properties of a communications
+medium in an unexpected, unconventional, or unforeseen way in
+order to transmit information through the medium without
+detection by anyone other than the entities operating the covert
+channel. Exploits that are Covert Channel Attacks are excluded
+from the Contest.</li>
+<li>Exploit: An “Exploit” means a sequence of steps that require and
+use Native Client to produce or have the potential to produce
+behavior prohibited by Native Client’s security policies and
+design which can be found at
+<a class="reference external" href="http://src.chromium.org/viewvc/native_client/trunk/src/native_client/README.html">http://src.chromium.org/viewvc/native_client/trunk/src/native_client/README.html</a>.
+Google reserves the right to modify the security policies and
+design at any time. An example of an Exploit would be producing
+file system or network access outside of the scope of
+permissible use via JavaScript in a browser. An Exploit that
+defeats one but not all Native Client security measures is still
+considered to produce behavior prohibited by Native Client’s
+security policies for the purposes of this Contest and would be
+entitled to be identified as an Exploit in the Contest.</li>
+<li>Inner Sandbox: The “Inner Sandbox” means the Native Client
+security system that a) inspects executables before running them
+to try to detect the potential for an executable to produce
+prohibited behavior, and b) prevents from running any
+executables that are detected to have the potential to produce
+prohibited behavior.</li>
+<li>Issue: An “Issue” means an entry of a single Exploit by a
+Participant into the <a class="reference external" href="http://code.google.com/p/nativeclient/issues/list">Native Client Issue Tracker</a> using a
+properly filled out Security Contest Template. Once the Exploit
+has been properly entered it becomes an Issue.</li>
+<li>Native Client Issue Tracker: The “Native Client Issue Tracker”
+is located at
+<a class="reference external" href="http://code.google.com/p/nativeclient/issues/list">http://code.google.com/p/nativeclient/issues/list</a>. It is a web
+application that manages and maintains a list of Issues,
+including Issues that are not eligible for contest entry.</li>
+<li>Native Client Version Number: The “Native Client Version Number”
+is defined as the number between the platform name (separated by
+an ‘_’) and the file extension (separated by a ‘.’) in the
+Native Client download. For example, if the the filename of the
+download on the Native Client download page is
+“nacl_linux_0.1_32_2009_01_16.tgz” or
+“nacl_windows_0.1_32_2009_01_16.zip”, the Version Number is
+“0.1_32_2009_01_16”.</li>
+<li>Outer Sandbox: The “Outer Sandbox” means the Native Client
+security system that 1) observes executables while they are
+running to detect the attempts at prohibited behavior and 2)
+terminates misbehaving executables if it observes any attempts
+to produce prohibited behavior.</li>
+<li>Participant: A “Participant” means any individual or team of
+individuals that has agreed to these Terms, meets the
+eligibility criteria described below, and is participating in
+the Contest.</li>
+<li>Side Channel Attack: A “Side Channel Attack” means any attack
+based on information gained as a side-effect of the
+implementation of a cryptosystem, rather than brute force or
+theoretical weaknesses in the algorithms. For example, attacks
+that use timing information, power consumption variation,
+electromagnetic leaks or sound to obtain information illicitly
+are side channel attacks. Exploits that are Side Channel Attacks
+are excluded from the Contest.</li>
+<li>Summary: A “Summary” means the final electronic document
+complying with the requirements of Section X that each
+Participant must submit in order to participate in the
+Contest. A Summary may contain up to 10 Issues. If Issues do not
+ultimately become Verified Issues, they will not be considered
+as part of the Summary and Participant understands and accepts
+the risk that if the Participant identified an Issue on a
+Summary that had not yet been verified, that Issue will not be
+considered as part of the Summary if not subsequently verified.</li>
+<li>Verified Issue: A “Verified Issue” means an Exploit that has
+been a) submitted to the <a class="reference external" href="http://code.google.com/p/nativeclient/issues/list">Native Client Issue Tracker</a> in
+accordance with these Terms, and b) confirmed by the Native
+Client team at Google to exhibit the behavior described in the
+Issue report.</li>
+</ol>
+</li>
+<li><p class="first">Eligibility</p>
+<p>The Contest is open to Participants who (1) have agreed to these
+Terms; (2) who are of or above the legal age of majority, at the
+time of entry, to form valid contracts in their respective country,
+province or state of legal residence (and at least the age of 20 in
+Taiwan); (3) are not residents of Italy, Brazil, Quebec, Cuba,
+Iran, Syria, North Korea, Sudan, or Myanmar; and (4) who have
+software development experience. Sponsor reserves the right to
+verify eligibility and to adjudicate on any dispute at any
+time. The Contest is void in, and not open to residents of, Italy,
+Brazil, Quebec, Cuba, Iran, Syria, North Korea, Sudan, Myanmar, or
+to individuals and entities restricted by U.S. export controls and
+sanctions, and is void in any other nation, state, or province
+where prohibited or restricted by U.S. or local law.</p>
+<p>Employees and contractors of Google, affiliates and subsidiaries of
+Google, the Judges and members of their immediate families (defined
+as parents, children, siblings and spouse, regardless of where they
+reside and/or those living in the same household of each) are not
+eligible to participate in the Contest. Judges may not help any
+Participant with their submissions and Judges must recuse
+themselves in cases where they have a conflict of interest that
+becomes known to the Judge.</p>
+</li>
+<li><p class="first">Registration & Entry Process</p>
+<ol class="arabic">
+<li><p class="first">All Participants must register at
+code.google.com/contests/nativeclient-security/ by May 5th, 2009
+at 11:59:59 Pacific Time. All individuals participating in the
+Contest (either as an individual Participant or as a member of a
+team) must provide the following registration information:</p>
+<ol class="loweralpha simple">
+<li>Email Address(es) of the Participant. The first member of a
+team to register must list the email addresses of all
+members of the Participant team, and all members must
+ultimately agree to the Terms as described more fully below.</li>
+<li>Nationality and primary place of residence of the Participant.</li>
+<li>If the Participant is a team, the email address of the team
+member who is selected to be the recipient of the prize. The
+first member of the team to register will designate this
+information in the initial team registration.</li>
+<li>Participant name, which is the team name in the case of a
+team or the user name chosen by an individual in the case of
+an individual Participant.</li>
+</ol>
+<p>Failure to fully, completely and accurately provide this
+information will disqualify the Entry.</p>
+</li>
+<li><p class="first">Any potential prize recipient may be required to show proof of
+being the authorized account holder for an email address. The
+“Authorized Account Holder” is the natural person assigned to an
+email address by the relevant provider of email services.</p>
+</li>
+<li><p class="first">Participants that are teams must provide the above registration
+information for every individual who is a member of the
+team. Every individual who is part of the team must agree to the
+Terms in order for the team to be eligible to participate by
+clicking the “I understand and agree” box (or the equivalent) on
+the Contest entry webpage. Members of a team will be able to
+edit the information relating to the team only until the last
+member of the team has accepted these Terms by clicking the “I
+understand and agree” box (or the equivalent) on the Contest
+entry webpage. Issues submitted by members of a team prior to
+the time that all individual members of the team have clicked
+the “I understand and agree” box (or the equivalent) will not be
+valid Issue submissions and will not be eligible entries in the
+Contest. Google will send an email to all members of the team
+when the final team member has accepted the terms, however
+Google will have no liability for failure to send such an email
+or for the failure of any team member to receive the email.</p>
+</li>
+<li><p class="first">Issues submitted by Participants who are individuals prior to
+the time that the individual has clicked the “I understand and
+agree” box (or the equivalent) will not be valid Issue
+submissions and will not be eligible entries in the
+Contest. Google will send an email to the individual when the
+individual has accepted the terms, however Google will have no
+liability for failure to send such an email or for the failure
+of any team member to receive the email.</p>
+</li>
+<li><p class="first">All entries become the property of Sponsor and will not be
+acknowledged or returned. Entries are void if they are in whole
+or part illegible, incomplete, damaged, altered, counterfeit,
+obtained through fraud, or late.</p>
+</li>
+<li><p class="first">LIMIT ONE ENTRY PER PERSON. Individuals may only enter one time,
+whether as an individual Participant or as a team
+Participant. Google, in its sole discretion, may disqualify any
+Participant (including team Participants) that it believes has
+violated this provision.</p>
+</li>
+</ol>
+</li>
+<li><p class="first">Submission Process</p>
+<ol class="arabic simple">
+<li>Each Participant must submit:<ol class="loweralpha">
+<li>At least one Issue in the <a class="reference external" href="http://code.google.com/p/nativeclient/issues/list">Native Client Issue Tracker</a> that
+describes an Exploit and includes the information detailed
+in the “Issues” section below. Any team member can submit an
+Issue on behalf of the team. All entries will be deemed made
+by the Authorized Account Holder of the email address
+submitted at the time of entry.</li>
+<li>One Summary per Participant that includes the information
+detailed in the “Summary” section below. Participant will be
+entitled to amend its Summary until the Contest End Date and
+only the last version will be considered by the Judges.</li>
+</ol>
+</li>
+<li>Each Issue must be written in the English language. Google or
+the Judges may refuse to review submissions that they deem
+incomprehensible, include Issues that are not repeatable as
+determined by Google, or that otherwise do not meet the
+requirements of these Terms.</li>
+<li>To enter an Issue in the <a class="reference external" href="http://code.google.com/p/nativeclient/issues/list">Native Client Issue Tracker</a>, each
+Participant must use the “Security Contest Template” and provide
+completely and accurately all information requested by the
+template. Any Issues that are not entered with the “Security
+Contest Template” may not be considered by the Judges. Each
+Issue must contain the items described in the “Issues” section
+of these Terms.</li>
+</ol>
+</li>
+<li><p class="first">Issues</p>
+<ol class="arabic simple">
+<li>Minimum requirements for Issues: Participant must identify an
+Exploit and enter the Exploit into the <a class="reference external" href="http://code.google.com/p/nativeclient/issues/list">Native Client Issue
+Tracker</a>. Once the
+Exploit is submitted it becomes an Issue. Each submitted Issue
+must include (i) the following information and (ii) all
+additional information requested on the “Security Contest
+Template”:<ol class="loweralpha">
+<li>The user name (in the case of Individual Participants) or
+the team name (in the case of team Participants) of the
+Participant submitting the Issue, which must be identical to
+the user name or team name submitted during the registration
+process.</li>
+<li>A gzipped tar archive (with paths relative to
+nacl/googleclient/native_client/tests/) that contains any
+instructions and files necessary to reproduce the Exploit,
+which must include:<ol class="arabic">
+<li>A README.txt file that describes:<ul class="small-gap">
+<li>The version number of current version of Native Client
+at the time of submission. Issues submitted with a
+version number listed other than the current version
+at the time of submission will be invalid;</li>
+<li>The steps required to reproduce the Exploit;</li>
+<li>The effect of the Exploit; and</li>
+<li>Platform requirements for the Exploit, including but
+not necessarily limited to:</li>
+<li>browser version;</li>
+<li>operating system name(s) and version(s); and/or</li>
+<li>any other platform requirements relevant to the Exploit.</li>
+</ul>
+</li>
+<li>If the Exploit requires a binary executable, both the
+source code and binary executable must be provided upon
+creation of the Issue. Any subsequent updates to the
+source code or binary executable after the creation of
+the Issue will not be considered for the purposes of
+this Contest. The binary executable must build cleanly
+by executing the command “make” in the exploit directory
+(e.g. nacl/googleclient/native_client/tests/exploit1).</li>
+</ol>
+</li>
+</ol>
+</li>
+<li>Verified Issues: In order for an Issue to become a Verified
+Issue, Google will first examine the submitted Issue to
+determine whether it complies with the following:<ol class="loweralpha">
+<li>The Exploit must not contain or depend upon access or use of
+any third party software or code that Google does not have
+readily available to it or that would require complying with
+third party license agreement that Google in its sole
+discretion deems onerous or burdensome.</li>
+<li>Google must be able to replicate the Exploit in its sole
+discretion.</li>
+<li>The Exploit must affect at least one “opt-” platform from a
+standard build of the most recent released version of Native
+Client as of the time of submission of the Issue for the
+Exploit.</li>
+</ol>
+</li>
+<li>Timeliness<ol class="loweralpha">
+<li>If the vulnerability exposed by the submitted Exploit was
+disclosed in a previously reported Issue (whether or not
+submitted by a Participant) or in the previously published
+Native Client release notes, the submission will be invalid
+for the purposes of this Contest. Two Exploits are
+considered to expose the same vulnerability if the
+theoretical patch required to fix one vulnerability also
+fixes the second vulnerability.</li>
+<li>Google will update the Native Client source code base at
+most twice per week. These updates, if they occur, will
+appear Mondays and Thursdays between 3 p.m. and 8
+p.m. Pacific Time.</li>
+<li>Issues will not be valid if they have been entered before
+the later of (i) the Contest Start Date or (ii) the time at
+which all members of a team Participant or the individual
+Participant, as the case may be, have accepted these Terms.</li>
+</ol>
+</li>
+<li>Excluded Exploits. The following types of Exploits are invalid
+for the purposes of this Contest:<ul class="small-gap">
+<li>Covert Channel Attacks;</li>
+<li>Sidechannel Attacks;</li>
+<li>Exploits requiring a virtualized CPU;</li>
+<li>Exploits that rely on features, misfeatures or defects of
+virtual machines (i.e. VMWare, Xen, Parallels etc.);</li>
+<li>Exploits that require the machine to be previously compromised
+by malicious software (including but not limited to viruses or
+malware); and</li>
+<li>Exploits that rely on hardware failures, other than Exploits
+which, in Google’s sole judgment, depend on CPU errata but
+which can be reproduced reliably with a common system
+configuration and under normal operating conditions, or
+statistically improbable hardware behaviors. Examples include
+but are not limited to Exploits that rely on memory errors
+induced by cosmic radiation, and Exploits that require
+abnormal heating, cooling or other abnormal physical
+conditions.</li>
+</ul>
+</li>
+<li>Completeness. Issues submitted that lack any of the above
+materials or fail to meet any of the above criteria, may not be
+considered in the judging process at Google’s sole
+discretion. Issues that are not included in a Participant
+Summary (see section below) will not be considered.</li>
+</ol>
+</li>
+<li><p class="first">Summary</p>
+<ol class="arabic simple">
+<li>Every Participant must submit a Summary at the <a class="reference external" href="http://code.google.com/p/nativeclient/issues/list">Native Client
+Issue Tracker</a> complying
+with the requirements of this section. The Participant must
+select no more than 10 of the Verified Issues submitted by the
+Participant for inclusion on the Summary. Each Summary must be
+in English and must contain the following information:<ul class="small-gap">
+<li>The Issues must be listed in descending order of severity, as
+determined by the Participant in accordance with the Judging
+Criteria.</li>
+<li>Each Issue listed in the Summary must be identified by ID
+number of the Issue. The ID number is the identifying number
+created for each Issue as listed on the <a class="reference external" href="http://code.google.com/p/nativeclient/issues/list">Native Client Issue
+Tracker</a>.</li>
+<li>A description of the effect of each Exploit.</li>
+<li>The platform requirements of each Exploit.</li>
+<li>The version number(s) of Native Client software affected by
+each Exploit (which must be the version number of the Native
+Client software current at the time the Issue was submitted to
+the <a class="reference external" href="http://code.google.com/p/nativeclient/issues/list">Native Client Issue Tracker</a>).</li>
+<li>Any other details about the Exploit and the submission that
+are relevant to the judging criteria, such as, for example,
+the approach used in finding the exploits, innovative or
+scalable techniques used to discover exploits, or
+architectural analysis.</li>
+<li>The team name or user name of the Participant. Google may, in
+its sole discretion, eliminate or disqualify any Summary that
+lists user names or team names that are not identical to the
+user name or team name of the Participant listed on the
+Contest entry form.</li>
+</ul>
+</li>
+<li>Each Summary must be a maximum of 8 pages long, in PDF format
+viewable with Adobe Reader version 9. The Summary must be
+formatted for 8.5 inches x11 inches or A4 paper, with a minimum
+font size of 10 pt. Any submission that does not meet these
+formatting criteria may be disqualified at the sole discretion
+of Google.</li>
+<li>All Issues listed in the Summary will be verified by Google
+before submission of the Summary to the Judges after the Contest
+Closing Date. Participants may submit or resubmit their Summary
+at any time during the duration of the Contest, however, the
+Judges will consider only the last Summary from each Participant
+prior to the Contest Closing Date and ignore all other Summaries
+previously submitted by the Participant.</li>
+</ol>
+</li>
+<li><p class="first">Judging</p>
+<ol class="arabic">
+<li><p class="first">After the Contest End Date and on or about May 15th, 2009, all
+submitted Summaries will be judged by one of at least three
+panels with a minimum of three experts in the field of online
+security (“Judges”) on each panel. Judges will evaluate each
+Summary in accordance with the Judging Criteria described
+below. Each panel will evaluate a number of the submitted
+Summaries using the Judging Criteria described below and will
+select the highest ranking Summaries to move to the next level
+of judging. During the first round of judging, each panel will
+select no more than ten Summaries to move forward to the second
+round of judging unless there is a tie between or among any
+Participants. During the second round of judging, those
+Summaries selected during the first round of judging will then
+be evaluated by all Judges using the below Judging Criteria and
+the top five Summaries will be selected as potential
+winners. All decisions of the Judges are final and binding.</p>
+</li>
+<li><p class="first">Judging Criteria. The Judges will consider each Summary under
+following judging criteria (“Judging Criteria”):</p>
+<ol class="loweralpha">
+<li><p class="first">Quality of Exploit. Quality will be decided by the Judges in
+their sole discretion and will be based on (in order of
+importance to the Judges) Severity, Scope, Reliability and
+Style.</p>
+<ol class="lowerroman">
+<li><p class="first">Severity: the more disruptive the effects of the
+Exploit, the higher its quality. Here is a
+non-exhaustive ranking of the most common Exploits
+starting from ‘minor’ to ‘severe’:</p>
+<ul class="small-gap">
+<li><p class="first">Browser crash;</p>
+</li>
+<li><p class="first">Denial of service or machine crash;</p>
+</li>
+<li><p class="first">Compromise of the Outer Sandbox;</p>
+</li>
+<li><p class="first">Information leak (such as of a cookie or password);</p>
+</li>
+<li><p class="first">Compromise of both the Inner and Outer Sandbox; and/or</p>
+</li>
+<li><p class="first">Prohibited side effect (such as reading or writing
+files to the client machine), escalation of privilege
+(such as executing other programs outside of Native
+Client).</p>
+</li>
+</ul>
+<p>Any Exploit that does not address the above elements
+will be evaluated on a case-by-case basis and the
+severity of such Exploits will be determined solely at
+the Judge’s discretion.</p>
+</li>
+<li><p class="first">Scope: the more computers that an Exploit would
+potentially affect, the bigger its scope and therefore
+higher the quality of the Exploit. Consider the
+following:</p>
+<ul class="small-gap">
+<li><p class="first">Exploits that affect all platforms supported by Native
+Client (where platform is defined as a browser,
+operating system and hardware combination) have higher
+quality than an Exploit specific to a particular
+platform.</p>
+</li>
+<li><p class="first">Exploits that require non-current or beta versions
+(historic or future) of hardware or software are lower
+quality.</p>
+</li>
+<li><p class="first">Exploits that rely on concurrent usage of other
+installed software or web content must make a
+compelling case about the likelihood of the
+prerequisite software or content being present, or
+they will be considered of lower quality.</p>
+</li>
+</ul>
+</li>
+<li><p class="first">Reliability: The more frequent or probable the
+occurrence identified by the Exploit, the more
+“reliable” it may be. Consider the following:</p>
+<ul class="small-gap">
+<li><p class="first">Exploits that require uncommon software to be
+installed on the machine in order to function will be
+deemed to have lower quality.</p>
+</li>
+<li><p class="first">Entries that include Exploits that cannot be
+reproduced 100% of the time, but which can be
+reproduced a significant percentage of the time, will
+be deemed to have a lower quality to account for a
+lowered probability that the attack will succeed.</p>
+</li>
+</ul>
+</li>
+<li><p class="first">Style: Submissions that demonstrate exceptional style
+will receive a higher ranking. Factors that contribute
+to style include:</p>
+<ul class="small-gap">
+<li><p class="first">Ingenuity in mechanism used to bypass security;</p>
+</li>
+<li><p class="first">Uniqueness of the Exploit;</p>
+</li>
+<li><p class="first">Ingenuity in methods used to discover vulnerabilities;
+and/or Minimal size of Exploit to achieve the effect.</p>
+</li>
+</ul>
+</li>
+</ol>
+</li>
+<li><p class="first">the Quantity of Exploits: Participants that submit more
+Exploits in their Summary (but no more than 10) may receive
+a higher ranking, weighted by quality. However, it is still
+possible that a Participant who submits one Exploit could
+still outweigh a Participant that submits several Exploits.</p>
+</li>
+</ol>
+<p>Considering each of the factors described above, the Judges will
+give each Summary a “Score” from 1-10 that represents the Judges
+evaluation of the Summary. This “score” will determine which
+participants move from the first round of judging to the second
+round of judging, and which participants will be selected as a
+winner.</p>
+</li>
+<li><p class="first">Winner Selection</p>
+<p>Judges will review the Summaries as discussed in the “Judging”
+section, above. The Summaries with the five (5) highest scores
+will be selected as potentially winning Participants. In the
+event of a tie ranking for two or more Summaries, the
+Participant whose Summary had the highest ranking for “Severity”
+will receive the higher prize. In the event of a second tie, the
+Participant whose Summary had the highest ranking for “Scope”
+will receive the higher prize. Odds of winning depend on the
+number of eligible entries received and the skill of the
+Participants.</p>
+<p>The Judges are under no obligation to provide feedback on their
+decisions or on their judgment on specific Exploits they
+consider.</p>
+</li>
+<li><p class="first">Team Winners</p>
+<p>A special note about the prize distribution process for
+Participants who are entering as part of a team:</p>
+<p>A single member of each team shall be designated to receive the
+prize, if any, awarded to such team at the initial registration
+of the team, and Google shall have no responsibility for
+distribution of the prize among the team members.</p>
+<p>Each individual that enters as part of a team, understands and
+agrees that if his/her team is selected to receive a prize, the
+team is responsible for ensuring the funds are appropriately
+distributed to each member of the team. In addition, once a team
+has registered, the team may not add, remove, or substitute any
+members or otherwise change the composition of the team for the
+duration of the Contest. If any member of a team does not comply
+with these Terms, is ineligible or is disqualified, the team as
+a whole may be disqualified in Google’s sole discretion.</p>
+</li>
+</ol>
+</li>
+<li><p class="first">Prizes</p>
+<ol class="arabic">
+<li><p class="first">Information Required for Eligibility</p>
+<ol class="loweralpha simple">
+<li>On or about May 15th 2009 and upon selection of potential
+winners, Google will contact all winning Participants using
+the email addresses submitted at registration. In order to
+win the Contest and receive prizes, Participants, including
+each individual on a team, must provide additional
+information including:<ul class="small-gap">
+<li>first and last name;</li>
+<li>address;</li>
+<li>phone number; and</li>
+<li>all other necessary information required by the US tax and
+legal authorities and /or the authorities of the countries
+they reside in.</li>
+</ul>
+</li>
+<li>All Participants will need to verify their identity with
+Google, before receiving their prize; however, Participants
+may provide an alias for use in any public documentation and
+marketing material issued publicly by Google, subject to
+limitations of the law and as required by law
+enforcement. Please be aware that in some jurisdictions, a
+list of winners must be made available and your name, and
+not the alias, will be provided on that list. If a
+Participant, or in the case of a team, any individual member
+of the team, refuses or fails to provide the necessary
+information to Google within 14 days of the Contest
+administrators’ request for the required information, then
+Google may, in its sole discretion, disqualify the
+Participant’s entry and select as an alternative potential
+winner the Participant with the next highest overall
+ranking. Google will not be held responsible for any failure
+of potential winners to receive notification that they are
+potential winners. Except where prohibited by law, each
+potential winner may be required to sign and return a
+Declaration of Eligibility, Liability & Publicity Release
+and Release of Rights and provide any additional information
+that may be required by Google. If required, potential
+winners must return all such required documents within 14
+calendar days following attempted notification or such
+potential winner will be deemed to have forfeited the prize
+and Google will select the Participant with the next highest
+overall ranking as the potential winner.</li>
+<li>Prizes will be awarded within 6 months after the Contest End Date.</li>
+<li>If fewer than 5 Participants or teams are found eligible,
+fewer than 5 winners will be selected.</li>
+<li>Prizes are not transferable or substitutable, except by
+Google in its sole discretion in the event a prize becomes
+unavailable for any reason. In such an instance, Google will
+award a prize of equal or greater value.</li>
+<li>LIMIT: Only one prize per Participant.</li>
+</ol>
+</li>
+<li><p class="first">Prize Amounts and Announcement</p>
+<p>Provided that the Participant has complied with these Terms,
+eligible Participants that are ranked in the top 5 positions of
+the competition by Judges will receive the following awards in
+U.S. Dollars based on their rank: 1st prize: $8,192.00, 2nd
+prize: $4,096.00, 3rd prize: $2,048.00, 4th prize: $1,024.00,
+5th prize: $1,024.00. Winning Entries will be announced on or
+about December 7th.</p>
+</li>
+<li><p class="first">Distribution of a Prize</p>
+<p>Google is not responsible for any division or distribution of
+the prizes among or between team members. Distribution or
+division of the prize among individual team members is the sole
+responsibility of the participating team. Google will award the
+prize only to the one (1) member of the team, who was identified
+by the Participant to receive the prize as part of the
+registration process. Google will attempt to reach only the
+designated recipient for purposes of distribution of the prize.</p>
+<p>Prizes are awarded without warranty of any kind from Google,
+express or implied, without limitation, except where this would
+be contrary to federal, state, provincial, or local laws or
+regulations. All federal, state, provincial and local laws and
+regulations apply.</p>
+</li>
+<li><p class="first">Taxes</p>
+<p>Payments to potential prize winners are subject to the express
+requirement that they submit to Google all documentation
+requested by Google to permit it to comply with all applicable
+US, state, local and foreign (including provincial) tax
+reporting and withholding requirements. All prizes will be net
+of any taxes Google is required by law to withhold. All taxes
+imposed on the prize are the sole responsibility of the prize
+recipient.</p>
+<p>In order to receive a prize, potential prize recipients must
+submit the tax documentation requested by Google or otherwise
+required by applicable law, to Google or the relevant tax
+authority, all as determined by applicable law, including, where
+relevant, the law of the potential prize recipient’s country of
+residence. The potential prize recipient is responsible for
+ensuring that (s)he complies with all the applicable tax laws
+and filing requirements. If a potential prize recipient fails to
+provide such documentation or comply with such laws, the prize
+may be forfeited and Google may, in its sole discretion, select
+an alternative potential prize recipient.</p>
+</li>
+</ol>
+</li>
+<li><p class="first">General Conditions</p>
+<ol class="arabic">
+<li><p class="first">Right to Disqualify. A Participant may be prohibited from
+participating in or be disqualified from this Contest if, in
+Google’s sole discretion, it reasonably believes that the
+Participant or any member of a Participant team has attempted to
+undermine the legitimate operation of the Contest by cheating,
+deception, or other unfair playing practices or annoys, abuses,
+threatens or harasses any other Participants, Google, or the
+Judges. Google further reserves the right to disqualify any
+Issue that it believes in its sole and unfettered discretion
+infringes upon or violates the rights of any third party,
+otherwise does not comply with these Terms, or violates U.S. or
+applicable local law in Participant’s country of residence.</p>
+<p>Google further reserves the right to disqualify any Participant
+who tampers with the submission process or any other part of the
+Contest. Any attempt by a Participant to deliberately damage any
+web site or undermine the legitimate operation of the Contest is
+a violation of criminal and civil laws and should such an
+attempt be made, Google reserves the right to seek damages from
+any such Participant to the fullest extent of the applicable
+law.</p>
+</li>
+<li><p class="first">Internet Disclaimer. Google is not responsible for any
+malfunction of the entire Contest, the web site displaying the
+Contest terms and entry information, or any late, lost, damaged,
+misdirected, incomplete, illegible, undeliverable, or destroyed
+Exploits, Issues or Summaries due to system errors, failed,
+incomplete or garbled computer or other telecommunication
+transmission malfunctions, hardware or software failures of any
+kind, lost or unavailable network connections, typographical or
+system/human errors and failures, technical malfunction(s) of
+any telephone network or lines, cable connections, satellite
+transmissions, servers or providers, or computer equipment,
+traffic congestion on the Internet or at the web site displaying
+the Contest or any combination thereof, including other
+telecommunication, cable, digital or satellite malfunctions
+which may limit an entrant’s ability to participate. Google is
+not responsible for availability of the <a class="reference external" href="http://code.google.com/p/nativeclient/issues/list">Native Client Issue
+Tracker</a>
+from your preferred point of Internet access. In the event of a
+technical disruption, Google may, in its sole discretion, extend
+the Contest End Date for a reasonable period. Google will
+attempt to notify Participants of any such extension by email at
+the email address in the registration information, but shall
+have no liability for any failure of such notification.</p>
+</li>
+<li><p class="first">Exploits Independently Discovered by Google. You acknowledge and
+understand that Google may discover Exploits independently that
+may be similar to or identical to your Issues in terms of
+function, vulnerability, or in other respects. You agree that
+you will not be entitled to any rights in, or compensation in
+connection with, any such similar or identical applications
+and/or ideas. You acknowledge that you have submitted your entry
+voluntarily and not in confidence or in trust.</p>
+</li>
+<li><p class="first">No Contract for Employment. You acknowledge that no
+confidential, fiduciary, agency or other relationship or
+implied-in-fact contract now exists between you and Google and
+that no such relationship is established by your submission of
+an entry to Google in this Contest. Under no circumstances shall
+the submission of an entry in the Contest, the awarding of a
+prize, or anything in these Terms be construed as an offer or
+contract of employment with Google.</p>
+</li>
+<li><p class="first">Intellectual Property Rights and License. Participants warrant
+that their Exploit and Summary are their own original work and,
+as such, they are the sole and exclusive owner and rights holder
+of the submitted Exploit and Summary and that they have the
+right to submit the Exploit and Summary in the Contest and grant
+all required licenses. Each Participant agrees not to submit any
+Exploit and Summary that (a) infringes any third party
+proprietary rights, intellectual property rights, industrial
+property rights, personal or moral rights or any other rights,
+including without limitation, copyright, trademark, patent,
+trade secret, privacy, publicity or confidentiality obligations;
+or (b) otherwise violates the applicable state, federal,
+provincial or local law.</p>
+<p>As between Google and the Participant, the Participant retains
+ownership of all intellectual and industrial property rights in
+and to the Issues and Summary that Participant created. As a
+condition of entry, Participant grants Google a perpetual,
+irrevocable, worldwide, royalty-free, and non-exclusive license
+to use, reproduce, publicly perform, publicly display,
+distribute, sublicense and create a derivative work from, any
+Issue or Summary that Participant submits to this Contest for
+the purposes of allowing Google to test, evaluate and fix or
+remedy the Issue and Summary for purposes of the Contest and
+modifying or improving the Native Client software or any other
+current or future Google product or service.</p>
+<p>Participant also grants Google the right to reproduce and
+distribute the Issue and the Summary. In addition, Participant
+specifically agrees that Google shall have the right to use,
+reproduce, publicly perform, and publicly display the Issue and
+Summary in connection with the advertising and promotion of the
+Native Client software or any other current or future Google
+product or service via communication to the public or other
+groups, including, but not limited to, the right to make
+screenshots, animations and video clips available for
+promotional purposes.</p>
+</li>
+<li><p class="first">Privacy. Participants agree that personal data provided to
+Google during the Contest, including name, mailing address,
+phone number, and email address may be processed, stored, and
+otherwise used for the purposes and within the context of the
+Contest. This data will be maintained in accordance with the
+Google Privacy Policy found at
+<a class="reference external" href="http://www.google.com/privacypolicy.html">http://www.google.com/privacypolicy.html</a>. This data will also be
+transferred into the United States. By entering, Participants
+agree to the transmission, processing, and storage of this
+personal data in the United States.</p>
+<p>Participants also understand this data may be used by Google in
+order to verify a Participant’s identity, postal address and
+telephone number in the event a Participant qualifies for a
+prize. Participants have the right to access, review, rectify or
+cancel any personal data held by Google in connection with the
+Contest by writing to Google at the address listed below in the
+section entitled “Winner’s List.”</p>
+<p>For residents of the European Union:</p>
+<p>Pursuant to EU law pertaining to data collection and processing,
+you are informed that:</p>
+<ul class="small-gap">
+<li><p class="first">The data controller is Google and the data recipients are
+Google and its agents;</p>
+</li>
+<li><p class="first">Your data is collected for purposes of administration of the
+Native Client Security Contest;</p>
+</li>
+<li><p class="first">You have a right of access to and withdrawal of your personal
+data. You also have a right of opposition to the data
+collection, under certain circumstances. To exercise such
+right, You may write to: Native Client Security Contest,
+Google Inc., 1600 Amphitheater Parkway, Mountain View, CA
+94043, USA.</p>
+</li>
+<li><p class="first">Your personal data will be transferred to the U.S.</p>
+</li>
+</ul>
+</li>
+<li><p class="first">Indemnity. To the maximum extent permitted by law, each
+Participant indemnifies and agrees to keep indemnified Google
+and Judges at all times from and against any liability, claims,
+demands, losses, damages, costs and expenses resulting from any
+act, default or omission of the Participant and/or a breach of
+any warranty set forth herein. To the maximum extent permitted
+by law, each Participant agrees to defend, indemnify and hold
+harmless Google, its affiliates and their respective directors,
+officers, employees and agents from and against any and all
+claims, actions, suits or proceedings, as well as any and all
+losses, liabilities, damages, costs and expenses (including
+reasonable attorneys fees) arising out of or accruing from:</p>
+<ol class="loweralpha simple">
+<li>any material uploaded or otherwise provided by the
+Participant that infringes any copyright, trademark, trade
+secret, trade dress, patent or other intellectual property
+right of any person or defames any person or violates their
+rights of publicity or privacy,</li>
+<li>any misrepresentation made by the Participant in connection
+with the Contest;</li>
+<li>any non-compliance by the Participant with these Terms; and</li>
+<li>claims brought by persons or entities other than the parties
+to these Terms arising from or related to the Participant’s
+involvement with the Contest.</li>
+</ol>
+<p>To the extent permitted by law, Participant agrees to hold
+Google, its respective directors, officers, employees and
+assigns harmless for any injury or damage caused or claimed to
+be caused by participation in the Contest and/or use or
+acceptance of any prize, except to the extent that any death or
+personal injury is caused by the negligence of Google.</p>
+</li>
+<li><p class="first">Elimination. Any false information provided within the context
+of the Contest by any Participant including information
+concerning identity, mailing address, telephone number, email
+address, or ownership of right, or non-compliance with these
+Terms or the like may result in the immediate elimination of the
+Participant from the Contest. In the event an individual who is
+a member of a team supplies information that is covered by this
+section, the entire team shall be disqualified.</p>
+</li>
+<li><p class="first">Right to Cancel. If for any reason the Contest is not capable of
+running as planned, including infection by computer virus, bugs,
+tampering, unauthorized intervention, fraud, technical failures,
+or any other causes which corrupt or affect the administration,
+security, fairness, integrity, or proper conduct of the Contest,
+Google reserves the right at its sole discretion to cancel,
+terminate, modify or suspend the Contest.</p>
+</li>
+<li><p class="first">Forum and Recourse to Judicial Procedures. These Terms shall be
+governed by, subject to, and construed in accordance with the
+laws of the State of California, United States of America,
+excluding all conflict of law rules. If any provision(s) of
+these Terms are held to be invalid or unenforceable, all
+remaining provisions hereof will remain in full force and
+effect. To the extent permitted by law, the rights to litigate,
+seek injunctive relief or make any other recourse to judicial or
+any other procedure in case of disputes or claims resulting from
+or in connection with this Contest are hereby excluded, and all
+Participants expressly waive any and all such rights.</p>
+</li>
+<li><p class="first">Arbitration. By entering the Contest, you agree that exclusive
+jurisdiction for any dispute, claim, or demand related in any
+way to the Contest will be decided by binding arbitration. All
+disputes between you and Google, of whatsoever kind or nature
+arising out of these Terms, shall be submitted to Judicial
+Arbitration and Mediation Services, Inc. (“JAMS”) for binding
+arbitration under its rules then in effect in the San Jose,
+California, USA area, before one arbitrator to be mutually
+agreed upon by both parties. The parties agree to share equally
+in the arbitration costs incurred.</p>
+</li>
+<li><p class="first">Winner List</p>
+<p>You may request a list of winners after December 7th, 2009 by
+writing to:</p>
+<div class="line-block">
+<div class="line">Native Client Security Contest</div>
+<div class="line">Google Inc.</div>
+<div class="line">1600 Amphitheater Parkway</div>
+<div class="line">Mountain View, CA 94043</div>
+<div class="line">USA</div>
+</div>
+<p>(Residents of Vermont need not supply postage).</p>
+</li>
+</ol>
+</li>
+</ol>
+</section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/community/security-contest/index.html b/native_client_sdk/doc_generated/community/security-contest/index.html
new file mode 100644
index 0000000..e4f65c1
--- /dev/null
+++ b/native_client_sdk/doc_generated/community/security-contest/index.html
@@ -0,0 +1,202 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<section id="security-contest-archive">
+<span id="contest-archive"></span><h1 id="security-contest-archive"><span id="contest-archive"></span>Security Contest Archive</h1>
+<div class="contents local topic" id="contents">
+<ul class="small-gap">
+<li><a class="reference internal" href="#contest-overview" id="id2">Contest overview</a></li>
+<li><a class="reference internal" href="#contest-winners" id="id3">Contest winners</a></li>
+<li><p class="first"><a class="reference internal" href="#panel-of-judges" id="id4">Panel of judges</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#chair" id="id5">Chair</a></li>
+<li><a class="reference internal" href="#judges" id="id6">Judges</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#additional-information" id="id7">Additional information</a></li>
+</ul>
+</div>
+<p>The Native Client team at Google has gone to exceptional measures to
+make Native Client a secure system, including holding a public
+security contest. This page archives information from that contest,
+including the list of contest winners and the lineup of security
+experts who served as judges.</p>
+<p>Although the security contest has ended, the Native Client team
+welcomes your continued involvement in the project. You can help by
+submitting bugs and participating in the Native Client discussion
+group.</p>
+<section id="contest-overview">
+<h2 id="contest-overview">Contest overview</h2>
+<p>The Native Client team held a contest in 2009 to test the security of
+Native Client and help make the system more secure. Participants were
+invited to discover security bugs in Native Client technology in order
+to compete for cash prizes.</p>
+<p>Here was the challenge put forth by the Native Client team:</p>
+<blockquote>
+<div>Do you think it is impossible to safely run untrusted x86 code on
+the web? Do you want a chance to impress a panel of some of the top
+security experts in the world? Then submit an exploit to the Native
+Client Security contest and you could also win cash prizes, not to
+mention bragging rights.</div></blockquote>
+<p>The contest judges evaluated exploits designed to defeat Native Client
+security measures based on severity, scope, reliability, and
+style. The winning teams and entries are listed below.</p>
+</section><section id="contest-winners">
+<span id="id1"></span><h2 id="contest-winners"><span id="id1"></span>Contest winners</h2>
+<p>The Native Client team thanks everyone who participated in the contest
+for their contributions to improving the quality and security of the
+Native Client system. The judges reviewed the submitted exploits and
+identified the following teams as winners:</p>
+<table border="1" class="docutils">
+<colgroup>
+</colgroup>
+<tbody valign="top">
+<tr class="row-odd"><td><img alt="First place medal" class="first last" src="/native-client/images/medal-64_1st.png" />
+</td>
+<td><p class="first"><strong>Team</strong>: Beached As</p>
+<p><strong>Members</strong>: Mark Dowd, Ben Hawkes</p>
+<p><strong>Submitted issues</strong>: 50, 51, 52, 53, 55, 56, 57, 58, 59, 60, 62, 63</p>
+<p class="last">Mark Dowd and Ben Hawkes are application security specialists
+hailing from Australia and New Zealand, respectively. Mark
+works for IBM ISS X-Force R&D, whereas Ben currently performs
+independent research while simultaneously pursuing a
+mathematics and computing science degree. Both have uncovered
+major security flaws in ubiquitous Internet software, in terms
+of both exploitable bugs and weaknesses in system protection
+mechanisms. Both have spoken at numerous security conferences
+in recent years, including BlackHat, Ruxcon, KiwiCon, and
+Cansec West.</p>
+</td>
+</tr>
+<tr class="row-even"><td><img alt="Second place medal" class="first last" src="/native-client/images/medal-64_2nd.png" />
+</td>
+<td><p class="first"><strong>Team</strong>: CJETM</p>
+<p><strong>Members</strong>: Jason Carpenter, Eric Monti, Chris Rohlf</p>
+<p><strong>Submitted issues</strong>: 42, 44, 49, 70</p>
+<p class="last">Team CJETM is comprised of security vulnerability researchers
+Chris Rohlf, Jason Carpenter and Eric Monti. All three have
+abused software professionally for a long time.</p>
+</td>
+</tr>
+<tr class="row-odd"><td><img alt="Third place medal" class="first last" src="/native-client/images/medal-64_3rd.png" />
+</td>
+<td><p class="first"><strong>Team</strong>: 0xdead</p>
+<p><strong>Members</strong>: Gabriel Campana</p>
+<p><strong>Submitted issues</strong>: 45</p>
+<p class="last">Gabriel Campana is a security researcher working at Sogeti ESEC
+R&D labs. His research interests are mainly focused on
+vulnerability research, exploitation methods, and Linux kernel
+security. Lately he has been working on automated vulnerability
+research, especially fuzzing. In his spare time, he plays with
+embedded network devices.</p>
+</td>
+</tr>
+<tr class="row-even"><td><img alt="Fourth place medal" class="first" src="/native-client/images/medal-64_4th.png" />
+<p class="last">(tie)</p>
+</td>
+<td><p class="first"><strong>Team</strong>: teamfkmr</p>
+<p><strong>Members</strong>: Daiki Fukumori</p>
+<p><strong>Submitted issues</strong>: 66, 67</p>
+<p class="last">Daiki Fukumori is a web security researcher. He has given talks
+at POC Korea and AVTokyo on Web 2.0 Hacking, and he introduced
+Native Client security at Shibuya.pm. He currently has an
+interest in cloud security.</p>
+</td>
+</tr>
+<tr class="row-odd"><td><img alt="Fourth place medal" class="first" src="/native-client/images/medal-64_4th.png" />
+<p class="last">(tie)</p>
+</td>
+<td><p class="first"><strong>Team</strong>: Alex Rad</p>
+<p><strong>Members</strong>: Alex Radocea</p>
+<p><strong>Submitted issues</strong>: 81</p>
+<p class="last">Alex Radocea is a 20-year old student at Rensselaer Polytechnic
+Institute. In the realm of computer security he is really
+excited about proactively designed technology which can help
+wipe out entire bug classes. Currently he is helping improve
+Native Client through Google Summer of Code.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</section><section id="panel-of-judges">
+<span id="contest-judges"></span><h2 id="panel-of-judges"><span id="contest-judges"></span>Panel of judges</h2>
+<p>Google recruited the following group of distinguished security experts
+to serve as judges for the Native Client security contest:</p>
+<section id="chair">
+<h3 id="chair">Chair</h3>
+<table border="1" class="docutils">
+<colgroup>
+</colgroup>
+<tbody valign="top">
+<tr class="row-odd"><td>Edward Felten</td>
+</tr>
+<tr class="row-even"><td>Princeton University</td>
+</tr>
+<tr class="row-odd"><td><a class="reference external" href="http://www.cs.princeton.edu/~felten/">http://www.cs.princeton.edu/~felten/</a></td>
+</tr>
+</tbody>
+</table>
+</section><section id="judges">
+<h3 id="judges">Judges</h3>
+<table border="1" class="docutils">
+<colgroup>
+</colgroup>
+<tbody valign="top">
+<tr class="row-odd"><td>Alex Halderman</td>
+<td>Niels Provos</td>
+<td>Bennet Yee</td>
+</tr>
+<tr class="row-even"><td>University of Michigan</td>
+<td>Google</td>
+<td>Google</td>
+</tr>
+<tr class="row-odd"><td><a class="reference external" href="http://www.cse.umich.edu/~jhalderm/">http://www.cse.umich.edu/~jhalderm/</a></td>
+<td><a class="reference external" href="http://www.citi.umich.edu/u/provos/">http://www.citi.umich.edu/u/provos/</a></td>
+<td><a class="reference external" href="http://www.bennetyee.org/">http://www.bennetyee.org/</a></td>
+</tr>
+<tr class="row-even"><td>Brad Karp</td>
+<td>Stefan Savage</td>
+<td>Nickolai Zeldovich</td>
+</tr>
+<tr class="row-odd"><td>University of College London</td>
+<td>University of California San Diego</td>
+<td>MIT</td>
+</tr>
+<tr class="row-even"><td><a class="reference external" href="http://www.cs.ucl.ac.uk/staff/B.Karp/">http://www.cs.ucl.ac.uk/staff/B.Karp/</a></td>
+<td><a class="reference external" href="http://www.cs.ucsd.edu/~savage">http://www.cs.ucsd.edu/~savage</a></td>
+<td><a class="reference external" href="http://people.csail.mit.edu/nickolai/">http://people.csail.mit.edu/nickolai/</a></td>
+</tr>
+<tr class="row-odd"><td>Greg Morrisett</td>
+<td>Dan Wallach</td>
+<td><div class="first last"> </div></td>
+</tr>
+<tr class="row-even"><td>Harvard University</td>
+<td>Rice University</td>
+<td><div class="first last"> </div></td>
+</tr>
+<tr class="row-odd"><td><a class="reference external" href="http://www.eecs.harvard.edu/~greg/">http://www.eecs.harvard.edu/~greg/</a></td>
+<td><a class="reference external" href="http://www.cs.rice.edu/~dwallach/">http://www.cs.rice.edu/~dwallach/</a></td>
+<td><div class="first last"> </div></td>
+</tr>
+</tbody>
+</table>
+</section></section><section id="additional-information">
+<h2 id="additional-information">Additional information</h2>
+<p>For additional information about the Native Client security contest,
+see the archived
+<a class="reference internal" href="/native-client/community/security-contest/contest-announcement.html"><em>Contest Announcement</em></a>,
+<a class="reference internal" href="/native-client/community/security-contest/contest-faq.html"><em>FAQ</em></a> and
+<a class="reference internal" href="/native-client/community/security-contest/contest-terms.html"><em>Terms & Conditions</em></a>.</p>
+<p>If you’d like to get involved with Native Client, you can:</p>
+<ul class="small-gap">
+<li>Use the
+<a class="reference external" href="https://developers.google.com/native-client/sdk">Native Client SDK</a>
+to build Native Client web applications.</li>
+<li>Submit <a class="reference external" href="http://code.google.com/p/nativeclient/issues/list">bugs</a>
+and participate in the Native Client
+<a class="reference external" href="http://groups.google.com/group/native-client-discuss">discussion group</a>.</li>
+<li>Contribute to the
+<a class="reference external" href="http://code.google.com/p/nativeclient/">Native Client open-source project</a>.</li>
+</ul>
+</section></section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/devguide/coding/3D-graphics.html b/native_client_sdk/doc_generated/devguide/coding/3D-graphics.html
new file mode 100644
index 0000000..0e7cdb1
--- /dev/null
+++ b/native_client_sdk/doc_generated/devguide/coding/3D-graphics.html
@@ -0,0 +1,442 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<section id="d-graphics">
+<span id="devguide-coding-3d-graphics"></span><h1 id="d-graphics"><span id="devguide-coding-3d-graphics"></span>3D Graphics</h1>
+<p>Native Client applications use the <a class="reference external" href="http://en.wikipedia.org/wiki/OpenGL_ES">OpenGL ES 2.0</a> API for 3D rendering. This document
+describes how to call the OpenGL ES 2.0 interface in a Native Client module and
+how to build an efficient rendering loop. It also explains how to validate GPU
+drivers and test for specific GPU capabilities, and provides tips to help ensure
+your rendering code runs efficiently.</p>
+<aside class="note">
+<strong>Note</strong>: 3D drawing and OpenGL are complex topics. This document deals only
+with issues directly related to programming in the Native Client
+environment. To learn more about OpenGL ES 2.0 itself, see the <a class="reference external" href="http://opengles-book.com/">OpenGL ES 2.0
+Programming Guide</a>.
+</aside>
+<section id="validating-the-client-graphics-platform">
+<h2 id="validating-the-client-graphics-platform">Validating the client graphics platform</h2>
+<p>Native Client is a software technology that lets you code an application once
+and run it on multiple platforms without worrying about the implementation
+details on every possible target platform. It’s difficult to provide the same
+support at the hardware level. Graphics hardware comes from many different
+manufacturers and is controlled by drivers of varying quality. A particular GPU
+driver may not support every OpenGL ES 2.0 feature, and some drivers are known
+to have vulnerabilities that can be exploited.</p>
+<p>Even if the GPU driver is safe to use, your program should perform a validation
+check before you launch your application to ensure that the driver supports all
+the features you need.</p>
+<section id="vetting-the-driver-in-javascript">
+<h3 id="vetting-the-driver-in-javascript">Vetting the driver in JavaScript</h3>
+<p>At startup, the application should perform a few additional tests that can be
+implemented in JavaScript on its hosting web page. The script that performs
+these tests should be included before the module’s <code>embed</code> tag, and ideally
+the <code>embed</code> tag should appear on the hosting page only if these tests succeed.</p>
+<p>The first thing to check is whether you can create a graphics context. If you
+can, use the context to confirm the existence of any required OpenGL ES 2.0
+extensions. You may want to refer to the <a class="reference external" href="http://www.khronos.org/registry/webgl/extensions/">extension registry</a> and include <a class="reference external" href="https://developer.mozilla.org/en-US/docs/WebGL/Using_Extensions">vendor
+prefixes</a>
+when checking for extensions.</p>
+</section><section id="vetting-the-driver-in-native-client">
+<h3 id="vetting-the-driver-in-native-client">Vetting the driver in Native Client</h3>
+<section id="create-a-context">
+<h4 id="create-a-context">Create a context</h4>
+<p>Once you’ve passed the JavaScript validation tests, it’s safe to add a Native
+Client embed tag to the hosting web page and load the module. As part of the
+module initialization code, you must create a graphics context for the app by
+either creating a C++ <code>Graphics3D</code> object or calling <code>PPB_Graphics3D</code> API
+function <code>Create</code>. Don’t assume this will always succeed; you still might have
+problems creating the context. If you are in development mode and can’t create
+the context, try creating a simpler version to see if you’re asking for an
+unsupported feature or exceeding a driver resource limit. Your production code
+should always check that the context was created and fail gracefully if that’s
+not the case.</p>
+</section><section id="check-for-extensions-and-capabilities">
+<h4 id="check-for-extensions-and-capabilities">Check for extensions and capabilities</h4>
+<p>Not every GPU supports every extension or has the same amount of texture units,
+vertex attributes, etc. On startup, call <code>glGetString(GL_EXTENSIONS)</code> and
+check for the extensions and the features you need. For example:</p>
+<ul class="small-gap">
+<li>If you are using non power-of-2 texture with mipmaps, make sure
+<code>GL_OES_texture_npot</code> exists.</li>
+<li>If you are using floating point textures, make sure <code>GL_OES_texture_float</code>
+exists.</li>
+<li>If you are using DXT1, DXT3, or DXT5 textures, make sure the corresponding
+extensions <code>EXT_texture_compression_dxt1</code>,
+<code>GL_CHROMIUM_texture_compression_dxt3</code>, and
+<code>GL_CHROMIUM_texture_compression_dxt5</code> exist.</li>
+<li>If you are using the functions <code>glDrawArraysInstancedANGLE</code>,
+<code>glDrawElementsInstancedANGLE</code>, <code>glVertexAttribDivisorANGLE</code>, or the PPAPI
+interface <code>PPB_OpenGLES2InstancedArrays</code>, make sure the corresponding
+extension <code>GL_ANGLE_instanced_arrays</code> exists.</li>
+<li>If you are using the function <code>glRenderbufferStorageMultisampleEXT</code>, or the
+PPAPI interface <code>PPB_OpenGLES2FramebufferMultisample</code>, make sure the
+corresponding extension <code>GL_CHROMIUM_framebuffer_multisample</code> exists.</li>
+<li>If you are using the functions <code>glGenQueriesEXT</code>, <code>glDeleteQueriesEXT</code>,
+<code>glIsQueryEXT</code>, <code>glBeginQueryEXT</code>, <code>glEndQueryEXT</code>, <code>glGetQueryivEXT</code>,
+<code>glGetQueryObjectuivEXT</code>, or the PPAPI interface <code>PPB_OpenGLES2Query</code>,
+make sure the corresponding extension <code>GL_EXT_occlusion_query_boolean</code>
+exists.</li>
+<li>If you are using the functions <code>glMapBufferSubDataCHROMIUM</code>,
+<code>glUnmapBufferSubDataCHROMIUM</code>, <code>glMapTexSubImage2DCHROMIUM</code>,
+<code>glUnmapTexSubImage2DCHROMIUM</code>, or the PPAPI interface
+<code>PPB_OpenGLES2ChromiumMapSub</code>, make sure the corresponding extension
+<code>GL_CHROMIUM_map_sub</code> exists.</li>
+</ul>
+<p>Check for system capabilites with <code>glGetIntegerv</code> and adjust shader programs
+as well as texture and vertex data accordingly:</p>
+<ul class="small-gap">
+<li>If you are using textures in vertex shaders, make sure
+<code>glGetIntegerv(GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS, ...)</code> and
+<code>glGetIntegerv(GL_MAX_TEXTURE_SIZE, ...)</code> return values greater than 0.</li>
+<li>If you are using more than 8 textures in a single shader, make sure
+<code>glGetIntegerv(GL_MAX_TEXTURE_IMAGE_UNITS, ...)</code> returns a value greater
+than or equal to the number of simultaneous textures you need.</li>
+</ul>
+</section></section><section id="vetting-the-driver-in-the-chrome-web-store">
+<h3 id="vetting-the-driver-in-the-chrome-web-store">Vetting the driver in the Chrome Web Store</h3>
+<p>If you choose to place your application in the <a class="reference external" href="https://developers.google.com/chrome/web-store/docs/">Chrome Web
+Store</a>, its Web Store
+<a class="reference external" href="http://code.google.com/chrome/extensions/manifest.html">manifest file</a> can
+include the <code>webgl</code> feature in the requirements parameter. It looks like this:</p>
+<pre class="prettyprint">
+"requirements": {
+ "3D": {
+ "features": ["webgl"]
+ }
+}
+</pre>
+<p>While WebGL is technically a JavaScript API, specifying the <code>webgl</code> feature
+also works for OpenGL ES 2.0 because both interfaces use the same driver.</p>
+<p>This manifest item is not required, but if you include it, the Chrome Web Store
+will prevent a user from installing the application if the browser is running on
+a machine that does not support OpenGL ES 2.0 or that is using a known
+blacklisted GPU driver that could invite an attack.</p>
+<p>If the Web Store determines that the user’s driver is deficient, the app won’t
+appear on the store’s tile display. However, it will appear in store search
+results or if the user links to it directly, in which case the user could still
+download it. But the manifest requirements will be checked when the user reaches
+the install page, and if there is a problem, the browser will display the
+message “This application is not supported on this computer. Installation has
+been disabled.”</p>
+<p>The manifest-based check applies only to downloads directly from the Chrome Web
+Store. It is not performed when an application is loaded via <a class="reference external" href="https://developers.google.com/chrome/web-store/docs/inline_installation">inline
+installation</a>.</p>
+</section><section id="what-to-do-when-there-are-problems">
+<h3 id="what-to-do-when-there-are-problems">What to do when there are problems</h3>
+<p>Using the vetting procedure described above, you should be able to detect the
+most common problems before your application runs. If there are problems, your
+code should describe the issue as clearly as possible. That’s easy if there is a
+missing feature. Failure to create a graphics context is tougher to diagnose. At
+the very least, you can suggest that the user try to update the driver. You
+might want to linke to the Chrome page that describes <a class="reference external" href="http://support.google.com/chrome/bin/answer.py?hl=en&answer=1202946">how to do updates</a>.</p>
+<p>If a user can’t update the driver, or their problem persists, be sure to gather
+information about their graphics environment. Ask for the contents of the Chrome
+<code>about:gpu</code> page.</p>
+</section><section id="document-unreliable-drivers">
+<h3 id="document-unreliable-drivers">Document unreliable drivers</h3>
+<p>It can be helpful to include information about known dubious drivers in your
+user documentation. This might help identify if a rogue driver is the cause of a
+problem. There are many sources of GPU driver blacklists. Two such lists can be
+found at the <a class="reference external" href="http://src.chromium.org/viewvc/chrome/trunk/deps/gpu/software_rendering_list/software_rendering_list.json">Chromium project</a>
+and <a class="reference external" href="http://www.khronos.org/webgl/wiki/BlacklistsAndWhitelists">Khronos</a>. You
+can use these lists to include information in your documentation that warns
+users about dangerous drivers.</p>
+</section><section id="test-your-defenses">
+<h3 id="test-your-defenses">Test your defenses</h3>
+<p>You can test your driver validation code by running Chrome with the following
+flags (all at once) and watching how your application responds:</p>
+<ul class="small-gap">
+<li><code>--disable-webgl</code></li>
+<li><code>--disable-pepper-3d</code></li>
+<li><code>--disable-gl-multisampling</code></li>
+<li><code>--disable-accelerated-compositing</code></li>
+<li><code>--disable-accelerated-2d-canvas</code></li>
+</ul>
+</section></section><section id="calling-opengl-es-2-0-commands">
+<h2 id="calling-opengl-es-2-0-commands">Calling OpenGL ES 2.0 commands</h2>
+<p>There are three ways to write OpenGL ES 2.0 calls in Native Client.</p>
+<section id="use-pure-opengl-es-2-0-function-calls">
+<h3 id="use-pure-opengl-es-2-0-function-calls">Use “pure” OpenGL ES 2.0 function calls</h3>
+<p>You can make OpenGL ES 2.0 calls through a Pepper extension library. The SDK
+example <code>examples/api/graphics_3d</code> works this way. In the file
+<code>graphics_3d.cc</code>, the key initialization steps are as follows:</p>
+<ul class="small-gap">
+<li><p class="first">Add these includes at the top of the file:</p>
+<pre class="prettyprint">
+#include <GLES2/gl2.h>
+#include "ppapi/lib/gl/gles2/gl2ext_ppapi.h"
+</pre>
+</li>
+<li><p class="first">Define the function <code>InitGL</code>. The exact specification of <code>attrib_list</code>
+will be application specific.</p>
+<pre class="prettyprint">
+bool InitGL(int32_t new_width, int32_t new_height) {
+ if (!glInitializePPAPI(pp::Module::Get()->get_browser_interface())) {
+ fprintf(stderr, "Unable to initialize GL PPAPI!\n");
+ return false;
+ }
+
+ const int32_t attrib_list[] = {
+ PP_GRAPHICS3DATTRIB_ALPHA_SIZE, 8,
+ PP_GRAPHICS3DATTRIB_DEPTH_SIZE, 24,
+ PP_GRAPHICS3DATTRIB_WIDTH, new_width,
+ PP_GRAPHICS3DATTRIB_HEIGHT, new_height,
+ PP_GRAPHICS3DATTRIB_NONE
+ };
+
+ context_ = pp::Graphics3D(this, attrib_list);
+ if (!BindGraphics(context_)) {
+ fprintf(stderr, "Unable to bind 3d context!\n");
+ context_ = pp::Graphics3D();
+ glSetCurrentContextPPAPI(0);
+ return false;
+ }
+
+ glSetCurrentContextPPAPI(context_.pp_resource());
+ return true;
+}
+</pre>
+</li>
+<li>Include logic in <code>Instance::DidChangeView</code> to call <code>InitGL</code> whenever
+necessary: upon application launch (when the graphics context is NULL) and
+whenever the module’s View changes size.</li>
+</ul>
+</section><section id="use-regal">
+<h3 id="use-regal">Use Regal</h3>
+<p>If you are porting an OpenGL ES 2.0 application, or are comfortable writing in
+OpenGL ES 2.0, you should stick with the Pepper APIs or pure OpenGL ES 2.0 calls
+described above. If you are porting an application that uses features not in
+OpenGL ES 2.0, consider using Regal. Regal is an open source library that
+supports many versions of OpenGL. Regal recently added support for Native
+Client. Regal forwards most OpenGL calls directly to the underlying graphics
+library, but it can also emulate other calls that are not included (when
+hardware support exists). See <a class="reference external" href="http://www.altdevblogaday.com/2012/09/04/bringing-regal-opengl-to-native-client/">libregal</a>
+for more info.</p>
+</section><section id="use-the-pepper-api">
+<h3 id="use-the-pepper-api">Use the Pepper API</h3>
+<p>Your code can call the Pepper <a class="reference external" href="https://developers.google.com/native-client/pepperc/struct_p_p_b___open_g_l_e_s2">PPB_OpenGLES2</a>
+API directly, as with any Pepper interface. When you write in this way, each
+invocation of an OpenGL ES 2.0 function must begin with a reference to the
+Pepper interface, and the first argument is the graphics context. To invoke the
+function <code>glCompileShader</code>, your code might look like:</p>
+<pre class="prettyprint">
+ppb_g3d_interface->CompileShader(graphicsContext, shader);
+</pre>
+<p>This approach specifically targets the Pepper APIs. Each call corresponds to a
+OpenGL ES 2.0 function, but the syntax is unique to Native Client, so the source
+file is not portable.</p>
+</section></section><section id="implementing-a-rendering-loop">
+<h2 id="implementing-a-rendering-loop">Implementing a rendering loop</h2>
+<p>Graphics applications require a continuous frame render-and-redraw cycle that
+runs at a high frequency. To achieve the best frame rate, is important to
+understand how the OpenGL ES 2.0 code in a Native Client module interacts with
+Chrome.</p>
+<section id="the-chrome-and-native-client-processes">
+<h3 id="the-chrome-and-native-client-processes">The Chrome and Native Client processes</h3>
+<p>Chrome is a multi-process browser. Each Chrome tab is a separate process that is
+running an application with its own main thread (we’ll call it the Chrome main
+thread). When an application launches a Native Client module, the module runs in
+a new, separate sandboxed process. The module’s process has its own main thread
+(the Native Client thread). The Chrome and Native Client processes communicate
+with each other using Pepper API calls on their main threads.</p>
+<p>When the Chrome main thread calls the Native Client thread (keyboard and mouse
+callbacks, for example), the Chrome main thread will block. This means that
+lengthy operations on the Native Client thread can steal cycles from Chrome, and
+performing blocking operations on the Native Client thread can bring your app to
+a standstill.</p>
+<p>Native Client uses callback functions to synchronize the main threads of the two
+processes. Only certain Pepper functions use callbacks; <a class="reference external" href="https://developers.google.com/native-client/pepperc/struct_p_p_b___graphics3_d__1__0#a293c6941c0da084267ffba3954793497">SwapBuffers</a>
+is one.</p>
+</section><section id="swapbuffers-and-its-callback-function">
+<h3 id="swapbuffers-and-its-callback-function"><code>SwapBuffers</code> and its callback function</h3>
+<p><code>SwapBuffers</code> is non-blocking; it is called from the Native Client thread and
+returns immediately. When <code>SwapBuffers</code> is called, it runs asynchronously on
+the Chrome main thread. It switches the graphics data buffers, handles any
+needed compositing operations, and redraws the screen. When the screen update is
+complete, the callback function that was included as one of <code>SwapBuffer</code>‘s
+arguments will be called from the Chrome thread and executed on the Native
+Client thread.</p>
+<p>To create a rendering loop, your Native Client module should include a function
+that does the rendering work and then executes <code>SwapBuffers</code>, passing itself
+as the <code>SwapBuffer</code> callback. If your rendering code is efficient and runs
+quickly, this scheme will achieve the highest frame rate possible. The
+documentation for <code>SwapBuffers</code> explains why this is optimal: because the
+callback is executed only when the plugin’s current state is actually on the
+screen, this function provides a way to rate-limit animations. By waiting until
+the image is on the screen before painting the next frame, you can ensure you’re
+not generating updates faster than the screen can be updated.</p>
+<p>The following diagram illustrates the interaction between the Chrome and Native
+Client processes. The application-specific rendering code runs in the function
+called <code>Draw</code> on the Native Client thread. Blue down-arrows are blocking calls
+from the main thread to Native Client, green up-arrows are non-blocking
+<code>SwapBuffers</code> calls from Native Client to the main thread. All OpenGL ES 2.0
+calls are made from <code>Draw</code> in the Native Client thread.</p>
+<img alt="/native-client/images/3d-graphics-render-loop.png" src="/native-client/images/3d-graphics-render-loop.png" />
+</section><section id="sdk-example-graphics-3d">
+<h3 id="sdk-example-graphics-3d">SDK example <code>graphics_3d</code></h3>
+<p>The SDK example <code>graphics_3d</code> uses the function <code>MainLoop</code> (in
+<code>hello_world.cc</code>) to create a rendering loop as described above. <code>MainLoop</code>
+calls <code>Render</code> to do the rendering work, and then invokes <code>SwapBuffers</code>,
+passing itself as the callback.</p>
+<pre class="prettyprint">
+void MainLoop(void* foo, int bar) {
+ if (g_LoadCnt == 3) {
+ InitProgram();
+ g_LoadCnt++;
+ }
+ if (g_LoadCnt > 3) {
+ Render();
+ PP_CompletionCallback cc = PP_MakeCompletionCallback(MainLoop, 0);
+ ppb_g3d_interface->SwapBuffers(g_context, cc);
+ } else {
+ PP_CompletionCallback cc = PP_MakeCompletionCallback(MainLoop, 0);
+ ppb_core_interface->CallOnMainThread(0, cc, 0);
+ }
+}
+</pre>
+</section></section><section id="managing-the-opengl-es-2-0-pipeline">
+<h2 id="managing-the-opengl-es-2-0-pipeline">Managing the OpenGL ES 2.0 pipeline</h2>
+<p>OpenGL ES 2.0 commands do not run in the Chrome or Native Client processes. They
+are passed into a FIFO queue in shared memory which is best understood as a <a class="reference external" href="http://www.chromium.org/developers/design-documents/gpu-command-buffer">GPU
+command buffer</a>. The
+command buffer is shared by a dedicated GPU process. By using a separate GPU
+process, Chrome implements another layer of runtime security, vetting all OpenGL
+ES 2.0 commands and their arguments before they are sent on to the
+GPU. Buffering commands through the FIFO also speeds up your code, since each
+OpenGL ES 2.0 call in your Native Client thread returns immediately, while the
+processing may be delayed as the GPU works down the commands queued up in the
+FIFO.</p>
+<p>Before the screen is updated, all the intervening OpenGL ES 2.0 commands must be
+processed by the GPU. Programmers often try to ensure this by using the
+<code>glFlush</code> and <code>glFinish</code> commands in their rendering code. In the case of
+Native Client this is usually unnecessary. The <code>SwapBuffers</code> command does an
+implicit flush, and the Chrome team is continually tweaking the GPU code to
+consume the OpenGL ES 2.0 FIFO as fast as possible.</p>
+<p>Sometimes a 3D application can write to the FIFO in a way that’s difficult to
+handle. The command pipeline may fill up and your code will have to wait for the
+GPU to flush the FIFO. If this is the case, you may be able to add <code>glFlush</code>
+calls to speed up the flow of the OpenGL ES 2.0 command FIFO. Before you start
+to add your own flushes, first try to determine if pipeline saturation is really
+the problem by monitoring the rendering time per frame and looking for irregular
+spikes that do not consistently fall on the same OpenGL ES 2.0 call. If you’re
+convinced the pipeline needs to be accelerated, insert <code>glFlush</code> calls in your
+code before starting blocks of processing that do not generate OpenGL ES 2.0
+commands. For example, issue a flush before you begin any multithreaded particle
+work, so that the command buffer will be clear when you start doing OpenGL ES
+2.0 calls again. Determining where and how often to call <code>glFlush</code> can be
+tricky, you will need to experiment to find the sweet spot.</p>
+</section><section id="rendering-and-inactive-tabs">
+<h2 id="rendering-and-inactive-tabs">Rendering and inactive tabs</h2>
+<p>Users will often switch between tabs in a multi-tab browser. A well-behaved
+application that’s performing 3D rendering should pause any real-time processing
+and yield cycles to other processes when its tab becomes inactive.</p>
+<p>In Chrome, an inactive tab will continue to execute timed functions (such as
+<code>setInterval</code> and <code>setTimeout</code>) but the timer interval will be automatically
+overridden and limited to not less than one second while the tab is inactive. In
+addition, any callback associated with a <code>SwapBuffers</code> call will not be sent
+until the tab is active again. You may receive asynchronous callbacks from
+functions other than <code>SwapBuffers</code> while a tab is inactive. Depending on the
+design of your application, you might choose to handle them as they arrive, or
+to queue them in a buffer and process them when the tab becomes active.</p>
+<p>The time that passes while a tab is inactive can be considerable. If your main
+thread pulse is based on the <code>SwapBuffers</code> callback, your app won’t update
+while a tab is inactive. A Native Client module should be able to detect and
+respond to the state of the tab in which it’s running. For example, when a tab
+becomes inactive, you can set an atomic flag in the Native Client thread that
+will skip the 3D rendering and <code>SwapBuffers</code> calls and continue to call the
+main thread every 30 msec or so. This provides time to update features that
+should still run in the background, like audio. It may also be helpful to call
+<code>sched_yield</code> or <code>usleep</code> on any worker threads to release resources and
+cede cycles to the OS.</p>
+<section id="handling-tab-activation-from-the-main-thread">
+<h3 id="handling-tab-activation-from-the-main-thread">Handling tab activation from the main thread</h3>
+<p>You can detect and respond to the activation or deactivation of a tab with
+JavaScript on your hosting page. Add an EventListener for <code>visibilitychange</code>
+that sends a message to the Native Client module, as in this example:</p>
+<pre class="prettyprint">
+document.addEventListener('visibilitychange', function(){
+ if (document.hidden) {
+ // PostMessage to your Native Client module
+ document.nacl_module.postMessage('INACTIVE');
+ } else {
+ // PostMessage to your Native Client module
+ document.nacl_module.postMessage('ACTIVE');
+ }
+
+}, false);
+</pre>
+</section><section id="handling-tab-activation-from-the-native-client-thread">
+<h3 id="handling-tab-activation-from-the-native-client-thread">Handling tab activation from the Native Client thread</h3>
+<p>You can also detect and respond to the activation or deactivation of a tab
+directly from your Native Client module by including code in the function
+<code>pp::Instance::DidChangeView</code>, which is called whenever a change in the
+module’s view occurs. The code can call <code>ppb::View::IsPageVisible</code> to
+determine if the page is visible or not. The most common cause of invisible
+pages is that the page is in a background tab.</p>
+</section></section><section id="tips-and-best-practices">
+<h2 id="tips-and-best-practices">Tips and best practices</h2>
+<p>Here are some suggestions for writing safe code and getting the maximum
+performance with the Pepper 3D API.</p>
+<section id="do-s">
+<h3 id="do-s">Do’s</h3>
+<ul class="small-gap">
+<li><p class="first"><strong>Make sure to enable attrib 0.</strong> OpenGL requires that you enable attrib 0,
+but OpenGL ES 2.0 does not. For example, you can define a vertex shader with 2
+attributes, numbered like this:</p>
+<pre class="prettyprint">
+glBindAttribLocation(program, "positions", 1);
+glBindAttribLocation(program, "normals", 2);
+</pre>
+<p>In this case the shader is not using attrib 0 and Chrome may have to perform
+some additional work if it is emulating OpenGL ES 2.0 on top of OpenGL. It’s
+always more efficient to enable attrib 0, even if you do not use it.</p>
+</li>
+<li><strong>Check how shaders compile.</strong> Shaders can compile differently on different
+systems, which can result in <code>glGetAttrib*</code> functions returning different
+results. Be sure that the vertex attribute indices match the corresponding
+name each time you recompile a shader.</li>
+<li><strong>Update indices sparingly.</strong> For security reasons, all indices must be
+validated. If you change indices, Native Client will validate them
+again. Structure your code so indices are not updated often.</li>
+<li><strong>Use a smaller plugin and let CSS scale it.</strong> If you’re running into fillrate
+issues, it may be beneficial to perform scaling via CSS. The size your plugin
+renders is determined by the width and height attributes of the <code><embed></code>
+element for the module. The actual size displayed on the web page is
+controlled by the CSS styles applied to the element.</li>
+<li><strong>Avoid matrix-to-matrix conversions.</strong> With some versions of Mac OS, there is
+a driver problem when compiling shaders. If you get compiler errors for matrix
+transforms, avoid matrix-to-matrix conversions. For instance, upres a vec3 to
+a vec4 before transforming it by a mat4, rather than converting the mat4 to a
+mat3.</li>
+</ul>
+</section><section id="don-ts">
+<h3 id="don-ts">Don’ts</h3>
+<ul class="small-gap">
+<li><strong>Don’t use client side buffers.</strong> OpenGL ES 2.0 can use client side data with
+<code>glVertexAttribPointer</code> and <code>glDrawElements</code>, but this is really slow. Try
+to avoid client side buffers. Use Vertex Buffer Objects (VBOs) instead.</li>
+<li><strong>Don’t mix vertex data and index data.</strong> By default, Pepper 3D binds buffers
+to a single point. You could create a buffer and bind it to both
+<code>GL_ARRAY_BUFFER</code> and <code>GL_ELEMENT_ARRAY_BUFFER</code>, but that would be
+expensive overhead and it is not recommended.</li>
+<li><strong>Don’t call ``glGet*`` or ``glCheck*`` during rendering.</strong> This is normal
+advice for OpenGL programs, but is particularly important for 3D on
+Chrome. Calls to any OpenGL ES 2.0 function whose name begins with these
+strings blocks the Native Client thread. This includes <code>glGetError</code>; avoid
+calling it in release builds.</li>
+<li><strong>Don’t use fixed point (``GL_FIXED``) vertex attributes.</strong> Fixed point
+attributes are not supported in OpenGL ES 2.0, so emulating them in OpenGL ES
+2.0 is slow. By default, <code>GL_FIXED</code> support is turned off in the Pepper 3D
+API.</li>
+<li><strong>Don’t read data from the GPU.</strong> Don’t call <code>glReadPixels</code>, as it is slow.</li>
+<li><strong>Don’t update a small portion of a large buffer.</strong> In the current OpenGL ES
+2.0 implementation when you update a portion of a buffer (with
+<code>glSubBufferData</code> for example) the entire buffer must be reprocessed. To
+avoid this problem, keep static and dynamic data in different buffers.</li>
+<li><strong>Don’t call ``glDisable(GL_TEXTURE_2D)``.</strong> This is an OpenGL ES 2.0
+error. Each time it is called, an error messages will appear in Chrome’s
+<code>about:gpu</code> tab.</li>
+</ul>
+</section></section></section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/devguide/coding/application-structure.html b/native_client_sdk/doc_generated/devguide/coding/application-structure.html
new file mode 100644
index 0000000..89ee979
--- /dev/null
+++ b/native_client_sdk/doc_generated/devguide/coding/application-structure.html
@@ -0,0 +1,216 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<section id="application-structure">
+<span id="devcycle-application-structure"></span><h1 id="application-structure"><span id="devcycle-application-structure"></span>Application Structure</h1>
+<div class="contents local topic" id="contents">
+<ul class="small-gap">
+<li><a class="reference internal" href="#application-components" id="id1">Application components</a></li>
+<li><a class="reference internal" href="#html-file-and-the-embed-element" id="id2">HTML file and the <embed> element</a></li>
+<li><a class="reference internal" href="#manifest-files" id="id3">Manifest Files</a></li>
+<li><a class="reference internal" href="#modules-and-instances" id="id4">Modules and instances</a></li>
+<li><a class="reference internal" href="#native-client-modules-a-closer-look" id="id5">Native Client modules: A closer look</a></li>
+</ul>
+</div>
+<p>This chapter of the Developer’s Guide describes the general structure of a
+Native Client application. The chapter assumes you are familiar with the
+material presented in the <a class="reference internal" href="/native-client/overview.html"><em>Technical Overview</em></a>.</p>
+<aside class="note">
+The “Hello, World” example is used here to illustrate basic
+Native Client programming techniques. You can find this code in the
+<em>/getting_started/part1</em> directory in the Native Client SDK download.
+</aside>
+<section id="application-components">
+<h2 id="application-components">Application components</h2>
+<p>A Native Client application typically contains the following components:</p>
+<ul class="small-gap">
+<li>an HTML file;</li>
+<li>JavaScript code, which can be included in the HTML file or contained in one or
+more separate .js files;</li>
+<li>CSS styles, which can be included in the HTML file or contained in one or more
+separate .css files;</li>
+<li>a Native Client manifest file (with a .nmf extension) that specifies how to
+load a Native Client module for different processors; and</li>
+<li>a Native Client module, written in C or C++, and compiled into a portable
+executable file (with a .pexe extension) or (if using the Chrome Web Store),
+architecture-specific executable files (with .nexe extensions).</li>
+</ul>
+<p>Applications that are published in the <a class="reference external" href="https://chrome.google.com/webstore/search?q=%22Native+Client%22+OR+NativeClient+OR+NaCl">Chrome Web Store</a>
+also include a Chrome
+Web Store manifest file <code>(manifest.json)</code> and one or more icon files.</p>
+</section><section id="html-file-and-the-embed-element">
+<span id="html-file"></span><h2 id="html-file-and-the-embed-element"><span id="html-file"></span>HTML file and the <embed> element</h2>
+<p>The <code><embed></code> element in an HTML file triggers the loading of a Native Client
+module and specifies the rectangle on the web page that is managed by the
+module. Here is the <embed> element from the “Hello, World” application:</p>
+<pre class="prettyprint">
+<embed id="hello_tutorial"
+ width=0 height=0
+ src="hello_tutorial.nmf"
+ type="application/x-pnacl" />
+</pre>
+<p>In the <code><embed></code> element:</p>
+<dl class="docutils">
+<dt>name</dt>
+<dd>is the DOM name attribute for the Native Client module
+(“nacl_module” is often used as a convention)</dd>
+<dt>id</dt>
+<dd>specifies the DOM ID for the Native Client module</dd>
+<dt>width, height</dt>
+<dd>specify the size in pixels of the rectangle on the web page that is
+managed by the Native Client module (if the module does not have a
+visible area, these values can be 0)</dd>
+<dt>src</dt>
+<dd>refers to the Native Client manifest file that is used to determine
+which version of a module to load based on the architecture of the
+user’s computer (see the following section for more information)</dd>
+<dt>type</dt>
+<dd>specifies the MIME type of the embedded content; for Portable Native Client
+modules the type must be “application/x-pnacl”. For architecture-specific
+Native Client modules the type must be “application/x-nacl”</dd>
+</dl>
+</section><section id="manifest-files">
+<span id="manifest-file"></span><h2 id="manifest-files"><span id="manifest-file"></span>Manifest Files</h2>
+<p>Native Client applications have two types of manifest files: a Chrome Web Store
+manifest file and a Native Client manifest file.</p>
+<p>A <strong>Chrome Web Store manifest file</strong> is a file with information about a web
+application that is published in the Chrome Web Store. This file, named
+<code>manifest.json</code>, is required for applications that are published in the Chrome
+Web Store. For more information about this file see <a class="reference internal" href="/native-client/devguide/distributing.html"><em>Distributing Your
+Application</em></a>. and the <a class="reference external" href="http://code.google.com/chrome/extensions/manifest.html">Chrome Web Store manifest file format</a>.</p>
+<p>A <strong>Native Client manifest file</strong> is a file that specifies which Native Client
+module (executable) to load. For PNaCl it specifies a single portable
+executable; otherwise it specifies one for each of the supported end-user
+computer architectures (for example x86-32, x86-64, or ARM). This file is
+required for all Native Client applications. The extension for this file is
+.nmf.</p>
+<p>Manifest files for applications that use PNaCl are simple. Here is the manifest
+for the hello world example:</p>
+<pre class="prettyprint">
+{
+ "program": {
+ "portable": {
+ "pnacl-translate": {
+ "url": "hello_tutorial.pexe"
+ }
+ }
+ }
+}
+</pre>
+<p>For Chrome Web Store applications that do not use PNaCl, a typical manifest file
+contains a <a class="reference external" href="http://www.json.org/">JSON</a> dictionary with a single top-level
+key/value pair: the “program” key and a value consisting of a nested
+dictionary. The nested dictionary contains keys corresponding to the names of
+the supported computer architectures, and values referencing the file to load
+for a given architecture—specifically, the URL of the .nexe file, given by the
+<code>"url"</code> key. URLs are specified relative to the location of the manifest file.
+Here is an example:</p>
+<pre class="prettyprint">
+{
+ "program": {
+ "x86-32": {
+ "url": "hello_tutorial_x86_32.nexe"
+ },
+ "x86-64": {
+ "url": "hello_tutorial_x86_64.nexe"
+ },
+ "arm": {
+ "url": "hello_tutorial_arm.nexe"
+ }
+ }
+}
+</pre>
+<p>For applications that use the <a class="reference internal" href="/native-client/devguide/devcycle/dynamic-loading.html#c-libraries"><em>glibc</em></a>
+library, the manifest file must also contain a “files” key that specifies the
+shared libraries that the applications use. This is discussed in detail in
+<a class="reference internal" href="/native-client/devguide/devcycle/dynamic-loading.html"><em>Dynamic Linking and Loading with glibc</em></a>. To
+see some example manifest files, build some of the example applications in the
+SDK (run <code>make</code> in the example subdirectories) and look at the generated
+manifest files.</p>
+<p>In most cases, you can simply use the Python script provided with the SDK,
+<code>create_nmf.py</code>, to create a manifest file for your application as part of the
+compilation step (see the Makefile in any of the SDK examples for an
+illustration of how to do so). The manifest file format is also
+<a class="reference internal" href="/native-client/reference/nacl-manifest-format.html"><em>documented</em></a>.</p>
+</section><section id="modules-and-instances">
+<h2 id="modules-and-instances">Modules and instances</h2>
+<p>A Native Client <strong>module</strong> is C or C++ code compiled into a PNaCl .pexe file or
+a NaCl .nexe file.</p>
+<p>An <strong>instance</strong> is a rectangle on a web page that is managed by a module. An
+instance may have a dimension of width=0 and height=0, meaning that the instance
+does not have any visible component on the web page. An instance is created by
+including an <code><embed></code> element in a web page. The <code><embed></code> element
+references a Native Client manifest file that loads the appropriate version of
+the module (either portable, or specific to the end-user’s architecture). A
+module may be included in a web page multiple times by using multiple
+<code><embed></code> elements that refer to the module; in this case the Native Client
+runtime system loads the module once and creates multiple instances that are
+managed by the module.</p>
+</section><section id="native-client-modules-a-closer-look">
+<h2 id="native-client-modules-a-closer-look">Native Client modules: A closer look</h2>
+<p>A Native Client module must include three components:</p>
+<ul class="small-gap">
+<li>a factory function called <code>CreateModule()</code></li>
+<li>a Module class (derived from the <code>pp::Module</code> class)</li>
+<li>an Instance class (derived from the <code>pp:Instance</code> class)</li>
+</ul>
+<p>In the “Hello tutorial” example (in the <code>getting_started/part1</code> directory of
+the NaCl SDK), these three components are specified in the file
+<code>hello_tutorial.cc</code>. Here is the factory function:</p>
+<pre class="prettyprint">
+Module* CreateModule() {
+ return new HelloTutorialModule();
+}
+</pre>
+<p>Native Client modules do not have a <code>main()</code> function. The <code>CreateModule()</code>
+factory function is the main binding point between a module and the browser, and
+serves as the entry point into the module. The browser calls <code>CreateModule()</code>
+when a module is first loaded; this function returns a Module object derived
+from the <code>pp::Module</code> class. The browser keeps a singleton of the Module
+object.</p>
+<p>Below is the Module class from the “Hello tutorial” example:</p>
+<pre class="prettyprint">
+class HelloTutorialModule : public pp::Module {
+ public:
+ HelloTutorialModule() : pp::Module() {}
+ virtual ~HelloTutorialModule() {}
+
+ virtual pp::Instance* CreateInstance(PP_Instance instance) {
+ return new HelloTutorialInstance(instance);
+ }
+};
+</pre>
+<p>The Module class must include a <code>CreateInstance()</code> method. The browser calls
+the <code>CreateInstance()</code> method every time it encounters an <code><embed></code> element
+on a web page that references the same module. The <code>CreateInstance()</code> function
+creates and returns an Instance object derived from the <code>pp::Instance</code> class.</p>
+<p>Below is the Instance class from the “Hello tutorial” example:</p>
+<pre class="prettyprint">
+class HelloTutorialInstance : public pp::Instance {
+ public:
+ explicit HelloTutorialInstance(PP_Instance instance) : pp::Instance(instance) {}
+ virtual ~HelloTutorialInstance() {}
+
+ virtual void HandleMessage(const pp::Var& var_message) {}
+};
+</pre>
+<p>As in the example above, the Instance class for your module will likely include
+an implementation of the <code>HandleMessage()</code> function. The browser calls an
+instance’s <code>HandleMessage()</code> function every time the JavaScript code in an
+application calls <code>postMessage()</code> to send a message to the instance. See the
+<a class="reference internal" href="/native-client/devguide/coding/message-system.html"><em>Native Client messaging system</em></a> for more information about
+how to send messages between JavaScript code and Native Client modules.</p>
+<p>The NaCl code is only invoked to handle various browser-issued
+events and callbacks. There is no need to shut down the NaCl instance by
+calling the <code>exit()</code> function. NaCl modules will be shut down when the user
+leaves the web page, or the NaCl module’s <code><embed></code> is otherwise destroyed.
+If the NaCl module does call the <code>exit()</code> function, the instance will
+issue a <code>crash</code> event
+<a class="reference internal" href="/native-client/devguide/coding/progress-events.html"><em>which can be handled in Javascript</em></a>.</p>
+<p>While the <code>CreateModule()</code> factory function, the <code>Module</code> class, and the
+<code>Instance</code> class are required for a Native Client application, the code
+samples shown above don’t actually do anything. Subsequent chapters in the
+Developer’s Guide build on these code samples and add more interesting
+functionality.</p>
+</section></section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/devguide/coding/audio.html b/native_client_sdk/doc_generated/devguide/coding/audio.html
new file mode 100644
index 0000000..a4b65bb
--- /dev/null
+++ b/native_client_sdk/doc_generated/devguide/coding/audio.html
@@ -0,0 +1,352 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<section id="audio">
+<span id="devguide-coding-audio"></span><h1 id="audio"><span id="devguide-coding-audio"></span>Audio</h1>
+<div class="contents local topic" id="contents">
+<ul class="small-gap">
+<li><a class="reference internal" href="#reference-information" id="id1">Reference information</a></li>
+<li><a class="reference internal" href="#about-the-pepper-audio-api" id="id2">About the Pepper audio API</a></li>
+<li><a class="reference internal" href="#digital-audio-concepts" id="id3">Digital audio concepts</a></li>
+<li><a class="reference internal" href="#setting-up-the-module" id="id4">Setting up the module</a></li>
+<li><p class="first"><a class="reference internal" href="#creating-an-audio-configuration-resource" id="id5">Creating an audio configuration resource</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#resources" id="id6">Resources</a></li>
+<li><a class="reference internal" href="#sample-frame-count" id="id7">Sample frame count</a></li>
+<li><a class="reference internal" href="#supported-audio-configurations" id="id8">Supported audio configurations</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#creating-an-audio-resource" id="id9">Creating an audio resource</a></li>
+<li><p class="first"><a class="reference internal" href="#implementing-a-callback-function" id="id10">Implementing a callback function</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#application-threads-and-real-time-requirements" id="id11">Application threads and real-time requirements</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#starting-and-stopping-playback" id="id12">Starting and stopping playback</a></li>
+</ul>
+</div>
+<p>This chapter describes how to use the Pepper audio API to play an audio
+stream. The Pepper audio API provides a low-level means of playing a stream of
+audio samples generated by a Native Client module. The API generally works as
+follows: A Native Client module creates an audio resource that represents an
+audio stream, and tells the browser to start or stop playing the audio
+resource. The browser calls a function in the Native Client module to fill a
+buffer with audio samples every time it needs data to play from the audio
+stream.</p>
+<p>The code examples in this chapter describe a simple Native Client module that
+generates audio samples using a sine wave with a frequency of 440 Hz. The module
+starts playing the audio samples as soon as it is loaded into the browser. For a
+slightly more sophisticated example, see the <code>audio</code> example (source code in
+the SDK directory <code>examples/api/audio</code>), which lets users specify a frequency
+for the sine wave and click buttons to start and stop audio playback.</p>
+<section id="reference-information">
+<h2 id="reference-information">Reference information</h2>
+<p>For reference information related to the Pepper audio API, see the following
+documentation:</p>
+<ul class="small-gap">
+<li><a class="reference external" href="https://developers.google.com/native-client/peppercpp/classpp_1_1_audio_config">pp::AudioConfig class</a></li>
+<li><a class="reference external" href="https://developers.google.com/native-client/peppercpp/classpp_1_1_audio">pp::Audio class</a></li>
+<li><a class="reference external" href="https://developers.google.com/native-client/peppercpp/audio__config_8h">audio_config.h</a></li>
+<li><a class="reference external" href="https://developers.google.com/native-client/peppercpp/audio_8h">audio.h</a></li>
+<li><a class="reference external" href="https://developers.google.com/native-client/pepperc/group___enums.html#gaee750c350655f2fb0fe04c04029e0ff8">PP_AudioSampleRate</a></li>
+</ul>
+</section><section id="about-the-pepper-audio-api">
+<h2 id="about-the-pepper-audio-api">About the Pepper audio API</h2>
+<p>The Pepper audio API lets Native Client modules play audio streams in a
+browser. To play an audio stream, a module generates audio samples and writes
+them into a buffer. The browser reads the audio samples from the buffer and
+plays them using an audio device on the client computer.</p>
+<img alt="/native-client/images/pepper-audio-buffer.png" src="/native-client/images/pepper-audio-buffer.png" />
+<p>This mechanism is simple but low-level. If you want to play plain sound files in
+a web application, you may want to consider higher-level alternatives such as
+using the HTML <code><audio></code> tag, JavaScript, or the new <a class="reference external" href="http://chromium.googlecode.com/svn/trunk/samples/audio/index.html">Web Audio API</a>.</p>
+<p>The Pepper audio API is a good option for playing audio data if you want to do
+audio processing in your web application. You might use the audio API, for
+example, if you want to apply audio effects to sounds, synthesize your own
+sounds, or do any other type of CPU-intensive processing of audio
+samples. Another likely use case is gaming applications: you might use a gaming
+library to process audio data, and then simply use the audio API to output the
+processed data.</p>
+<p>The Pepper audio API is straightforward to use:</p>
+<ol class="arabic simple">
+<li>Your module creates an audio configuration resource and an audio resource.</li>
+<li>Your module implements a callback function that fills an audio buffer with
+data.</li>
+<li>Your module invokes the StartPlayback and StopPlayback methods of the audio
+resource (e.g., when certain events occur).</li>
+<li>The browser invokes your callback function whenever it needs audio data to
+play. Your callback function can generate the audio data in a number of
+ways—e.g., it can generate new data, or it can copy pre-mixed data into the
+audio buffer.</li>
+</ol>
+<p>This basic interaction is illustrated below, and described in detail in the
+sections that follow.</p>
+<img alt="/native-client/images/pepper-audio-api.png" src="/native-client/images/pepper-audio-api.png" />
+</section><section id="digital-audio-concepts">
+<h2 id="digital-audio-concepts">Digital audio concepts</h2>
+<p>Before you use the Pepper audio API, it’s helpful to understand a few concepts
+that are fundamental to how digital audio is recorded and played back:</p>
+<dl class="docutils">
+<dt>sample rate</dt>
+<dd>the number of times an input sound source is sampled per second;
+correspondingly, the number of samples that are played back per second</dd>
+<dt>bit depth</dt>
+<dd>the number of bits used to represent a sample</dd>
+<dt>channels</dt>
+<dd>the number of input sources recorded in each sampling interval;
+correspondingly, the number of outputs that are played back simultaneously
+(typically using different speakers)</dd>
+</dl>
+<p>The higher the sample rate and bit depth used to record a sound wave, the more
+accurately the sound wave can be reproduced, since it will have been sampled
+more frequently and stored using a higher level of quantization. Common sampling
+rates include 44,100 Hz (44,100 samples/second, the sample rate used on CDs),
+and 48,000 Hz (the sample rate used on DVDs and Digital Audio Tapes). A common
+bit depth is 16 bits per sample, and a common number of channels is 2 (left and
+right channels for stereo sound).</p>
+<p id="pepper-audio-configurations">The Pepper audio API currently lets Native Client modules play audio streams
+with the following configurations:</p>
+<ul class="small-gap">
+<li><strong>sample rate</strong>: 44,100 Hz or 48,000 Hz</li>
+<li><strong>bit depth</strong>: 16</li>
+<li><strong>channels</strong>: 2 (stereo)</li>
+</ul>
+</section><section id="setting-up-the-module">
+<h2 id="setting-up-the-module">Setting up the module</h2>
+<p>The code examples below describe a simple Native Client module that generates
+audio samples using a sine wave with a frequency of 440 Hz. The module starts
+playing the audio samples as soon as it is loaded into the browser.</p>
+<p>The Native Client module is set up by implementing subclasses of the
+<code>pp::Module</code> and <code>pp::Instance</code> classes, as normal.</p>
+<pre class="prettyprint">
+class SineSynthInstance : public pp::Instance {
+ public:
+ explicit SineSynthInstance(PP_Instance instance);
+ virtual ~SineSynthInstance() {}
+
+ // Called by the browser once the NaCl module is loaded and ready to
+ // initialize. Creates a Pepper audio context and initializes it. Returns
+ // true on success. Returning false causes the NaCl module to be deleted
+ // and no other functions to be called.
+ virtual bool Init(uint32_t argc, const char* argn[], const char* argv[]);
+
+ private:
+ // Function called by the browser when it needs more audio samples.
+ static void SineWaveCallback(void* samples,
+ uint32_t buffer_size,
+ void* data);
+
+ // Audio resource.
+ pp::Audio audio_;
+
+ ...
+
+};
+
+class SineSynthModule : public pp::Module {
+ public:
+ SineSynthModule() : pp::Module() {}
+ ~SineSynthModule() {}
+
+ // Create and return a SineSynthInstance object.
+ virtual pp::Instance* CreateInstance(PP_Instance instance) {
+ return new SineSynthInstance(instance);
+ }
+};
+</pre>
+</section><section id="creating-an-audio-configuration-resource">
+<h2 id="creating-an-audio-configuration-resource">Creating an audio configuration resource</h2>
+<section id="resources">
+<h3 id="resources">Resources</h3>
+<p>Before the module can play an audio stream, it must create two resources: an
+audio configuration resource and an audio resource. Resources are handles to
+objects that the browser provides to module instances. An audio resource is an
+object that represents the state of an audio stream, including whether the
+stream is paused or being played back, and which callback function to invoke
+when the samples in the stream’s buffer run out. An audio configuration resource
+is an object that stores configuration data for an audio resource, including the
+sampling frequency of the audio samples, and the number of samples that the
+callback function must provide when the browser invokes it.</p>
+</section><section id="sample-frame-count">
+<h3 id="sample-frame-count">Sample frame count</h3>
+<p>Prior to creating an audio configuration resource, the module should call
+<code>RecommendSampleFrameCount</code> to obtain a <em>sample frame count</em> from the
+browser. The sample frame count is the number of samples that the callback
+function must provide per channel each time the browser invokes the callback
+function. For example, if the sample frame count is 4096 for a stereo audio
+stream, the callback function must provide a 8192 samples (4096 for the left
+channel and 4096 for the right channel).</p>
+<p>The module can request a specific sample frame count, but the browser may return
+a different sample frame count depending on the capabilities of the client
+device. At present, <code>RecommendSampleFrameCount</code> simply bound-checks the
+requested sample frame count (see <code>include/ppapi/c/ppb_audio_config.h</code> for the
+minimum and maximum sample frame counts, currently 64 and 32768). In the future,
+<code>RecommendSampleFrameCount</code> may perform a more sophisticated calculation,
+particularly if there is an intrinsic buffer size for the client device.</p>
+<p>Selecting a sample frame count for an audio stream involves a tradeoff between
+latency and CPU usage. If you want your module to have short audio latency so
+that it can rapidly change what’s playing in the audio stream, you should
+request a small sample frame count. That could be useful in gaming applications,
+for example, where sounds have to change frequently in response to game
+action. However, a small sample frame count results in higher CPU usage, since
+the browser must invoke the callback function frequently to refill the audio
+buffer. Conversely, a large sample frame count results in higher latency but
+lower CPU usage. You should request a large sample frame count if your module
+will play long, uninterrupted audio segments.</p>
+</section><section id="supported-audio-configurations">
+<h3 id="supported-audio-configurations">Supported audio configurations</h3>
+<p>After the module obtains a sample frame count, it can create an audio
+configuration resource. Currently the Pepper audio API supports audio streams
+with the configuration settings shown <a class="reference internal" href="#pepper-audio-configurations"><em>above</em></a>.
+C++ modules can create a configuration resource by instantiating a
+<code>pp::AudioConfig</code> object. Check <code>audio_config.h</code> for the latest
+configurations that are supported.</p>
+<pre class="prettyprint">
+bool SineSynthInstance::Init(uint32_t argc,
+ const char* argn[],
+ const char* argv[]) {
+
+ // Ask the browser/device for an appropriate sample frame count size.
+ sample_frame_count_ =
+ pp::AudioConfig::RecommendSampleFrameCount(PP_AUDIOSAMPLERATE_44100,
+ kSampleFrameCount);
+
+ // Create an audio configuration resource.
+ pp::AudioConfig audio_config = pp::AudioConfig(this,
+ PP_AUDIOSAMPLERATE_44100,
+ sample_frame_count_);
+
+ // Create an audio resource.
+ audio_ = pp::Audio(this,
+ audio_config,
+ SineWaveCallback,
+ this);
+
+ // Start playback when the module instance is initialized.
+ return audio_.StartPlayback();
+}
+</pre>
+</section></section><section id="creating-an-audio-resource">
+<h2 id="creating-an-audio-resource">Creating an audio resource</h2>
+<p>Once the module has created an audio configuration resource, it can create an
+audio resource. To do so, it instantiates a <code>pp::Audio</code> object, passing in a
+pointer to the module instance, the audio configuration resource, a callback
+function, and a pointer to user data (data that is used in the callback
+function). See the example above.</p>
+</section><section id="implementing-a-callback-function">
+<h2 id="implementing-a-callback-function">Implementing a callback function</h2>
+<p>The browser calls the callback function associated with an audio resource every
+time it needs more samples to play. The callback function can generate new
+samples (e.g., by applying sound effects), or copy pre-mixed samples into the
+audio buffer. The example below generates new samples by computing values of a
+sine wave.</p>
+<p>The last parameter passed to the callback function is generic user data that the
+function can use in processing samples. In the example below, the user data is a
+pointer to the module instance, which includes member variables
+<code>sample_frame_count_</code> (the sample frame count obtained from the browser) and
+<code>theta_</code> (the last angle that was used to compute a sine value in the previous
+callback; this lets the function generate a smooth sine wave by starting at that
+angle plus a small delta).</p>
+<pre class="prettyprint">
+class SineSynthInstance : public pp::Instance {
+ public:
+ ...
+
+ private:
+ static void SineWaveCallback(void* samples,
+ uint32_t buffer_size,
+ void* data) {
+
+ // The user data in this example is a pointer to the module instance.
+ SineSynthInstance* sine_synth_instance =
+ reinterpret_cast<SineSynthInstance*>(data);
+
+ // Delta by which to increase theta_ for each sample.
+ const double delta = kTwoPi * kFrequency / PP_AUDIOSAMPLERATE_44100;
+ // Amount by which to scale up the computed sine value.
+ const int16_t max_int16 = std::numeric_limits<int16_t>::max();
+
+ int16_t* buff = reinterpret_cast<int16_t*>(samples);
+
+ // Make sure we can't write outside the buffer.
+ assert(buffer_size >= (sizeof(*buff) * kChannels *
+ sine_synth_instance->sample_frame_count_));
+
+ for (size_t sample_i = 0;
+ sample_i < sine_synth_instance->sample_frame_count_;
+ ++sample_i, sine_synth_instance->theta_ += delta) {
+
+ // Keep theta_ from going beyond 2*Pi.
+ if (sine_synth_instance->theta_ > kTwoPi) {
+ sine_synth_instance->theta_ -= kTwoPi;
+ }
+
+ // Compute the sine value for the current theta_, scale it up,
+ // and write it into the buffer once for each channel.
+ double sin_value(std::sin(sine_synth_instance->theta_));
+ int16_t scaled_value = static_cast<int16_t>(sin_value * max_int16);
+ for (size_t channel = 0; channel < kChannels; ++channel) {
+ *buff++ = scaled_value;
+ }
+ }
+ }
+
+ ...
+};
+</pre>
+<section id="application-threads-and-real-time-requirements">
+<h3 id="application-threads-and-real-time-requirements">Application threads and real-time requirements</h3>
+<p>The callback function runs in a background application thread. This allows audio
+processing to continue even when the application is busy doing something
+else. If the main application thread and the callback thread access the same
+data, you may be tempted to use a lock to control access to that data. You
+should avoid the use of locks in the callback thread, however, as attempting to
+acquire a lock may cause the thread to get swapped out, resulting in audio
+dropouts.</p>
+<p>In general, you must program the callback thread carefully, as the Pepper audio
+API is a very low level API that needs to meet hard real-time requirements. If
+the callback thread spends too much time processing, it can easily miss the
+real-time deadline, resulting in audio dropouts. One way the callback thread can
+miss the deadline is by taking too much time doing computation. Another way the
+callback thread can miss the deadline is by executing a function call that swaps
+out the callback thread. Unfortunately, such function calls include just about
+all C Run-Time (CRT) library calls and Pepper API calls. The callback thread
+should therefore avoid calls to malloc, gettimeofday, mutex, condvars, critical
+sections, and so forth; any such calls could attempt to take a lock and swap out
+the callback thread, which would be disastrous for audio playback. Similarly,
+the callback thread should avoid Pepper API calls. Audio dropouts due to thread
+swapping can be very rare and very hard to track down and debug—it’s best to
+avoid making system/Pepper calls in the first place. In short, the audio
+(callback) thread should use “lock-free” techniques and avoid making CRT library
+calls.</p>
+<p>One other issue to be aware of is that the <code>StartPlayback</code> function (discussed
+below) is an asynchronous RPC; i.e., it does not block. That means that the
+callback function may not be called immediately after the call to
+<code>StartPlayback</code>. If it’s important to synchronize the callback thread with
+another thread so that the audio stream starts playing simultaneously with
+another action in your application, you must handle such synchronization
+manually.</p>
+</section></section><section id="starting-and-stopping-playback">
+<h2 id="starting-and-stopping-playback">Starting and stopping playback</h2>
+<p>To start and stop audio playback, the module simply reacts to JavaScript
+messages.</p>
+<pre class="prettyprint">
+const char* const kPlaySoundId = "playSound";
+const char* const kStopSoundId = "stopSound";
+
+void SineSynthInstance::HandleMessage(const pp::Var& var_message) {
+ if (!var_message.is_string()) {
+ return;
+ }
+ std::string message = var_message.AsString();
+ if (message == kPlaySoundId) {
+ audio_.StartPlayback();
+ } else if (message == kStopSoundId) {
+ audio_.StopPlayback();
+ } else if (...) {
+ ...
+ }
+}
+</pre>
+</section></section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/devguide/coding/file-io.html b/native_client_sdk/doc_generated/devguide/coding/file-io.html
new file mode 100644
index 0000000..46e4d77
--- /dev/null
+++ b/native_client_sdk/doc_generated/devguide/coding/file-io.html
@@ -0,0 +1,498 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<section id="file-i-o">
+<span id="devguide-coding-fileio"></span><h1 id="file-i-o"><span id="devguide-coding-fileio"></span>File I/O</h1>
+<div class="contents local topic" id="contents">
+<ul class="small-gap">
+<li><a class="reference internal" href="#introduction" id="id2">Introduction</a></li>
+<li><a class="reference internal" href="#reference-information" id="id3">Reference information</a></li>
+<li><p class="first"><a class="reference internal" href="#local-file-i-o" id="id4">Local file I/O</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#enabling-local-file-i-o" id="id5">Enabling local file I/O</a></li>
+<li><a class="reference internal" href="#testing-local-file-i-o" id="id6">Testing local file I/O</a></li>
+</ul>
+</li>
+<li><p class="first"><a class="reference internal" href="#the-file-io-example" id="id7">The <code>file_io</code> example</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#file-i-o-overview" id="id8">File I/O overview</a></li>
+<li><a class="reference internal" href="#creating-and-writing-a-file" id="id9">Creating and writing a file</a></li>
+<li><a class="reference internal" href="#opening-and-reading-a-file" id="id10">Opening and reading a file</a></li>
+<li><a class="reference internal" href="#deleting-a-file" id="id11">Deleting a file</a></li>
+<li><a class="reference internal" href="#making-a-directory" id="id12">Making a directory</a></li>
+<li><a class="reference internal" href="#listing-the-contents-of-a-directory" id="id13">Listing the contents of a directory</a></li>
+</ul>
+</li>
+<li><p class="first"><a class="reference internal" href="#file-io-deep-dive" id="id14"><code>file_io</code> deep dive</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#opening-a-file-system-and-preparing-for-file-i-o" id="id15">Opening a file system and preparing for file I/O</a></li>
+<li><a class="reference internal" href="#handling-messages-from-javascript" id="id16">Handling messages from JavaScript</a></li>
+<li><a class="reference internal" href="#saving-a-file" id="id17">Saving a file</a></li>
+<li><a class="reference internal" href="#loading-a-file" id="id18">Loading a file</a></li>
+<li><a class="reference internal" href="#id1" id="id19">Deleting a file</a></li>
+<li><a class="reference internal" href="#listing-files-in-a-directory" id="id20">Listing files in a directory</a></li>
+<li><a class="reference internal" href="#making-a-new-directory" id="id21">Making a new directory</a></li>
+</ul>
+</li>
+</ul>
+</div>
+<section id="introduction">
+<h2 id="introduction">Introduction</h2>
+<p>This chapter describes how to use the <a class="reference external" href="https://developers.google.com/native-client/peppercpp/classpp_1_1_file_i_o">FileIO API</a>
+to read and write files using a local secure data store.</p>
+<p>You might use the File IO API with the URL Loading APIs to create an overall
+data download and caching solution for your NaCl applications. For example:</p>
+<ol class="arabic simple">
+<li>Use the File IO APIs to check the local disk to see if a file exists that
+your program needs.</li>
+<li>If the file exists locally, load it into memory using the File IO API. If
+the file doesn’t exist locally, use the URL Loading API to retrieve the
+file from the server.</li>
+<li>Use the File IO API to write the file to disk.</li>
+<li>Load the file into memory using the File IO API when needed by your
+application.</li>
+</ol>
+<p>The example discussed in this chapter is included in the SDK in the directory
+<code>examples/api/file_io</code>.</p>
+</section><section id="reference-information">
+<h2 id="reference-information">Reference information</h2>
+<p>For reference information related to FileIO, see the following documentation:</p>
+<ul class="small-gap">
+<li><a class="reference external" href="https://developers.google.com/native-client/peppercpp/file__io_8h">file_io.h</a> - API
+to create a FileIO object</li>
+<li><a class="reference external" href="https://developers.google.com/native-client/peppercpp/file__ref_8h">file_ref.h</a> - API
+to create a file reference or “weak pointer” to a file in a file system</li>
+<li><a class="reference external" href="https://developers.google.com/native-client/peppercpp/file__system_8h">file_system.h</a> -
+API to create a file system associated with a file</li>
+</ul>
+</section><section id="local-file-i-o">
+<h2 id="local-file-i-o">Local file I/O</h2>
+<p>Chrome provides an obfuscated, restricted area on disk to which a web app can
+safely <a class="reference external" href="https://developers.google.com/chrome/whitepapers/storage#persistent">read and write files</a>. The
+Pepper FileIO, FileRef, and FileSystem APIs (collectively called the File IO
+APIs) allow you to access this sandboxed local disk so you can read and write
+files and manage caching yourself. The data is persistent between launches of
+Chrome, and is not removed unless your application deletes it or the user
+manually deletes it. There is no limit to the amount of local data you can
+use, other than the actual space available on the local drive.</p>
+<section id="enabling-local-file-i-o">
+<span id="enabling-file-access"></span><span id="quota-management"></span><h3 id="enabling-local-file-i-o"><span id="enabling-file-access"></span><span id="quota-management"></span>Enabling local file I/O</h3>
+<p>The easiest way to enable the writing of persistent local data is to include
+the <a class="reference external" href="http://developer.chrome.com/extensions/declare_permissions.html#unlimitedStorage">unlimitedStorage permission</a>
+in your Chrome Web Store manifest file. With this permission you can use the
+Pepper FileIO API without the need to request disk space at run time. When
+the user installs the app Chrome displays a message announcing that the app
+writes to the local disk.</p>
+<p>If you do not use the <code>unlimitedStorage</code> permission you must include
+JavaScript code that calls the <a class="reference external" href="http://updates.html5rocks.com/2011/11/Quota-Management-API-Fast-Facts">HTML5 Quota Management API</a> to
+explicitly request local disk space before using the FileIO API. In this case
+Chrome will prompt the user to accept a requestQuota call every time one is
+made.</p>
+</section><section id="testing-local-file-i-o">
+<h3 id="testing-local-file-i-o">Testing local file I/O</h3>
+<p>You should be aware that using the <code>unlimitedStorage</code> manifest permission
+constrains the way you can test your app. Three of the four techniques
+described in <a class="reference internal" href="/native-client/devguide/devcycle/running.html"><em>Running Native Client Applications</em></a>
+read the Chrome Web Store manifest file and enable the <code>unlimitedStorage</code>
+permission when it appears, but the first technique (local server) does not.
+If you want to test the file IO portion of your app with a simple local server,
+you need to include JavaScript code that calls the HTML5 Quota Management API.
+When you deliver your application you can replace this code with the
+<code>unlimitedStorage</code> manifest permission.</p>
+</section></section><section id="the-file-io-example">
+<h2 id="the-file-io-example">The <code>file_io</code> example</h2>
+<p>The Native Client SDK includes an example, <code>file_io</code>, that demonstrates how
+to read and write a local disk file. Since you will probably run the example
+from a local server without a Chrome Web Store manifest file, the example’s
+index file uses JavaScript to perform the Quota Management setup as described
+above. The example has these primary files:</p>
+<ul class="small-gap">
+<li><code>index.html</code> - The HTML code that launches the Native Client module and
+displays the user interface.</li>
+<li><code>example.js</code> - JavaScript code that requests quota (as described above). It
+also listens for user interaction with the user interface, and forwards the
+requests to the Native Client module.</li>
+<li><code>file_io.cc</code> - The code that sets up and provides an entry point to the
+Native Client module.</li>
+</ul>
+<p>The remainder of this section covers the code in the <code>file_io.cc</code> file for
+reading and writing files.</p>
+<section id="file-i-o-overview">
+<h3 id="file-i-o-overview">File I/O overview</h3>
+<p>Like many Pepper APIs, the File IO API includes a set of methods that execute
+asynchronously and that invoke callback functions in your Native Client module.
+Unlike most other examples, the <code>file_io</code> example also demonstrates how to
+make Pepper calls synchronously on a worker thread.</p>
+<p>It is illegal to make blocking calls to Pepper on the module’s main thread.
+This restriction is lifted when running on a worker thread—this is called
+“calling Pepper off the main thread”. This often simplifies the logic of your
+code; multiple asynchronous Pepper functions can be called from one function on
+your worker thread, so you can use the stack and standard control flow
+structures normally.</p>
+<p>The high-level flow for the <code>file_io</code> example is described below. Note that
+methods in the namespace <code>pp</code> are part of the Pepper C++ API.</p>
+</section><section id="creating-and-writing-a-file">
+<h3 id="creating-and-writing-a-file">Creating and writing a file</h3>
+<p>Following are the high-level steps involved in creating and writing to a
+file:</p>
+<ol class="arabic simple">
+<li><code>pp::FileIO::Open</code> is called with the <code>PP_FILEOPEN_FLAG_CREATE</code> flag to
+create a file. Because the callback function is <code>pp::BlockUntilComplete</code>,
+this thread is blocked until <code>Open</code> succeeds or fails.</li>
+<li><code>pp::FileIO::Write</code> is called to write the contents. Again, the thread is
+blocked until the call to <code>Write</code> completes. If there is more data to
+write, <code>Write</code> is called again.</li>
+<li>When there is no more data to write, call <code>pp::FileIO::Flush</code>.</li>
+</ol>
+</section><section id="opening-and-reading-a-file">
+<h3 id="opening-and-reading-a-file">Opening and reading a file</h3>
+<p>Following are the high-level steps involved in opening and reading a file:</p>
+<ol class="arabic simple">
+<li><code>pp::FileIO::Open</code> is called to open the file. Because the callback
+function is <code>pp::BlockUntilComplete</code>, this thread is blocked until Open
+succeeds or fails.</li>
+<li><code>pp::FileIO::Query</code> is called to query information about the file, such as
+its file size. The thread is blocked until <code>Query</code> completes.</li>
+<li><code>pp::FileIO::Read</code> is called to read the contents. The thread is blocked
+until <code>Read</code> completes. If there is more data to read, <code>Read</code> is called
+again.</li>
+</ol>
+</section><section id="deleting-a-file">
+<h3 id="deleting-a-file">Deleting a file</h3>
+<p>Deleting a file is straightforward: call <code>pp::FileRef::Delete</code>. The thread is
+blocked until <code>Delete</code> completes.</p>
+</section><section id="making-a-directory">
+<h3 id="making-a-directory">Making a directory</h3>
+<p>Making a directory is also straightforward: call <code>pp::File::MakeDirectory</code>.
+The thread is blocked until <code>MakeDirectory</code> completes.</p>
+</section><section id="listing-the-contents-of-a-directory">
+<h3 id="listing-the-contents-of-a-directory">Listing the contents of a directory</h3>
+<p>Following are the high-level steps involved in listing a directory:</p>
+<ol class="arabic simple">
+<li><code>pp::FileRef::ReadDirectoryEntries</code> is called, and given a directory entry
+to list. A callback is given as well; many of the other functions use
+<code>pp::BlockUntilComplete</code>, but <code>ReadDirectoryEntries</code> returns results in
+its callback, so it must be specified.</li>
+<li>When the call to <code>ReadDirectoryEntries</code> completes, it calls
+<code>ListCallback</code> which packages up the results into a string message, and
+sends it to JavaScript.</li>
+</ol>
+</section></section><section id="file-io-deep-dive">
+<h2 id="file-io-deep-dive"><code>file_io</code> deep dive</h2>
+<p>The <code>file_io</code> example displays a user interface with a couple of fields and
+several buttons. Following is a screenshot of the <code>file_io</code> example:</p>
+<img alt="/native-client/images/fileioexample.png" src="/native-client/images/fileioexample.png" />
+<p>Each radio button is a file operation you can perform, with some reasonable
+default values for filenames. Try typing a message in the large input box and
+clicking <code>Save</code>, then switching to the <code>Load File</code> operation, and
+clicking <code>Load</code>.</p>
+<p>Let’s take a look at what is going on under the hood.</p>
+<section id="opening-a-file-system-and-preparing-for-file-i-o">
+<h3 id="opening-a-file-system-and-preparing-for-file-i-o">Opening a file system and preparing for file I/O</h3>
+<p><code>pp::Instance::Init</code> is called when an instance of a module is created. In
+this example, <code>Init</code> starts a new thread (via the <code>pp::SimpleThread</code>
+class), and tells it to open the filesystem:</p>
+<pre class="prettyprint">
+virtual bool Init(uint32_t /*argc*/,
+ const char * /*argn*/ [],
+ const char * /*argv*/ []) {
+ file_thread_.Start();
+ // Open the file system on the file_thread_. Since this is the first
+ // operation we perform there, and because we do everything on the
+ // file_thread_ synchronously, this ensures that the FileSystem is open
+ // before any FileIO operations execute.
+ file_thread_.message_loop().PostWork(
+ callback_factory_.NewCallback(&FileIoInstance::OpenFileSystem));
+ return true;
+}
+</pre>
+<p>When the file thread starts running, it will call <code>OpenFileSystem</code>. This
+calls <code>pp::FileSystem::Open</code> and blocks the file thread until the function
+returns.</p>
+<aside class="note">
+Note that the call to <code>pp::FileSystem::Open</code> uses
+<code>pp::BlockUntilComplete</code> as its callback. This is only possible because we
+are running off the main thread; if you try to make a blocking call from the
+main thread, the function will return the error
+<code>PP_ERROR_BLOCKS_MAIN_THREAD</code>.
+</aside>
+<pre class="prettyprint">
+void OpenFileSystem(int32_t /*result*/) {
+ int32_t rv = file_system_.Open(1024 * 1024, pp::BlockUntilComplete());
+ if (rv == PP_OK) {
+ file_system_ready_ = true;
+ // Notify the user interface that we're ready
+ PostMessage("READY|");
+ } else {
+ ShowErrorMessage("Failed to open file system", rv);
+ }
+}
+</pre>
+</section><section id="handling-messages-from-javascript">
+<h3 id="handling-messages-from-javascript">Handling messages from JavaScript</h3>
+<p>When you click the <code>Save</code> button, JavaScript posts a message to the NaCl
+module with the file operation to perform sent as a string (See <a class="reference internal" href="/native-client/devguide/coding/message-system.html"><em>Messaging
+System</em></a> for more details on message passing). The string is
+parsed by <code>HandleMessage</code>, and new work is added to the file thread:</p>
+<pre class="prettyprint">
+virtual void HandleMessage(const pp::Var& var_message) {
+ if (!var_message.is_string())
+ return;
+
+ // Parse message into: instruction file_name_length file_name [file_text]
+ std::string message = var_message.AsString();
+ std::string instruction;
+ std::string file_name;
+ std::stringstream reader(message);
+ int file_name_length;
+
+ reader >> instruction >> file_name_length;
+ file_name.resize(file_name_length);
+ reader.ignore(1); // Eat the delimiter
+ reader.read(&file_name[0], file_name_length);
+
+ ...
+
+ // Dispatch the instruction
+ if (instruction == kLoadPrefix) {
+ file_thread_.message_loop().PostWork(
+ callback_factory_.NewCallback(&FileIoInstance::Load, file_name));
+ } else if (instruction == kSavePrefix) {
+ ...
+ }
+}
+</pre>
+</section><section id="saving-a-file">
+<h3 id="saving-a-file">Saving a file</h3>
+<p><code>FileIoInstance::Save</code> is called when the <code>Save</code> button is pressed. First,
+it checks to see that the FileSystem has been successfully opened:</p>
+<pre class="prettyprint">
+if (!file_system_ready_) {
+ ShowErrorMessage("File system is not open", PP_ERROR_FAILED);
+ return;
+}
+</pre>
+<p>It then creates a <code>pp::FileRef</code> resource with the name of the file. A
+<code>FileRef</code> resource is a weak reference to a file in the FileSystem; that is,
+a file can still be deleted even if there are outstanding <code>FileRef</code>
+resources.</p>
+<pre class="prettyprint">
+pp::FileRef ref(file_system_, file_name.c_str());
+</pre>
+<p>Next, a <code>pp::FileIO</code> resource is created and opened. The call to
+<code>pp::FileIO::Open</code> passes <code>PP_FILEOPEFLAG_WRITE</code> to open the file for
+writing, <code>PP_FILEOPENFLAG_CREATE</code> to create a new file if it doesn’t already
+exist and <code>PP_FILEOPENFLAG_TRUNCATE</code> to clear the file of any previous
+content:</p>
+<pre class="prettyprint">
+pp::FileIO file(this);
+
+int32_t open_result =
+ file.Open(ref,
+ PP_FILEOPENFLAG_WRITE | PP_FILEOPENFLAG_CREATE |
+ PP_FILEOPENFLAG_TRUNCATE,
+ pp::BlockUntilComplete());
+if (open_result != PP_OK) {
+ ShowErrorMessage("File open for write failed", open_result);
+ return;
+}
+</pre>
+<p>Now that the file is opened, it is written to in chunks. In an asynchronous
+model, this would require writing a separate function, storing the current
+state on the free store and a chain of callbacks. Because this function is
+called off the main thread, <code>pp::FileIO::Write</code> can be called synchronously
+and a conventional do/while loop can be used:</p>
+<pre class="prettyprint">
+int64_t offset = 0;
+int32_t bytes_written = 0;
+do {
+ bytes_written = file.Write(offset,
+ file_contents.data() + offset,
+ file_contents.length(),
+ pp::BlockUntilComplete());
+ if (bytes_written > 0) {
+ offset += bytes_written;
+ } else {
+ ShowErrorMessage("File write failed", bytes_written);
+ return;
+ }
+} while (bytes_written < static_cast<int64_t>(file_contents.length()));
+</pre>
+<p>Finally, the file is flushed to push all changes to disk:</p>
+<pre class="prettyprint">
+int32_t flush_result = file.Flush(pp::BlockUntilComplete());
+if (flush_result != PP_OK) {
+ ShowErrorMessage("File fail to flush", flush_result);
+ return;
+}
+</pre>
+</section><section id="loading-a-file">
+<h3 id="loading-a-file">Loading a file</h3>
+<p><code>FileIoInstance::Load</code> is called when the <code>Load</code> button is pressed. Like
+the <code>Save</code> function, <code>Load</code> first checks to see if the FileSystem has been
+successfully opened, and creates a new <code>FileRef</code>:</p>
+<pre class="prettyprint">
+if (!file_system_ready_) {
+ ShowErrorMessage("File system is not open", PP_ERROR_FAILED);
+ return;
+}
+pp::FileRef ref(file_system_, file_name.c_str());
+</pre>
+<p>Next, <code>Load</code> creates and opens a new <code>FileIO</code> resource, passing
+<code>PP_FILEOPENFLAG_READ</code> to open the file for reading. The result is compared
+to <code>PP_ERROR_FILENOTFOUND</code> to give a better error message when the file
+doesn’t exist:</p>
+<pre class="prettyprint">
+int32_t open_result =
+ file.Open(ref, PP_FILEOPENFLAG_READ, pp::BlockUntilComplete());
+if (open_result == PP_ERROR_FILENOTFOUND) {
+ ShowErrorMessage("File not found", open_result);
+ return;
+} else if (open_result != PP_OK) {
+ ShowErrorMessage("File open for read failed", open_result);
+ return;
+}
+</pre>
+<p>Then <code>Load</code> calls <code>pp::FileIO::Query</code> to get metadata about the file, such
+as its size. This is used to allocate a <code>std::vector</code> buffer that holds the
+data from the file in memory:</p>
+<pre class="prettyprint">
+int32_t query_result = file.Query(&info, pp::BlockUntilComplete());
+if (query_result != PP_OK) {
+ ShowErrorMessage("File query failed", query_result);
+ return;
+}
+
+...
+
+std::vector<char> data(info.size);
+</pre>
+<p>Similar to <code>Save</code>, a conventional while loop is used to read the file into
+the newly allocated buffer:</p>
+<pre class="prettyprint">
+int64_t offset = 0;
+int32_t bytes_read = 0;
+int32_t bytes_to_read = info.size;
+while (bytes_to_read > 0) {
+ bytes_read = file.Read(offset,
+ &data[offset],
+ data.size() - offset,
+ pp::BlockUntilComplete());
+ if (bytes_read > 0) {
+ offset += bytes_read;
+ bytes_to_read -= bytes_read;
+ } else if (bytes_read < 0) {
+ // If bytes_read < PP_OK then it indicates the error code.
+ ShowErrorMessage("File read failed", bytes_read);
+ return;
+ }
+}
+</pre>
+<p>Finally, the contents of the file are sent back to JavaScript, to be displayed
+on the page. This example uses “<code>DISP|</code>” as a prefix command for display
+information:</p>
+<pre class="prettyprint">
+std::string string_data(data.begin(), data.end());
+PostMessage("DISP|" + string_data);
+ShowStatusMessage("Load success");
+</pre>
+</section><section id="id1">
+<h3 id="id1">Deleting a file</h3>
+<p><code>FileIoInstance::Delete</code> is called when the <code>Delete</code> button is pressed.
+First, it checks whether the FileSystem has been opened, and creates a new
+<code>FileRef</code>:</p>
+<pre class="prettyprint">
+if (!file_system_ready_) {
+ ShowErrorMessage("File system is not open", PP_ERROR_FAILED);
+ return;
+}
+pp::FileRef ref(file_system_, file_name.c_str());
+</pre>
+<p>Unlike <code>Save</code> and <code>Load</code>, <code>Delete</code> is called on the <code>FileRef</code> resource,
+not a <code>FileIO</code> resource. Note that the result is checked for
+<code>PP_ERROR_FILENOTFOUND</code> to give a better error message when trying to delete
+a non-existent file:</p>
+<pre class="prettyprint">
+int32_t result = ref.Delete(pp::BlockUntilComplete());
+if (result == PP_ERROR_FILENOTFOUND) {
+ ShowStatusMessage("File/Directory not found");
+ return;
+} else if (result != PP_OK) {
+ ShowErrorMessage("Deletion failed", result);
+ return;
+}
+</pre>
+</section><section id="listing-files-in-a-directory">
+<h3 id="listing-files-in-a-directory">Listing files in a directory</h3>
+<p><code>FileIoInstance::List</code> is called when the <code>List Directory</code> button is
+pressed. Like all other operations, it checks whether the FileSystem has been
+opened and creates a new <code>FileRef</code>:</p>
+<pre class="prettyprint">
+if (!file_system_ready_) {
+ ShowErrorMessage("File system is not open", PP_ERROR_FAILED);
+ return;
+}
+
+pp::FileRef ref(file_system_, dir_name.c_str());
+</pre>
+<p>Unlike the other operations, it does not make a blocking call to
+<code>pp::FileRef::ReadDirectoryEntries</code>. Since <code>ReadDirectoryEntries</code> returns
+the resulting directory entries in its callback, a new callback object is
+created pointing to <code>FileIoInstance::ListCallback</code>.</p>
+<p>The <code>pp::CompletionCallbackFactory</code> template class is used to instantiate a
+new callback. Notice that the <code>FileRef</code> resource is passed as a parameter;
+this will add a reference count to the callback object, to keep the <code>FileRef</code>
+resource from being destroyed when the function finishes.</p>
+<pre class="prettyprint">
+// Pass ref along to keep it alive.
+ref.ReadDirectoryEntries(callback_factory_.NewCallbackWithOutput(
+ &FileIoInstance::ListCallback, ref));
+</pre>
+<p><code>FileIoInstance::ListCallback</code> then gets the results passed as a
+<code>std::vector</code> of <code>pp::DirectoryEntry</code> objects, and sends them to
+JavaScript:</p>
+<pre class="prettyprint">
+void ListCallback(int32_t result,
+ const std::vector<pp::DirectoryEntry>& entries,
+ pp::FileRef /*unused_ref*/) {
+ if (result != PP_OK) {
+ ShowErrorMessage("List failed", result);
+ return;
+ }
+
+ std::stringstream ss;
+ ss << "LIST";
+ for (size_t i = 0; i < entries.size(); ++i) {
+ pp::Var name = entries[i].file_ref().GetName();
+ if (name.is_string()) {
+ ss << "|" << name.AsString();
+ }
+ }
+ PostMessage(ss.str());
+ ShowStatusMessage("List success");
+}
+</pre>
+</section><section id="making-a-new-directory">
+<h3 id="making-a-new-directory">Making a new directory</h3>
+<p><code>FileIoInstance::MakeDir</code> is called when the <code>Make Directory</code> button is
+pressed. Like all other operations, it checks whether the FileSystem has been
+opened and creates a new <code>FileRef</code>:</p>
+<pre class="prettyprint">
+if (!file_system_ready_) {
+ ShowErrorMessage("File system is not open", PP_ERROR_FAILED);
+ return;
+}
+pp::FileRef ref(file_system_, dir_name.c_str());
+</pre>
+<p>Then the <code>pp::FileRef::MakeDirectory</code> function is called.</p>
+<pre class="prettyprint">
+int32_t result = ref.MakeDirectory(
+ PP_MAKEDIRECTORYFLAG_NONE, pp::BlockUntilComplete());
+if (result != PP_OK) {
+ ShowErrorMessage("Make directory failed", result);
+ return;
+}
+ShowStatusMessage("Make directory success");
+</pre>
+</section></section></section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/devguide/coding/index.html b/native_client_sdk/doc_generated/devguide/coding/index.html
new file mode 100644
index 0000000..376f505
--- /dev/null
+++ b/native_client_sdk/doc_generated/devguide/coding/index.html
@@ -0,0 +1,10 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<section id="coding-your-application">
+<span id="coding"></span><h1 id="coding-your-application"><span id="coding"></span>Coding Your Application</h1>
+<p>This section of the Developer’s Guide describes important concepts that would be
+useful to understand in order to code your application—e.g., how an
+application is structured, and how to use the Pepper APIs.</p>
+</section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/devguide/coding/message-system.html b/native_client_sdk/doc_generated/devguide/coding/message-system.html
new file mode 100644
index 0000000..c28cef4a
--- /dev/null
+++ b/native_client_sdk/doc_generated/devguide/coding/message-system.html
@@ -0,0 +1,376 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<section id="messaging-system">
+<span id="message-system"></span><h1 id="messaging-system"><span id="message-system"></span>Messaging System</h1>
+<div class="contents local topic" id="contents">
+<ul class="small-gap">
+<li><a class="reference internal" href="#reference-information" id="id2">Reference information</a></li>
+<li><p class="first"><a class="reference internal" href="#introduction-to-the-messaging-system" id="id3">Introduction to the messaging system</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#design-of-the-messaging-system" id="id4">Design of the messaging system</a></li>
+</ul>
+</li>
+<li><p class="first"><a class="reference internal" href="#communication-tasks-in-the-hello-world-example" id="id5">Communication tasks in the “Hello, World” example</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#javascript-code" id="id6">JavaScript code</a></li>
+<li><a class="reference internal" href="#native-client-module" id="id7">Native Client module</a></li>
+</ul>
+</li>
+<li><p class="first"><a class="reference internal" href="#messaging-in-javascript-code-more-details" id="id8">Messaging in JavaScript code: More details.</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#setting-up-an-event-listener-and-handler" id="id9">Setting up an event listener and handler</a></li>
+</ul>
+</li>
+<li><p class="first"><a class="reference internal" href="#messaging-in-the-native-client-module-more-details" id="id10">Messaging in the Native Client module: More details.</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#implementing-handlemessage" id="id11">Implementing HandleMessage()</a></li>
+<li><a class="reference internal" href="#implementing-application-specific-functions" id="id12">Implementing application-specific functions</a></li>
+<li><a class="reference internal" href="#sending-messages-back-to-the-javascript-code" id="id13">Sending messages back to the JavaScript code</a></li>
+<li><a class="reference internal" href="#sending-and-receiving-other-pp-var-types" id="id14">Sending and receiving other <code>pp::Var</code> types</a></li>
+</ul>
+</li>
+</ul>
+</div>
+<p>This chapter describes the messaging system used to communicate between the
+JavaScript code and the Native Client module’s C or C++ code in a
+Native Client application. It introduces the concept of asynchronous
+programming and the basic steps required to set up a Native Client module
+that sends messages to and receive messages from JavaScript. This chapter
+assumes you are familiar with the material presented in the
+<a class="reference internal" href="/native-client/devguide/coding/application-structure.html"><em>Application Structure</em></a> chapter.</p>
+<aside class="note">
+The “Hello, World” example for getting started with NaCl is used here to
+illustrate basic programming techniques. You can find this code in
+the <code>/getting_started/part2</code> directory in the Native Client SDK download.
+</aside>
+<section id="reference-information">
+<h2 id="reference-information">Reference information</h2>
+<p>For reference information related to the Pepper messaging API, see the
+following documentation:</p>
+<ul class="small-gap">
+<li><a class="reference external" href="https://developers.google.com/native-client/peppercpp/classpp_1_1_instance">pp::Instance class</a> HandleMessage(), PostMessage())</li>
+<li><a class="reference external" href="https://developers.google.com/native-client/peppercpp/classpp_1_1_module">pp::Module class</a></li>
+<li><a class="reference external" href="https://developers.google.com/native-client/peppercpp/classpp_1_1_var">pp::Var class</a></li>
+</ul>
+</section><section id="introduction-to-the-messaging-system">
+<h2 id="introduction-to-the-messaging-system">Introduction to the messaging system</h2>
+<p>Native Client modules and JavaScript communicate by sending messages
+to each other. The most basic form of a message is a string. Messages
+support many JavaScript types, including ints, arrays, array buffers,
+and dictionaries (see <a class="reference external" href="https://developers.google.com/native-client/peppercpp/classpp_1_1_var">pp::Var</a>,
+<a class="reference external" href="https://developers.google.com/native-client/peppercpp/classpp_1_1_var_array_buffer">pp:VarArrayBuffer</a>,
+and the general <a class="reference external" href="https://developers.google.com/native-client/pepperc/struct_p_p_b___messaging__1__0">messaging system documentation</a>).
+It’s up to you to decide on the type of message and define how to
+process the messages on both the JavaScript and Native Client
+side. For the “Hello, World” example, we will work with string-typed
+messages only.</p>
+<p>When JavaScript posts a message to the Native Client module, the
+Pepper <code>HandleMessage()</code> function is invoked on the module
+side. Similarly, the Native Client module can post a message to
+JavaScript, and this message triggers a JavaScript event listener for
+<code>message</code> events in the DOM. (See the W3C specification on
+<a class="reference external" href="http://www.w3.org/TR/DOM-Level-2-Events/events.html">Document Object Model Events</a> for more
+information.) In the “Hello, World” example, the JavaScript functions for
+posting and handling messages are named <code>postMessage()</code> and
+<code>handleMessage()</code> (but any names could be used). On the Native Client
+C++ side, the Pepper Library functions for posting and handling
+messages are:</p>
+<ul class="small-gap">
+<li><code>void pp::Instance::PostMessage(const Var &message)</code></li>
+<li><code>virtual void pp::Instance::HandleMessage(const Var &message)</code></li>
+</ul>
+<p>If you want to receive messages from JavaScript, you need to implement the
+<code>pp::Instance::HandleMessage()</code> function in your Native Client module.</p>
+<section id="design-of-the-messaging-system">
+<h3 id="design-of-the-messaging-system">Design of the messaging system</h3>
+<p>The Native Client messaging system is analogous to the system used by
+the browser to allow web workers to communicate (see the <a class="reference external" href="http://www.w3.org/TR/workers">W3 web
+worker specification</a>). The Native
+Client messaging system is designed to keep the web page responsive while the
+Native Client module is performing potentially heavy processing in the
+background. When JavaScript sends a message to the Native Client
+module, the <code>postMessage()</code> call returns as soon as it sends its message
+to the Native Client module. The JavaScript does not wait for a reply
+from Native Client, thus avoiding bogging down the main JavaScript
+thread. On the JavaScript side, you set up an event listener to
+respond to the message sent by the Native Client module when it has
+finished the requested processing and returns a message.</p>
+<p>This asynchronous processing model keeps the main thread free while
+avoiding the following problems:</p>
+<ul class="small-gap">
+<li>The JavaScript engine hangs while waiting for a synchronous call to return.</li>
+<li>The browser pops up a dialog when a JavaScript entry point takes longer
+than a few moments.</li>
+<li>The application hangs while waiting for an unresponsive Native Client module.</li>
+</ul>
+</section></section><section id="communication-tasks-in-the-hello-world-example">
+<h2 id="communication-tasks-in-the-hello-world-example">Communication tasks in the “Hello, World” example</h2>
+<p>The following sections describe how the “Hello, World” example posts
+and handles messages on both the JavaScript side and the Native Client
+side of the application.</p>
+<section id="javascript-code">
+<h3 id="javascript-code">JavaScript code</h3>
+<p>The JavaScript code and HTML in the “Hello, World” example can be
+found in the <code>example.js</code>, <code>common.js</code>, and <code>index.html</code> files.
+The important steps are:</p>
+<ol class="arabic simple">
+<li>Sets up an event listener to listen for <code>message</code> events from the
+Native Client module.</li>
+<li>Implements an event handler that the event listener invokes to handle
+incoming <code>message</code> events.</li>
+<li>Calls <code>postMessage()</code> to communicate with the NaCl module,
+after the page loads.</li>
+</ol>
+<section id="step-1-from-common-js">
+<h4 id="step-1-from-common-js">Step 1: From common.js</h4>
+<pre class="prettyprint">
+function attachDefaultListeners() {
+ // The NaCl module embed is created within the listenerDiv
+ var listenerDiv = document.getElementById('listener');
+ // ...
+
+ // register the handleMessage function as the message event handler.
+ listenerDiv.addEventListener('message', handleMessage, true);
+ // ...
+}
+</pre>
+</section><section id="step-2-from-example-js">
+<h4 id="step-2-from-example-js">Step 2: From example.js</h4>
+<pre class="prettyprint">
+// This function is called by common.js when a message is received from the
+// NaCl module.
+function handleMessage(message) {
+ // In the example, we simply log the data that's received in the message.
+ var logEl = document.getElementById('log');
+ logEl.textContent += message.data;
+}
+
+// In the index.html we have set up the appropriate divs:
+<body {attrs}>
+ <!-- ... -->
+ <div id="listener"></div>
+ <div id="log"></div>
+</body>
+</pre>
+</section><section id="step-3-from-example-js">
+<h4 id="step-3-from-example-js">Step 3: From example.js</h4>
+<pre class="prettyprint">
+// From example.js, Step 3:
+function moduleDidLoad() {
+ // After the NaCl module has loaded, common.naclModule is a reference to the
+ // NaCl module's <embed> element.
+ //
+ // postMessage sends a message to it.
+ common.naclModule.postMessage('hello');
+}
+</pre>
+</section></section><section id="native-client-module">
+<h3 id="native-client-module">Native Client module</h3>
+<p>The C++ code in the Native Client module of the “Hello, World” example:</p>
+<ol class="arabic simple">
+<li>Implements <code>pp::Instance::HandleMessage()</code> to handle messages sent
+by the JavaScript.</li>
+<li>Processes incoming messages. This example simply checks that JavaScript
+has sent a “hello” message and not some other message.</li>
+<li>Calls <code>PostMessage()</code> to send an acknowledgement back to the
+JavaScript code. The acknowledgement is a string in the form of a <code>Var</code>
+that the JavaScript code can process. In general, a <code>pp::Var</code> can be
+several JavaScript types, see the
+<a class="reference external" href="https://developers.google.com/native-client/pepperc/struct_p_p_b___messaging__1__0">messaging system documentation</a>.</li>
+</ol>
+<pre class="prettyprint">
+class HelloTutorialInstance : public pp::Instance {
+ public:
+ // ...
+
+ // === Step 1: Implement the HandleMessage function. ===
+ virtual void HandleMessage(const pp::Var& var_message) {
+
+ // === Step 2: Process the incoming message. ===
+ // Ignore the message if it is not a string.
+ if (!var_message.is_string())
+ return;
+
+ // Get the string message and compare it to "hello".
+ std::string message = var_message.AsString();
+ if (message == kHelloString) {
+ // === Step 3: Send the reply. ===
+ // If it matches, send our response back to JavaScript.
+ pp::Var var_reply(kReplyString);
+ PostMessage(var_reply);
+ }
+ }
+};
+</pre>
+</section></section><section id="messaging-in-javascript-code-more-details">
+<h2 id="messaging-in-javascript-code-more-details">Messaging in JavaScript code: More details.</h2>
+<p>This section describes in more detail the messaging system code in the
+JavaScript portion of the “Hello, World” example.</p>
+<section id="setting-up-an-event-listener-and-handler">
+<h3 id="setting-up-an-event-listener-and-handler">Setting up an event listener and handler</h3>
+<p>The following JavaScript code sets up an event listener for messages
+posted by the Native Client module. It then defines a message handler
+that simply logs the content of messages received from the module.</p>
+<section id="setting-up-the-message-handler-on-load">
+<h4 id="setting-up-the-message-handler-on-load">Setting up the ‘message’ handler on load</h4>
+<pre class="prettyprint">
+// From common.js
+
+// Listen for the DOM content to be loaded. This event is fired when
+// parsing of the page's document has finished.
+document.addEventListener('DOMContentLoaded', function() {
+ var body = document.body;
+ // ...
+ var loadFunction = common.domContentLoaded;
+ // ... set up parameters ...
+ loadFunction(...);
+}
+
+// This function is exported as common.domContentLoaded.
+function domContentLoaded(...) {
+ // ...
+ if (common.naclModule == null) {
+ // ...
+ attachDefaultListeners();
+ // initialize common.naclModule ...
+ } else {
+ // ...
+ }
+}
+
+function attachDefaultListeners() {
+ var listenerDiv = document.getElementById('listener');
+ // ...
+ listenerDiv.addEventListener('message', handleMessage, true);
+ // ...
+}
+</pre>
+</section><section id="implementing-the-handler">
+<h4 id="implementing-the-handler">Implementing the handler</h4>
+<pre class="prettyprint">
+// From example.js
+function handleMessage(message) {
+ var logEl = document.getElementById('log');
+ logEl.textContent += message.data;
+}
+</pre>
+<p>Note that the <code>handleMessage()</code> function is handed a message_event
+containing <code>data</code> that you can display or manipulate in JavaScript. The
+“Hello, World” application simply logs this data to the <code>log</code> div.</p>
+</section></section></section><section id="messaging-in-the-native-client-module-more-details">
+<h2 id="messaging-in-the-native-client-module-more-details">Messaging in the Native Client module: More details.</h2>
+<p>This section describes in more detail the messaging system code in
+the Native Client module portion of the “Hello, World” example.</p>
+<section id="implementing-handlemessage">
+<h3 id="implementing-handlemessage">Implementing HandleMessage()</h3>
+<p>If you want the Native Client module to receive and handle messages
+from JavaScript, you need to implement a <code>HandleMessage()</code> function
+for your module’s <code>pp::Instance</code> class. The
+<code>HelloWorldInstance::HandleMessage()</code> function examines the message
+posted from JavaScript. First it examines that the type of the
+<code>pp::Var</code> is indeed a string (not a double, etc.). It then
+interprets the data as a string with <code>var_message.AsString()</code>, and
+checks that the string matches <code>kHelloString</code>. After examining the
+message received from JavaScript, the code calls <code>PostMessage()</code> to
+send a reply message back to the JavaScript side.</p>
+<pre class="prettyprint">
+namespace {
+
+// The expected string sent by the JavaScript.
+const char* const kHelloString = "hello";
+// The string sent back to the JavaScript code upon receipt of a message
+// containing "hello".
+const char* const kReplyString = "hello from NaCl";
+
+} // namespace
+
+class HelloTutorialInstance : public pp::Instance {
+ public:
+ // ...
+ virtual void HandleMessage(const pp::Var& var_message) {
+ // Ignore the message if it is not a string.
+ if (!var_message.is_string())
+ return;
+
+ // Get the string message and compare it to "hello".
+ std::string message = var_message.AsString();
+ if (message == kHelloString) {
+ // If it matches, send our response back to JavaScript.
+ pp::Var var_reply(kReplyString);
+ PostMessage(var_reply);
+ }
+ }
+};
+</pre>
+</section><section id="implementing-application-specific-functions">
+<h3 id="implementing-application-specific-functions">Implementing application-specific functions</h3>
+<p>While the “Hello, World” example is very simple, your Native Client
+module will likely include application-specific functions to perform
+custom tasks in response to messages. For example the application
+could be a compression and decompression service (two functions
+exported). The application could set up an application-specific
+convention that messages coming from JavaScript are colon-separated
+pairs of the form <code><command>:<data></code>. The Native Client module
+message handler can then split the incoming string along the <code>:</code>
+character to determine which command to execute. If the command is
+“compress”, then data to process is an uncompressed string. If the
+command is “uncompress”, then data to process is an already-compressed
+string. After processing the data asynchronously, the application then
+returns the result to JavaScript.</p>
+</section><section id="sending-messages-back-to-the-javascript-code">
+<h3 id="sending-messages-back-to-the-javascript-code">Sending messages back to the JavaScript code</h3>
+<p>The Native Client module sends messages back to the JavaScript code
+using <code>PostMessage()</code>. The Native Client module always returns
+its values in the form of a <code>pp::Var</code> that can be processed by the
+browser’s JavaScript. In this example, the message is posted at the
+end of the Native Client module’s <code>HandleMessage()</code> function:</p>
+<pre class="prettyprint">
+PostMessage(var_reply);
+</pre>
+</section><section id="sending-and-receiving-other-pp-var-types">
+<h3 id="sending-and-receiving-other-pp-var-types">Sending and receiving other <code>pp::Var</code> types</h3>
+<p>Besides strings, <code>pp::Var</code> can represent other types of JavaScript
+objects. For example, messages can be JavaScript objects. These
+richer types can make it easier to implement an application’s
+messaging protocol.</p>
+<p>To send a dictionary from the NaCl module to JavaScript simply create
+a <code>pp::VarDictionary</code> and then call <code>PostMessage</code> with the
+dictionary.</p>
+<pre class="prettyprint">
+pp::VarDictionary dictionary;
+dictionary.Set(pp::Var("command"), pp::Var(next_command));
+dictionary.Set(pp::Var("param_int"), pp::Var(123));
+pp::VarArray an_array;
+an_array.Set(0, pp::Var("string0"));
+an_array.Set(1, pp::Var("string1"))
+dictionary.Set(pp::Var("param_array"), an_array);
+PostMessage(dictionary);
+</pre>
+<p>Here is how to create a similar object in JavaScript and send it to
+the NaCl module:</p>
+<pre class="prettyprint">
+var dictionary = {
+ command: next_command,
+ param_int: 123,
+ param_array: ['string0', 'string1']
+}
+nacl_module.postMessage(dictionary);
+</pre>
+<p>To receive a dictionary-typed message in the NaCl module, test that
+the message is truly a dictionary type, then convert the message
+with the <code>pp::VarDictionary</code> class.</p>
+<pre class="prettyprint">
+virtual void HandleMessage(const pp::Var& var) {
+ if (var.is_dictionary()) {
+ pp::VarDictionary dictionary(var);
+ // Use the dictionary
+ pp::VarArray keys = dictionary.GetKeys();
+ // ...
+ } else {
+ // ...
+ }
+}
+</pre>
+</section></section></section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/devguide/coding/nacl_io.html b/native_client_sdk/doc_generated/devguide/coding/nacl_io.html
new file mode 100644
index 0000000..ca10522
--- /dev/null
+++ b/native_client_sdk/doc_generated/devguide/coding/nacl_io.html
@@ -0,0 +1,225 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<section id="the-nacl-io-library">
+<span id="nacl-io"></span><h1 id="the-nacl-io-library"><span id="nacl-io"></span>The nacl_io Library</h1>
+<div class="contents local topic" id="contents">
+<ul class="small-gap">
+<li><a class="reference internal" href="#introduction" id="id1">Introduction</a></li>
+<li><a class="reference internal" href="#using-nacl-io" id="id2">Using nacl_io</a></li>
+<li><p class="first"><a class="reference internal" href="#the-nacl-io-demo" id="id3">The nacl_io demo</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#building-and-running-the-demo" id="id4">Building and running the demo</a></li>
+<li><a class="reference internal" href="#a-look-at-the-code" id="id5">A look at the code</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#reference-information" id="id6">Reference information</a></li>
+</ul>
+</div>
+<section id="introduction">
+<h2 id="introduction">Introduction</h2>
+<p><code>nacl_io</code> is a utility library that provides implementations of standard
+C APIs such as POSIX I/O (<code>stdio.h</code>) and BSD sockets (<code>sys/socket.h</code>).
+Its primary function is to allow code that uses these standard APIs to be
+compiled and used in a Native Client module. The library is included as part
+of Native Client SDK and is implemented in on top of Pepper API.</p>
+<p>Since Native Client modules cannot access the host machine’s file system
+directly, nacl_io provides several alternative filesystem types which
+can be used by the application. For example, the Chrome browser supports the
+<a class="reference external" href="http://www.html5rocks.com/en/tutorials/file/filesystem/">HTML5 File System API</a> which provides
+access to a protected area of the local file system. This filesystem can
+be accessed by an HTML page using JavaScript commands, and also by a Native
+Client module using the Pepper <a class="reference internal" href="/native-client/devguide/coding/file-io.html"><em>File IO API</em></a>. With nacl_io
+a Native Client application can mount an HTML5 filesystem and access it via
+standard POSIX I/O function such as <code>fopen</code>, <code>fseek</code>, <code>fread</code>,
+<code>fwrite</code>, and <code>fclose</code>, or their low level UNIX counterparts <code>open</code>,
+<code>lseek</code>, <code>read</code>, <code>write</code> and <code>close</code>.</p>
+<p>As well as the HTML5 file system, nacl_io provides several other file system
+types which are described in the table below:</p>
+<table border="1" class="docutils">
+<colgroup>
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">File System</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>memfs</td>
+<td>An in-memory file system</td>
+</tr>
+<tr class="row-odd"><td>html5fs</td>
+<td>An HTML5 local file system, which can be persistent or temporary</td>
+</tr>
+<tr class="row-even"><td>http</td>
+<td>Maps files on a remote webserver into the local filesystem.</td>
+</tr>
+<tr class="row-odd"><td>dev</td>
+<td>A file system containing special files (e.g.: <code>/dev/null</code>)</td>
+</tr>
+</tbody>
+</table>
+</section><section id="using-nacl-io">
+<h2 id="using-nacl-io">Using nacl_io</h2>
+<p>Using nacl_io is mostly just a matter of using the standard POSIX C library
+functions. However, there are some steps required to initialize the library
+and setup the filesystem mounts. In general the following steps will be needed
+to use nacl_io in a NaCl application:</p>
+<ol class="arabic simple">
+<li>Link the application with the nacl_io library (<code>-lnacl_io</code>)</li>
+<li>Initialize nacl_io at startup using the <code>nacl_io_init_ppapi</code> or
+<code>nacl_io_init</code> functions.</li>
+<li>Mount any desired filesystems using the <code>mount</code> function. The arguments
+to <code>mount</code> for the different filesystem types are detailed in
+<code>include/nacl_io/nacl_io.h</code>.</li>
+<li>If you are going to mount an HTML5 file system, be sure to allocate space
+for it. You can either set the <code>unlimitedStorage</code> permission in the app’s
+Web Store manifest file, or call the HTML5 QuotaManagement API. These
+options are explained in the <a class="reference internal" href="/native-client/devguide/coding/file-io.html#quota-management"><em>File IO documentation</em></a>.</li>
+<li>Make sure that file and socket API calls are all made from the background
+thread. This is because the main Pepper thread does not support the blocking
+behavior needed by the POSIX I/O operations.</li>
+</ol>
+</section><section id="the-nacl-io-demo">
+<h2 id="the-nacl-io-demo">The nacl_io demo</h2>
+<section id="building-and-running-the-demo">
+<h3 id="building-and-running-the-demo">Building and running the demo</h3>
+<p>The demo application launches a Native Client module that mounts three file
+systems and displays a set of controls that let you work with them:</p>
+<img alt="/native-client/images/nacl_io1.png" src="/native-client/images/nacl_io1.png" />
+<p>Follow these steps to build and run the demo:</p>
+<ul class="small-gap">
+<li><p class="first">Open a terminal in the demo directory:</p>
+<pre class="prettyprint">
+$ cd $NACL_SDK_ROOT/examples/demo/nacl_io
+</pre>
+</li>
+<li><p class="first">run the demo:</p>
+<pre class="prettyprint">
+$ make run
+</pre>
+</li>
+</ul>
+<p>Once the demo is running, try these operations:</p>
+<ol class="arabic simple">
+<li>select the fopen command (when you select a command the fields in the line
+below will change according to the command)</li>
+<li>type in the filename <code>/persistent/test</code></li>
+<li>check the write checkbox and press the fopen button</li>
+<li>select the fwrite command and select the file <code>/persistent/test</code> in the
+menu that appears below on the left</li>
+<li>enter some data and press the fwrite button</li>
+<li>select the fclose command, be sure the file <code>/persistent/test</code> is selected
+in the menu, and press the fclose button</li>
+<li>select the fopen command</li>
+<li>type in the filename <code>/persistent/test</code></li>
+<li>check the fread checkbox and press the fopen button</li>
+<li>select the fread command, be sure the file /persistent/test is selected in
+the menu, enter a byte count, and press the fread button</li>
+</ol>
+</section><section id="a-look-at-the-code">
+<h3 id="a-look-at-the-code">A look at the code</h3>
+<p>The demo is written C and comprises three files.</p>
+<section id="nacl-io-demo-c">
+<h4 id="nacl-io-demo-c">nacl_io_demo.c</h4>
+<p>This is the demo’s main file. The code here creates and initializes the Native
+Client module instance. The Pepper function <code>Instance_DidCreate</code> initializes
+nacl_io and mounts an HTML5 filesystem at <code>/persistent</code>.</p>
+<pre class="prettyprint">
+static PP_Bool Instance_DidCreate(PP_Instance instance,
+ uint32_t argc,
+ const char* argn[],
+ const char* argv[]) {
+ g_instance = instance;
+ nacl_io_init_ppapi(instance, get_browser_interface);
+ mount(
+ "", /* source */
+ "/persistent", /* target */
+ "html5fs", /* filesystemtype */
+ 0, /* mountflags */
+ "type=PERSISTENT,expected_size=1048576"); /* data specific to the html5fs type */
+
+ pthread_create(&g_handle_message_thread, NULL, &HandleMessageThread, NULL);
+ InitializeMessageQueue();
+
+ return PP_TRUE;
+}
+</pre>
+<p>Space is allocated to the <code>/persistent</code> file system after the module is
+initialized. This is accomplished by the <code>domContentLoaded</code> function in
+the file <code>example.js</code>. This script is included in the module’s html page (see
+<code>examples/demo/index.html</code>):</p>
+<pre class="prettyprint">
+function domContentLoaded(name, tc, config, width, height) {
+ navigator.webkitPersistentStorage.requestQuota(window.PERSISTENT, 1024 * 1024,
+ function(bytes) {
+ common.updateStatus(
+ 'Allocated ' + bytes + ' bytes of persistant storage.');
+ common.createNaClModule(name, tc, config, width, height);
+ common.attachDefaultListeners();
+ },
+ function(e) { alert('Failed to allocate space') });
+}
+</pre>
+<p>The <code>Instance_DidCreate</code> function also creates a worker thread that receives
+messages sent from the html page and performs the specified file system
+operations. The logic for the worker thread is encoded in the other two files,
+described below.</p>
+</section><section id="queue-c">
+<h4 id="queue-c">queue.c</h4>
+<p>This file implements a circular queue that is used to receive messages from the
+browser UI to the Native Client module. The file system commands in the
+enqueued messages are executed on the worker thread. This keeps blocking calls
+(like fread) off the main Native Client thread, which is a good thing. The
+queue is initialized in nacl_io_demo.c <code>Instance_DidCreate</code>.</p>
+</section><section id="handlers-c">
+<h4 id="handlers-c">handlers.c</h4>
+<p>This file implements the stdio calls associated with the commands sent from the
+browser. There is a separate <code>Handle*</code> function for each command: fopen,
+fclose, fseek, fread, fwrite. The handlers are called from the
+<code>HandleMessage</code> function in nacl_io_demo.c, which runs in the worker
+thread managing the message queue. The code for the <code>fwrite</code> handler appears
+below. Notice that it does not contain any PPAPI calls and looks like
+“ordinary” C code.</p>
+<pre class="prettyprint">
+int HandleFwrite(int num_params, char** params, char** output) {
+ FILE* file;
+ const char* file_index_string;
+ const char* data;
+ size_t data_len;
+ size_t bytes_written;
+
+ if (num_params != 2) {
+ *output = PrintfToNewString("Error: fwrite takes 2 parameters.");
+ return 1;
+ }
+
+ file_index_string = params[0];
+ file = GetFileFromIndexString(file_index_string, NULL);
+ data = params[1];
+ data_len = strlen(data);
+
+ if (!file) {
+ *output = PrintfToNewString("Error: Unknown file handle %s.",
+ file_index_string);
+ return 2;
+ }
+
+ bytes_written = fwrite(data, 1, data_len, file);
+
+ *output = PrintfToNewString("fwrite\1%s\1%d", file_index_string,
+ bytes_written);
+ return 0;
+}
+</pre>
+</section></section></section><section id="reference-information">
+<h2 id="reference-information">Reference information</h2>
+<p>The example discussed here is included in the SDK in the directory
+<code>examples/demo/nacl_io</code>.</p>
+<p>The nacl_io library is included in the SDK toolchain and is not a part of the
+Pepper API. For reference information related to the nacl_io interface see
+its header file in the SDK directory, located at
+<code>include/nacl_io/nacl_io.h</code>.</p>
+<p>For more about the HTML5 file system read the <a class="reference external" href="http://dev.w3.org/2009/dap/file-system/pub/FileSystem/">specification</a>.</p>
+</section></section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/devguide/coding/native-client-modules.html b/native_client_sdk/doc_generated/devguide/coding/native-client-modules.html
new file mode 100644
index 0000000..7c063f17
--- /dev/null
+++ b/native_client_sdk/doc_generated/devguide/coding/native-client-modules.html
@@ -0,0 +1,178 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<section id="native-client-modules">
+<span id="devcycle-native-client-modules"></span><h1 id="native-client-modules"><span id="devcycle-native-client-modules"></span>Native Client Modules</h1>
+<p>This document describes the classes and functions that you need to implement in
+a Native Client module in order for Chrome to load, initialize, and run it. The
+requirements are the same regardless of whether or not the module uses PNaCl,
+but depend on whether the module is written in C or C++.</p>
+<div class="contents local topic" id="contents">
+<ul class="small-gap">
+<li><a class="reference internal" href="#introduction" id="id2">Introduction</a></li>
+<li><a class="reference internal" href="#writing-modules-in-c" id="id3">Writing modules in C</a></li>
+<li><a class="reference internal" href="#id1" id="id4">Writing modules in C++</a></li>
+</ul>
+</div>
+<section id="introduction">
+<h2 id="introduction">Introduction</h2>
+<p>Native Client modules do not have a <code>main()</code> function. When a module loads,
+the Native Client runtime calls the code in the module to create an instance and
+initialize the interfaces for the APIs the module uses. This initialization
+sequence depends on whether the module is written in C or C++ and requires that
+you implement specific functions in each case.</p>
+</section><section id="writing-modules-in-c">
+<h2 id="writing-modules-in-c">Writing modules in C</h2>
+<p>The C API uses a prefix convention to show whether an interface is implemented
+in the browser or in a module. Interfaces starting with <code>PPB_</code> (which can be
+read as “Pepper <em>browser</em>”) are implemented in the browser and they are called
+from your module. Interfaces starting with <code>PPP_</code> (“Pepper <em>plugin</em>”) are
+implemented in the module; they are called from the browser and will execute on
+the main thread of the module instance.</p>
+<p>When you implement a Native Client module in C you must include these components:</p>
+<ul class="small-gap">
+<li>The functions <code>PPP_InitializeModule</code> and <code>PPP_GetInterface</code></li>
+<li>Code that implements the interface <code>PPP_Instance</code> and any other C interfaces
+that your module uses</li>
+</ul>
+<p>For each PPP interface, you must implement all of its functions, create the
+struct through which the browser calls the interface, and insure that the
+function <code>PPP_GetInterface</code> returns the appropriate struct for the interface.</p>
+<p>For each PPB interface, you must declare a pointer to the interface and
+initialize the pointer with a call to <code>get_browser</code> inside
+<code>PPP_InitializeModule</code>.</p>
+<p>These steps are illustrated in the code excerpt below, which shows the
+implementation and initialization of the required <code>PPP_Instance</code>
+interface. The code excerpt also shows the initialization of three additional
+interfaces which are not required: <code>PPB_Instance</code> (through which the Native
+Client module calls back to the browser) and <code>PPB_InputEvent</code> and
+<code>PPP_InputEvent</code>.</p>
+<pre class="prettyprint">
+#include <stdlib.h>
+#include <string.h>
+#include "ppapi/c/pp_errors.h"
+#include "ppapi/c/ppp.h"
+// Include the interface headers.
+// PPB APIs describe calls from the module to the browser.
+// PPP APIs describe calls from the browser to the functions defined in your module.
+#include "ppapi/c/ppb_instance.h"
+#include "ppapi/c/ppp_instance.h"
+#include "ppapi/c/ppb_input_event.h"
+#include "ppapi/c/ppp_input_event.h"
+
+// Create pointers for each PPB interface that your module uses.
+static PPB_Instance* ppb_instance_interface = NULL;
+static PPB_InputEvent* ppb_input_event_interface = NULL;
+
+// Define all the functions for each PPP interface that your module uses.
+// Here is a stub for the first function in PPP_Instance.
+static PP_Bool Instance_DidCreate(PP_Instance instance,
+ uint32_t argc,
+ const char* argn[],
+ const char* argv[]) {
+ return PP_TRUE;
+}
+// ... more API functions ...
+
+// Define PPP_GetInterface.
+// This function should return a non-NULL value for every interface you are using.
+// The string for the name of the interface is defined in the interface's header file.
+// The browser calls this function to get pointers to the interfaces that your module implements.
+PP_EXPORT const void* PPP_GetInterface(const char* interface_name) {
+ // Create structs for each PPP interface.
+ // Assign the interface functions to the data fields.
+ if (strcmp(interface_name, PPP_INSTANCE_INTERFACE) == 0) {
+ static PPP_Instance instance_interface = {
+ &Instance_DidCreate,
+ // The definitions of these functions are not shown
+ &Instance_DidDestroy,
+ &Instance_DidChangeView,
+ &Instance_DidChangeFocus,
+ &Instance_HandleDocumentLoad
+ };
+ return &instance_interface;
+ }
+
+ if (strcmp(interface_name, PPP_INPUT_EVENT_INTERFACE) == 0) {
+ static PPP_InputEvent input_interface = {
+ // The definition of this function is not shown.
+ &Instance_HandleInput,
+ };
+ return &input_interface;
+ }
+ // Return NULL for interfaces that you do not implement.
+ return NULL;
+}
+
+// Define PPP_InitializeModule, the entry point of your module.
+// Retrieve the API for the browser-side (PPB) interfaces you will use.
+PP_EXPORT int32_t PPP_InitializeModule(PP_Module a_module_id, PPB_GetInterface get_browser) {
+ ppb_instance_interface = (PPB_Instance*)(get_browser(PPB_INSTANCE_INTERFACE));
+ ppb_input_event_interface = (PPB_InputEvent*)(get_browser(PPB_INPUT_EVENT_INTERFACE));
+ return PP_OK;
+}
+</pre>
+</section><section id="id1">
+<h2 id="id1">Writing modules in C++</h2>
+<p>When you implement a Native Client module in C++ you must include these components:</p>
+<ul class="small-gap">
+<li>The factory function called <code>CreateModule()</code></li>
+<li>Code that defines your own Module class (derived from the <code>pp::Module</code>
+class)</li>
+<li>Code that defines your own Instance class (derived from the <code>pp:Instance</code>
+class)</li>
+</ul>
+<p>In the “Hello tutorial” example (in the <code>getting_started/part1</code> directory of
+the NaCl SDK), these three components are specified in the file
+<code>hello_tutorial.cc</code>. Here is the factory function:</p>
+<pre class="prettyprint">
+namespace pp {
+Module* CreateModule() {
+ return new HelloTutorialModule();
+}
+}
+</pre>
+<p>The <code>CreateModule()</code> factory function is the main binding point between a
+module and the browser, and serves as the entry point into the module. The
+browser calls <code>CreateModule()</code> when a module is first loaded; this function
+returns a Module object derived from the <code>pp::Module</code> class. The browser keeps
+a singleton of the Module object.</p>
+<p>Below is the Module class from the “Hello tutorial” example:</p>
+<pre class="prettyprint">
+class HelloTutorialModule : public pp::Module {
+ public:
+ HelloTutorialModule() : pp::Module() {}
+ virtual ~HelloTutorialModule() {}
+
+ virtual pp::Instance* CreateInstance(PP_Instance instance) {
+ return new HelloTutorialInstance(instance);
+ }
+};
+</pre>
+<p>The Module class must include a <code>CreateInstance()</code> method. The browser calls
+the <code>CreateInstance()</code> method every time it encounters an <code><embed></code> element
+on a web page that references the same module. The <code>CreateInstance()</code> function
+creates and returns an Instance object derived from the <code>pp::Instance</code> class.</p>
+<p>Below is the Instance class from the “Hello tutorial” example:</p>
+<pre class="prettyprint">
+class HelloTutorialInstance : public pp::Instance {
+ public:
+ explicit HelloTutorialInstance(PP_Instance instance) : pp::Instance(instance) {}
+ virtual ~HelloTutorialInstance() {}
+
+ virtual void HandleMessage(const pp::Var& var_message) {}
+};
+</pre>
+<p>As in the example above, the Instance class for your module will likely include
+an implementation of the <code>HandleMessage()</code> function. The browser calls an
+instance’s <code>HandleMessage()</code> function every time the JavaScript code in an
+application calls <code>postMessage()</code> to send a message to the instance. See the
+<a class="reference internal" href="/native-client/devguide/coding/message-system.html"><em>Native Client messaging system</em></a> for more information about
+how to send messages between JavaScript code and Native Client modules.</p>
+<p>While the <code>CreateModule()</code> factory function, the <code>Module</code> class, and the
+<code>Instance</code> class are required for a Native Client application, the code
+samples shown above don’t actually do anything. Subsequent documents in the
+Developer’s Guide build on these code samples and add more interesting
+functionality.</p>
+</section></section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/devguide/coding/progress-events.html b/native_client_sdk/doc_generated/devguide/coding/progress-events.html
new file mode 100644
index 0000000..07721f9
--- /dev/null
+++ b/native_client_sdk/doc_generated/devguide/coding/progress-events.html
@@ -0,0 +1,434 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<section id="progress-events">
+<span id="devcycle-progress-events"></span><h1 id="progress-events"><span id="devcycle-progress-events"></span>Progress Events</h1>
+<div class="contents local topic" id="contents">
+<ul class="small-gap">
+<li><a class="reference internal" href="#module-loading-and-progress-events" id="id3">Module loading and progress events</a></li>
+<li><a class="reference internal" href="#handling-progress-events" id="id4">Handling progress events</a></li>
+<li><a class="reference internal" href="#displaying-load-status" id="id5">Displaying load status</a></li>
+<li><a class="reference internal" href="#the-lasterror-attribute" id="id6">The <code>lastError</code> attribute</a></li>
+<li><a class="reference internal" href="#the-readystate-attribute" id="id7">The <code>readyState</code> attribute</a></li>
+<li><a class="reference internal" href="#the-exitstatus-attribute" id="id8">The <code>exitStatus</code> attribute</a></li>
+</ul>
+</div>
+<p>There are five types of events that developers can respond to in Native Client:
+progress, message, view change, focus, and input events (each described in the
+glossary below). This chapter describes how to monitor progress events (events
+that occur during the loading and execution of a Native Client module). This
+chapter assumes you are familiar with the material presented in the
+<a class="reference internal" href="/native-client/overview.html"><em>Technical Overview</em></a>.</p>
+<aside class="note">
+The load_progress example illustrates progress event handling. You can find
+this code in the <code>/examples/tutorial/load_progress/</code> directory in the Native
+Client SDK download.
+</aside>
+<section id="module-loading-and-progress-events">
+<h2 id="module-loading-and-progress-events">Module loading and progress events</h2>
+<p>The Native Client runtime reports a set of state changes during the module
+loading process by means of DOM progress events. This set of events is a direct
+port of the proposed W3C <a class="reference external" href="http://www.w3.org/TR/progress-events/">Progress Events</a> standard (except for the <code>crash</code>
+event which is an extension of the W3C standard). The following table lists the
+events types reported by the Native Client runtime:</p>
+<table border="1" class="docutils">
+<colgroup>
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Event</th>
+<th class="head">Description</th>
+<th class="head">Number of
+times
+triggered</th>
+<th class="head">When event is
+triggered</th>
+<th class="head">How you might
+react to
+event</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td><code>loadstart</code></td>
+<td>Native Client has
+started to load a
+Native Client
+module.</td>
+<td>once</td>
+<td>This is the
+first
+progress
+event
+triggered
+after the
+Native Client
+module is
+instantiated
+and
+initialized.</td>
+<td>Display a
+status
+message, such
+as
+“Loading...”</td>
+</tr>
+<tr class="row-odd"><td><code>progress</code></td>
+<td>Part of the module
+has been loaded.</td>
+<td>zero or
+more</td>
+<td>After
+<code>loadstart</code>
+has been
+dispatched.</td>
+<td>Display a
+progress bar.</td>
+</tr>
+<tr class="row-even"><td><code>error</code></td>
+<td>The Native Client
+module failed to
+start execution
+(includes any
+error before or
+during
+initialization of
+the module). The
+<code>lastError</code>
+attribute
+(mentioned later)
+provides details
+on the error
+(initialization
+failed, sel_ldr
+did not start,
+and so on).</td>
+<td>zero or
+once</td>
+<td>After the
+last
+<code>progress</code>
+event has
+been
+dispatched,
+or after
+<code>loadstart</code>
+if no
+<code>progress</code>
+event was
+dispatched.</td>
+<td>Inform user
+that the
+application
+failed to
+load.</td>
+</tr>
+<tr class="row-odd"><td><code>abort</code></td>
+<td>Loading of the
+Native Client
+module was
+aborted by the
+user.</td>
+<td>zero or
+once</td>
+<td>After the
+last
+<code>progress</code>
+event has
+been
+dispatched,
+or after
+<code>loadstart</code>
+if no
+<code>progress</code>
+event was
+dispatched.</td>
+<td>It’s not
+likely you
+will want to
+respond to
+this event.</td>
+</tr>
+<tr class="row-even"><td><code>load</code></td>
+<td>The Native Client
+module was
+successfully
+loaded, and
+execution was
+started. (The
+module was
+initialized
+successfully.)</td>
+<td>zero or
+once</td>
+<td>After the
+last
+<code>progress</code>
+event has
+been
+dispatched,
+or after
+<code>loadstart</code>
+if no
+<code>progress</code>
+event was
+dispatched.</td>
+<td>Remove the
+progress bar.</td>
+</tr>
+<tr class="row-odd"><td><code>loadend</code></td>
+<td>Loading of the
+Native Client
+module has
+stopped. Load
+succeeded
+(<code>load</code>),
+failed
+(<code>error</code>), or
+was aborted
+(<code>abort</code>).</td>
+<td>once</td>
+<td>After an
+<code>error</code>,
+<code>abort</code>, or
+<code>load</code>
+event was
+dispatched.</td>
+<td>Indicate
+loading is
+over
+(regardless
+of failure or
+not).</td>
+</tr>
+<tr class="row-even"><td><code>crash</code></td>
+<td>The Native Client
+module is not
+responding (died
+on an
+<code>assert()</code> or
+<code>exit()</code>) after
+a successful
+load. This event
+is unique to
+Native Client and
+is not part of
+the W3C Progress
+Events standard.
+The <code>exitStatus</code>
+attribute provides
+the numeric exit
+status value.</td>
+<td>zero or
+once</td>
+<td>After a
+<code>loadend</code>.</td>
+<td>Notify user
+that the
+module did
+something
+illegal.</td>
+</tr>
+</tbody>
+</table>
+<p>The sequence of events for a successful module load is as follows:</p>
+<table border="1" class="docutils">
+<colgroup>
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Event is dispatched</th>
+<th class="head">... then this task is attempted</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td><code>loadstart</code></td>
+<td>load the manifest file</td>
+</tr>
+<tr class="row-odd"><td><code>progress</code> (first time)</td>
+<td>load the module</td>
+</tr>
+<tr class="row-even"><td><code>progress</code> (subsequent times)</td>
+<td> </td>
+</tr>
+<tr class="row-odd"><td><code>load</code></td>
+<td>start executing the module</td>
+</tr>
+<tr class="row-even"><td><code>loadend</code></td>
+<td> </td>
+</tr>
+</tbody>
+</table>
+<p>Errors that occur during loading are logged to the JavaScript console in Google
+Chrome (select the menu icon <img alt="menu-icon" src="/native-client/images/menu-icon.png" /> > Tools > JavaScript console).</p>
+</section><section id="handling-progress-events">
+<h2 id="handling-progress-events">Handling progress events</h2>
+<p>You should add event listeners in a <code><script></code> element to listen for these
+events before the <code><embed></code> element is parsed. For example, the following code
+adds a listener for the <code>load</code> event to a parent <code><div></code> element that also
+contains the Native Client <code><embed></code> element. First, the listener is
+attached. Then, when the listener <code><div></code> receives the <code>load</code> event, the
+JavaScript <code>moduleDidLoad()</code> function is called. The following code is
+excerpted from the example in <code>getting_started/part1/</code>:</p>
+<pre class="prettyprint">
+<!--
+Load the published pexe.
+Note: Since this module does not use any real-estate in the browser, its
+width and height are set to 0.
+
+Note: The <embed> element is wrapped inside a <div>, which has both a 'load'
+and a 'message' event listener attached. This wrapping method is used
+instead of attaching the event listeners directly to the <embed> element to
+ensure that the listeners are active before the NaCl module 'load' event
+fires. This also allows you to use PPB_Messaging.PostMessage() (in C) or
+pp::Instance.PostMessage() (in C++) from within the initialization code in
+your module.
+-->
+<div id="listener">
+ <script type="text/javascript">
+ var listener = document.getElementById('listener');
+ listener.addEventListener('load', moduleDidLoad, true);
+ listener.addEventListener('message', handleMessage, true);
+ </script>
+
+ <embed id="hello_tutorial"
+ width=0 height=0
+ src="hello_tutorial.nmf"
+ type="application/x-pnacl" />
+</div>
+</pre>
+<p>Event listeners can be added to any DOM object. Since listeners set at the
+outermost scope capture events for their contained elements, you can set
+listeners on outer elements (including the <code><body></code> element) to handle events
+from inner elements. For more information, see the W3 specifications for <a class="reference external" href="http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-flow-capture">event
+flow capture</a> and
+<a class="reference external" href="http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-registration">event listener registration</a>.</p>
+</section><section id="displaying-load-status">
+<h2 id="displaying-load-status">Displaying load status</h2>
+<p>One common response to progress events is to display the percentage of the
+module that has been loaded. In the load_progress example, when the <code>progress</code>
+event is triggered the <code>moduleLoadProgress</code> function is called. This function
+uses the <code>lengthComputable</code>, <code>loaded</code>, and <code>total</code> attributes (described
+in the proposed W3C <a class="reference external" href="http://www.w3.org/TR/progress-events/">Progress Events</a>
+standard) of the event to calculate the percentage of the module that has
+loaded.</p>
+<pre class="prettyprint">
+function moduleLoadProgress(event) {
+ var loadPercent = 0.0;
+ var loadPercentString;
+ if (event.lengthComputable && event.total > 0) {
+ loadPercent = event.loaded / event.total * 100.0;
+ loadPercentString = loadPercent + '%';
+ common.logMessage('progress: ' + event.url + ' ' + loadPercentString +
+ ' (' + event.loaded + ' of ' + event.total + ' bytes)');
+ } else {
+ // The total length is not yet known.
+ common.logMessage('progress: Computing...');
+ }
+}
+</pre>
+</section><section id="the-lasterror-attribute">
+<h2 id="the-lasterror-attribute">The <code>lastError</code> attribute</h2>
+<p>The <code><embed></code> element has a <code>lastError</code> attribute that is set to an
+informative string whenever a load failure (an <code>error</code> or <code>abort</code> event)
+occurs.</p>
+<p>The following code adds an event listener before the <code><embed></code> element to
+capture and handle an error in loading the Native Client module. The
+<code>handleError()</code> function listens for an <code>error</code> event. When an error occurs,
+this function prints the contents of the <code>lastError</code> attribute
+(<code>embed_element.lastError</code>) as an alert.</p>
+<pre class="prettyprint">
+function domContentLoaded(name, tc, config, width, height) {
+ var listener = document.getElementById('listener');
+ ...
+ listener.addEventListener('error', moduleLoadError, true);
+ ...
+ common.createNaClModule(name, tc, config, width, height);
+}
+
+function moduleLoadError() {
+ common.logMessage('error: ' + common.naclModule.lastError);
+}
+</pre>
+</section><section id="the-readystate-attribute">
+<h2 id="the-readystate-attribute">The <code>readyState</code> attribute</h2>
+<p>You can use the <code>readyState</code> attribute to monitor the loading process. This
+attribute is particularly useful if you don’t care about the details of
+individual progress events or when you want to poll for current load state
+without registering listeners. The value of <code>readyState</code> progresses as follows
+for a successful load:</p>
+<table border="1" class="docutils">
+<colgroup>
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Event</th>
+<th class="head"><code>readyState</code> value</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>(before any events)</td>
+<td><code>undefined</code></td>
+</tr>
+<tr class="row-odd"><td><code>loadstart</code></td>
+<td>1</td>
+</tr>
+<tr class="row-even"><td><code>progress</code></td>
+<td>3</td>
+</tr>
+<tr class="row-odd"><td><code>load</code></td>
+<td>4</td>
+</tr>
+<tr class="row-even"><td><code>loadend</code></td>
+<td>4</td>
+</tr>
+</tbody>
+</table>
+<p>The following code demonstrates how to monitor the loading process using the
+<code>readyState</code> attribute. As before, the script that adds the event listeners
+precedes the <code><embed></code> element so that the event listeners are in place before
+the progress events are generated.</p>
+<pre class="prettyprint">
+<html>
+...
+ <body id="body">
+ <div id="status_div">
+ </div>
+ <div id="listener_div">
+ <script type="text/javascript">
+ var stat = document.getElementById('status_div');
+ function handleEvent(e) {
+ var embed_element = document.getElementById('my_embed');
+ stat.innerHTML +=
+ '<br>' + e.type + ': readyState = ' + embed_element.readyState;
+ }
+ var listener_element = document.getElementById('listener_div');
+ listener_element.addEventListener('loadstart', handleEvent, true);
+ listener_element.addEventListener('progress', handleEvent, true);
+ listener_element.addEventListener('load', handleEvent, true);
+ listener_element.addEventListener('loadend', handleEvent, true);
+ </script>
+ <embed
+ name="naclModule"
+ id="my_embed"
+ width=0 height=0
+ src="my_example.nmf"
+ type="application/x-pnacl" />
+ </div>
+ </body>
+</html>
+</pre>
+</section><section id="the-exitstatus-attribute">
+<h2 id="the-exitstatus-attribute">The <code>exitStatus</code> attribute</h2>
+<p>This read-only attribute is set if the application calls <code>exit(n)</code>,
+<code>abort()</code>, or crashes. Since NaCl modules are event handlers, there is no
+need to call <code>exit(n)</code> in normal execution. If the module does exit or
+crash, the <code>crash</code> progress event is issued and the <code>exitStatus</code> attribute
+will contain the numeric value of the exit status:</p>
+<ul class="small-gap">
+<li>In the case of explicit calls to <code>exit(n)</code>, the numeric value will be
+<code>n</code> (between 0 and 255).</li>
+<li>In the case of crashes and calls to <code>abort()</code>, the numeric value will
+be non-zero, but the exact value will depend on the chosen libc and the
+target architecture, and may change in the future. Applications should not
+rely on the <code>exitStatus</code> value being stable in these cases, but the value
+may nevertheless be useful for temporary debugging.</li>
+</ul>
+</section></section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/devguide/coding/url-loading.html b/native_client_sdk/doc_generated/devguide/coding/url-loading.html
new file mode 100644
index 0000000..a99b214
--- /dev/null
+++ b/native_client_sdk/doc_generated/devguide/coding/url-loading.html
@@ -0,0 +1,232 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<section id="url-loading">
+<span id="devguide-coding-url-loading"></span><h1 id="url-loading"><span id="devguide-coding-url-loading"></span>URL Loading</h1>
+<div class="contents local topic" id="contents">
+<ul class="small-gap">
+<li><a class="reference internal" href="#introduction" id="id1">Introduction</a></li>
+<li><a class="reference internal" href="#reference-information" id="id2">Reference information</a></li>
+<li><a class="reference internal" href="#background" id="id3">Background</a></li>
+<li><p class="first"><a class="reference internal" href="#the-url-loader-example" id="id4">The <code>url_loader</code> example</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#url-loading-overview" id="id5">URL loading overview</a></li>
+</ul>
+</li>
+<li><p class="first"><a class="reference internal" href="#url-loader-deep-dive" id="id6"><code>url_loader</code> deep dive</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#setting-up-the-request" id="id7">Setting up the request</a></li>
+<li><a class="reference internal" href="#downloading-the-data" id="id8">Downloading the data</a></li>
+<li><a class="reference internal" href="#displaying-a-result" id="id9">Displaying a result</a></li>
+</ul>
+</li>
+</ul>
+</div>
+<section id="introduction">
+<h2 id="introduction">Introduction</h2>
+<p>This chapter describes how to use the <a class="reference external" href="https://developers.google.com/native-client/peppercpp/classpp_1_1_u_r_l_loader">URLLoader API</a>
+to load resources such as images and sound files from a server into your
+application.</p>
+<p>The example discussed in this chapter is included in the SDK in the directory
+<code>examples/api/url_loader</code>.</p>
+</section><section id="reference-information">
+<h2 id="reference-information">Reference information</h2>
+<p>For reference information related to loading data from URLs, see the
+following documentation:</p>
+<ul class="small-gap">
+<li><a class="reference external" href="https://developers.google.com/native-client/peppercpp/url__loader_8h">url_loader.h</a> -
+Contains <code>URLLoader</code> class for loading data from URLs</li>
+<li><a class="reference external" href="https://developers.google.com/native-client/peppercpp/url__request__info_8h">url_request_info.h</a>
+- Contains <code>URLRequest</code> class for creating and manipulating URL requests</li>
+<li><a class="reference external" href="https://developers.google.com/native-client/peppercpp/url__response__info_8h">url_response_info.h</a>
+- Contains <code>URLResponse</code> class for examaning URL responses</li>
+</ul>
+</section><section id="background">
+<h2 id="background">Background</h2>
+<p>When a user launches your Native Client web application, Chrome downloads and
+caches your application’s HTML file, manifest file (.nmf), and Native Client
+module (.pexe or .nexe). If your application needs additional assets, such as
+images and sound files, it must explicitly load those assets. You can use the
+Pepper APIs described in this chapter to load assets from a URL into your
+application.</p>
+<p>After you’ve loaded assets into your application, Chrome will cache those
+assets. To avoid being at the whim of the Chrome cache, however, you may want
+to use the <a class="reference external" href="https://developers.google.com/native-client/peppercpp/classpp_1_1_file_i_o">Pepper FileIO API</a>
+to write those assets to a persistent, sandboxed location on the user’s file
+system.</p>
+</section><section id="the-url-loader-example">
+<h2 id="the-url-loader-example">The <code>url_loader</code> example</h2>
+<p>The SDK includes an example called <code>url_loader</code> demonstrating downloading
+files from a server. This example has these primary files:</p>
+<ul class="small-gap">
+<li><code>index.html</code> - The HTML code that launches the Native Client module.</li>
+<li><code>example.js</code> - The JavaScript file for index.html. It has code that sends
+a PostMessage request to the Native Client module when the “Get URL” button
+is clicked.</li>
+<li><code>url_loader_success.html</code> - An HTML file on the server whose contents are
+being retrieved using the <code>URLLoader</code> API.</li>
+<li><code>url_loader.cc</code> - The code that sets up and provides and entry point into
+the Native client module.</li>
+<li><code>url_loader_handler.cc</code> - The code that retrieves the contents of the
+url_loader_success.html file and returns the results (this is where the
+bulk of the work is done).</li>
+</ul>
+<p>The remainder of this document covers the code in the <code>url_loader.cc</code> and
+<code>url_loader_handler.cc</code> files.</p>
+<section id="url-loading-overview">
+<h3 id="url-loading-overview">URL loading overview</h3>
+<p>Like many Pepper APIs, the <code>URLLoader</code> API includes a set of methods that
+execute asynchronously and that invoke callback functions in your Native Client
+module. The high-level flow for the <code>url_loader</code> example is described below.
+Note that methods in the namespace <code>pp::URLLoader</code> are part of the Pepper
+<code>URLLoader</code> API, while the rest of the functions are part of the code in the
+Native Client module (specifically in the file <code>url_loader_handler.cc</code>). The
+following image shows the flow of the <code>url_loader_handler</code> code:</p>
+<img alt="/native-client/images/pepper-urlloader-api.png" src="/native-client/images/pepper-urlloader-api.png" />
+<p>Following are the high-level steps involved in URL loading.</p>
+<ol class="arabic simple">
+<li>The Native Client module calls <code>pp::URLLoader::Open</code> to begin opening the
+URL.</li>
+<li>When <code>Open</code> completes, it invokes a callback function in the Native Client
+module (in this case, <code>OnOpen</code>).</li>
+<li>The Native Client module calls the Pepper function
+<code>URLLoader::ReadResponseBody</code> to begin reading the response body with the
+data. <code>ReadResponseBody</code> is passed an optional callback function in the
+Native Client module (in this case, On <code>Read</code>). The callback function is
+an optional callback because <code>ReadResponseBody</code> may read data and return
+synchronously if data is available (this improves performance for large
+files and fast connections).</li>
+</ol>
+<p>The remainder of this document demonstrates how the previous steps are
+implemented in the <code>url_loader</code> example.</p>
+</section></section><section id="url-loader-deep-dive">
+<h2 id="url-loader-deep-dive"><code>url_loader</code> deep dive</h2>
+<section id="setting-up-the-request">
+<h3 id="setting-up-the-request">Setting up the request</h3>
+<p><code>HandleMessage</code> in <code>url_loader.cc</code> creates a <code>URLLoaderHandler</code> instance
+and passes it the URL of the asset to be retrieved. Then <code>HandleMessage</code>
+calls <code>Start</code> to start retrieving the asset from the server:</p>
+<pre class="prettyprint">
+void URLLoaderInstance::HandleMessage(const pp::Var& var_message) {
+ if (!var_message.is_string()) {
+ return;
+ }
+ std::string message = var_message.AsString();
+ if (message.find(kLoadUrlMethodId) == 0) {
+ // The argument to getUrl is everything after the first ':'.
+ size_t sep_pos = message.find_first_of(kMessageArgumentSeparator);
+ if (sep_pos != std::string::npos) {
+ std::string url = message.substr(sep_pos + 1);
+ printf("URLLoaderInstance::HandleMessage('%s', '%s')\n",
+ message.c_str(),
+ url.c_str());
+ fflush(stdout);
+ URLLoaderHandler* handler = URLLoaderHandler::Create(this, url);
+ if (handler != NULL) {
+ // Starts asynchronous download. When download is finished or when an
+ // error occurs, |handler| posts the results back to the browser
+ // vis PostMessage and self-destroys.
+ handler->Start();
+ }
+ }
+ }
+}
+</pre>
+<p>Notice that the constructor for <code>URLLoaderHandler</code> in
+<code>url_loader_handler.cc</code> sets up the parameters of the URL request (using
+<code>SetURL,</code> <code>SetMethod</code>, and <code>SetRecordDownloadProgress</code>):</p>
+<pre class="prettyprint">
+URLLoaderHandler::URLLoaderHandler(pp::Instance* instance,
+ const std::string& url)
+ : instance_(instance),
+ url_(url),
+ url_request_(instance),
+ url_loader_(instance),
+ buffer_(new char[READ_BUFFER_SIZE]),
+ cc_factory_(this) {
+ url_request_.SetURL(url);
+ url_request_.SetMethod("GET");
+ url_request_.SetRecordDownloadProgress(true);
+}
+</pre>
+</section><section id="downloading-the-data">
+<h3 id="downloading-the-data">Downloading the data</h3>
+<p><code>Start</code> in <code>url_loader_handler.cc</code> creates a callback (<code>cc</code>) using a
+<code>CompletionCallbackFactory</code>. The callback is passed to <code>Open</code> to be called
+upon its completion. <code>Open</code> begins loading the <code>URLRequestInfo</code>.</p>
+<pre class="prettyprint">
+void URLLoaderHandler::Start() {
+ pp::CompletionCallback cc =
+ cc_factory_.NewCallback(&URLLoaderHandler::OnOpen);
+ url_loader_.Open(url_request_, cc);
+}
+</pre>
+<p><code>OnOpen</code> ensures that the Open call was successful and, if so, calls
+<code>GetDownloadProgress</code> to determine the amount of data to be downloaded so it
+can allocate memory for the response body.</p>
+<p>Note that the amount of data to be downloaded may be unknown, in which case
+<code>GetDownloadProgress</code> sets <code>total_bytes_to_be_received</code> to -1. It is not a
+problem if <code>total_bytes_to_be_received</code> is set to -1 or if
+<code>GetDownloadProgress</code> fails; in these scenarios memory for the read buffer
+can’t be allocated in advance and must be allocated as data is received.</p>
+<p>Finally, <code>OnOpen</code> calls <code>ReadBody.</code></p>
+<pre class="prettyprint">
+void URLLoaderHandler::OnOpen(int32_t result) {
+ if (result != PP_OK) {
+ ReportResultAndDie(url_, "pp::URLLoader::Open() failed", false);
+ return;
+ }
+ int64_t bytes_received = 0;
+ int64_t total_bytes_to_be_received = 0;
+ if (url_loader_.GetDownloadProgress(&bytes_received,
+ &total_bytes_to_be_received)) {
+ if (total_bytes_to_be_received > 0) {
+ url_response_body_.reserve(total_bytes_to_be_received);
+ }
+ }
+ url_request_.SetRecordDownloadProgress(false);
+ ReadBody();
+}
+</pre>
+<p><code>ReadBody</code> creates another <code>CompletionCallback</code> (a <code>NewOptionalCallback</code>)
+and passes it to <code>ReadResponseBody,</code> which reads the response body, and
+<code>AppendDataBytes,</code> which appends the resulting data to the previously read
+data.</p>
+<pre class="prettyprint">
+void URLLoaderHandler::ReadBody() {
+ pp::CompletionCallback cc =
+ cc_factory_.NewOptionalCallback(&URLLoaderHandler::OnRead);
+ int32_t result = PP_OK;
+ do {
+ result = url_loader_.ReadResponseBody(buffer_, READ_BUFFER_SIZE, cc);
+ if (result > 0) {
+ AppendDataBytes(buffer_, result);
+ }
+ } while (result > 0);
+
+ if (result != PP_OK_COMPLETIONPENDING) {
+ cc.Run(result);
+ }
+}
+
+void URLLoaderHandler::AppendDataBytes(const char* buffer, int32_t num_bytes) {
+ if (num_bytes <= 0)
+ return;
+ num_bytes = std::min(READ_BUFFER_SIZE, num_bytes);
+ url_response_body_.insert(
+ url_response_body_.end(), buffer, buffer + num_bytes);
+}
+</pre>
+<p>Eventually either all the bytes have been read for the entire file (resulting
+in <code>PP_OK</code> or 0), all the bytes have been read for what has been
+downloaded, but more is to be downloaded (<code>PP_OK_COMPLETIONPENDING</code> or -1),
+or there is an error (less than -1). <code>OnRead</code> is called in the event of an
+error or <code>PP_OK</code>.</p>
+</section><section id="displaying-a-result">
+<h3 id="displaying-a-result">Displaying a result</h3>
+<p>OnRead calls <code>ReportResultAndDie</code> when either an error or <code>PP_OK</code> is
+returned to indicate streaming of file is complete. <code>ReportResultAndDie</code> then
+calls <code>ReportResult,</code> which calls <code>PostMessage</code> to send the result back to
+the HTML page.</p>
+</section></section></section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/devguide/coding/view-focus-input-events.html b/native_client_sdk/doc_generated/devguide/coding/view-focus-input-events.html
new file mode 100644
index 0000000..9c23179
--- /dev/null
+++ b/native_client_sdk/doc_generated/devguide/coding/view-focus-input-events.html
@@ -0,0 +1,345 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<section id="view-change-focus-and-input-events">
+<span id="view-focus-input-events"></span><h1 id="view-change-focus-and-input-events"><span id="view-focus-input-events"></span>View Change, Focus, and Input Events</h1>
+<div class="contents local topic" id="contents">
+<ul class="small-gap">
+<li><a class="reference internal" href="#overview" id="id2">Overview</a></li>
+<li><p class="first"><a class="reference internal" href="#handling-browser-events" id="id3">Handling browser events</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#didchangeview" id="id4">DidChangeView()</a></li>
+<li><a class="reference internal" href="#didchangefocus" id="id5">DidChangeFocus()</a></li>
+</ul>
+</li>
+<li><p class="first"><a class="reference internal" href="#handling-input-events" id="id6">Handling input events</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#registering-a-module-to-accept-input-events" id="id7">Registering a module to accept input events</a></li>
+<li><a class="reference internal" href="#determining-and-branching-on-event-types" id="id8">Determining and branching on event types</a></li>
+<li><a class="reference internal" href="#threading-and-blocking" id="id9">Threading and blocking</a></li>
+</ul>
+</li>
+</ul>
+</div>
+<p>This chapter describes view change, focus, and input event handling for a
+Native Client module. The chapter assumes you are familiar with the
+material presented in the <a class="reference internal" href="/native-client/overview.html"><em>Technical Overview</em></a>.</p>
+<p>There are two examples used in this chapter to illustrate basic
+programming techniques. The <code>input_events</code> example is used to
+illustrate how your module can react to keyboard and mouse input
+event. The <code>mouse_lock</code> example is used to illustrate how your module
+can react to view change events. You can find these examples in the
+<code>/examples/api/input_events</code> and <code>/examples/api/mouse_lock</code>
+directories in the Native Client SDK. There is also the
+ppapi_simple library that can be used to to implement most of the
+boiler plate. The <code>pi_generator</code> example in
+<code>/examples/demo/pi_generator</code> uses ppapi_simple to manage view
+change events and 2D graphics.</p>
+<section id="overview">
+<h2 id="overview">Overview</h2>
+<p>When a user interacts with the web page using a keyboard, mouse or
+some other input device, the browser generates input events.
+In a traditional web application, these input events are
+passed to and handled in JavaScript, typically through event listeners
+and event handlers. In a Native Client application, user interaction
+with an instance of a module (e.g., clicking inside the rectangle
+managed by a module) also generates input events, which are passed to
+the module. The browser also passes view change and focus events that
+affect a module’s instance to the module. Native Client modules can
+override certain functions in the <a class="reference external" href="https://developers.google.com/native-client/peppercpp/classpp_1_1_instance">pp::Instance</a>
+class to handle input and browser events. These functions are listed in
+the table below:</p>
+<table border="1" class="docutils">
+<colgroup>
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Function</th>
+<th class="head">Event</th>
+<th class="head">Use</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td><code>DidChangeView</code></td>
+<td>Called when the position,
+size, or clip rectangle
+of the module’s instance in
+the browser has changed.
+This event also occurs
+when browser window is
+resized or mouse wheel
+is scrolled.</td>
+<td>An implementation
+of this function
+might check the size
+of the module
+instance’s rectangle
+has changed and
+reallocate the
+graphics context
+when a different
+size is received.</td>
+</tr>
+<tr class="row-odd"><td><code>DidChangeFocus</code></td>
+<td>Called when the module’s
+instance in the browser
+has gone in or out of
+focus (usually by
+clicking inside or
+outside the module
+instance). Having focus
+means that keyboard
+events will be sent to
+the module instance.
+An instance’s default
+condition is that it
+does not have focus.</td>
+<td>An implementation
+of this function
+might start or stop
+an animation or a
+blinking cursor.</td>
+</tr>
+<tr class="row-even"><td><code>HandleDocumentLoad</code></td>
+<td>Called after
+<code>pp::Instance::Init()</code>
+for a full-frame module
+instance that was
+instantiated based on
+the MIME type of a
+DOMWindow navigation.
+This situation only
+applies to modules that
+are pre-registered to
+handle certain MIME
+types. If you haven’t
+specifically registered
+to handle a MIME type or
+aren’t positive this
+applies to you, your
+implementation of this
+function can just return
+false.</td>
+<td>This API is only
+applicable when you
+are writing an
+extension to enhance
+the abilities of
+the Chrome web
+browser. For
+example, a PDF
+viewer might
+implement this
+function to download
+and display a PDF
+file.</td>
+</tr>
+<tr class="row-odd"><td><code>HandleInputEvent</code></td>
+<td>Called when a user
+interacts with the
+module’s instance in the
+browser using an input
+device such as a mouse
+or keyboard. You must
+register your module to
+accept input events
+using
+<code>RequestInputEvents()</code>
+for mouse events and
+<code>RequestFilteringInputEvents</code>
+for keyboard events
+prior to overriding this
+function.</td>
+<td>An implementation of
+this function
+examines the input
+event type and
+branches accordingly.</td>
+</tr>
+</tbody>
+</table>
+<p>These interfaces are found in the <a class="reference external" href="https://developers.google.com/native-client/dev/peppercpp/classpp_1_1_instance">pp::Instance class</a>.
+The sections below provide examples of how to handle these events.</p>
+</section><section id="handling-browser-events">
+<h2 id="handling-browser-events">Handling browser events</h2>
+<section id="didchangeview">
+<h3 id="didchangeview">DidChangeView()</h3>
+<p>In the <code>mouse_lock</code> example, <code>DidChangeView()</code> checks the previous size
+of instance’s rectangle versus the new size. It also compares
+other state such as whether or not the app is running in full screen mode.
+If none of the state has actually changed, no action is needed.
+However, if the size of the view or other state has changed, it frees the
+old graphics context and allocates a new one.</p>
+<pre class="prettyprint">
+void MouseLockInstance::DidChangeView(const pp::View& view) {
+ // DidChangeView can get called for many reasons, so we only want to
+ // rebuild the device context if we really need to.
+ if ((size_ == view.GetRect().size()) &&
+ (was_fullscreen_ == view.IsFullscreen()) && is_context_bound_) {
+ return;
+ }
+
+ // ...
+
+ // Reallocate the graphics context.
+ size_ = view.GetRect().size();
+ device_context_ = pp::Graphics2D(this, size_, false);
+ waiting_for_flush_completion_ = false;
+
+ is_context_bound_ = BindGraphics(device_context_);
+ // ...
+
+ // Remember if we are fullscreen or not
+ was_fullscreen_ = view.IsFullscreen();
+ // ...
+}
+</pre>
+<p>For more information about graphics contexts and how to manipulate images, see:</p>
+<ul class="small-gap">
+<li><a class="reference external" href="https://developers.google.com/native-client/dev/peppercpp/classpp_1_1_image_data">pp::ImageData class</a></li>
+<li><a class="reference external" href="https://developers.google.com/native-client/dev/peppercpp/classpp_1_1_graphics2_d">pp::Graphics2D class</a></li>
+</ul>
+</section><section id="didchangefocus">
+<h3 id="didchangefocus">DidChangeFocus()</h3>
+<p><code>DidChangeFocus()</code> is called when you click inside or outside of a
+module’s instance in the web page. When the instance goes out
+of focus (click outside of the instance), you might do something
+like stop an animation. When the instance regains focus, you can
+restart the animation.</p>
+<pre class="prettyprint">
+void DidChangeFocus(bool focus) {
+ // Do something like stopping animation or a blinking cursor in
+ // the instance.
+}
+</pre>
+</section></section><section id="handling-input-events">
+<h2 id="handling-input-events">Handling input events</h2>
+<p>Input events are events that occur when the user interacts with a
+module instance using the mouse, keyboard, or other input device
+(e.g., touch screen). This section describes how the <code>input_events</code>
+example handles input events.</p>
+<section id="registering-a-module-to-accept-input-events">
+<h3 id="registering-a-module-to-accept-input-events">Registering a module to accept input events</h3>
+<p>Before your module can handle these events, you must register your
+module to accept input events using <code>RequestInputEvents()</code> for mouse
+events and <code>RequestFilteringInputEvents()</code> for keyboard events. For the
+<code>input_events</code> example, this is done in the constructor of the
+<code>InputEventInstance</code> class:</p>
+<pre class="prettyprint">
+class InputEventInstance : public pp::Instance {
+ public:
+ explicit InputEventInstance(PP_Instance instance)
+ : pp::Instance(instance), event_thread_(NULL), callback_factory_(this) {
+ RequestInputEvents(PP_INPUTEVENT_CLASS_MOUSE | PP_INPUTEVENT_CLASS_WHEEL |
+ PP_INPUTEVENT_CLASS_TOUCH);
+ RequestFilteringInputEvents(PP_INPUTEVENT_CLASS_KEYBOARD);
+ }
+ // ...
+};
+</pre>
+<p><code>RequestInputEvents()</code> and <code>RequestFilteringInputEvents()</code> accept a
+combination of flags that identify the class of events that the
+instance is requesting to receive. Input event classes are defined in
+the <a class="reference external" href="https://developers.google.com/native-client/dev/pepperc/group___enums.html#gafe68e3c1031daa4a6496845ff47649cd">PP_InputEvent_Class</a>
+enumeration in <a class="reference external" href="https://developers.google.com/native-client/dev/pepperc/ppb__input__event_8h">ppb_input_event.h</a>.</p>
+</section><section id="determining-and-branching-on-event-types">
+<h3 id="determining-and-branching-on-event-types">Determining and branching on event types</h3>
+<p>In a typical implementation, the <code>HandleInputEvent()</code> function
+determines the type of each event using the <code>GetType()</code> function found
+in the <code>InputEvent</code> class. The <code>HandleInputEvent()</code> function then uses a
+switch statement to branch on the type of input event. Input events
+are defined in the <a class="reference external" href="https://developers.google.com/native-client/dev/pepperc/group___enums.html#gaca7296cfec99fcb6646b7144d1d6a0c5">PP_InputEvent_Type</a>
+enumeration in <a class="reference external" href="https://developers.google.com/native-client/dev/pepperc/ppb__input__event_8h">ppb_input_event.h</a>.</p>
+<pre class="prettyprint">
+virtual bool HandleInputEvent(const pp::InputEvent& event) {
+ Event* event_ptr = NULL;
+ switch (event.GetType()) {
+ case PP_INPUTEVENT_TYPE_UNDEFINED:
+ break;
+ case PP_INPUTEVENT_TYPE_MOUSEDOWN:
+ case PP_INPUTEVENT_TYPE_MOUSEUP:
+ case PP_INPUTEVENT_TYPE_MOUSEMOVE:
+ case PP_INPUTEVENT_TYPE_MOUSEENTER:
+ case PP_INPUTEVENT_TYPE_MOUSELEAVE:
+ case PP_INPUTEVENT_TYPE_CONTEXTMENU: {
+ pp::MouseInputEvent mouse_event(event);
+ PP_InputEvent_MouseButton pp_button = mouse_event.GetButton();
+ MouseEvent::MouseButton mouse_button = MouseEvent::kNone;
+ switch (pp_button) {
+ case PP_INPUTEVENT_MOUSEBUTTON_NONE:
+ mouse_button = MouseEvent::kNone;
+ break;
+ case PP_INPUTEVENT_MOUSEBUTTON_LEFT:
+ mouse_button = MouseEvent::kLeft;
+ break;
+ case PP_INPUTEVENT_MOUSEBUTTON_MIDDLE:
+ mouse_button = MouseEvent::kMiddle;
+ break;
+ case PP_INPUTEVENT_MOUSEBUTTON_RIGHT:
+ mouse_button = MouseEvent::kRight;
+ break;
+ }
+ event_ptr =
+ new MouseEvent(ConvertEventModifier(mouse_event.GetModifiers()),
+ mouse_button,
+ mouse_event.GetPosition().x(),
+ mouse_event.GetPosition().y(),
+ mouse_event.GetClickCount(),
+ mouse_event.GetTimeStamp(),
+ event.GetType() == PP_INPUTEVENT_TYPE_CONTEXTMENU);
+ } break;
+ case PP_INPUTEVENT_TYPE_WHEEL: {
+ pp::WheelInputEvent wheel_event(event);
+ event_ptr =
+ new WheelEvent(ConvertEventModifier(wheel_event.GetModifiers()),
+ wheel_event.GetDelta().x(),
+ wheel_event.GetDelta().y(),
+ wheel_event.GetTicks().x(),
+ wheel_event.GetTicks().y(),
+ wheel_event.GetScrollByPage(),
+ wheel_event.GetTimeStamp());
+ } break;
+ case PP_INPUTEVENT_TYPE_RAWKEYDOWN:
+ case PP_INPUTEVENT_TYPE_KEYDOWN:
+ case PP_INPUTEVENT_TYPE_KEYUP:
+ case PP_INPUTEVENT_TYPE_CHAR: {
+ pp::KeyboardInputEvent key_event(event);
+ event_ptr = new KeyEvent(ConvertEventModifier(key_event.GetModifiers()),
+ key_event.GetKeyCode(),
+ key_event.GetTimeStamp(),
+ key_event.GetCharacterText().DebugString());
+ } break;
+ default: {
+ // For any unhandled events, send a message to the browser
+ // so that the user is aware of these and can investigate.
+ std::stringstream oss;
+ oss << "Default (unhandled) event, type=" << event.GetType();
+ PostMessage(oss.str());
+ } break;
+ }
+ event_queue_.Push(event_ptr);
+ return true;
+}
+</pre>
+<p>Notice that the generic <code>InputEvent</code> received by <code>HandleInputEvent()</code> is
+converted into a specific type after the event type is
+determined. The event types handled in the example code are
+<code>MouseInputEvent</code>, <code>WheelInputEvent</code>, and <code>KeyboardInputEvent</code>.
+There are also <code>TouchInputEvents</code>. For the latest list of event types,
+see the <a class="reference external" href="https://developers.google.com/native-client/dev/peppercpp/classpp_1_1_input_event">InputEvent documentation</a>.
+For reference information related to the these event classes, see the
+following documentation:</p>
+<ul class="small-gap">
+<li><a class="reference external" href="https://developers.google.com/native-client/dev/peppercpp/classpp_1_1_mouse_input_event">pp::MouseInputEvent class</a></li>
+<li><a class="reference external" href="https://developers.google.com/native-client/dev/peppercpp/classpp_1_1_wheel_input_event">pp::WheelInputEvent class</a></li>
+<li><a class="reference external" href="https://developers.google.com/native-client/dev/peppercpp/classpp_1_1_keyboard_input_event">pp::KeyboardInputEvent class</a></li>
+</ul>
+</section><section id="threading-and-blocking">
+<h3 id="threading-and-blocking">Threading and blocking</h3>
+<p><code>HandleInputEvent()</code> in this example runs on the main module thread.
+However, the bulk of the work happens on a separate worker thread (see
+<code>ProcessEventOnWorkerThread</code>). <code>HandleInputEvent()</code> puts events in
+the <code>event_queue_</code> and the worker thread takes events from the
+<code>event_queue_</code>. This processing happens independently of the main
+thread, so as not to slow down the browser.</p>
+</section></section></section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/devguide/devcycle/building.html b/native_client_sdk/doc_generated/devguide/devcycle/building.html
new file mode 100644
index 0000000..48d70b9a
--- /dev/null
+++ b/native_client_sdk/doc_generated/devguide/devcycle/building.html
@@ -0,0 +1,570 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<section id="building">
+<span id="devcycle-building"></span><h1 id="building"><span id="devcycle-building"></span>Building</h1>
+<div class="contents local topic" id="table-of-contents">
+<p class="topic-title first">Table Of Contents</p>
+<ul class="small-gap">
+<li><p class="first"><a class="reference internal" href="#introduction" id="id4">Introduction</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#target-architectures" id="id5">Target architectures</a></li>
+<li><a class="reference internal" href="#c-libraries" id="id6">C libraries</a></li>
+<li><a class="reference internal" href="#c-standard-libraries" id="id7">C++ standard libraries</a></li>
+<li><a class="reference internal" href="#sdk-toolchains" id="id8">SDK toolchains</a></li>
+<li><a class="reference internal" href="#sdk-toolchains-versus-your-hosted-toolchain" id="id9">SDK toolchains versus your hosted toolchain</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#the-pnacl-toolchain" id="id10">The PNaCl toolchain</a></li>
+<li><p class="first"><a class="reference internal" href="#using-the-pnacl-tools-to-compile-link-debug-and-deploy" id="id11">Using the PNaCl tools to compile, link, debug, and deploy</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#compile" id="id12">Compile</a></li>
+<li><a class="reference internal" href="#create-a-static-library" id="id13">Create a static library</a></li>
+<li><a class="reference internal" href="#link-the-application" id="id14">Link the application</a></li>
+<li><a class="reference internal" href="#finalizing-the-pexe-for-deployment" id="id15">Finalizing the <strong>pexe</strong> for deployment</a></li>
+</ul>
+</li>
+<li><p class="first"><a class="reference internal" href="#the-gnu-based-toolchains" id="id16">The GNU-based toolchains</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#compiling" id="id17">Compiling</a></li>
+<li><a class="reference internal" href="#creating-libraries-and-linking" id="id18">Creating libraries and Linking</a></li>
+<li><a class="reference internal" href="#finalizing-a-nexe-for-deployment" id="id19">Finalizing a <strong>nexe</strong> for deployment</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#using-make" id="id20">Using make</a></li>
+<li><a class="reference internal" href="#libraries-and-header-files-provided-with-the-sdk" id="id21">Libraries and header files provided with the SDK</a></li>
+<li><p class="first"><a class="reference internal" href="#troubleshooting" id="id22">Troubleshooting</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#undefined-reference-error" id="id23">“Undefined reference” error</a></li>
+<li><a class="reference internal" href="#can-t-find-libraries-containing-necessary-symbols" id="id24">Can’t find libraries containing necessary symbols</a></li>
+<li><a class="reference internal" href="#pnacl-abi-verification-errors" id="id25">PNaCl ABI Verification errors</a></li>
+</ul>
+</li>
+</ul>
+</div>
+<section id="introduction">
+<h2 id="introduction">Introduction</h2>
+<p>This document describes how to build Native Client modules. It is intended for
+developers who have experience writing, compiling, and linking C and C++ code.
+If you haven’t read the Native Client <a class="reference internal" href="/native-client/overview.html"><em>Technical Overview</em></a> and <a class="reference internal" href="/native-client/devguide/tutorial/index.html"><em>Tutorial</em></a>, we recommend starting
+with those.</p>
+<section id="target-architectures">
+<span id="id1"></span><h3 id="target-architectures"><span id="id1"></span>Target architectures</h3>
+<p>Portable Native Client (PNaCl) modules are written in C or C++ and compiled
+into an executable file ending in a <strong>.pexe</strong> extension using the PNaCl
+toolchain in the Native Client SDK. Chrome can load <strong>pexe</strong> files
+embedded in web pages and execute them as part of a web application.</p>
+<p>As explained in the Technical Overview, PNaCl modules are
+operating-system-independent <strong>and</strong> processor-independent. The same
+<strong>pexe</strong> will run on Windows, Mac, Linux, and ChromeOS and it will run on
+any processor, e.g., x86-32, x86-64, and ARM.</p>
+<p>Native Client also supports architecture-specific <strong>nexe</strong> files.
+These <strong>nexe</strong> files are <strong>also</strong> operating-system-independent,
+but they are <strong>not</strong> processor-independent. To support a wide variety of
+devices you must compile separate versions of your Native Client module
+for different processors on end-user machines. A
+<a class="reference internal" href="/native-client/overview.html#application-files"><em>manifest file</em></a> will then specify which version
+of the module to load based on the end-user’s architecture. The SDK
+includes a script—<code>create_nmf.py</code> (in the <code>tools/</code> directory)—to
+generate manifest files. For examples of how to compile modules
+for multiple target architectures and how to generate manifest files, see the
+Makefiles included with the SDK examples.</p>
+<p>This section will mostly cover PNaCl, but also describes how to build
+nexe applications.</p>
+</section><section id="c-libraries">
+<h3 id="c-libraries">C libraries</h3>
+<p>The PNaCl SDK has a single choice of C library: <a class="reference external" href="http://sourceware.org/newlib/">newlib</a>.</p>
+<p>The Native Client SDK also has a GCC-based toolchain for building
+<strong>nexes</strong>. The GCC-based toolchain has support for two C libraries:
+<a class="reference external" href="http://sourceware.org/newlib/">newlib</a> and <a class="reference external" href="http://www.gnu.org/software/libc/">glibc</a>. See <a class="reference internal" href="/native-client/devguide/devcycle/dynamic-loading.html"><em>Dynamic Linking & Loading with glibc</em></a> for information about these libraries, including factors to
+help you decide which to use.</p>
+</section><section id="c-standard-libraries">
+<span id="building-cpp-libraries"></span><h3 id="c-standard-libraries"><span id="building-cpp-libraries"></span>C++ standard libraries</h3>
+<p>The PNaCl SDK can use either LLVM’s <a class="reference external" href="http://libcxx.llvm.org/">libc++</a>
+(the current default) or GCC’s <a class="reference external" href="http://gcc.gnu.org/libstdc++">libstdc++</a> (deprecated). The
+<code>-stdlib=[libc++|libstdc++]</code> command line argument can be used to
+choose which standard library to use.</p>
+<p>The GCC-based Native Client SDK only has support for GCC’s <a class="reference external" href="http://gcc.gnu.org/libstdc++">libstdc++</a>.</p>
+<p>C++11 library support is only complete in libc++ but other non-library
+language features should work regardless of which standard library is
+used. The <code>-std=[c++98|c++11]</code> command line argument can be used to
+indicate which C++ language standard to use (or <code>-std=gnu++11</code> to
+access non-standard extensions).</p>
+</section><section id="sdk-toolchains">
+<h3 id="sdk-toolchains">SDK toolchains</h3>
+<p>The Native Client SDK includes multiple toolchains. It has one PNaCl toolchain
+and it has multiple GCC-based toolchains that are differentiated by target
+architectures and C libraries. The single PNaCl toolchain is located
+in a directory named <code>toolchain/<OS_platform>_pnacl</code>, and the GCC-based
+toolchains are located in directories named
+<code>toolchain/<OS_platform>_<architecture>_<library></code>, where:</p>
+<ul class="small-gap">
+<li><em><platform></em> is the platform of your development machine (win, mac, or linux)</li>
+<li><em><architecture></em> is your target architecture (x86 or arm)</li>
+<li><em><library></em> is the C library you are compiling with (newlib or glibc)</li>
+</ul>
+<p>The compilers, linkers, and other tools are located in the <code>bin/</code>
+subdirectory in each toolchain. For example, the tools in the Windows SDK
+for PNaCl has a C++ compiler in <code>toolchain/win_pnacl/bin/pnacl-clang++</code>.
+As another example, the GCC-based C++ compiler that targets the x86 and uses the
+newlib library, is located at <code>toolchain/win_x86_newlib/bin/x86_64-nacl-g++</code>.</p>
+<aside class="note">
+The SDK toolchains descend from the <code>toolchain/</code> directory. The SDK also
+has a <code>tools/</code> directory; this directory contains utilities that are not
+properly part of the toolchains but that you may find helpful in building and
+testing your application (e.g., the <code>create_nmf.py</code> script, which you can
+use to create a manifest file).
+</aside>
+</section><section id="sdk-toolchains-versus-your-hosted-toolchain">
+<h3 id="sdk-toolchains-versus-your-hosted-toolchain">SDK toolchains versus your hosted toolchain</h3>
+<p>To build NaCl modules, you must use one of the Native Client toolchains
+included in the SDK. The SDK toolchains use a variety of techniques to
+ensure that your NaCl modules comply with the security constraints of
+the Native Client sandbox.</p>
+<p>During development, you have another choice: You can build modules using a
+<em>standard</em> toolchain, such as the hosted toolchain on your development
+machine. This can be Visual Studio’s standard compiler, XCode, LLVM, or
+GNU-based compilers on your development machine. These standard toolchains
+will not produce executables that comply with the Native Client sandbox
+security constraints. They are also not portable across operating systems
+and not portable across different processors. However, using a standard
+toolchain allows you to develop modules in your favorite IDE and use
+your favorite debugging and profiling tools. The drawback is that modules
+compiled in this manner can only run as Pepper (PPAPI) plugins in Chrome.
+To publish and distribute Native Client modules as part of a web
+application, you must eventually use a toolchain in the Native
+Client SDK.</p>
+<aside class="note">
+In the future, additional tools will be available to compile Native Client
+modules written in other programming languages, such as C#. But this
+document covers only compiling C and C++ code, using the toolchains
+provided in the SDK.
+</aside>
+</section></section><section id="the-pnacl-toolchain">
+<h2 id="the-pnacl-toolchain">The PNaCl toolchain</h2>
+<p>The PNaCl toolchain contains modified versions of the tools in the
+LLVM toolchain, as well as linkers and other tools from binutils.
+To determine which version of LLVM or binutils the tools are based upon,
+run the tool with the <code>--version</code> command line flag. These tools
+are used to compile and link applications into .pexe files. The toolchain
+also contains a tool to translate a .pexe file into a
+architecture-specific .nexe (e.g., for debugging purposes).</p>
+<p>Each tool’s name is preceded by the prefix “pnacl-”. Some of the useful
+tools include:</p>
+<dl class="docutils">
+<dt>pnacl-abicheck</dt>
+<dd>Check that the <strong>pexe</strong> follows the PNaCl ABI rules.</dd>
+<dt>pnacl-ar</dt>
+<dd>Creates archives (i.e., static libraries)</dd>
+<dt>pnacl-clang</dt>
+<dd>C compiler and compiler driver</dd>
+<dt>pnacl-clang++</dt>
+<dd>C++ compiler and compiler driver</dd>
+<dt>pnacl-dis</dt>
+<dd>Disassembler for both <strong>pexe</strong> files and <strong>nexe</strong> files</dd>
+<dt>pnacl-finalize</dt>
+<dd>Finalizes <strong>pexe</strong> files for deployment</dd>
+<dt>pnacl-ld</dt>
+<dd>Bitcode linker</dd>
+<dt>pnacl-nm</dt>
+<dd>Lists symbols in bitcode files, native code, and libraries</dd>
+<dt>pnacl-ranlib</dt>
+<dd>Generates a symbol table for archives (i.e., static libraries)</dd>
+<dt>pnacl-translate</dt>
+<dd>Translates a <strong>pexe</strong> to a native architecture, outside of the browser</dd>
+</dl>
+<p>For the full list of tools, see the
+<code><NACL_SDK_ROOT>/toolchain/<platform>_pnacl/bin</code> directory.</p>
+</section><section id="using-the-pnacl-tools-to-compile-link-debug-and-deploy">
+<h2 id="using-the-pnacl-tools-to-compile-link-debug-and-deploy">Using the PNaCl tools to compile, link, debug, and deploy</h2>
+<p>To build an application with the PNaCl SDK toolchain, you must compile
+your code, link it, test and debug it, and then deploy it. This section goes
+over some examples of how to use the tools.</p>
+<section id="compile">
+<h3 id="compile">Compile</h3>
+<p>To compile a simple application consisting of <code>file1.cc</code> and <code>file2.cc</code> into
+<code>hello_world.pexe</code> with a single command, use the <code>pnacl-clang++</code> tool</p>
+<pre>
+<NACL_SDK_ROOT>/toolchain/win_pnacl/bin/pnacl-clang++ file1.cc file2.cc ^
+ -I<NACL_SDK_ROOT>/include -L<NACL_SDK_ROOT>/lib/pnacl/Release ^
+ -o hello_world.pexe -g -O2 -lppapi_cpp -lppapi
+</pre>
+<p>(The carat <code>^</code> allows the command to span multiple lines on Windows;
+to do the same on Mac and Linux use a backslash instead. Or you can
+simply type the command and all its arguments on one
+line. <code><NACL_SDK_ROOT></code> represents the path to the top-level
+directory of the bundle you are using, e.g.,
+<code><location-where-you-installed-the-SDK>/pepper_31</code>.)</p>
+<p>However, the typical application consists of many files. In that case,
+each file can be compiled separately so that only files that are
+affected by a change need to be recompiled. To compile an individual
+file from your application, you must use either the <code>pnacl-clang</code> C
+compiler, or the <code>pnacl-clang++</code> C++ compiler. The compiler produces
+separate bitcode files. For example:</p>
+<pre>
+<NACL_SDK_ROOT>/toolchain/win_pnacl/bin/pnacl-clang++ hello_world.cc ^
+ -I<NACL_SDK_ROOT>/include -c -o hello_world.o -g -O0
+</pre>
+<p>For a description of each command line flag, run <code>pnacl-clang --help</code>.
+For convenience, here is a description of some of the flags used in
+the example.</p>
+<dl class="docutils" id="compile-flags">
+<dt><code>-c</code></dt>
+<dd>indicates that <code>pnacl-clang++</code> should only compile an individual file,
+rather than continue the build process and link together the
+full application.</dd>
+<dt><code>-o <output_file></code></dt>
+<dd>indicates the <strong>output</strong> filename.</dd>
+<dt><code>-g</code></dt>
+<dd>tells the compiler to include debug information in the result.
+This debug information can be used during development, and then <strong>stripped</strong>
+before actually deploying the application to keep the application’s
+download size small.</dd>
+<dt><code>-On</code></dt>
+<dd><p class="first">sets the optimization level to n. Use 0 when debugging, and -O2 or -O3
+for profiling and deployment.</p>
+<p class="last">The main difference between -O2 and -O3 is whether the compiler performs
+optimizations that involve a space-speed tradeoff. It could be the case that
+<code>-O3</code> optimizations are not desirable due to increased <strong>pexe</strong>
+download size; you should make your own performance measurements to determine
+which level of optimization is right for you. When looking at code size,
+note that what you generally care about is not the size of the pexe
+produced by pnacl-clang, but the size of the compressed pexe that you upload
+your application to the server or to the Chrome Web Store.
+Optimizations that increase the size of a pexe may not increase the size of
+the compressed pexe that much.</p>
+</dd>
+<dt><code>-I<directory></code></dt>
+<dd>adds a directory to the search path for <strong>include</strong> files. The SDK has
+Pepper (PPAPI) headers located at <code><NACL_SDK_ROOT>/include</code>, so add
+that directory when compiling to be able to include the headers.</dd>
+</dl>
+</section><section id="create-a-static-library">
+<h3 id="create-a-static-library">Create a static library</h3>
+<p>The <code>pnacl-ar</code> and <code>pnacl-ranlib</code> tools allow you to create a
+<strong>static</strong> library from a set of bitcode files, which can later be linked
+into the full application.</p>
+<pre>
+<NACL_SDK_ROOT>/toolchain/win_pnacl/bin/pnacl-ar cr libfoo.a ^
+ foo1.o foo2.o foo3.o
+
+<NACL_SDK_ROOT>/toolchain/win_pnacl/bin/pnacl-ranlib libfoo.a
+</pre>
+</section><section id="link-the-application">
+<h3 id="link-the-application">Link the application</h3>
+<p>The <code>pnacl-clang++</code> tool is used to compile applications, but it can
+also be used link together compiled bitcode and libraries into a
+full application.</p>
+<pre>
+<NACL_SDK_ROOT>/toolchain/win_pnacl/bin/pnacl-clang++ -o hello_world.pexe ^
+ hello_world.o -L<NACL_SDK_ROOT>/lib/pnacl/Debug -lfoo -lppapi_cpp -lppapi
+</pre>
+<p>This links the hello world bitcode with the <code>foo</code> library in the example
+as well as the <em>Debug</em> version of the Pepper libraries which are located
+in <code><NACL_SDK_ROOT>/lib/pnacl/Debug</code>. If you wish to link against the
+<em>Release</em> version of the Pepper libraries, change the
+<code>-L<NACL_SDK_ROOT>/lib/pnacl/Debug</code> to
+<code>-L<NACL_SDK_ROOT>/lib/pnacl/Release</code>.</p>
+</section><section id="finalizing-the-pexe-for-deployment">
+<h3 id="finalizing-the-pexe-for-deployment">Finalizing the <strong>pexe</strong> for deployment</h3>
+<p>Typically you would run the application to test it and debug it if needed
+before deploying. See the <a class="reference internal" href="/native-client/devguide/devcycle/running.html"><em>running</em></a> documentation for how
+to run a PNaCl application, and see the <a class="reference internal" href="/native-client/devguide/devcycle/debugging.html"><em>debugging</em></a>
+documentation for debugging techniques and workflow. After testing a PNaCl
+application, you must <strong>“finalize”</strong> it. The <code>pnacl-finalize</code>
+tool handles this.</p>
+<pre>
+<NACL_SDK_ROOT>/toolchain/win_pnacl/bin/pnacl-finalize ^
+ hello_world.pexe -o hello_world.final.pexe
+</pre>
+<p>Prior to finalization, the application <strong>pexe</strong> is stored in a binary
+format that is subject to change. After finalization, the application
+pexe is <strong>rewritten</strong> into a different binary format that is <strong>stable</strong>
+and will be supported by future versions of PNaCl. The finalization step
+also helps minimize the size of your application for distribution by
+stripping out debug information and other metadata.</p>
+<p>Once the application is finalized, be sure to adjust the manifest file to
+refer to the final version of the application before deployment.
+The <code>create_nmf.py</code> tool helps generate an <code>.nmf</code> file, but <code>.nmf</code>
+files can also be written by hand.</p>
+</section></section><section id="the-gnu-based-toolchains">
+<h2 id="the-gnu-based-toolchains">The GNU-based toolchains</h2>
+<p>Besides the PNaCl toolchain, the Native Client SDK also includes modified
+versions of the tools in the standard GNU toolchain, including the GCC
+compilers and the linkers and other tools from binutils. These tools only
+support building <strong>nexe</strong> files. Run the tool with the <code>--version</code>
+command line flag to determine the current version of the tools.</p>
+<p>Each tool in the toolchain is prefixed with the name of the target
+architecture. In the toolchain for the ARM target architecture, each
+tool’s name is preceded by the prefix “arm-nacl-”. In the toolchains for
+the x86 target architecture, there are actually two versions of each
+tool—one to build Native Client modules for the x86-32
+target architecture, and one to build modules for the x86-64 target
+architecture. “i686-nacl-” is the prefix for tools used to build
+32-bit .nexes, and “x86_64-nacl-” is the prefix for tools used to
+build 64-bit .nexes</p>
+<p>These prefixes conform to gcc naming standards and make it easy to use tools
+like autoconf. As an example, you can use <code>i686-nacl-gcc</code> to compile 32-bit
+.nexes, and <code>x86_64-nacl-gcc</code> to compile 64-bit .nexes. Note that you can
+typically override a tool’s default target architecture with command line
+flags, e.g., you can specify <code>x86_64-nacl-gcc -m32</code> to compile a 32-bit
+.nexe.</p>
+<p>The GNU-based SDK toolchains include the following tools:</p>
+<ul class="small-gap">
+<li><prefix>addr2line</li>
+<li><prefix>ar</li>
+<li><prefix>as</li>
+<li><prefix>c++</li>
+<li><prefix>c++filt</li>
+<li><prefix>cpp</li>
+<li><prefix>g++</li>
+<li><prefix>gcc</li>
+<li><prefix>gcc-4.4.3</li>
+<li><prefix>gccbug</li>
+<li><prefix>gcov</li>
+<li><prefix>gprof</li>
+<li><prefix>ld</li>
+<li><prefix>nm</li>
+<li><prefix>objcopy</li>
+<li><prefix>objdump</li>
+<li><prefix>ranlib</li>
+<li><prefix>readelf</li>
+<li><prefix>size</li>
+<li><prefix>strings</li>
+<li><prefix>strip</li>
+</ul>
+<section id="compiling">
+<h3 id="compiling">Compiling</h3>
+<p>Compiling files with the GNU-based toolchain is similar to compiling
+files with the PNaCl-based toolchain, except that the output is
+architecture specific.</p>
+<p>For example, assuming you’re developing on a Windows machine, targeting the x86
+architecture, and using the newlib library, you can compile a 32-bit .nexe for
+the hello_world example with the following command:</p>
+<pre>
+<NACL_SDK_ROOT>/toolchain/win_x86_newlib/bin/i686-nacl-gcc hello_world.c ^
+ -I<NACL_SDK_ROOT>/include -L<NACL_SDK_ROOT>/lib/newlib/Release ^
+ -o hello_world_x86_32.nexe -m32 -g -O2 -lppapi
+</pre>
+<p>To compile a 64-bit .nexe, you can run the same command but use -m64 instead of
+-m32. Alternatively, you could also use the version of the compiler that
+targets the x86-64 architecture, i.e., <code>x86_64-nacl-gcc</code>.</p>
+<p>You should name executable modules with a <strong>.nexe</strong> filename extension,
+regardless of what platform you’re using.</p>
+</section><section id="creating-libraries-and-linking">
+<h3 id="creating-libraries-and-linking">Creating libraries and Linking</h3>
+<p>Creating libraries and linking with the GNU-based toolchain is similar
+to doing the same with the PNaCl toolchain. The relevant tools
+for creating <strong>static</strong> libraries are <code><prefix>ar</code> and <code><prefix>ranlib</code>.
+Linking can be done with <code><prefix>g++</code>. See the
+<a class="reference internal" href="/native-client/devguide/devcycle/dynamic-loading.html"><em>Dynamic Linking & Loading with glibc</em></a>
+section on how to create <strong>shared</strong> libraries.</p>
+</section><section id="finalizing-a-nexe-for-deployment">
+<h3 id="finalizing-a-nexe-for-deployment">Finalizing a <strong>nexe</strong> for deployment</h3>
+<p>Unlike the PNaCl toolchain, no separate finalization step is required
+for <strong>nexe</strong> files. The nexe files are always in a <strong>stable</strong> format.
+However, the nexe file may contain debug information and symbol information
+which may make the nexe file larger than needed for distribution.
+To minimize the size of the distributed file, you can run the
+<code><prefix>strip</code> tool to strip out debug information.</p>
+</section></section><section id="using-make">
+<h2 id="using-make">Using make</h2>
+<p>This document doesn’t cover how to use <code>make</code>, but if you want to use
+<code>make</code> to build your Native Client module, you can base your Makefile on the
+ones in the SDK examples.</p>
+<p>The Makefiles for the SDK examples build most of the examples in multiple
+configurations (using PNaCl vs NaCl, using different C libraries,
+targeting different architectures, and using different levels of optimization).
+To select a specific toolchain, set the <strong>environment variable</strong>
+<code>TOOLCHAIN</code> to either <code>pnacl</code>, <code>newlib</code>, <code>glibc</code>, or <code>host</code>.
+To select a specific level of optimization set the <strong>environment
+variable</strong> <code>CONFIG</code> to either <code>Debug</code>, or <code>Release</code>. Running
+<code>make</code> in each example’s directory does <strong>one</strong> of the following,
+depending on the setting of the environment variables.</p>
+<ul class="small-gap">
+<li><p class="first">If <code>TOOLCHAIN=pnacl</code> creates a subdirectory called <code>pnacl</code>;</p>
+<ul class="small-gap">
+<li>builds a .pexe (architecture-independent Native Client executable) using
+the newlib library</li>
+<li>generates a Native Client manifest (.nmf) file for the pnacl version of the
+example</li>
+</ul>
+</li>
+<li><p class="first">If <code>TOOLCHAIN=newlib</code> creates a subdirectory called <code>newlib</code>;</p>
+<ul class="small-gap">
+<li>builds .nexes for the x86-32, x86-64, and ARM architectures using the
+newlib library</li>
+<li>generates a Native Client manifest (.nmf) file for the newlib version of
+the example</li>
+</ul>
+</li>
+<li><p class="first">If <code>TOOLCHAIN=glibc</code> creates a subdirectory called <code>glibc</code>;</p>
+<ul class="small-gap">
+<li>builds .nexes for the x86-32 and x86-64 architectures using the glibc
+library</li>
+<li>generates a Native Client manifest (.nmf) file for the glibc version of the
+example</li>
+</ul>
+</li>
+<li><p class="first">If <code>TOOLCHAIN=host</code> creates a subdirectory called <code>windows</code>, <code>linux</code>,
+or <code>mac</code> (depending on your development machine);</p>
+<ul class="small-gap">
+<li>builds a Pepper plugin (.dll for Windows, .so for Linux/Mac) using the
+hosted toolchain on your development machine</li>
+<li>generates a Native Client manifest (.nmf) file for the host Pepper plugin
+version of the example</li>
+</ul>
+</li>
+</ul>
+<aside class="note">
+The glibc library is not yet available for the ARM and PNaCl toolchains.
+</aside>
+<p>Here is how to build the examples with PNaCl in Release mode on Windows.
+The resulting files for <code>examples/api/audio</code> will be in
+<code>examples/api/audio/pnacl/Release</code>, and the directory layout is similar for
+other examples.</p>
+<pre>
+set TOOLCHAIN=pnacl
+set CONFIG=Release
+make
+</pre>
+<p>Your Makefile can be simpler since you will not likely want to build so many
+different configurations of your module. The example Makefiles define
+numerous variables near the top (e.g., <code>CFLAGS</code>) that make it easy
+to customize the commands that are executed for your project and the options
+for each command.</p>
+<p>For details on how to use make, see the <a class="reference external" href="http://www.gnu.org/software/make/manual/make.html">GNU ‘make’ Manual</a>.</p>
+</section><section id="libraries-and-header-files-provided-with-the-sdk">
+<h2 id="libraries-and-header-files-provided-with-the-sdk">Libraries and header files provided with the SDK</h2>
+<p>The Native Client SDK includes modified versions of standard toolchain-support
+libraries, such as libpthread and libc, plus the relevant header files.
+The standard libraries are located in the following directories:</p>
+<ul class="small-gap">
+<li>PNaCl toolchain: <code>toolchain/<platform>_pnacl/usr/lib</code></li>
+<li>x86 toolchains: <code>toolchain/<platform>_x86_<library>/x86_64-nacl/lib32</code> and
+<code>/lib64</code> (for the 32-bit and 64-bit target architectures, respectively)</li>
+<li>ARM toolchain: <code>toolchain/<platform>_arm_<library>/arm-nacl/lib</code></li>
+</ul>
+<p>For example, on Windows, the libraries for the x86-64 architecture in the
+newlib toolchain are in <code>toolchain/win_x86_newlib/x86_64-nacl/lib64</code>.</p>
+<p>The header files are in:</p>
+<ul class="small-gap">
+<li>PNaCl toolchain: <code>toolchain/<platform>_pnacl/usr/include</code></li>
+<li>x86 toolchains: <code>toolchain/<platform>_x86_<library>/x86_64-nacl/include</code></li>
+<li>ARM toolchain: <code>toolchain/<platform>_arm_<library>/arm-nacl/include</code></li>
+</ul>
+<p>Many other libraries have been ported for use with Native Client; for more
+information, see the <a class="reference external" href="http://code.google.com/p/naclports/">naclports</a>
+project. If you port an open-source library for your own use, we recommend
+adding it to naclports.</p>
+<p>Besides the standard libraries, the SDK includes Pepper libraries.
+The PNaCl Pepper libraries are located in the the
+<code><NACL_SDK_ROOT>/lib/pnacl/<Release or Debug></code> directory.
+The GNU-based toolchain has Pepper libraries in
+<code><NACL_SDK_ROOT>/lib/newlib_<arch>/<Release or Debug></code>
+and <code><NACL_SDK_ROOT>/lib/glibc_<arch>/<Release or Debug></code>.
+The libraries provided by the SDK allow the application to use Pepper,
+as well as convenience libraries to simplify porting an application that
+uses POSIX functions. Here are descriptions of the Pepper libraries provided
+in the SDK.</p>
+<dl class="docutils" id="devcycle-building-nacl-io">
+<dt>libppapi.a</dt>
+<dd>Implements the Pepper (PPAPI) C interface. Needed for all applications that
+use Pepper (even C++ applications).</dd>
+<dt>libppapi_cpp.a</dt>
+<dd>Implements the Pepper (PPAPI) C++ interface. Needed by C++ applications that
+use Pepper.</dd>
+<dt>libppapi_gles2.a</dt>
+<dd>Implements the Pepper (PPAPI) GLES interface. Needed by applications
+that use the 3D graphics API.</dd>
+<dt>libnacl_io.a</dt>
+<dd>Provides a POSIX layer for NaCl. In particular, the library provides a
+virtual file system and support for sockets. The virtual file system
+allows a module to “mount” a given directory tree. Once a module has
+mounted a file system, it can use standard C library file operations:
+<code>fopen</code>, <code>fread</code>, <code>fwrite</code>, <code>fseek</code>, and <code>fclose</code>.
+For more detail, see the header <code>include/nacl_io/nacl_io.h</code>.
+For an example of how to use nacl_io, see <code>examples/demo/nacl_io</code>.</dd>
+<dt>libppapi_simple.a</dt>
+<dd>Provides a familiar C programming environment by letting a module have a
+simple entry point that is registered by <code>PPAPI_SIMPLE_REGISTER_MAIN</code>.
+The entry point is similar to the standard C <code>main()</code> function, complete
+with <code>argc</code> and <code>argv[]</code> parameters. For details see
+<code>include/ppapi_simple/ps.h</code>. For an example of
+how to use ppapi_simple, <code>see examples/tutorial/using_ppapi_simple</code>.</dd>
+</dl>
+<aside class="note">
+<ul class="small-gap">
+<li>Since the Native Client toolchains use their own library and header search
+paths, the tools won’t find third-party libraries you use in your
+non-Native-Client development. If you want to use a specific third-party
+library for Native Client development, look for it in <a class="reference external" href="http://code.google.com/p/naclports/">naclports</a>, or port the library yourself.</li>
+<li>The order in which you list libraries in your build commands is important,
+since the linker searches and processes libraries in the order in which they
+are specified. See the *_LDFLAGS variables in the Makefiles of the SDK
+examples for the order in which specific libraries should be listed.</li>
+</ul>
+
+</aside>
+</section><section id="troubleshooting">
+<h2 id="troubleshooting">Troubleshooting</h2>
+<p>Some common problems, and how to fix them:</p>
+<section id="undefined-reference-error">
+<h3 id="undefined-reference-error">“Undefined reference” error</h3>
+<p>An “undefined reference” error may indicate incorrect link order and/or
+missing libraries. For example, if you leave out <code>-lppapi</code> when
+compiling Pepper applications you’ll see a series of undefined
+reference errors.</p>
+<p>One common type of “undefined reference” error is with respect to certain
+system calls, e.g., “undefined reference to ‘mkdir’”. For security reasons,
+Native Client does not support a number of system calls. Depending on how
+your code uses such system calls, you have a few options:</p>
+<ol class="arabic simple">
+<li>Link with the <code>-lnosys</code> flag to provide empty/always-fail versions of
+unsupported system calls. This will at least get you past the link stage.</li>
+<li>Find and remove use of the unsupported system calls.</li>
+<li>Create your own implementation of the unsupported system calls to do
+something useful for your application.</li>
+</ol>
+<p>If your code uses mkdir or other file system calls, you might find the
+<a class="reference internal" href="#devcycle-building-nacl-io"><em>nacl_io</em></a> library useful.
+The nacl_io library essentially does option (3) for you: It lets your
+code use POSIX-like file system calls, and implements the calls using
+various technologies (e.g., HTML5 file system, read-only filesystems that
+use URL loaders, or an in-memory filesystem).</p>
+</section><section id="can-t-find-libraries-containing-necessary-symbols">
+<h3 id="can-t-find-libraries-containing-necessary-symbols">Can’t find libraries containing necessary symbols</h3>
+<p>Here is one way to find the appropriate library for a given symbol:</p>
+<pre>
+<NACL_SDK_ROOT>/toolchain/<platform>_pnacl/bin/pnacl-nm -o \
+ toolchain/<platform>_pnacl/usr/lib/*.a | grep <MySymbolName>
+</pre>
+</section><section id="pnacl-abi-verification-errors">
+<h3 id="pnacl-abi-verification-errors">PNaCl ABI Verification errors</h3>
+<p>PNaCl has restrictions on what is supported in bitcode. There is a bitcode
+ABI verifier which checks that the application conforms to the ABI restrictions,
+before it is translated and run in the browser. However, it is best to
+avoid runtime errors for users, so the verifier also runs on the developer’s
+machine at link time.</p>
+<p>For example, the following program which uses 128-bit integers
+would compile with NaCl GCC for the x86-64 target. However, it is not
+portable and would not compile with NaCl GCC for the i686 target.
+With PNaCl, it would fail to pass the ABI verifier:</p>
+<pre class="prettyprint">
+typedef unsigned int uint128_t __attribute__((mode(TI)));
+
+uint128_t foo(uint128_t x) {
+ return x;
+}
+</pre>
+<p>With PNaCl you would get the following error at link time:</p>
+<pre class="prettyprint">
+Function foo has disallowed type: i128 (i128)
+LLVM ERROR: PNaCl ABI verification failed
+</pre>
+<p>When faced with a PNaCl ABI verification error, check the list of features
+that are <a class="reference internal" href="/native-client/nacl-and-pnacl.html#when-to-use-nacl"><em>not supported by PNaCl</em></a>.
+If the problem you face is not listed as restricted,
+<a class="reference internal" href="/native-client/help.html#help"><em>let us know</em></a>!</p>
+</section></section></section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/devguide/devcycle/debugging.html b/native_client_sdk/doc_generated/devguide/devcycle/debugging.html
new file mode 100644
index 0000000..2f4c0f2
--- /dev/null
+++ b/native_client_sdk/doc_generated/devguide/devcycle/debugging.html
@@ -0,0 +1,468 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<section id="debugging">
+<span id="devcycle-debugging"></span><h1 id="debugging"><span id="devcycle-debugging"></span>Debugging</h1>
+<p>This document describes tools and techniques you can use to debug, monitor,
+and measure your application’s performance.</p>
+<div class="contents local topic" id="table-of-contents">
+<p class="topic-title first">Table Of Contents</p>
+<ul class="small-gap">
+<li><p class="first"><a class="reference internal" href="#diagnostic-information" id="id1">Diagnostic information</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#viewing-process-statistics-with-the-task-manager" id="id2">Viewing process statistics with the task manager</a></li>
+<li><a class="reference internal" href="#controlling-the-level-of-native-client-error-and-warning-messages" id="id3">Controlling the level of Native Client error and warning messages</a></li>
+</ul>
+</li>
+<li><p class="first"><a class="reference internal" href="#basic-debugging" id="id4">Basic debugging</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#writing-messages-to-the-javascript-console" id="id5">Writing messages to the JavaScript console</a></li>
+<li><p class="first"><a class="reference internal" href="#debugging-with-printf" id="id6">Debugging with printf</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#redirecting-output-to-log-files" id="id7">Redirecting output to log files</a></li>
+<li><a class="reference internal" href="#redirecting-output-to-the-javascript-console" id="id8">Redirecting output to the JavaScript console</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#logging-calls-to-pepper-interfaces" id="id9">Logging calls to Pepper interfaces</a></li>
+<li><a class="reference internal" href="#debugging-with-visual-studio" id="id10">Debugging with Visual Studio</a></li>
+<li><p class="first"><a class="reference internal" href="#debugging-with-nacl-gdb" id="id11">Debugging with nacl-gdb</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#debugging-pnacl-pexes" id="id12">Debugging PNaCl pexes</a></li>
+<li><a class="reference internal" href="#running-nacl-gdb" id="id13">Running nacl-gdb</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li><p class="first"><a class="reference internal" href="#debugging-with-other-tools" id="id14">Debugging with other tools</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#open-source-profiling-tools" id="id15">Open source profiling tools</a></li>
+</ul>
+</li>
+</ul>
+</div>
+<section id="diagnostic-information">
+<h2 id="diagnostic-information">Diagnostic information</h2>
+<section id="viewing-process-statistics-with-the-task-manager">
+<h3 id="viewing-process-statistics-with-the-task-manager">Viewing process statistics with the task manager</h3>
+<p>You can use Chrome’s Task Manager to display information about a Native Client
+application:</p>
+<ol class="arabic simple">
+<li>Open the Task Manager by clicking the menu icon <img alt="menu-icon" src="/native-client/images/menu-icon.png" /> and choosing
+<strong>Tools > Task manager</strong>.</li>
+<li>When the Task Manager window appears, verify that the columns displaying
+memory information are visible. If they are not, right click in the header
+row and select the memory items from the popup menu that appears.</li>
+</ol>
+<p>A browser window running a Native Client application will have at least two
+processes associated with it: a process for the app’s top level (the render
+process managing the page including its HTML and any JavaScript) and one or
+more processes for each instance of a Native Client module embedded in the page
+(each process running native code from one nexe file). The top-level process
+appears with the application’s icon and begins with the text “App:”. A Native
+Client process appears with a Chrome extension icon (a jigsaw puzzle piece
+<img alt="puzzle" src="/native-client/images/puzzle.png" />) and begins with the text “Native Client module” followed by the URL
+of its manifest file.</p>
+<p>From the Task Manager you can view the changing memory allocations of all the
+processes associated with a Native Client application. Each process has its own
+memory footprint. You can also see the rendering rate displayed as frames per
+second (FPS). Note that the computation of render frames can be performed in
+any process, but the rendering itself is always done in the top level
+application process, so look for the rendering rate there.</p>
+</section><section id="controlling-the-level-of-native-client-error-and-warning-messages">
+<h3 id="controlling-the-level-of-native-client-error-and-warning-messages">Controlling the level of Native Client error and warning messages</h3>
+<p>Native Client prints warning and error messages to stdout and stderr. You can
+increase the amount of Native Client’s diagnostic output by setting the
+following <a class="reference external" href="http://en.wikipedia.org/wiki/Environment_variable">environment variables</a>:</p>
+<ul class="small-gap">
+<li>NACL_DEBUG_ENABLE=1</li>
+<li>PPAPI_BROWSER_DEBUG=1</li>
+<li>NACL_PLUGIN_DEBUG=1</li>
+<li>NACL_PPAPI_PROXY_DEBUG=1</li>
+<li>NACL_SRPC_DEBUG=[1-255] (use a higher number for more verbose debug output)</li>
+<li>NACLVERBOSITY=[1-255]</li>
+</ul>
+</section></section><section id="basic-debugging">
+<h2 id="basic-debugging">Basic debugging</h2>
+<section id="writing-messages-to-the-javascript-console">
+<h3 id="writing-messages-to-the-javascript-console">Writing messages to the JavaScript console</h3>
+<p>You can send messages from your C/C++ code to JavaScript using the PostMessage
+call in the <a class="reference internal" href="/native-client/devguide/coding/message-system.html"><em>Pepper messaging system</em></a>. When the
+JavaScript code receives a message, its message event handler can call
+<a class="reference external" href="https://developer.mozilla.org/en/DOM/console.log">console.log()</a> to write
+the message to the JavaScript <a class="reference external" href="https://developers.google.com/chrome-developer-tools/docs/console">console</a> in
+Chrome’s Developer Tools.</p>
+</section><section id="debugging-with-printf">
+<h3 id="debugging-with-printf">Debugging with printf</h3>
+<p>Your C/C++ code can perform inline printf debugging to stdout and stderr by
+calling fprintf() directly, or by using cover functions like these:</p>
+<pre class="prettyprint">
+#include <stdio.h>
+void logmsg(const char* pMsg){
+ fprintf(stdout,"logmsg: %s\n",pMsg);
+}
+void errormsg(const char* pMsg){
+ fprintf(stderr,"logerr: %s\n",pMsg);
+}
+</pre>
+<p>By default stdout and stderr will appear in Chrome’s stdout and stderr stream
+but they can also be redirected as described below.</p>
+<section id="redirecting-output-to-log-files">
+<h4 id="redirecting-output-to-log-files">Redirecting output to log files</h4>
+<p>You can redirect stdout and stderr to output files by setting these environment variables:</p>
+<ul class="small-gap">
+<li><code>NACL_EXE_STDOUT=c:\nacl_stdout.log</code></li>
+<li><code>NACL_EXE_STDERR=c:\nacl_stderr.log</code></li>
+</ul>
+<p>There is another variable, <code>NACLLOG</code>, that you can use to redirect Native
+Client’s internally-generated messages. This variable is set to stderr by
+default; you can redirect these messages to an output file by setting the
+variable as follows:</p>
+<ul class="small-gap">
+<li><code>NACLLOG=c:\nacl.log</code></li>
+</ul>
+<aside class="note">
+<strong>Note:</strong> If you set the NACL_EXE_STDOUT, NACL_EXE_STDERR, or NACLLOG
+variables to redirect output to a file, you must run Chrome with the
+<code>--no-sandbox</code> flag. You must also be careful that each variable points to
+a different file.
+</aside>
+</section><section id="redirecting-output-to-the-javascript-console">
+<h4 id="redirecting-output-to-the-javascript-console">Redirecting output to the JavaScript console</h4>
+<p>You can also cause output from printf statements in your C/C++ code to be
+relayed to the JavaScript side of your application through the Pepper messaging
+system, where you can then write the output to the JavaScript console. Follow
+these steps:</p>
+<ol class="arabic">
+<li><p class="first">Set the NACL_EXE_STDOUT and NACL_EXE_STDERR environment variables as
+follows:</p>
+<ul class="small-gap">
+<li><p class="first">NACL_EXE_STDOUT=DEBUG_ONLY:dev://postmessage</p>
+</li>
+<li><p class="first">NACL_EXE_STDERR=DEBUG_ONLY:dev://postmessage</p>
+</li>
+</ul>
+<p>These settings tell Native Client to use PostMessage() to send output that
+your Native Client module writes to stdout and stderr to the JavaScript side
+of your application.</p>
+</li>
+<li><p class="first">Register a JavaScript handler to receive messages from your Native Client
+module:</p>
+<pre class="prettyprint">
+<div id="nacl_container">
+ <script type="text/javascript">
+ var container = document.getElementById('nacl_container');
+ container.addEventListener('message', handleMessage, true);
+ </script>
+ <embed id="nacl_module"
+ src="my_application.nmf"
+ type="application/x-nacl" />
+</div>
+</pre>
+</li>
+<li><p class="first">Implement a simple JavaScript handler that logs the messages it receives to
+the JavaScript console:</p>
+<pre class="prettyprint">
+function handleMessage(message_event) {
+ console.log(message_event.data);
+}
+</pre>
+<p>This handler works in the simple case where the only messages your Native
+Client module sends to JavaScript are messages with the output from stdout
+and stderr. If your Native Client module also sends other messages to
+JavaScript, your handler will need to be more complex.</p>
+<p>Once you’ve implemented a message handler and set up the environment
+variables as described above, you can check the JavaScript console to see
+output that your Native Client module prints to stdout and stderr. Keep in
+mind that your module makes a call to PostMessage() every time it flushes
+stdout or stderr. Your application’s performance will degrade considerably
+if your module prints and flushes frequently, or if it makes frequent Pepper
+calls to begin with (e.g., to render).</p>
+</li>
+</ol>
+</section></section><section id="logging-calls-to-pepper-interfaces">
+<h3 id="logging-calls-to-pepper-interfaces">Logging calls to Pepper interfaces</h3>
+<p>You can log all Pepper calls your module makes by passing the following flags
+to Chrome on startup:</p>
+<pre class="prettyprint">
+--vmodule=ppb*=4 --enable-logging=stderr
+</pre>
+<p>The <code>vmodule</code> flag tells Chrome to log all calls to C Pepper interfaces that
+begin with “ppb” (that is, the interfaces that are implemented by the browser
+and that your module calls). The <code>enable-logging</code> flag tells Chrome to log
+the calls to stderr.</p>
+</section><section id="debugging-with-visual-studio">
+<span id="visual-studio"></span><h3 id="debugging-with-visual-studio"><span id="visual-studio"></span>Debugging with Visual Studio</h3>
+<p>If you develop on a Windows platform you can use the <a class="reference internal" href="/native-client/devguide/devcycle/vs-addin.html"><em>Native Client Visual
+Studio add-in</em></a> to write and debug your code. The add-in defines new
+project platforms that let you run your module in two different modes: As a
+Pepper plugin and as a Native Client module. When running as a Pepper plugin
+you can use the built-in Visual Studio debugger. When running as a Native
+Client module Visual Studio will launch an instance of nacl-gdb for you and
+link it to the running code.</p>
+</section><section id="debugging-with-nacl-gdb">
+<span id="using-gdb"></span><h3 id="debugging-with-nacl-gdb"><span id="using-gdb"></span>Debugging with nacl-gdb</h3>
+<p>The Native Client SDK includes a command-line debugger that you can use to
+debug Native Client modules. The debugger is based on the GNU debugger <a class="reference external" href="http://www.gnu.org/software/gdb/">gdb</a>, and is located at
+<code>toolchain/<platform>_x86_newlib/bin/x86_64-nacl-gdb</code> (where <em><platform></em>
+is the platform of your development machine: <code>win</code>, <code>mac</code>, or
+<code>linux</code>).</p>
+<p>Note that this same copy of GDB can be used to debug any NaCl program,
+whether built using newlib or glibc for x86-32, x86-64 or ARM. In the SDK,
+<code>i686-nacl-gdb</code> is an alias for <code>x86_64-nacl-gdb</code>, and the <code>newlib</code>
+and <code>glibc</code> toolchains both contain the same version of GDB.</p>
+<section id="debugging-pnacl-pexes">
+<h4 id="debugging-pnacl-pexes">Debugging PNaCl pexes</h4>
+<p>If you want to use GDB to debug a program that is compiled with the PNaCl
+toolchain, you must convert the <code>pexe</code> file to a <code>nexe</code>. (You can skip
+this step if you are using the GCC toolchain.)</p>
+<ul class="small-gap">
+<li>Firstly, make sure you are passing the <code>-g</code> <a class="reference internal" href="/native-client/devguide/devcycle/building.html#compile-flags"><em>compile option</em></a> to <code>pnacl-clang</code> to enable generating debugging info.
+You might also want to omit <code>-O2</code> from the compile-time and link-time
+options, otherwise GDB not might be able to print variables’ values when
+debugging (this is more of a problem with the PNaCl/LLVM toolchain than
+with GCC).</li>
+<li><p class="first">Secondly, use <code>pnacl-translate</code> to convert your <code>pexe</code> to one or more
+<code>nexe</code> files. For example:</p>
+<pre>
+<NACL_SDK_ROOT>/toolchain/win_pnacl/bin/pnacl-translate ^
+ --allow-llvm-bitcode-input hello_world.pexe -arch x86-32 -o hello_world_x86_32.nexe
+<NACL_SDK_ROOT>/toolchain/win_pnacl/bin/pnacl-translate ^
+ --allow-llvm-bitcode-input hello_world.pexe -arch x86-64 -o hello_world_x86_64.nexe
+</pre>
+<p>For this, use the non-finalized <code>pexe</code> file produced by
+<code>pnacl-clang</code>, not the <code>pexe</code> file produced by <code>pnacl-finalize</code>.
+The latter <code>pexe</code> has debugging info stripped out. The option
+<code>--allow-llvm-bitcode-input</code> tells <code>pnacl-translate</code> to accept a
+non-finalized <code>pexe</code>.</p>
+</li>
+<li><p class="first">Replace the <code>nmf</code> <a class="reference internal" href="/native-client/devguide/coding/application-structure.html#manifest-file"><em>manifest file</em></a> that points to
+your <code>pexe</code> file with one that points to the <code>nexe</code> files. For the
+example <code>nexe</code> filenames above, the new <code>nmf</code> file would contain:</p>
+<pre>
+{
+ "program": {
+ "x86-32": {"url": "hello_world_x86_32.nexe"},
+ "x86-64": {"url": "hello_world_x86_64.nexe"},
+ }
+}
+</pre>
+</li>
+<li>Change the <code><embed></code> HTML element to use
+<code>type="application/x-nacl"</code> rather than
+<code>type="application/x-pnacl"</code>.</li>
+<li>Copy the <code>nexe</code> and <code>nmf</code> files to the location that your local web
+server serves files from.</li>
+</ul>
+<aside class="note">
+<strong>Note:</strong> If you know whether Chrome is using the x86-32 or x86-64
+version of the NaCl sandbox on your system, you can translate the
+<code>pexe</code> once to a single x86-32 or x86-64 <code>nexe</code>. Otherwise, you
+might find it easier to translate the <code>pexe</code> to both <code>nexe</code>
+formats as described above.
+</aside>
+</section><section id="running-nacl-gdb">
+<h4 id="running-nacl-gdb">Running nacl-gdb</h4>
+<p>Before you start using nacl-gdb, make sure you can <a class="reference internal" href="/native-client/devguide/devcycle/building.html"><em>build</em></a> your
+module and <a class="reference internal" href="/native-client/devguide/devcycle/running.html"><em>run</em></a> your application normally. This will verify
+that you have created all the required <a class="reference internal" href="/native-client/devguide/coding/application-structure.html"><em>application parts</em></a> (.html, .nmf, and .nexe files, shared
+libraries, etc.), that your server can access those resources, and that you’ve
+configured Chrome correctly to run your application. The instructions below
+assume that you are using a <a class="reference internal" href="/native-client/devguide/devcycle/running.html#web-server"><em>local server</em></a> to run your
+application; one benefit of doing it this way is that you can check the web
+server output to confirm that your application is loading the correct
+resources. However, some people prefer to run their application as an unpacked
+extension, as described in <a class="reference internal" href="/native-client/devguide/devcycle/running.html"><em>Running Native Client Applications</em></a>.</p>
+<p>Follow the instructions below to debug your module with nacl-gdb:</p>
+<ol class="arabic">
+<li><p class="first">Compile your module with the <code>-g</code> flag so that your .nexe retains symbols
+and other debugging information (see the <a class="reference internal" href="/native-client/devguide/devcycle/building.html#compile-flags"><em>recommended compile flags</em></a>).</p>
+</li>
+<li><p class="first">Launch a local web server (e.g., the <a class="reference internal" href="/native-client/devguide/devcycle/running.html#web-server"><em>web server</em></a> included
+in the SDK).</p>
+</li>
+<li><p class="first">Launch Chrome with these three required flags: <code>--enable-nacl --enable-nacl-debug --no-sandbox</code>.</p>
+<p>You may also want to use some of the optional flags listed below. A typical
+command looks like this:</p>
+<pre class="prettyprint">
+chrome --enable-nacl --enable-nacl-debug --no-sandbox --disable-hang-monitor localhost:5103
+</pre>
+<p><strong>Required flags:</strong></p>
+<dl class="docutils">
+<dt><code>--enable-nacl</code></dt>
+<dd><p class="first last">Enables Native Client for all applications, including those that are
+launched outside the Chrome Web Store.</p>
+</dd>
+<dt><code>--enable-nacl-debug</code></dt>
+<dd><p class="first last">Turns on the Native Client debug stub, opens TCP port 4014, and pauses
+Chrome to let the debugger connect.</p>
+</dd>
+<dt><code>--no-sandbox</code></dt>
+<dd><p class="first last">Turns off the Chrome sandbox (not the Native Client sandbox). This enables
+the stdout and stderr streams, and lets the debugger connect.</p>
+</dd>
+</dl>
+<p><strong>Optional flags:</strong></p>
+<dl class="docutils">
+<dt><code>--disable-hang-monitor</code></dt>
+<dd><p class="first last">Prevents Chrome from displaying a warning when a tab is unresponsive.</p>
+</dd>
+<dt><code>--user-data-dir=<directory></code></dt>
+<dd><p class="first last">Specifies the <a class="reference external" href="http://www.chromium.org/user-experience/user-data-directory">user data directory</a> from which
+Chrome should load its state. You can specify a different user data
+directory so that changes you make to Chrome in your debugging session do
+not affect your personal Chrome data (history, cookies, bookmarks, themes,
+and settings).</p>
+</dd>
+<dt><code><URL></code></dt>
+<dd><p class="first last">Specifies the URL Chrome should open when it launches. The local server
+that comes with the SDK listens on port 5103 by default, so the URL when
+you’re debugging is typically <code>localhost:5103</code> (assuming that your
+application’s page is called index.html and that you run the local server
+in the directory where that page is located).</p>
+</dd>
+</dl>
+</li>
+<li><p class="first">Navigate to your application’s page in Chrome. (You don’t need to do this if
+you specified a URL when you launched Chrome in the previous step.) Chrome
+will start loading the application, then pause and wait until you start
+nacl-gdb and run the <code>continue</code> command.</p>
+</li>
+<li><p class="first">Go to the directory with your source code, and run nacl-gdb from there. For
+example:</p>
+<pre class="prettyprint">
+cd <NACL_SDK_ROOT>/examples/hello_world_gles
+<NACL_SDK_ROOT>/toolchain/win_x86_newlib/bin/x86_64-nacl-gdb
+</pre>
+<p>The debugger will start and show you a gdb prompt:</p>
+<pre class="prettyprint">
+(gdb)
+</pre>
+</li>
+<li><p class="first">Run the following three commands from the gdb command line:</p>
+<pre class="prettyprint">
+(gdb) nacl-manifest <path-to-your-.nmf-file>
+(gdb) nacl-irt <path-to-Chrome-NaCl-integrated-runtime>
+(gdb) target remote localhost:4014
+</pre>
+<p>These commands are described below:</p>
+<dl class="docutils">
+<dt><code>nacl-manifest <path></code></dt>
+<dd><p class="first last">Tells the debugger about your Native Client application by pointing it to
+the application’s manifest (.nmf) file. The manifest file lists your
+application’s executable (.nexe) files, as well as any libraries that are
+linked with the application dynamically.</p>
+</dd>
+<dt><code>nacl-irt <path></code></dt>
+<dd><p class="first last">Tells the debugger where to find the Native Client Integrated Runtime
+(IRT). The IRT is located in the same directory as the Chrome executable,
+or in a subdirectory named after the Chrome version. For example, if
+you’re running Chrome canary on Windows, the path to the IRT typically
+looks something like <code>C:/Users/<username>/AppData/Local/Google/Chrome
+SxS/Application/23.0.1247.1/nacl_irt_x86_64.nexe</code>.</p>
+</dd>
+<dt><code>target remote localhost:4014</code></dt>
+<dd><p class="first last">Tells the debugger how to connect to the debug stub in the Native Client
+application loader. This connection occurs through TCP port 4014 (note
+that this port is distinct from the port which the local web server uses
+to listen for incoming requests, typically port 5103).</p>
+</dd>
+</dl>
+<p>A couple of notes on how to specify path names in the nacl-gdb commands
+above:</p>
+<ul class="small-gap">
+<li><p class="first">You can use a forward slash to separate directories on Linux, Mac, and
+Windows. If you use a backslash to separate directories on Windows, you
+must escape the backslash by using a double backslash “\” between
+directories.</p>
+</li>
+<li><p class="first">If any directories in the path have spaces in their name, you must put
+quotation marks around the path.</p>
+</li>
+</ul>
+<p>As an example, here is a what these nacl-gdb commands might look like on
+Windows:</p>
+<pre class="prettyprint">
+nacl-manifest "C:/<NACL_SDK_ROOT>/examples/hello_world_gles/newlib/Debug/hello_world_gles.nmf"
+nacl-irt "C:/Users/<username>/AppData/Local/Google/Chrome SxS/Application/23.0.1247.1/nacl_irt_x86_64.nexe"
+target remote localhost:4014
+</pre>
+<p>To save yourself some typing, you can put put these nacl-gdb commands in a
+script file, and execute the file when you run nacl-gdb, like so:</p>
+<pre class="prettyprint">
+<NACL_SDK_ROOT>/toolchain/win_x86_newlib/bin/x86_64-nacl-gdb -x <nacl-script-file>
+</pre>
+<p>If nacl-gdb connects successfully to Chrome, it displays a message such as
+the one below, followed by a gdb prompt:</p>
+<pre class="prettyprint">
+0x000000000fc00200 in _start ()
+(gdb)
+</pre>
+<p>If nacl-gdb can’t connect to Chrome, it displays a message such as
+“<code>localhost:4014: A connection attempt failed</code>” or “<code>localhost:4014:
+Connection timed out.</code>” If you see a message like that, make sure that you
+have launched a web server, launched Chrome, and navigated to your
+application’s page before starting nacl-gdb.</p>
+</li>
+</ol>
+<p>Once nacl-gdb connects to Chrome, you can run standard gdb commands to execute
+your module and inspect its state. Some commonly used commands are listed
+below.</p>
+<dl class="docutils">
+<dt><code>break <location></code></dt>
+<dd><p class="first">set a breakpoint at <location>, e.g.:</p>
+<pre class="last prettyprint">
+break hello_world.cc:79
+break hello_world::HelloWorldInstance::HandleMessage
+break Render
+</pre>
+</dd>
+<dt><code>continue</code></dt>
+<dd>resume normal execution of the program</dd>
+<dt><code>next</code></dt>
+<dd>execute the next source line, stepping over functions</dd>
+<dt><code>step</code></dt>
+<dd>execute the next source line, stepping into functions</dd>
+<dt><code>print <expression></code></dt>
+<dd>print the value of <expression> (e.g., variables)</dd>
+<dt><code>backtrace</code></dt>
+<dd>print a stack backtrace</dd>
+<dt><code>info breakpoints</code></dt>
+<dd>print a table of all breakpoints</dd>
+<dt><code>delete <breakpoint></code></dt>
+<dd>delete the specified breakpoint (you can use the breakpoint number displayed
+by the info command)</dd>
+<dt><code>help <command></code></dt>
+<dd>print documentation for the specified gdb <command></dd>
+<dt><code>quit</code></dt>
+<dd>quit gdb</dd>
+</dl>
+<p>See the <a class="reference external" href="http://sourceware.org/gdb/current/onlinedocs/gdb/#toc_Top">gdb documentation</a> for a
+comprehensive list of gdb commands. Note that you can abbreviate most commands
+to just their first letter (<code>b</code> for break, <code>c</code> for continue, and so on).</p>
+<p>To interrupt execution of your module, press <Ctrl-c>. When you’re done
+debugging, close the Chrome window and type <code>q</code> to quit gdb.</p>
+</section></section></section><section id="debugging-with-other-tools">
+<h2 id="debugging-with-other-tools">Debugging with other tools</h2>
+<p>If you cannot use the <a class="reference internal" href="#visual-studio"><em>Visual Studio add-in</em></a>, or you want
+to use a debugger other than nacl-gdb, you must manually build your module as a
+Pepper plugin (sometimes referred to as a “<a class="reference external" href="http://www.chromium.org/nativeclient/getting-started/getting-started-background-and-basics#TOC-Trusted-vs-Untrusted">trusted</a>”
+or “in-process” plugin). Pepper plugins (.DLL files on Windows; .so files on
+Linux; .bundle files on Mac) are loaded directly in either the Chrome renderer
+process or a separate plugin process, rather than in Native Client. Building a
+module as a trusted Pepper plugin allows you to use standard debuggers and
+development tools on your system, but when you’re finished developing the
+plugin, you need to port it to Native Client (i.e., build the module with one
+of the toolchains in the NaCl SDK so that the module runs in Native Client).
+For details on this advanced development technique, see <a class="reference external" href="http://www.chromium.org/nativeclient/how-tos/debugging-documentation/debugging-a-trusted-plugin">Debugging a Trusted
+Plugin</a>.
+Note that starting with the <code>pepper_22</code> bundle, the NaCl SDK for Windows
+includes pre-built libraries and library source code, making it much easier to
+build a module into a .DLL.</p>
+<section id="open-source-profiling-tools">
+<h3 id="open-source-profiling-tools">Open source profiling tools</h3>
+<p>For the brave-hearted there are open source tools at <a class="reference external" href="http://www.chromium.org/nativeclient">Chromium.org</a> that describe how to do profiling on
+<a class="reference external" href="https://sites.google.com/a/chromium.org/dev/nativeclient/how-tos/profiling-nacl-apps-on-64-bit-windows">64-bit Windows</a>
+and <a class="reference external" href="http://www.chromium.org/nativeclient/how-tos/limited-profiling-with-oprofile-on-x86-64">Linux</a>
+machines.</p>
+</section></section></section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/devguide/devcycle/dynamic-loading.html b/native_client_sdk/doc_generated/devguide/devcycle/dynamic-loading.html
new file mode 100644
index 0000000..e3488e41b
--- /dev/null
+++ b/native_client_sdk/doc_generated/devguide/devcycle/dynamic-loading.html
@@ -0,0 +1,423 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<section id="dynamic-linking-and-loading-with-glibc">
+<h1 id="dynamic-linking-and-loading-with-glibc">Dynamic Linking and Loading with glibc</h1>
+<div class="contents local topic" id="contents">
+<ul class="small-gap">
+<li><p class="first"><a class="reference internal" href="#introduction" id="id1">Introduction</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#c-standard-libraries-glibc-and-newlib" id="id2">C standard libraries: glibc and newlib</a></li>
+<li><a class="reference internal" href="#sdk-toolchains" id="id3">SDK toolchains</a></li>
+<li><a class="reference internal" href="#specifying-and-delivering-shared-libraries" id="id4">Specifying and delivering shared libraries</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#building-a-dynamically-linked-application" id="id5">Building a dynamically linked application</a></li>
+<li><a class="reference internal" href="#generating-a-native-client-manifest-file-for-a-dynamically-linked-application" id="id6">Generating a Native Client manifest file for a dynamically linked application</a></li>
+<li><a class="reference internal" href="#deploying-a-dynamically-linked-application" id="id7">Deploying a dynamically linked application</a></li>
+<li><a class="reference internal" href="#opening-a-shared-library-at-runtime" id="id8">Opening a shared library at runtime</a></li>
+<li><a class="reference internal" href="#troubleshooting" id="id9">Troubleshooting</a></li>
+</ul>
+</div>
+<section id="introduction">
+<h2 id="introduction">Introduction</h2>
+<aside class="caution">
+Portable Native Client currently only supports static linking, and the
+only C library available for it is newlib. This page is only valid for
+Native Client, though PNaCl will eventually support some form of
+dynamic linking.
+</aside>
+<p>This document describes how to create and deploy dynamically linked and loaded
+applications with the glibc library in the Native Client SDK. Before reading
+this document, we recommend reading <a class="reference internal" href="/native-client/devguide/devcycle/building.html"><em>Building Native Client Modules</em></a></p>
+<section id="c-standard-libraries-glibc-and-newlib">
+<span id="c-libraries"></span><h3 id="c-standard-libraries-glibc-and-newlib"><span id="c-libraries"></span>C standard libraries: glibc and newlib</h3>
+<p>The Native Client SDK comes with two C standard libraries — glibc and
+newlib. These libraries are described in the table below.</p>
+<table border="1" class="docutils">
+<colgroup>
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Library</th>
+<th class="head">Linking</th>
+<th class="head">License</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>glibc</td>
+<td>dynamic
+or static</td>
+<td>GNU Lesser
+General
+Public
+License
+(LGPL)</td>
+<td>glibc is the GNU implementation of the
+<a class="reference external" href="http://en.wikipedia.org/wiki/POSIX">POSIX</a> standard runtime library for the C
+programming language. Designed for
+portability and performance, glibc is one
+of the most popular implementations of the
+C library. It is comprised of a set of
+interdependent libraries including libc,
+libpthreads, libdl, and others. For
+documentation, FAQs, and additional
+information about glibc, see <a class="reference external" href="http://www.gnu.org/software/libc/index.html">GLIBC</a></td>
+</tr>
+<tr class="row-odd"><td>newlib</td>
+<td>static</td>
+<td>Berkeley
+Software
+Distribution
+(BSD) type
+free
+software
+licenses</td>
+<td>newlib is a C library intended for use in
+embedded systems. Like glibc, newlib is a
+conglomeration of several library parts.
+It is available for use under BSD-type free
+software licenses, which generally makes it
+more suitable to link statically in
+commercial, closed-source applications. For
+documentation, FAQs, and additional
+information about newlib, see the <a class="reference external" href="http://sourceware.org/newlib/">newlib</a>
+documentation.</td>
+</tr>
+</tbody>
+</table>
+<p>For proprietary (closed-source) applications, your options are to either
+statically link to newlib, or dynamically link to glibc. We recommend
+dynamically linking to glibc, for a couple of reasons:</p>
+<ul class="small-gap">
+<li>The glibc library is widely distributed (it’s included in Linux
+distributions), and as such it’s mature, hardened, and feature-rich. Your
+code is more likely to compile out-of-the-box with glibc.</li>
+<li>Dynamic loading can provide a big performance benefit for your application if
+you can structure the application to defer loading of code that’s not needed
+for initial interaction with the user. It takes some work to put such code in
+shared libraries and to load the libraries at runtime, but the payoff is
+usually worth it. In future releases, Chrome may also support caching of
+common dynamically linked libraries such as libc.so between applications.
+This could significantly reduce download size and provide a further potential
+performance benefit (for example, the hello_world example would only require
+downloading a .nexe file that’s on the order of 30KB, rather than a .nexe
+file and several libraries, which are on the order of 1.5MB).</li>
+</ul>
+<p>Native Client support for dynamic linking and loading is based on glibc. Thus,
+<strong>if your Native Client application must dynamically link and load code (e.g.,
+due to licensing considerations), we recommend that you use the glibc
+library.</strong></p>
+<aside class="note">
+<p><strong>Notes:</strong></p>
+<ul class="small-gap">
+<li><strong>None of the above constitutes legal advice, or a description of the legal
+obligations you need to fulfill in order to be compliant with the LGPL or
+newlib licenses. The above description is only a technical explanation of
+the differences between newlib and glibc, and the choice you must make
+between the two libraries.</strong></li>
+<li>Static linking with glibc is rarely used. Use this feature with caution.</li>
+<li>The standard C++ runtime in Native Client is provided by libstdc++; this
+library is independent from and layered on top of glibc. Because of
+licensing restrictions, libstdc++ must be statically linked for commercial
+uses, even if the rest of an application is dynamically linked.</li>
+</ul>
+
+</aside>
+</section><section id="sdk-toolchains">
+<h3 id="sdk-toolchains">SDK toolchains</h3>
+<p>The Native Client SDK contains multiple toolchains, which are differentiated by
+<a class="reference internal" href="/native-client/devguide/devcycle/building.html#target-architectures"><em>target architecture</em></a> and C library:</p>
+<table border="1" class="docutils">
+<colgroup>
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Target architecture</th>
+<th class="head">C library</th>
+<th class="head">Toolchain directory</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>x86</td>
+<td>newlib</td>
+<td>toolchain/<platform>_x86_newlib</td>
+</tr>
+<tr class="row-odd"><td>x86</td>
+<td>glibc</td>
+<td>toolchain/<platform>_x86_glibc</td>
+</tr>
+<tr class="row-even"><td>ARM</td>
+<td>newlib</td>
+<td>toolchain/<platform>_arm_newlib</td>
+</tr>
+<tr class="row-odd"><td>PNaCl</td>
+<td>newlib</td>
+<td>toolchain/<platform>_pnacl</td>
+</tr>
+</tbody>
+</table>
+<p>In the directories listed above, <platform> is the platform of your development
+machine (i.e., win, mac, or linux). For example, in the Windows SDK, the x86
+toolchain that uses glibc is in <code>toolchain/win_x86_glibc</code>.</p>
+<aside class="note">
+<strong>Note:</strong> The ARM and PNaCl toolchains are currently restricted to newlib.
+</aside>
+<p>To use the glibc library and dynamic linking in your application, you <strong>must</strong>
+use a glibc toolchain. (Currently the only glibc toolchain is
+<code><platform>_x86_glibc</code>.) Note that you must build all code in your application
+with one toolchain. Code from multiple toolchains cannot be mixed.</p>
+</section><section id="specifying-and-delivering-shared-libraries">
+<h3 id="specifying-and-delivering-shared-libraries">Specifying and delivering shared libraries</h3>
+<p>One significant difference between newlib and glibc applications is that glibc
+applications must explicitly list and deploy the shared libraries that they
+use.</p>
+<p>In a desktop environment, when the user launches a dynamically linked
+application, the operating system’s program loader determines the set of
+libraries the application requires by reading explicit inter-module
+dependencies from executable file headers, and loads the required libraries
+into the address space of the application process. Typically the required
+libraries will have been installed on the system as a part of the application’s
+installation process. Often the desktop application developer doesn’t know or
+think about the libraries that are required by an application, as those details
+are taken care of by the user’s operating system.</p>
+<p>In the Native Client sandbox, dynamic linking can’t rely in the same way on the
+operating system or the local file system. Instead, the application developer
+must identify the set of libraries that are required by an application, list
+those libraries in a Native Client <a class="reference internal" href="/native-client/devguide/coding/application-structure.html#manifest-file"><em>manifest file</em></a>, and
+deploy the libraries along with the application. Instructions for how to build
+a dynamically linked Native Client application, generate a Native Client
+manifest (.nmf) file, and deploy an application are provided below.</p>
+</section></section><section id="building-a-dynamically-linked-application">
+<h2 id="building-a-dynamically-linked-application">Building a dynamically linked application</h2>
+<p>Applications built with the glibc toolchain will by dynamically linked by
+default. Application that load shared libraries at runtime using <code>dlopen()</code>
+must link with the libdl library (<code>-ldl</code>).</p>
+<p>Like other gcc-based toolchains building a dynamic library for NaCl is normally
+done by linking with the <code>-shared</code> flag and compiling with the <code>-fPIC</code> flag.
+The SDK build system will do this automatically when the <code>SO_RULE</code> Makefile
+rule is used.</p>
+<p>The Native Client SDK includes an example that demonstrates how to build a
+shared library, and how to use the <code>dlopen()</code> interface to load that library
+at runtime (after the application is already running). Many applications load
+and link shared libraries at launch rather than at runtime, and hence do not
+use the <code>dlopen()</code> interface. The SDK example is nevertheless instructive, as
+it demonstrates how to build Native Client modules (.nexe files) and shared
+libraries (.so files) with the x86 glibc toolchain, and how to generate a
+Native Client manifest file for glibc applications.</p>
+<p>The SDK example, located in <code>examples/tutorial/dlopen</code>, includes three C++
+files:</p>
+<dl class="docutils">
+<dt>eightball.cc</dt>
+<dd>This file implements the function <code>Magic8Ball()</code>, which is used to provide
+whimsical answers to user questions. This file is compiled into a shared
+library called <code>libeightball.so</code>. This library gets included in the
+.nmf file and is therefore directly loadable with <code>dlopen()</code>.</dd>
+<dt>reverse.cc</dt>
+<dd>This file implements the function <code>Reverse()</code>, which returns reversed
+copies of strings that are passed to it. This file is compiled into a shared
+library called <code>libreverse.so</code>. This library is <strong>not</strong> included in the
+.nmf file and is loaded via an http mount using the <a class="reference internal" href="/native-client/devguide/coding/nacl_io.html#nacl-io"><em>nacl_io library</em></a>.</dd>
+<dt>dlopen.cc</dt>
+<dd>This file implements the Native Client module, which loads the two shared
+libraries and handles communcation with with JavaScript. The file is compiled
+into a Native Client executable (.nexe).</dd>
+</dl>
+<p>Run <code>make</code> in the dlopen directory to see the commands the Makefile executes
+to build x86 32-bit and 64-bit .nexe and .so files, and to generate a .nmf
+file. These commands are described below.</p>
+<aside class="note">
+<strong>Note:</strong> The Makefiles for most of the examples in the SDK build the
+examples using multiple toolchains (x86 newlib, x86 glibc, ARM, and PNaCl).
+With a few exceptions (listed in the <a class="reference internal" href="/native-client/sdk/release-notes.html#sdk-release-notes"><em>Release Notes</em></a>), running “make” in each example’s directory builds
+multiple versions of the example using the SDK toolchains. The dlopen example
+is one of those exceptions – it is only built with the x86 glibc toolchain,
+as that is currently the only toolchain that supports glibc and thus dynamic
+linking and loading. Take a look at the example Makefiles and the generated
+.nmf files for details on how to build dynamically linked applications.
+</aside>
+</section><section id="generating-a-native-client-manifest-file-for-a-dynamically-linked-application">
+<span id="dynamic-loading-manifest"></span><h2 id="generating-a-native-client-manifest-file-for-a-dynamically-linked-application"><span id="dynamic-loading-manifest"></span>Generating a Native Client manifest file for a dynamically linked application</h2>
+<p>The Native Client manifest file specifies the name of the executable to run
+and must also specify any shared libraries that the application directly
+depends on. For indirect dependencies (such as libraries opened via
+<code>dlopen()</code>) it is also convenient to list libraries in the manifest file.
+However it is possile to load arbitrary shared libraries at runtime that
+are not mentioned in the manifest by using the <a class="reference external" href="nacl_io">nacl_io library</a>
+to mount a filesystem that contains the shared libraries which will then
+allow <code>dlopen()</code> to access them.</p>
+<p>In this example we demonstrate both loading directly from via the manifest
+file (<code>libeightball.so</code>) and loading indirectly via a http mount
+(<code>libreverse.so</code>).</p>
+<p>Take a look at the manifest file in the dlopen example to see how
+a glibc-style manifest file is structured. (Run <code>make</code> in the dlopen directory to
+generate the manifest file if you haven’t done so already.) Here is an excerpt
+from <code>dlopen.nmf</code>:</p>
+<pre class="prettyprint">
+{
+ "files": {
+ "libeightball.so": {
+ "x86-64": {
+ "url": "lib64/libeightball.so"
+ },
+ "x86-32": {
+ "url": "lib32/libeightball.so"
+ }
+ },
+ "libstdc++.so.6": {
+ "x86-64": {
+ "url": "lib64/libstdc++.so.6"
+ },
+ "x86-32": {
+ "url": "lib32/libstdc++.so.6"
+ }
+ },
+ "libppapi_cpp.so": {
+ "x86-64": {
+ "url": "lib64/libppapi_cpp.so"
+ },
+ "x86-32": {
+ "url": "lib32/libppapi_cpp.so"
+ }
+ },
+... etc.
+</pre>
+<p>In most cases, you can use the <code>create_nmf.py</code> script in the SDK to generate
+a manifest file for your application. The script is located in the tools
+directory (e.g. <code>pepper_28/tools</code>).</p>
+<p>The Makefile in the dlopen example generates the manifest automatically using
+the <code>NMF_RULE</code> provided by the SDK build system. Running <code>make V=1</code> will
+show the full command line which is used to generate the nmf:</p>
+<pre class="prettyprint">
+create_nmf.py -o dlopen.nmf glibc/Release/dlopen_x86_32.nexe \
+ glibc/Release/dlopen_x86_64.nexe glibc/Release/libeightball_x86_32.so \
+ glibc/Release/libeightball_x86_64.so -s ./glibc/Release \
+ -n libeightball_x86_32.so,libeightball.so \
+ -n libeightball_x86_64.so,libeightball.so
+</pre>
+<p>Run python <code>create_nmf.py --help</code> to see a full description of the command-line
+flags. A few of the important flags are described below.</p>
+<dl class="docutils">
+<dt><code>-s</code> <em>directory</em></dt>
+<dd>use <em>directory</em> to stage libraries (libraries are added to <code>lib32</code> and
+<code>lib64</code> subfolders)</dd>
+<dt><code>-L</code> <em>directory</em></dt>
+<dd>add <em>directory</em> to the library search path. The default search path
+already includes the toolchain and SDK libraries directories.</dd>
+</dl>
+<aside class="note">
+<strong>Note:</strong> The <code>create_nmf</code> script can only automatically detect explicit
+shared library dependencies (for example, dependencies specified with the -l
+flag for the compiler/linker). If you want to include libraries that you
+intend to dlopen() at runtime you must explcitly list them in your call to
+<code>create_nmf</code>.
+</aside>
+<p>As an alternative to using <code>create_nmf</code>, it is possible to manually calculate
+the list of shared library dependencies using tools such as <code>objdump_</code>.</p>
+</section><section id="deploying-a-dynamically-linked-application">
+<h2 id="deploying-a-dynamically-linked-application">Deploying a dynamically linked application</h2>
+<p>As described above, an application’s manifest file must explicitly list all the
+executable code modules that the application directly depends on, including
+modules from the application itself (.nexe and .so files), modules from the
+Native Client SDK (e.g., libppapi_cpp.so), and perhaps also modules from
+<a class="reference external" href="naclports_">naclport</a> or from <a class="reference internal" href="/native-client/community/middleware.html"><em>middleware systems</em></a> that
+the application uses. You must provide all of those modules as part of the
+application deployment process.</p>
+<p>As explained in <a class="reference internal" href="/native-client/devguide/distributing.html"><em>Distributing Your Application</em></a>, there are two basic ways to deploy an application:</p>
+<ul class="small-gap">
+<li><strong>hosted application:</strong> all modules are hosted together on a web server of
+your choice</li>
+<li><strong>packaged application:</strong> all modules are packaged into one file, hosted in
+the Chrome Web Store, and downloaded to the user’s machine</li>
+</ul>
+<p>You must deploy all the modules listed in your application’s manifest file for
+either the hosted application or the packaged application case. For hosted
+applications, you must upload the modules to your web server. For packaged
+applications, you must include the modules in the application’s Chrome Web
+Store .crx file. Modules should use URLs/names that are consistent with those
+in the Native Client manifest file, and be named relative to the location of
+the manifest file. Remember that some of the libraries named in the manifest
+file may be located in directories you specified with the -L option to
+<code>create_nmf.py</code>. You are free to rename/rearrange files and directories
+referenced by the Native Client manifest file, so long as the modules are
+available in the locations indicated by the manifest file. If you move or
+rename modules, it may be easier to re-run <code>create_nmf.py</code> to generate a new
+manifest file rather than edit the original manifest file. For hosted
+applications, you can check for name mismatches during testing by watching the
+request log of the web server hosting your test deployment.</p>
+</section><section id="opening-a-shared-library-at-runtime">
+<h2 id="opening-a-shared-library-at-runtime">Opening a shared library at runtime</h2>
+<p>Native Client supports a version of the POSIX standard <code>dlopen()</code> interface
+for opening libraries explicitly, after an application is already running.
+Calling <code>dlopen()</code> may cause a library download to occur, and automatically
+loads all libraries that are required by the named library.</p>
+<aside class="note">
+<strong>Caution:</strong> Since <code>dlopen()</code> can potentially block, you must initially
+call <code>dlopen()</code> off your application’s main thread. Initial calls to
+<code>dlopen()</code> from the main thread will always fail in the current
+implementation of Native Client.
+</aside>
+<p>The best practice for opening libraries with <code>dlopen()</code> is to use a worker
+thread to pre-load libraries asynchronously during initialization of your
+application, so that the libraries are available when they’re needed. You can
+call <code>dlopen()</code> a second time when you need to use a library – per the
+specification, subsequent calls to <code>dlopen()</code> return a handle to the
+previously loaded library. Note that you should only call <code>dlclose()</code> to
+close a library when you no longer need the library; otherwise, subsequent
+calls to <code>dlopen()</code> could cause the library to be fetched again.</p>
+<p>The dlopen example in the SDK demonstrates how to open a shared libraries
+at runtime. To reiterate, the example includes three C++ files:</p>
+<ul class="small-gap">
+<li><code>eightball.cc</code>: this is the shared library that implements the function
+<code>Magic8Ball()</code> (this file is compiled into libeightball.so)</li>
+<li><code>reverse.cc</code>: this is the shared library that implements the function
+<code>Reverse()</code> (this file is compiled into libreverse.so)</li>
+<li><code>dlopen.cc</code>: this is the Native Client module that loads the shared libraries
+and makes calls to <code>Magic8Ball()</code> and <code>Reverse()</code> in response to requests
+from JavaScript.</li>
+</ul>
+<p>When the Native Client module starts, it kicks off a worker thread that calls
+<code>dlopen()</code> to load the two shared libraries. Once the module has a handle to
+the library, it fetches the addresses of the <code>Magic8Ball()</code> and <code>Reverse()</code>
+functions using <code>dlsym()</code>. When a user types in a query and clicks the ‘ASK!’
+button, the module calls <code>Magic8Ball()</code> to generate an answer, and returns
+the result to the user. Likewise when the user clicks the ‘Reverse’ button
+it calls the <code>Reverse()</code> function to reverse the string.</p>
+</section><section id="troubleshooting">
+<h2 id="troubleshooting">Troubleshooting</h2>
+<p>If your .nexe isn’t loading, the best place to look for information that can
+help you troubleshoot the JavaScript console and standard output from Chrome.
+See <a class="reference internal" href="/native-client/devguide/devcycle/debugging.html#devcycle-debugging"><em>Debugging</em></a> for more information.</p>
+<p>Here are a few common error messages and explanations of what they mean:</p>
+<dl class="docutils">
+<dt><strong>/main.nexe: error while loading shared libraries: /main.nexe: failed to allocate code and data space for executable</strong></dt>
+<dd>The .nexe may not have been compiled correctly (e.g., the .nexe may be
+statically linked). Try cleaning and recompiling with the glibc toolchain.</dd>
+<dt><strong>/main.nexe: error while loading shared libraries: libpthread.so.xxxx: cannot open shared object file: Permission denied</strong></dt>
+<dd>(xxxx is a version number, for example, 5055067a.) This error can result from
+having the wrong path in the .nmf file. Double-check that the path in the
+.nmf file is correct.</dd>
+<dt><strong>/main.nexe: error while loading shared libraries: /main.nexe: cannot open shared object file: No such file or directory</strong></dt>
+<dd>If there are no obvious problems with your main.nexe entry in the .nmf file,
+check where main.nexe is being requested from. Use Chrome’s Developer Tools:
+Click the menu icon <img alt="menu-icon" src="/native-client/images/menu-icon.png" />, select Tools > Developer Tools, click the
+Network tab, and look at the path in the Name column.</dd>
+<dt><strong>NaCl module load failed: ELF executable text/rodata segment has wrong starting address</strong></dt>
+<dd>This error happens when using a newlib-style .nmf file instead of a
+glibc-style .nmf file. Make sure you build your application with the glic
+toolchain, and use the create_nmf.py script to generate your .nmf file.</dd>
+<dt><strong>NativeClient: NaCl module load failed: Nexe crashed during startup</strong></dt>
+<dd>This error message indicates that a module crashed while being loaded. You
+can determine which module crashed by looking at the Network tab in Chrome’s
+Developer Tools (see above). The module that crashed will be the last one
+that was loaded.</dd>
+<dt><strong>/lib/main.nexe: error while loading shared libraries: /lib/main.nexe: only ET_DYN and ET_EXEC can be loaded</strong></dt>
+<dd>This error message indicates that there is an error with the .so files listed
+in the .nmf file – either the files are the wrong type or kind, or an
+expected library is missing.</dd>
+<dt><strong>undefined reference to ‘dlopen’ collect2: ld returned 1 exit status</strong></dt>
+<dd>This is a linker ordering problem that usually results from improper ordering
+of command line flags when linking. Reconfigure your command line string to
+list libraries after the -o flag.</dd>
+</dl>
+</section></section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/devguide/devcycle/index.html b/native_client_sdk/doc_generated/devguide/devcycle/index.html
new file mode 100644
index 0000000..348decc
--- /dev/null
+++ b/native_client_sdk/doc_generated/devguide/devcycle/index.html
@@ -0,0 +1,9 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<section id="development-cycle">
+<span id="devcycle"></span><h1 id="development-cycle"><span id="devcycle"></span>Development Cycle</h1>
+<p>This section of the Developer’s Guide provides information about how to
+compile, run, and debug Native Client applications.</p>
+</section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/devguide/devcycle/running.html b/native_client_sdk/doc_generated/devguide/devcycle/running.html
new file mode 100644
index 0000000..2327329
--- /dev/null
+++ b/native_client_sdk/doc_generated/devguide/devcycle/running.html
@@ -0,0 +1,441 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<section id="running">
+<span id="devcycle-running"></span><h1 id="running"><span id="devcycle-running"></span>Running</h1>
+<div class="contents local topic" id="contents">
+<ul class="small-gap">
+<li><a class="reference internal" href="#introduction" id="id5">Introduction</a></li>
+<li><a class="reference internal" href="#portable-native-client-pnacl-applications" id="id6">Portable Native Client (PNaCl) applications</a></li>
+<li><a class="reference internal" href="#native-client-applications-and-the-chrome-web-store" id="id7">Native Client applications and the Chrome Web Store</a></li>
+<li><p class="first"><a class="reference internal" href="#prerequisites" id="id8">Prerequisites</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#browser-and-pepper-versions" id="id9">Browser and Pepper versions</a></li>
+<li><a class="reference internal" href="#chrome-cache" id="id10">Chrome Cache</a></li>
+</ul>
+</li>
+<li><p class="first"><a class="reference internal" href="#requirements" id="id11">Requirements</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#native-client-flag" id="id12">Native Client flag</a></li>
+<li><a class="reference internal" href="#web-server" id="id13">Web server</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#technique-1-local-server" id="id14">Technique 1: Local server</a></li>
+<li><a class="reference internal" href="#technique-2-packaged-application-loaded-as-an-unpacked-extension" id="id15">Technique 2: Packaged application loaded as an unpacked extension</a></li>
+<li><a class="reference internal" href="#technique-3-hosted-application-loaded-as-an-unpacked-extension" id="id16">Technique 3: Hosted application loaded as an unpacked extension</a></li>
+<li><a class="reference internal" href="#technique-4-chrome-web-store-application-with-trusted-testers" id="id17">Technique 4: Chrome Web Store application with trusted testers</a></li>
+</ul>
+</div>
+<section id="introduction">
+<h2 id="introduction">Introduction</h2>
+<p>This document describes how to run Native Client applications during
+development.</p>
+<p>The workflow for PNaCl applications is straightfoward and will only be discussed
+briefly. For NaCl applications distributed through the web-store, there is a
+number of options and these will be discussed more in-depth.</p>
+</section><section id="portable-native-client-pnacl-applications">
+<h2 id="portable-native-client-pnacl-applications">Portable Native Client (PNaCl) applications</h2>
+<p>Running PNaCl applications from the open web is enabled in Chrome version 31 and
+above; therefore, no special provisions are required to run and test such
+applications locally. An application that uses a PNaCl module can be tested
+similarly to any other web application that only consists of HTML, CSS and
+JavaScript.</p>
+<p>To better simulate a production environment, it’s recommended to start a local
+web server to serve the application’s files. The NaCl SDK comes with a simple
+local server built in, and the process of using it to run PNaCl applications is
+described in <a class="reference internal" href="/native-client/devguide/tutorial/tutorial-part1.html#tutorial-step-2"><em>the tutorial</em></a>.</p>
+</section><section id="native-client-applications-and-the-chrome-web-store">
+<h2 id="native-client-applications-and-the-chrome-web-store">Native Client applications and the Chrome Web Store</h2>
+<p>Before reading about how to run Native Client applications, it’s important to
+understand a little bit about how Native Client applications are distributed.
+As explained in <a class="reference internal" href="/native-client/devguide/distributing.html"><em>Distributing Your Application</em></a>, Native
+Client applications must currently be distributed through the <strong>Chrome Web
+Store (CWS)</strong>. Applications in the CWS are one of three types:</p>
+<ul class="small-gap">
+<li>A <strong>hosted application</strong> is an application that you host on a server of your
+choice. To distribute an application as a hosted application, you upload
+application metadata to the CWS.</li>
+<li>A <strong>packaged application</strong> is an application that is hosted in the CWS and
+downloaded to the user’s machine. To distribute an application as a packaged
+application, you upload the entire application, including all application
+assets and metadata, to the CWS.</li>
+<li>An <strong>extension</strong> is a packaged application that has a tiny UI component
+(extensions are typically used to extend the functionality of the Chrome
+browser). To distribute an application as an extension, you upload the entire
+application, including all application assets and metadata, to the CWS.</li>
+</ul>
+<p>It’s clearly not convenient to package and upload files to the Chrome Web Store
+every time you want to run a new build of your application, but there are four
+alternative techniques you can use to run the application during development.
+These techniques are listed in the following table and described in detail
+below. Each technique has certain requirements (NaCl flag, web server, and/or
+CWS metadata); these are explained in the <a class="reference internal" href="#requirements"><em>Requirements</em></a>
+section below.</p>
+<table border="1" class="docutils">
+<colgroup>
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">#</th>
+<th class="head">Technique</th>
+<th class="head">Requires NaCl flag</th>
+<th class="head">Requires Web Server</th>
+<th class="head">Requires CWS Metadata</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>1</td>
+<td>Local server</td>
+<td><img alt="CHK" src="/native-client/images/check-red.png" /></td>
+<td><img alt="CHK" src="/native-client/images/check-red.png" /></td>
+<td> </td>
+<td>Run a local server and simply point your browser to your application on
+the server.</td>
+</tr>
+<tr class="row-odd"><td>2</td>
+<td>Packaged application loaded as an unpacked extension</td>
+<td> </td>
+<td> </td>
+<td><img alt="CHK" src="/native-client/images/check-red.png" /></td>
+<td>Load your packaged application into Chrome as an unpacked extension and
+run it without a server. An unpacked extension is simply an application
+whose source and metadata files are located in a plain (unzipped) folder
+on your development machine. The CWS manifest file (explained below) must
+specify a <code>local_path</code> field.</td>
+</tr>
+<tr class="row-even"><td>3</td>
+<td>Hosted application loaded as an unpacked extension</td>
+<td> </td>
+<td><img alt="CHK" src="/native-client/images/check-red.png" /></td>
+<td><img alt="CHK" src="/native-client/images/check-red.png" /></td>
+<td>Load your hosted application into Chrome as an unpacked extension and run
+it from a server (which can be a local server). The CWS manifest file
+must specify a <code>web_url</code> field.</td>
+</tr>
+<tr class="row-odd"><td>4</td>
+<td>CWS application with untrusted testers</td>
+<td> </td>
+<td> </td>
+<td><img alt="CHK" src="/native-client/images/check-red.png" /></td>
+<td>This is the standard technique for distributing a packaged or hosted
+application in the CWS, but you can limit the application to a few
+trusted testers. This technique requires a server if your application is
+a hosted application.</td>
+</tr>
+</tbody>
+</table>
+<p>Which of the above techniques you use to run your application during development
+is largely a matter of personal preference (i.e., would you rather start a local
+server or create CWS metadata?). As a general rule, once you have an idea of how
+you plan to distribute your application, you should use the corresponding
+technique during development. Choosing a distribution option depends on a number
+of factors such as application size, application start-up time, hosting costs,
+offline functionality, etc. (see <a class="reference internal" href="/native-client/devguide/distributing.html"><em>Distributing Your Application</em></a> for details), but you don’t need to make a decision about how
+to distribute your application at the outset.</p>
+<p>The next two sections of this document describe a couple of prerequisites for
+running applications during development, and explain the three requirements
+listed in the table above (NaCl flag, web server, and CWS metadata). The
+subsequent sections of the document provide instructions for how to use each of
+the four techniques.</p>
+</section><section id="prerequisites">
+<h2 id="prerequisites">Prerequisites</h2>
+<section id="browser-and-pepper-versions">
+<h3 id="browser-and-pepper-versions">Browser and Pepper versions</h3>
+<p>Before you run a new build of your application, make sure that you’re using the
+correct version of Chrome. Each version of Chrome supports a corresponding
+version of the Pepper API. You (and your users) must use a version of Chrome
+that is equal to or higher than the version of the Pepper API that your
+application uses. For example, if you compiled your application using the
+<code>pepper_31</code> bundle, your application uses the Pepper 31 API, and you must run
+the application in Chrome 31 or higher. To check which version of Chrome you’re
+using, type <code>about:version</code> in the Chrome address bar.</p>
+</section><section id="chrome-cache">
+<span id="cache"></span><h3 id="chrome-cache"><span id="cache"></span>Chrome Cache</h3>
+<p>Chrome caches resources aggressively. You should disable Chrome’s cache whenever
+you are developing a Native Client application in order to make sure Chrome
+loads new versions of your application. Follow the instructions <a class="reference internal" href="/native-client/devguide/tutorial/tutorial-part1.html#tutorial-step-3"><em>in the
+tutorial</em></a>.</p>
+</section></section><section id="requirements">
+<span id="id1"></span><h2 id="requirements"><span id="id1"></span>Requirements</h2>
+<section id="native-client-flag">
+<span id="flag"></span><h3 id="native-client-flag"><span id="flag"></span>Native Client flag</h3>
+<p>Native Client is automatically enabled for applications that are installed from
+the Chrome Web Store. To enable Native Client for applications that are not
+installed from the Chrome Web Store, you must explicitly turn on the Native
+Client flag in Chrome as follows:</p>
+<ol class="arabic simple">
+<li>Type <code>about:flags</code> in the Chrome address bar.</li>
+<li>Scroll down to “Native Client”.</li>
+<li>If the link below “Native Client” says “Disable”, then Native Client is
+already enabled and you don’t need to do anything else.</li>
+<li>If the link below “Native Client” says “Enable”:<ul class="small-gap">
+<li>Click the “Enable” link.</li>
+<li>Click the “Relaunch Now” button in the bottom of the screen. <strong>Native
+Client will not be enabled until you relaunch your browser</strong>. All browser
+windows will restart when you relaunch Chrome.</li>
+</ul>
+</li>
+</ol>
+<p>If you enable the Native Client flag and still can’t run applications from
+outside the Chrome Web Store, you may need to enable the Native Client plugin:</p>
+<ol class="arabic simple">
+<li>Type <code>about:plugins</code> in the Chrome address bar.</li>
+<li>Scroll down to “Native Client”.</li>
+<li>If the link below “Native Client” says “Enable”, click the link to enable
+the Native Client plugin. You do not need to relaunch Chrome after enabling
+the Native Client plugin.</li>
+</ol>
+</section><section id="web-server">
+<span id="id2"></span><h3 id="web-server"><span id="id2"></span>Web server</h3>
+<p>For security reasons, Native Client applications must come from a server (you
+can’t simply drag HTML files into your browser). The Native Client SDK comes
+with a lightweight Python web server that you can run to serve your application
+locally. The server can be invoked from a Makefile. Here is how to run the
+server:</p>
+<pre>
+$ cd examples
+$ make serve
+</pre>
+<p>By default, the server listens for requests on port 5103. You can use the server
+to run most applications under the <code>examples</code> directory where you started the
+server. For example, to run the <code>flock</code> example in the SDK, start the server
+and point your browser to <a class="reference external" href="http://localhost:5103/demo/flock/">http://localhost:5103/demo/flock/</a>.</p>
+<p>Some of the applications need special flags to Chrome, and must be run with the
+<code>make run</code> command. See <a class="reference internal" href="/native-client/sdk/examples.html#id1"><em>Run the SDK examples</em></a> for more details.</p>
+<section id="chrome-web-store-metadata">
+<span id="metadata"></span><h4 id="chrome-web-store-metadata"><span id="metadata"></span>Chrome Web Store metadata</h4>
+<p>Applications published in the Chrome Web Store must be accompanied by CWS
+metadata; specifically, a Chrome Web Store manifest file named
+<code>manifest.json</code>, and at least one icon.</p>
+<p>Below is an example of a CWS manifest file for a <strong>hosted application</strong>:</p>
+<pre class="prettyprint">
+{
+ "name": "My NaCl App",
+ "description": "Simple game implemented using Native Client",
+ "version": "0.1",
+ "icons": {
+ "128": "icon128.png"
+ },
+ "app": {
+ "urls": [
+ "http://mysubdomain.example.com/"
+ ],
+ "launch": {
+ "web_url": "http://mysubdomain.example.com/my_app_main_page.html"
+ }
+ }
+}
+</pre>
+<p>For a <strong>packaged application</strong>, you can omit the urls field, and replace the
+<code>web_url</code> field with a <code>local_path</code> field, as shown below:</p>
+<pre class="prettyprint">
+{
+ "name": "My NaCl App",
+ "description": "Simple game implemented using Native Client",
+ "version": "0.1",
+ "icons": {
+ "16": "icon16.png",
+ "128": "icon128.png"
+ },
+ "app": {
+ "launch": {
+ "local_path": "my_app_main_page.html"
+ }
+ }
+}
+</pre>
+<p>You must put the <code>manifest.json</code> file in the same directory as your
+application’s main HTML page.</p>
+<p>If you don’t have icons for your application, you can use the following icons as
+placeholders:</p>
+<p><img alt="ICON16" src="/native-client/images/icon16.png" /></p>
+<p><img alt="ICON128" src="/native-client/images/icon128.png" /></p>
+<p>Put the icons in the same directory as the CWS manifest file. For more
+information about CWS manifest files and application icons, see:</p>
+<ul class="small-gap">
+<li><a class="reference external" href="https://developers.google.com/chrome/web-store/docs/get_started_simple">Chrome Web Store Tutorial: Getting Started</a></li>
+<li><a class="reference external" href="http://code.google.com/chrome/extensions/manifest.html">Chrome Web Store Formats: Manifest Files</a></li>
+</ul>
+</section></section></section><section id="technique-1-local-server">
+<h2 id="technique-1-local-server">Technique 1: Local server</h2>
+<p>To run your application from a local server:</p>
+<ul class="small-gap">
+<li>Enable the <a class="reference internal" href="#flag"><em>Native Client flag</em></a> in Chrome.</li>
+<li>Start a <a class="reference internal" href="#web-server"><em>local web server</em></a>.</li>
+<li>Put your application under the examples directory in the SDK bundle you are
+using (e.g., in the directory <code>pepper_31/examples/my_app</code>).</li>
+<li>Access your application on the local server by typing the location of its
+HTML file in Chrome, e.g.:
+<code>http://localhost:5103/my_app/my_app_main_page.html</code>.</li>
+</ul>
+<aside class="note">
+<strong>Note:</strong> You don’t have to use a local web server—you can use another
+server if you already have one running. You must still enable the Native
+Client flag in order to run your application from the server.
+</aside>
+</section><section id="technique-2-packaged-application-loaded-as-an-unpacked-extension">
+<h2 id="technique-2-packaged-application-loaded-as-an-unpacked-extension">Technique 2: Packaged application loaded as an unpacked extension</h2>
+<p>For development purposes, Chrome lets you load a packaged application as an
+unpacked extension. To load and run your packaged application as an unpacked
+extension:</p>
+<ol class="arabic simple">
+<li>Create a Chrome Web Store manifest file and one or more icons for your
+application.<ul class="small-gap">
+<li>Follow the instructions above under Chrome Web Store metadata to create
+these files.</li>
+<li>Note that the CWS manifest file should contain the <code>local_path</code> field
+rather than the <code>web_url</code> field.</li>
+</ul>
+</li>
+<li>Put the CWS manifest file and the application icon(s) in the same directory
+as your application’s main HTML page.</li>
+<li>Load the application as an unpacked extension in Chrome:<ul class="small-gap">
+<li>Bring up the extensions management page in Chrome by clicking the menu
+icon <img alt="menu-icon" src="/native-client/images/menu-icon.png" /> and choosing <strong>Tools > Extensions</strong>.</li>
+<li>Check the box for <strong>Developer mode</strong> and then click the <strong>Load unpacked
+extension</strong> button:
+<img alt="extensions" src="/native-client/images/extensions-management.png" /></li>
+<li>In the file dialog that appears, select your application directory. Unless
+you get an error dialog, you’ve now installed your app in Chrome.</li>
+</ul>
+</li>
+<li>Open a new tab in Chrome and click the <strong>Apps</strong> link at the bottom of the
+page to show your installed apps:
+<img alt="new-tab-apps" src="/native-client/images/new-tab-apps.png" /></li>
+<li>The icon for your newly installed app should appear on the New Tab page.
+Click the icon to launch the app.</li>
+</ol>
+<p>For additional information about how to create CWS metadata and load your
+application into Chrome (including troubleshooting information), see the
+<a class="reference external" href="https://developers.google.com/chrome/web-store/docs/get_started_simple">Chrome Web Store Tutorial: Getting Started</a>.</p>
+<p>See also <a class="reference internal" href="/native-client/sdk/examples.html#run-sdk-examples-as-packaged"><em>Run the SDK examples as packaged apps</em></a>.</p>
+</section><section id="technique-3-hosted-application-loaded-as-an-unpacked-extension">
+<h2 id="technique-3-hosted-application-loaded-as-an-unpacked-extension">Technique 3: Hosted application loaded as an unpacked extension</h2>
+<p>For development purposes, Chrome lets you load a hosted application as an
+unpacked extension. To load and run your hosted application as an unpacked
+extension:</p>
+<ol class="arabic simple">
+<li>Start a web server to serve your application.<ul class="small-gap">
+<li>You can use the <a class="reference internal" href="#web-server"><em>local web server</em></a> included with the
+Native Client SDK if you want.</li>
+</ul>
+</li>
+<li>Upload your application (.html, .nmf, .nexe, .css, .js, image files, etc.)
+to the server.<ul class="small-gap">
+<li>If you’re using the local server included with the Native Client SDK,
+simply put your application under the <code>examples</code> directory in the SDK
+bundle you are using (e.g., in the directory
+<code>pepper_31/examples/my_app</code>).</li>
+</ul>
+</li>
+<li>Create a Chrome Web Store manifest file and one or more icons for your
+application.<ul class="small-gap">
+<li>Follow the instructions above under <a class="reference internal" href="#metadata"><em>Chrome Web Store metadata</em></a> to create these files.</li>
+<li>In the CWS manifest file, the <code>web_url</code> field should specify the
+location of your application on your server. If you’re using the local
+server included with the SDK, the <code>web_url</code> field should look something
+like <code>http://localhost:5103/my_app/my_app_main_page.html</code>.</li>
+</ul>
+</li>
+<li>Put the CWS manifest file and the application icon(s) in the same directory
+as your application’s main HTML page.</li>
+<li>Load the application as an unpacked extension in Chrome:<ul class="small-gap">
+<li>Bring up the extensions management page in Chrome by clicking the menu
+icon <img alt="menu-icon" src="/native-client/images/menu-icon.png" /> and choosing <strong>Tools > Extensions</strong>.</li>
+<li>Check the box for <strong>Developer mode</strong> and then click the <strong>Load unpacked
+extension</strong> button:
+<img alt="extensions" src="/native-client/images/extensions-management.png" /></li>
+<li>In the file dialog that appears, select your application directory. Unless
+you get an error dialog, you’ve now installed your app in Chrome.</li>
+</ul>
+</li>
+<li>Open a new tab in Chrome and click the <strong>Apps</strong> link at the bottom of the
+page to show your installed apps:
+<img alt="new-tab-apps" src="/native-client/images/new-tab-apps.png" /></li>
+<li>The icon for your newly installed app should appear on the New Tab page.
+Click the icon to launch the app.</li>
+</ol>
+<p>For additional information about how to create CWS metadata and load your
+application into Chrome (including troubleshooting information), see the
+<a class="reference external" href="https://developers.google.com/chrome/web-store/docs/get_started_simple">Chrome Web Store Tutorial: Getting Started</a>.</p>
+</section><section id="technique-4-chrome-web-store-application-with-trusted-testers">
+<h2 id="technique-4-chrome-web-store-application-with-trusted-testers">Technique 4: Chrome Web Store application with trusted testers</h2>
+<p>When you’re ready to test your application more broadly, you can upload the
+application to the Chrome Web Store and let some trusted testers run it. Here
+is how to do so:</p>
+<ol class="arabic simple">
+<li>Create the Chrome Web Store metadata required to publish your application:<ul class="small-gap">
+<li>First, create a Chrome Web Store manifest file and one or more icons for
+your application, as described above under <a class="reference internal" href="#metadata"><em>Chrome Web Store metadata</em></a>. Note that packaged applications must have at least two icons
+(a 16x16 icon and a 128x128 icon).</li>
+<li>You also need to create the following additional assets before you can
+publish your application:<ul class="small-gap">
+<li>a screenshot (size must be 640x400 or 1280x800)</li>
+<li>a promotional image called a “small tile” (size must be 440x280)</li>
+</ul>
+</li>
+</ul>
+</li>
+<li>For a <strong>packaged application</strong>:<ul class="small-gap">
+<li>Create a zip file with the CWS manifest file, the application icons, and
+all your application files (.html, .nmf, .nexe, .css, .js, image files,
+etc.)</li>
+</ul>
+</li>
+<li>For a <strong>hosted application</strong>:<ul class="small-gap">
+<li>Create a zip file with the CWS manifest file and the application icon(s).</li>
+<li>Upload the application files (.html, .nmf, .nexe, .css, .js, image files,
+etc.) to the server on which the application is being hosted.</li>
+<li>Use <a class="reference external" href="http://www.google.com/webmasters/tools/">Google Webmaster Tools</a> to
+verify ownership of the web site on which the application runs.</li>
+</ul>
+</li>
+<li>Log in to the <a class="reference external" href="https://chrome.google.com/webstore/developer/dashboard">Chrome Web Store Developer Dashboard</a>.<ul class="small-gap">
+<li>The first time you log in, click the “Add new item” button to display the
+Google Chrome Web Store Developer Agreement. Review and accept the
+agreement and then return to the <a class="reference external" href="https://chrome.google.com/webstore/developer/dashboard">Developer Dashboard</a>.</li>
+</ul>
+</li>
+<li>Click “Edit your tester accounts” at the bottom of the Developer Dashboard.</li>
+<li>Enter a series of email addresses for your testers (separated by commas or
+whitespace), and click the “Save Changes” button.</li>
+<li>Click the “Add new item” button to add your application to the Chrome Web
+Store.</li>
+<li>Click the “Choose file” button and select the zip file you created earlier.</li>
+<li>Click the “Upload” button; this uploads your zip file and opens the “Edit
+item” page.</li>
+<li>Edit the following required fields on the “Edit item” page:<ul class="small-gap">
+<li>Upload an application icon.</li>
+<li>Upload a screenshot.</li>
+<li>Upload a small tile.</li>
+<li>Select a category for your application (accounting application, action
+game, etc.).</li>
+<li>Select a language for your application.</li>
+</ul>
+</li>
+<li>If you are an owner or manager of a Google Group, you can select that group
+in the “Trusted testers” field.<ul class="small-gap">
+<li>You may want to create a Google Group specifically for your testers. When
+you add a group to the “Trusted testers” field, all group members will be
+able to test the application, in addition to the individuals you added to
+the “trusted tester accounts” field on the Developer Dashboard.</li>
+</ul>
+</li>
+<li>Click the “Publish to test accounts” button at the bottom of the page and
+click “OK”.</li>
+<li>A page comes up that shows your application’s listing in the Chrome Web
+Store. Copy the URL and mail it to your trusted testers.<ul class="small-gap">
+<li>When you publish an application to test accounts, the application’s CWS
+listing is visible only to you and to people who are logged into those
+accounts. Your application won’t appear in search results, so you need to
+give testers a direct link to your application’s CWS listing. Users won’t
+be able to find the application by searching in the CWS.</li>
+</ul>
+</li>
+</ol>
+<p>To publish an application to the world after publishing it to test accounts,
+you must first unpublish the application. For additional information see
+<a class="reference external" href="https://developers.google.com/chrome/web-store/docs/publish">Publishing Your App</a>, and in
+particular <a class="reference external" href="https://developers.google.com/chrome/web-store/docs/publish#testaccounts">Publishing to test accounts</a>.</p>
+</section></section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/devguide/devcycle/vs-addin.html b/native_client_sdk/doc_generated/devguide/devcycle/vs-addin.html
new file mode 100644
index 0000000..fb122c2
--- /dev/null
+++ b/native_client_sdk/doc_generated/devguide/devcycle/vs-addin.html
@@ -0,0 +1,548 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<section id="debugging-with-visual-studio">
+<h1 id="debugging-with-visual-studio">Debugging With Visual Studio</h1>
+<div class="contents local topic" id="table-of-contents">
+<p class="topic-title first">Table Of Contents</p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#introduction" id="id1">Introduction</a></li>
+<li><p class="first"><a class="reference internal" href="#platforms" id="id2">Platforms</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#the-ppapi-platform" id="id3">The PPAPI platform</a></li>
+<li><a class="reference internal" href="#the-native-client-platforms" id="id4">The Native Client platforms</a></li>
+</ul>
+</li>
+<li><p class="first"><a class="reference internal" href="#installing-the-add-in" id="id5">Installing the add-in</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#set-environment-variables" id="id6">Set environment variables</a></li>
+<li><a class="reference internal" href="#download-the-add-in" id="id7">Download the add-in</a></li>
+<li><a class="reference internal" href="#run-the-installer" id="id8">Run the installer</a></li>
+</ul>
+</li>
+<li><p class="first"><a class="reference internal" href="#try-the-hello-world-gles-sample-project" id="id9">Try the <code>hello_world_gles</code> sample project</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#select-the-nacl64-platform" id="id10">Select the NaCl64 platform</a></li>
+<li><a class="reference internal" href="#build-and-run-the-project" id="id11">Build and run the project</a></li>
+<li><a class="reference internal" href="#test-the-nacl-gdb-debugger" id="id12">Test the nacl-gdb debugger</a></li>
+<li><a class="reference internal" href="#test-the-visual-studio-debugger" id="id13">Test the Visual Studio debugger</a></li>
+<li><a class="reference internal" href="#inspect-the-platform-properties" id="id14">Inspect the platform properties</a></li>
+</ul>
+</li>
+<li><p class="first"><a class="reference internal" href="#developing-for-native-client-in-visual-studio" id="id15">Developing for Native Client in Visual Studio</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#adding-platforms-to-a-project" id="id16">Adding platforms to a project</a></li>
+<li><a class="reference internal" href="#selecting-a-toolchain" id="id17">Selecting a toolchain</a></li>
+<li><a class="reference internal" href="#adding-libraries-to-a-project" id="id18">Adding libraries to a project</a></li>
+<li><a class="reference internal" href="#running-a-web-server" id="id19">Running a web server</a></li>
+<li><a class="reference internal" href="#keeping-track-of-all-the-pieces" id="id20">Keeping track of all the pieces</a></li>
+<li><a class="reference internal" href="#using-the-debuggers" id="id21">Using the debuggers</a></li>
+<li><a class="reference internal" href="#disable-chrome-caching" id="id22">Disable Chrome caching</a></li>
+<li><a class="reference internal" href="#a-warning-about-postmessage" id="id23">A warning about PostMessage</a></li>
+<li><a class="reference internal" href="#porting-windows-applications-to-native-client-in-visual-studio" id="id24">Porting Windows applications to Native Client in Visual Studio</a></li>
+</ul>
+</li>
+</ul>
+</div>
+<p>Whether you’re porting an existing project or starting from scratch, the Native
+Client Visual Studio add-in makes it easier to set up, build, run and debug
+your Native Client app by integrating the Native Client SDK development tools
+into the Visual Studio environment.</p>
+<aside class="note">
+The Native Client add-in requires Visual Studio 2010 with Service Pack 1. No
+other versions of Visual Studio are currently supported. Visual Studio
+Express is also not supported.
+</aside>
+<section id="introduction">
+<h2 id="introduction">Introduction</h2>
+<p>The Native Client add-in for Visual Studio helps you develop your application
+more efficiently in many ways:</p>
+<ul class="small-gap">
+<li>Organize and maintain your code as a Visual Studio project.</li>
+<li>Iteratively write and test your application more easily. Visual Studio
+handles the details of launching a web server to serve your module and run
+the module in Chrome with a debugger attached.</li>
+<li>Compile your module into a dynamically-linked library (DLL) using Visual
+Studio’s C/C++ compiler and run it as a Pepper plugin. This allows you to
+develop code incrementally, coding and/or porting one feature at a time into
+the Pepper APIs while continuing to use native Windows APIs that would
+otherwise be unavailable in an actual Native Client module.</li>
+<li>Use Visual Studio’s built-in debugger to debug your code while it’s running
+as a Pepper plugin.</li>
+<li>Compile your module into a .nexe or .pexe file using the Native Client SDK
+tools and run it as a bona fide Native Client module.</li>
+<li>Use the Native Client debugger, nacl-gdb, to test your code when it’s running
+as a Native Client object.</li>
+</ul>
+<p>The add-in defines five new Visual Studio platforms: <code>PPAPI</code>, <code>NaCl32</code>,
+<code>NaCl64</code>, <code>NaClARM</code>, and <code>PNaCl</code>. These platforms can be applied to the
+debug configuration of solutions and projects. The platforms configure the
+properties of your project so it can be built and run as either a Pepper plugin
+or a Native Client module. The platforms also define the behavior associated
+with the debug command so you can test your code while running in Visual
+Studio.</p>
+</section><section id="platforms">
+<h2 id="platforms">Platforms</h2>
+<p>It is helpful to consider the Visual Studio add-in platforms in two groups. One
+contains the PPAPI platform only. The other group, which we’ll call the Native
+Client platforms, contains platforms that all have “NaCl” in their names:
+<code>NaCl32</code>, <code>NaCl64</code>, <code>NaClARM</code>, and <code>PNaCl</code>. The diagram below shows the
+platforms, the ways they are normally used, and the build products they produce.</p>
+<img alt="/native-client/images/visualstudio4.png" src="/native-client/images/visualstudio4.png" />
+<p>Using platforms, your workflow is faster and more efficient. You can compile,
+start, and debug your code with one click or key-press. When you press F5, the
+“start debugging” command, Visual Studio automatically launches a web server to
+serve your module (if necessary) along with an instance of Chrome that runs
+your Native Client module, and also attaches an appropriate debugger.</p>
+<p>You can switch between platforms as you work to compare the behavior of your
+code.</p>
+<p>When you run your project, Visual Studio launches the PPAPI and Native Client
+platforms in different ways, as explained in the next sections.</p>
+<section id="the-ppapi-platform">
+<h3 id="the-ppapi-platform">The PPAPI platform</h3>
+<p>The PPAPI platform builds your module as a dynamic library and launches a
+version of Chrome that’s configured to run the library as a plugin when it
+encounters an <code><embed></code> element with <code>type=application/x-nacl</code> (ignoring
+the information in the manifest file). When running in the PPAPI platform, you
+can use Windows system calls that are unavailable in a regular Native Client
+module built and running as a .nexe file. This offers the ability to port
+existing code incrementally, rewriting functions using the PPAPI interfaces one
+piece at a time. Since the module is built with Visual Studio’s native compiler
+(MSBuild) you can use the Visual Studio debugger to control and inspect your
+code.</p>
+</section><section id="the-native-client-platforms">
+<h3 id="the-native-client-platforms">The Native Client platforms</h3>
+<p>There are four Native Client platforms. All of them can be used to build Native
+Client modules. When you run one of the Native Client platforms Visual Studio
+builds the corresponding type of Native Client module (either a .nexe or
+.pexe), starts a web server to serve it up, and launches a copy of Chrome that
+fetches the module from the server and runs it. Visual Studio will also open a
+terminal window, launch an instance of nacl-gdb, and attach it to your module’s
+process so you can use gdb commands to debug.</p>
+<section id="nacl32-and-nacl64">
+<h4 id="nacl32-and-nacl64">NaCl32 and NaCl64</h4>
+<p>The platforms named NaCl32 and NaCl64 are targeted at x86 32-bit and 64-bit
+systems respectively. You need both platforms to build a full set of .nexe
+files when you are ready to distribute your application. Note, however, that
+when you are testing in Visual Studio you must select the NaCl64 platform
+(because Chrome for Windows runs Native Client in a 64-bit process). If you try
+to run from the NaCl32 platform you will get an error message.</p>
+</section><section id="naclarm">
+<h4 id="naclarm">NaClARM</h4>
+<p>The NaClARM platform is targeted at ARM-based processors. You can build .nexe
+files with the NaClARM platform in Visual Studio but you cannot run them from
+there. You can use Visual Studio to create a Native Client module that includes
+an ARM-based .nexe file and then run the module from a Chrome browser on an ARM
+device, such as one of the newer Chromebook computers. See the instructions at
+<a class="reference internal" href="/native-client/devguide/devcycle/running.html"><em>Running Native Client Applications</em></a> for more information on
+testing your module in Chrome.</p>
+<aside class="note">
+Note: The NaClARM platform currently supports the newlib toolchain only.
+</aside>
+</section><section id="pnacl">
+<h4 id="pnacl">PNaCl</h4>
+<p>The PNaCl (portable NaCl) platform is included in the Visual Studio Native
+Client add-in versions 1.1 and higher. It supports the .pexe file format. A
+.pexe file encodes your application as bitcode for a low level virtual machine
+(LLVM). When you deliver a Native Client application as a PNaCl module, the
+manifest file will contain a single .pexe file rather than multiple .nexe
+files. The Chrome client transforms the LLVM bitcode into machine instructions
+for the local system.</p>
+<p>When you run the PNaCl platform from Visual Studio, Visual Studio uses the
+Native Client SDK to transform the .pexe file into a NaCl64 .nexe file and runs
+it as if you were working with a NaCl64 platform.</p>
+<aside class="note">
+Note: The PNaCl platform currently supports the newlib toolchain only.
+</aside>
+</section></section></section><section id="installing-the-add-in">
+<h2 id="installing-the-add-in">Installing the add-in</h2>
+<p>In order to use the Native Client Visual Studio add-in, your development
+environment should include:</p>
+<ul class="small-gap">
+<li>A 64-bit version of Windows Vista or Windows 7.</li>
+<li>Visual Studio 2010 with Service Pack 1.</li>
+<li><a class="reference external" href="https://www.google.com/intl/en/chrome/browser/">Chrome</a> version 23 or
+greater. You can choose to develop using the latest <a class="reference external" href="https://www.google.com/intl/en/chrome/browser/canary.html">canary</a> build of
+Chrome, running the canary version side-by-side with (and separately from)
+your regular version of Chrome.</li>
+<li><a class="reference internal" href="/native-client/sdk/download.html"><em>The Native Client SDK</em></a> with the <code>pepper_23</code>
+bundle or greater. The version of Chrome that you use must be equal or
+greater than the version of the SDK bundle.</li>
+</ul>
+<section id="set-environment-variables">
+<h3 id="set-environment-variables">Set environment variables</h3>
+<p>Before you run the installer you must define two Windows environment variables.
+They point to the bundle in the Native Client SDK that you use to build your
+module, and to the Chrome browser that you choose to use for debugging.</p>
+<p>To set environment variables in Windows 7, go to the Start menu and search for
+“environment.” One of the links in the results is “Edit environment variables
+for your account.” (You can also reach this link from the <code>Control Panel</code>
+under <code>User Accounts</code>.) Click on the link and use the buttons in the window
+to create or change these user variables (the values shown below are only for
+example):</p>
+<table border="1" class="docutils">
+<colgroup>
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Variable Name</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>NACL_SDK_ROOT</td>
+<td>The path to the pepper directory in the SDK. Example:
+<code>C:\nacl_sdk\pepper_23</code></td>
+</tr>
+<tr class="row-odd"><td>CHROME_PATH</td>
+<td>The path to the .exe file for the version of Chrome you are
+testing with. Example:
+<code>C:\Users\fred\AppData\Local\Google\Chrome
+SxS\Application\chrome.exe</code></td>
+</tr>
+</tbody>
+</table>
+</section><section id="download-the-add-in">
+<h3 id="download-the-add-in">Download the add-in</h3>
+<p>The Native Client Visual Studio add-in is a separate bundle in the SDK named
+<code>vs_addin</code>. Open a command prompt window, go to the top-level SDK directory,
+and run the update command, specifying the add-in bundle:</p>
+<pre class="prettyprint">
+naclsdk update vs_addin
+</pre>
+<p>This creates a folder named <code>vs_addin</code>, containing the add-in itself, its
+installer files, and a directory of examples.</p>
+<aside class="note">
+Note: The vs_addin bundle is only visible when you run <code>naclsdk</code> on a
+Windows system.
+</aside>
+</section><section id="run-the-installer">
+<h3 id="run-the-installer">Run the installer</h3>
+<p>The installer script is located inside the <code>vs_addin</code> folder in the SDK.
+Right click on the file <code>install.bat</code> and run it as administrator.</p>
+<p>The script always installs the NativeClient platforms, and asks you if you’d
+like to install the PPAPI platform as well. You can skip the PPAPI step and run
+the installer again later to add the PPAPI platform.</p>
+<p>You can usually run the installer successfully with no arguments. The new
+platforms are installed in <code>C:\Program Files
+(x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms</code>.</p>
+<p>In some cases system resources may not be in their default locations. You might
+need to use these command line arguments when you run <code>install.bat</code>:</p>
+<ul class="small-gap">
+<li>The MSBuild folder is assumed to be at <code>C:\Program Files (x86)\MSBuild</code>.
+You can specify an alternate path with the flag <code>--ms-build-path=<path></code>.
+The installer assumes Visual Studio has created a user folder at</li>
+<li><code>%USERPROFILE%\My Documents\Visual Studio 2010</code>. You can specify an
+alternate path with the flag <code>--vsuser-path=path</code>.</li>
+</ul>
+<p>From time to time an update to the Visual Studio add-in may become available.
+Updates are performed just like an installation. Download the new add-in using
+naclsdk update and run <code>install.bat</code> as administrator.</p>
+<p>To uninstall the add-in, run <code>install.bat</code> as administrator and add the
+<code>--uninstall</code> flag. You’ll need to run the Command Prompt program as
+administrator in order to add the flag. Go the to the Windows start menu,
+search for “Command Prompt,” right click on the program and run it as
+administrator.</p>
+<p>You can verify that the add-in has been installed and determine its version by
+selecting Add-in Manager in the Visual Studio Tools menu. If the add-in has
+been installed it will appear in the list of available add-ins. Select it and
+read its description.</p>
+</section></section><section id="try-the-hello-world-gles-sample-project">
+<h2 id="try-the-hello-world-gles-sample-project">Try the <code>hello_world_gles</code> sample project</h2>
+<p>The add-in comes with an examples directory. Open the sample project
+<code>examples\hello_world_gles\hello_world_gles.sln</code>. This project is an
+application that displays a spinning cube.</p>
+<section id="select-the-nacl64-platform">
+<h3 id="select-the-nacl64-platform">Select the NaCl64 platform</h3>
+<p>Open the sample project in Visual Studio, select the <code>Configuration Manager</code>,
+and confirm that the active solution configuration is <code>Debug</code> and the active
+project platform is <code>NaCl64</code>. Note that the platform for the
+<code>hello_world_gles</code> project is also <code>NaCl64</code>. (You can get to the
+<code>Configuration Manager</code> from the <code>Build</code> menu or the project’s
+<code>Properties</code> window.)</p>
+<img alt="/native-client/images/visualstudio1.png" src="/native-client/images/visualstudio1.png" />
+</section><section id="build-and-run-the-project">
+<h3 id="build-and-run-the-project">Build and run the project</h3>
+<p>Use the debugging command (F5) to build and run the project. As the wheels
+start to turn, you may be presented with one or more alerts. They are benign;
+you can accept them and set options to ignore them when that’s possible. Some
+of the messages you might see include:</p>
+<ul class="small-gap">
+<li>“This project is out of date, would you like to build it?”</li>
+<li>“Please specify the name of the executable file to be used for the debug
+session.” This should be the value of the environment variable CHROME_PATH,
+which is usually supplied as the default value in the dialog.</li>
+<li>“Debugging information for chrome.exe cannot be found.” This is to be
+expected, you are debugging your module’s code, not Chrome.</li>
+<li>“Open file - security warning. The publisher could not be verified.” If
+Visual Studio is complaining about x86_64-nacl-gdb.exe, that’s our debugger.
+Let it be.</li>
+</ul>
+<p>Once you’ve passed these hurdles, the application starts to run and you’ll see
+activity in three places:</p>
+<ol class="arabic simple">
+<li>A terminal window opens running <code>nacl-gdb</code>.</li>
+<li>Chrome launches running your module in a tab.</li>
+<li>The Visual Studio output window displays debugging messages when you select
+the debug output item.
+Stop the debugging session by closing the Chrome window, or select the stop
+debugging command from the debug menu. The nacl-gdb window will close when
+you stop running the program.</li>
+</ol>
+</section><section id="test-the-nacl-gdb-debugger">
+<h3 id="test-the-nacl-gdb-debugger">Test the nacl-gdb debugger</h3>
+<p>Add a breakpoint at the SwapBuffers call in the function MainLoop, which is in
+hello_world.cc.</p>
+<img alt="/native-client/images/visualstudio2.png" src="/native-client/images/visualstudio2.png" />
+<p>Start the debugger again (F5). This time the existing breakpoint is loaded into
+nacl-gcb and the program will pause there. Type c to continue running. You can
+use gdb commands to set more breakpoints and step through the application. For
+details, see <a class="reference internal" href="/native-client/devguide/devcycle/debugging.html#using-gdb"><em>Debugging with nacl-gdb</em></a> (scroll down to the end
+of the section to see some commonly used gdb commands).</p>
+</section><section id="test-the-visual-studio-debugger">
+<h3 id="test-the-visual-studio-debugger">Test the Visual Studio debugger</h3>
+<p>If you’ve installed the <code>PPAPI</code> platform, go back to the <code>Configuration
+Manager</code> and select the <code>PPAPI</code> platform. This time when Chrome launches the
+<code>nacl-gdb</code> window will not appear; the Visual Studio debugger is fully
+engaged and on the job.</p>
+</section><section id="inspect-the-platform-properties">
+<h3 id="inspect-the-platform-properties">Inspect the platform properties</h3>
+<p>At this point, it may be helpful to take a look at the properties that are
+associated with the PPAPI and Native Client platforms—see the settings in the
+sample project as an example.</p>
+</section></section><section id="developing-for-native-client-in-visual-studio">
+<h2 id="developing-for-native-client-in-visual-studio">Developing for Native Client in Visual Studio</h2>
+<p>After you’ve installed the add-in and tried the sample project, you’re ready to
+start working with your own code. You can reuse the sample project and the
+PPAPI and Native Client platforms it already has by replacing the source code
+with your own. More likely, you will add the platforms to an existing project,
+or to a new project that you create from scratch.</p>
+<section id="adding-platforms-to-a-project">
+<h3 id="adding-platforms-to-a-project">Adding platforms to a project</h3>
+<p>Follow these steps to add the Native Client and PPAPI platforms to a project:</p>
+<ol class="arabic simple">
+<li>Open the Configuration Manager.</li>
+<li>On the row corresponding to your project, click the Platform column dropdown
+menu and select <code><New...></code>.</li>
+<li>Select <code>PPAPI</code>, <code>NaCl32</code>, <code>NaCl64</code>, or <code>PNaCl</code> from the New platform
+menu.</li>
+<li>In most cases, you should select <code><Empty></code> in the “Copy settings from”
+menu. <strong>Never copy settings between ``PPAPI``, ``NaCl32``, ``NaCl64``,
+``NaClARM``, or ``PNaCl`` platforms</strong>. You can copy settings from a Win32
+platform, if one exists, but afterwards be sure that the project properties
+are properly set for the new platform, as mentioned in step 6 below.</li>
+<li>If you like, check the “Create new solutions platform” box to create a
+solution platform in addition to a project platform. (This is optional, but
+it can be convenient since it lets you switch project platforms from the
+Visual Studio main window by selecting the solution platform that has the
+same name.)</li>
+<li>Review the project properties for the new platform you just added. In most
+cases, the default properties for each platform should be correct, but it
+pays to check. Be especially careful about custom properties you may have
+set beforehand, or copied from a Win32 platform. Also confirm that the
+Configuration type is correct:<ul class="small-gap">
+<li><code>Dynamic Library</code> for <code>PPAPI</code></li>
+<li><code>Application (.pexe)</code> for <code>PNaCl</code></li>
+<li><code>Application (.nexe)</code> for <code>NaCl32</code>, <code>NaCl64</code>, and <code>NaClARM</code></li>
+</ul>
+</li>
+</ol>
+</section><section id="selecting-a-toolchain">
+<h3 id="selecting-a-toolchain">Selecting a toolchain</h3>
+<p>When you build a Native Client module directly from the SDK you can use two
+different toolchains, newlib or glibc. See <a class="reference internal" href="/native-client/devguide/devcycle/dynamic-loading.html"><em>Dynamic Linking and Loading
+with glibc</em></a> for a description of the two toolchains and
+instructions on how to build and deploy an application with the glibc
+toolchain. The Native Client platforms offer you the same toolchain choice. You
+can specify which toolchain to use in the project properties, under
+<code>Configuration Properties > General > Native Client > Toolchain</code>.</p>
+<aside class="note">
+Currently, the NaClARM and PNaCl platforms only support the newlib toolchain.
+</aside>
+<p>There is no toolchain property for the PPAPI platform. The PPAPI platform uses
+the toolchain and libraries that come with Visual Studio.</p>
+</section><section id="adding-libraries-to-a-project">
+<h3 id="adding-libraries-to-a-project">Adding libraries to a project</h3>
+<p>If your Native Client application requires libraries that are not included in
+the SDK you must add them to the project properties (under <code>Configuration
+Properties > Linker > Input > Additional Dependencies</code>), just like any other
+Visual Studio project. This list of dependencies is a semi-colon delimited
+list. On the PPAPI platform the library names include the .lib extension (e.g.,
+<code>ppapi_cpp.lib;ppapi.lib</code>). On the Native Client platforms the extension is
+excluded (e.g., <code>ppapi_cpp;ppapi</code>).</p>
+</section><section id="running-a-web-server">
+<h3 id="running-a-web-server">Running a web server</h3>
+<p>In order for the Visual Studio add-in to test your Native Client module, you
+must serve the module from a web server. There are two options:</p>
+<section id="running-your-own-server">
+<h4 id="running-your-own-server">Running your own server</h4>
+<p>When you start a debug run Visual Studio launches Chrome and tries to connect
+to the web server at the address found in the Chrome command arguments (see the
+project’s Debugging > Command configuration property), which is usually
+<code>localhost:$(NaClWebServerPort)</code>. If you are using your own server be sure to
+specify its address in the command arguments property, and confirm that your
+server is running before starting a debug session. Also be certain that the
+server has all the files it needs to deliver a Native Client module (see
+“Keeping track of all the pieces”, below).</p>
+</section><section id="running-the-sdk-server">
+<h4 id="running-the-sdk-server">Running the SDK server</h4>
+<p>If there is no web server running at the specified port, Visual Studio will try
+to launch the simple Python web server that comes with the Native Client SDK.
+It looks for a copy of the server in the SDK itself (at
+<code>%NACL_SDK_ROOT%\tools\httpd.py</code>), and in the project directory
+(<code>$(ProjectDir)/httpd.py</code>). If the server exists in one of those locations,
+Visual Studio launches the server. The server output appears in Visual Studio’s
+Output window, in the pane named “Native Client Web Server Output”. A server
+launched in this way is terminated when the debugging session ends.</p>
+</section></section><section id="keeping-track-of-all-the-pieces">
+<h3 id="keeping-track-of-all-the-pieces">Keeping track of all the pieces</h3>
+<p>No matter where the web server lives or how it’s launched you must make sure
+that it has all the files that your application needs:</p>
+<ul class="small-gap">
+<li>All Native Client applications must have an <a class="reference internal" href="/native-client/devguide/coding/application-structure.html#html-file"><em>html host page</em></a>. This file is typically called <code>index.html</code>. The host page
+must have an embed tag with its type attribute set to
+<code>application-type/x-nacl</code>. If you plan to use a Native Client platform the
+embed tag must also include a src attribute pointing to a Native Client
+manifest (.mnf) file.</li>
+<li>If you are using a Native Client platform you must include a valid
+<a class="reference internal" href="/native-client/devguide/coding/application-structure.html#manifest-file"><em>manifest file</em></a>. The manifest file points to the .pexe
+or .nexe files that Visual Studio builds. These will be placed in the
+directory specified in the project’s <code>General > Output Directory</code>
+configuration property, which is usually <code>$(ProjectDir)$(ToolchainName)</code>.
+Visual Studio can use the Native Client SDK script create_nmf.py to
+automatically generate the manifest file for you. To use this script set the
+project’s <code>Linker > General > Create NMF Automatically</code> property to “yes.”</li>
+</ul>
+<p>If you are letting Visual Studio discover and run the SDK server, these files
+should be placed in the project directory. If you are running your own server,
+you must be sure that the host page <code>index.html</code> is placed in your server’s
+root directory. Remember, if you’re using one of the Native Client platforms
+the paths for the manifest file and .pexe or .nexe files must be reachable from
+the server.</p>
+<p>The structure of the manifest file can be more complicated if your application
+uses Native Client’s ability to dynamically link libraries. You may have to add
+additional information about dynamically linked libraries to the manifest file
+even if you create it automatically. The use and limitations of the create_nmf
+tool are explained in <a class="reference internal" href="/native-client/devguide/devcycle/dynamic-loading.html#dynamic-loading-manifest"><em>Generating a Native Client manifest file for a
+dynamically linked application</em></a>.</p>
+<p>You can look at the example projects in the SDK to see how the index and
+manifest files are organized. The example project <code>hello_nacl</code> has a
+subdirectory also called <code>hello_nacl</code>. That folder contains <code>index.html</code>
+and <code>hello_nacl.nmf</code>. The nexe file is found in
+<code>NaCl64\newlib\Debug\hello_nacl_64.nexe</code>. The <code>hello_world_gles</code> example
+project contains a subdirectory called <cite>hello_world_gles`</cite>. That directory
+contains html files built with both toolchains (<code>index_glibc.html</code> and
+<code>index_newlib.html</code>). The .nexe and .nmf files are found in the newlib and
+glibc subfolders. For additional information about the parts of a Native Client
+application, see <a class="reference internal" href="/native-client/devguide/coding/application-structure.html"><em>Application Structure</em></a>.</p>
+</section><section id="using-the-debuggers">
+<h3 id="using-the-debuggers">Using the debuggers</h3>
+<p>PPAPI plugins are built natively by Visual Studio’s compiler (MSBuild), and
+work with Visual Studio’s debugger in the usual way. You can set breakpoints in
+the Visual Studio source code files before you begin debugging, and on-the-fly
+while running the program.</p>
+<p>NaCl32 and NaClARM executables (.nexe files) cannot be run or debugged from
+Visual Studio.</p>
+<p>NaCl64 executables (.nexe files) are compiled using one of the Native Client
+toolchains in the SDK, which create an <a class="reference external" href="`http://en.wikipedia.org/wiki/Executable_and_Linkable_Format">ELF-formatted</a> executable. To
+debug a running .nexe you must use nacl-gdb, which is a command line debugger
+that is not directly integrated with Visual Studio. When you start a debugging
+session running from a NaCl64 platform, Visual Studio automatically launches
+nacl-gdb for you and attaches it to the nexe. Breakpoints that you set in
+Visual Studio before you start debugging are transferred to nacl-gdb
+automatically. During a NaCl debugging session you can only use nacl-gdb
+commands.</p>
+<p>The PNaCl platform generates a .pexe file. When you run the debugger add-in
+translates the .pexe file to a .nexe file and runs the resulting binary with
+nacl-gdb attached.</p>
+<p>For additional information about nacl-gdb, see <a class="reference internal" href="/native-client/devguide/devcycle/debugging.html#using-gdb"><em>Debugging with nacl-gdb</em></a> (scroll down to the end of the section to see some commonly used
+gdb commands).</p>
+<p>Note that you can’t use the Start Without Debugging command (Ctrl+F5) with a
+project in the Debug configuration. If you do, Chrome will hang because the
+Debug platform launches Chrome with the command argument
+<code>--wait-for-debugger-children</code> (in PPAPI) or <code>--enable-nacl-debug</code> (in a
+Native Client platform). These flags cause Chrome to pause and wait for a
+debugger to attach. If you use the Start Without Debugging command, no debugger
+attaches and Chrome just waits patiently. To use Start Without Debugging,
+switch to the Release configuration, or manually remove the offending argument
+from the <code>Command Arguments</code> property.</p>
+</section><section id="disable-chrome-caching">
+<h3 id="disable-chrome-caching">Disable Chrome caching</h3>
+<p>When you debug with a Native Client platform you might want to <a class="reference internal" href="/native-client/devguide/devcycle/running.html#cache"><em>disable
+Chrome’s cache</em></a> to be sure you are testing your latest and greatest
+code.</p>
+</section><section id="a-warning-about-postmessage">
+<h3 id="a-warning-about-postmessage">A warning about PostMessage</h3>
+<p>Some Windows libraries define the symbol <code>PostMessage</code> as <code>PostMessageW</code>.
+This can cause havoc if you are working with the PPAPI platform and you use the
+Pepper <code>PostMessage()</code> call in your module. Some Pepper API header files
+contain a self-defensive fix that you might need yourself, while you are
+testing on the PPAPI platform. Here it is:</p>
+<pre class="prettyprint">
+// If Windows defines PostMessage, undef it.
+#ifdef PostMessage
+#undef PostMessage
+#endif
+</pre>
+</section><section id="porting-windows-applications-to-native-client-in-visual-studio">
+<h3 id="porting-windows-applications-to-native-client-in-visual-studio">Porting Windows applications to Native Client in Visual Studio</h3>
+<p>At Google I/O 2012 we demonstrated how to port a Windows desktop application to
+Native Client in 60 minutes. The <a class="reference external" href="http://www.youtube.com/watch?v=1zvhs5FR0X8&feature=plcp">video</a> is available to
+watch on YouTube. The <code>vs_addin/examples</code> folder contains a pair of simple
+examples that demonstrate porting process. They are designed to be completed
+in just 5 minutes. The two examples are called <code>hello_nacl</code> and
+<code>hello_nacl_cpp</code>. They are essentially the same, but the former uses the C
+PPAPI interface while the latter uses the C++ API. The application is the
+familiar “Hello, World.”</p>
+<p>Each example begins with the Windows desktop version running in the <code>Win32</code>
+platform. From there you move to the <code>PPAPI</code> platform, where you perform a
+series of steps to set up the Native Client framework, use it to run the
+desktop version, and then port the behavior from Windows calls to the PPAPI
+interface. You wind up with a program that uses no Windows functions, which
+can run in either the <code>PPAPI</code> or the <code>NaCl64</code> platform.</p>
+<p>The example projects use a single source file (<code>hello_nacl.c</code> or
+<code>hello_nacl_cpp.cpp</code>). Each step in the porting process is accomplished by
+progressively defining the symbols STEP1 through STEP6 in the source. Inline
+comments explain how each successive step changes the code. View the example
+code to see how it’s actually done. Here is a summary of the process:</p>
+<section id="win32-platform">
+<h4 id="win32-platform">Win32 Platform</h4>
+<dl class="docutils">
+<dt>STEP1 Run the desktop application</dt>
+<dd>Begin by running the original Windows application in the Win32 platform.</dd>
+</dl>
+</section><section id="ppapi-platform">
+<h4 id="ppapi-platform">PPAPI Platform</h4>
+<dl class="docutils">
+<dt>STEP2 Launch Chrome with an empty Native Client module</dt>
+<dd>Switch to the PPAPI platform and include the code required to initialize a
+Native Module instance. The code is bare-boned, it does nothing but
+initialize the module. This step illustrates how Visual Studio handles all
+the details of launching a web-server and Chrome, and running the Native
+Client module as a Pepper plugin.</dd>
+<dt>STEP3 Run the desktop application synchronously from the Native Client module</dt>
+<dd>The Native Client creates the window directly and then calls WndProc to run
+the desktop application. Since WndProc spins in its message loop, the call to
+initialize the module never returns. Close the Hello World window and the
+module initialization will finish.</dd>
+<dt>STEP4 Running the desktop application and Native Client asynchronously</dt>
+<dd>In WndProc replace the message loop with a callback function. Now the app
+window and the Native Client module are running concurrently.</dd>
+<dt>STEP5 Redirect output to the web page</dt>
+<dd>The module initialization code calls initInstanceInBrowserWindow rather than
+initInstanceInPCWindow. WndProc is no longer used. Instead, postMessage is
+called to place text (now “Hello, Native Client”) in the web page rather than
+opening and writing to a window. Once you’ve reached this step you can start
+porting pieces of the application one feature at a time.</dd>
+<dt>STEP6 Remove all the Windows code</dt>
+<dd>All the Windows code is def’d out, proving we are PPAPI-compliant. The
+functional code that is running is the same as STEP5.</dd>
+</dl>
+</section><section id="nacl64-platform">
+<h4 id="nacl64-platform">NaCl64 Platform</h4>
+<dl class="docutils">
+<dt>Run the Native Client Module in the NaCl64 platform</dt>
+<dd>You are still running the STEP6 code, but as a Native Client module rather
+than a Pepper plugin.</dd>
+</dl>
+</section></section></section></section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/devguide/distributing.html b/native_client_sdk/doc_generated/devguide/distributing.html
new file mode 100644
index 0000000..f4978e2
--- /dev/null
+++ b/native_client_sdk/doc_generated/devguide/distributing.html
@@ -0,0 +1,329 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<section id="distributing-your-application">
+<span id="distributing"></span><h1 id="distributing-your-application"><span id="distributing"></span>Distributing Your Application</h1>
+<div class="contents local topic" id="contents">
+<ul class="small-gap">
+<li><a class="reference internal" href="#portable-native-client" id="id1">Portable Native Client</a></li>
+<li><p class="first"><a class="reference internal" href="#non-portable-native-client" id="id2">Non-portable Native Client</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#packaged-application" id="id3">Packaged application</a></li>
+<li><a class="reference internal" href="#extension" id="id4">Extension</a></li>
+<li><a class="reference internal" href="#hosted-application" id="id5">Hosted application</a></li>
+<li><a class="reference internal" href="#registering-native-client-modules-to-handle-mime-types" id="id6">Registering Native Client modules to handle MIME types</a></li>
+</ul>
+</li>
+</ul>
+</div>
+<p>This document describes how to distribute Portable Native Client applications
+on the web, and Native Client applications through the
+<a class="reference external" href="/chrome/web-store/docs/">Chrome Web Store</a> (CWS).</p>
+<section id="portable-native-client">
+<h2 id="portable-native-client">Portable Native Client</h2>
+<p>Portable Native Client is enabled by default for web pages, so no separate
+distribution step is requred. Making PNaCl a part of your web application is as
+simple as embedding a manifest file that points to a <strong>pexe</strong>. See the
+<a class="reference internal" href="/native-client/overview.html"><em>technical overview</em></a> for more details.</p>
+<img alt="/native-client/images/nacl-in-a-web-app.png" src="/native-client/images/nacl-in-a-web-app.png" />
+<p>The only constraint for distributing PNaCl modules with a web application is
+abiding by the <a class="reference external" href="http://en.wikipedia.org/wiki/Same_origin_policy">Same-origin policy</a>. The PNaCl manifest and
+<strong>pexe</strong> must either be served from the same domain with the HTML, or the <a class="reference external" href="http://en.wikipedia.org/wiki/Cross-origin_resource_sharing">CORS
+mechanism</a> should
+be used to safely host them on a different domain.</p>
+</section><section id="non-portable-native-client">
+<h2 id="non-portable-native-client">Non-portable Native Client</h2>
+<p>NaCl modules are only allowed for applications distributed through the <a class="reference external" href="https://chrome.google.com/webstore/category/apps">Chrome
+Web Store (CWS)</a>
+The CWS requirement is in place to prevent the proliferation of Native Client
+executables (<strong>nexe</strong>s) compiled for specific architecures (e.g., x86-32,
+x86-64, or ARM).</p>
+<p>In general, the considerations and guidelines for distributing applications
+through the Chrome Web Store apply to applications that contain NaCl modules as
+well. Here are a few pointers to relevant documentation:</p>
+<ul class="small-gap">
+<li><a class="reference external" href="https://developers.google.com/chrome/web-store/docs/">CWS Overview</a></li>
+<li><a class="reference external" href="https://developers.google.com/chrome/web-store/docs/choosing">Choosing an App Type</a></li>
+<li><a class="reference external" href="http://developer.chrome.com/apps/about_apps.html">Getting started with packaged apps</a></li>
+<li><a class="reference external" href="https://developers.google.com/chrome/apps/docs/developers_guide">Hosted apps</a></li>
+<li><a class="reference external" href="http://developer.chrome.com/extensions/index.html">Chrome extensions</a></li>
+</ul>
+<p>In this document, we’ll focus only on distribution issues specific to
+applications that contain NaCl modules.</p>
+<section id="packaged-application">
+<span id="distributing-packaged"></span><h3 id="packaged-application"><span id="distributing-packaged"></span>Packaged application</h3>
+<p>A packaged application is a special zip file (with a .crx extension) hosted in
+the Chrome Web Store. This file contains all of the application parts: A Chrome
+Web Store manifest file (manifest.json), an icon, and all of the regular Native
+Client application files. Refer to
+<a class="reference external" href="https://developer.chrome.com/apps/about_apps.html">Packaged Apps</a>
+for more information about creating a packaged application.</p>
+<section id="reducing-the-size-of-the-user-download-package">
+<h4 id="reducing-the-size-of-the-user-download-package">Reducing the size of the user download package</h4>
+<aside class="note">
+<strong>Tip:</strong>
+Packaging an app in a multi-platform zip file can significantly reduce the
+download and storage requirements for the app.
+</aside>
+<p>As described above, to upload a packaged app to the CWS you have to create a zip
+file with all the resources that your app needs, including .nexe files for
+multiple architectures (x86-64, x86-32, and ARM). Prior to Chrome 28, when users
+installed your app they had to download a .crx file from the CWS with all the
+included .nexe files.</p>
+<p>Starting with Chrome 28, the Chrome Web Store includes a feature called
+<strong>multi-platform zip files.</strong> This feature lets you structure your application
+directory and zip file in a way that reduces the size of the user download
+package. Here’s how this feature works:</p>
+<ul class="small-gap">
+<li>You still include all the .nexe files in the zip file that you upload to
+the CWS, but you designate specific .nexe files (and other files if
+appropriate) for specific architectures.</li>
+<li>The Chrome Web Store re-packages your app, so that users only download
+the files that they need for their specific architecture.</li>
+</ul>
+<p>Here is how to use this feature:</p>
+<ol class="arabic">
+<li><p class="first">Create a directory called <code>_platform_specific</code>.
+Put this directory at the same level where your CWS manifest file,
+<code>manifest.json</code>, is located.</p>
+</li>
+<li><p class="first">Create a subdirectory for each specific architecture that you support,
+and add the files for each architecture in the relevant subdirectory.</p>
+<p>Here is a sample app directory structure:</p>
+<pre>
+|-- my_app_directory/
+| |-- manifest.json
+| |-- my_app.html
+| |-- my_module.nmf
+| +-- css/
+| +-- images/
+| +-- scripts/
+| |-- _platform_specific/
+| | |-- x86-64/
+| | | |-- my_module_x86_64.nexe
+| | |-- x86-32/
+| | | |-- my_module_x86_32.nexe
+| | |-- arm/
+| | | |-- my_module_arm.nexe
+| | |-- all/
+| | | |-- my_module_x86_64.nexe
+| | | |-- my_module_x86_64.nexe
+| | | |-- my_module_x86_32.nexe
+</pre>
+<p>Please note a few important points about the app directory structure:</p>
+<ul class="small-gap">
+<li><p class="first">The architecture-specific subdirectories:</p>
+<ul class="small-gap">
+<li><p class="first">can have arbitrary names;</p>
+</li>
+<li><p class="first">must be directly under the <code>_platform_specific</code> directory; and</p>
+</li>
+<li><p class="first">must be listed in the CWS manifest file (see step 3 below).</p>
+</li>
+</ul>
+</li>
+<li><p class="first">You can include a fallback subdirectory that provides a download package
+with all the architecture-specific files. (In the example above this
+is the <code>all/</code> subdirectory.) This folder is used if the user has an
+earlier version of Chrome (prior to Chrome 28) that does not support
+multi-platform zip files.</p>
+</li>
+<li><p class="first">You cannot include any files directly in the folder
+<code>_platform_specific</code>. All architecture-specific files
+must be under one of the architecture-specific subdirectories.</p>
+</li>
+<li><p class="first">Files that are not under the <code>_platform_specific</code> directory are
+included in all download packages. (In the example above, that
+includes <code>my_app.html</code>, <code>my_module.nmf</code>,
+and the <code>css/</code>, <code>images/</code>, and <code>scripts/</code> directories.)</p>
+</li>
+</ul>
+</li>
+<li><p class="first">Modify the CWS manifest file, <code>manifest.json</code>, so that it specifies which
+subdirectory under <code>_platform_specific</code> corresponds to which architecture.</p>
+<p>The CWS manifest file must include a new name/value pair, where the name
+is <code>platforms</code> and the value is an array. The array has an object for
+each Native Client architecture with two name/value pairs:</p>
+<table border="1" class="docutils">
+<colgroup>
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head"><p class="first last">Name</p>
+</th>
+<th class="head"><p class="first last">Value</p>
+</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td><p class="first last"><code>nacl_arch</code></p>
+</td>
+<td><p class="first last"><code>x86-64</code>, <code>x86-32</code>, or <code>arm</code></p>
+</td>
+</tr>
+<tr class="row-odd"><td><p class="first last"><code>sub_package_path</code></p>
+</td>
+<td><p class="first last">the path of the directory (starting
+with <code>_platform_specific</code>) that
+contains the files for the designated
+NaCl architecture</p>
+</td>
+</tr>
+</tbody>
+</table>
+<p>Here is a sample <code>manifest.json</code> file:</p>
+<pre>
+{
+ "name": "My Reminder App",
+ "description": "A reminder app that syncs across Chrome browsers.",
+ "manifest_version": 2,
+ "minimum_chrome_version": "28",
+ "offline_enabled": true,
+ "version": "0.3",
+ "permissions": [
+ {"fileSystem": ["write"]},
+ "alarms",
+ "storage"
+ ],
+ "app": {
+ "background": {
+ "scripts": ["scripts/background.js"]
+ }
+ },
+ "icons": {
+ "16": "images/icon-16x16.png",
+ "128": "images/icon-128x128.png"
+ },
+ "platforms": [
+ {
+ "nacl_arch": "x86-64",
+ "sub_package_path": "_platform_specific/x86-64/"
+ },
+ {
+ "nacl_arch": "x86-32",
+ "sub_package_path": "_platform_specific/x86-32/"
+ },
+ {
+ "nacl_arch": "arm",
+ "sub_package_path": "_platform_specific/arm/"
+ },
+ {
+ "sub_package_path": "_platform_specific/all/"
+ }
+ ]
+}
+</pre>
+<p>Note the last entry in the CWS manifest file above, which specifies a
+<code>sub_package_path</code> without a corresponding <code>nacl_arch</code>. This entry
+identifies the fallback directory, which is included in the download
+package if the user architecture does not match any of the listed NaCl
+architectures, or if the user is using an older version of Chrome that
+does not support multi-platform zip files.</p>
+</li>
+<li><p class="first">Modify your application as necessary so that it uses the files for the
+correct user architecture.</p>
+<p>To reference architecture-specific files, use the JavaScript API
+<a class="reference external" href="http://developer.chrome.com/trunk/extensions/runtime.html#method-getPlatformInfo">chrome.runtime.getPlatformInfo()</a>.
+As an example, if you have architecture-specific files in the directories
+<code>x86-64</code>, <code>x86-32</code>, and <code>arm</code>, you can use the following JavaScript
+code to create a path for the files:</p>
+<pre class="prettyprint">
+function getPath(name) {
+ return '_platform_specific/' +
+ chrome.runtime.getPlatformInfo().nacl_arch +
+ '/' + name;
+}
+</pre>
+</li>
+<li><p class="first">Test your app, create a zip file, and upload the app to the CWS as before.</p>
+</li>
+</ol>
+</section><section id="additional-considerations-for-a-packaged-application">
+<span id="additional-considerations-packaged"></span><h4 id="additional-considerations-for-a-packaged-application"><span id="additional-considerations-packaged"></span>Additional considerations for a packaged application</h4>
+<ul class="small-gap">
+<li>In the description of your application in the CWS, make sure to mention that
+your application is a Native Client application that only works with the
+Chrome browser. Also make sure to identify the minimum version of Chrome
+that your application requires.</li>
+<li><p class="first">Hosted and packaged applications have a “launch” parameter in the CWS
+manifest. This parameter is present only in apps (not extensions), and it
+tells Google Chrome what to show when a user starts an installed app. For
+example:</p>
+<pre>
+"launch": {
+ "web_url": "http://mail.google.com/mail/"
+}
+</pre>
+</li>
+<li>If you want to write local data using the Pepper
+<a class="reference external" href="/native-client/peppercpp/classpp_1_1_file_i_o">FileIO</a>
+API, you must set the ‘unlimitedStorage’ permission in your Chrome Web
+Store manifest file, just as you would for a JavaScript application that
+uses the HTML5 File API.</li>
+<li>For packaged applications, you can only use in-app purchases.</li>
+<li>You can place your application in the Google Web Store with access only to
+certain people for testing. See
+<a class="reference external" href="https://developers.google.com/chrome/web-store/docs/publish">Publishing to test accounts</a>
+for more information.</li>
+</ul>
+</section></section><section id="extension">
+<h3 id="extension">Extension</h3>
+<p>The NaCl-specific notes for a <a class="reference internal" href="#distributing-packaged"><em>package application</em></a>
+apply to extensions as well.</p>
+</section><section id="hosted-application">
+<h3 id="hosted-application">Hosted application</h3>
+<p>The .html file, .nmf file (Native Client manifest file), and .nexe files must
+be served from the same domain, and the Chrome Web Store manifest file must
+specify the correct, verified domain. Other files can be served from the same
+or another domain.</p>
+<p>In addition, see <a class="reference internal" href="#additional-considerations-packaged"><em>Additional considerations for a packaged application</em></a>.</p>
+</section><section id="registering-native-client-modules-to-handle-mime-types">
+<h3 id="registering-native-client-modules-to-handle-mime-types">Registering Native Client modules to handle MIME types</h3>
+<p>If you want Chrome to use a Native Client module to display a particular type
+of content, you can associate the MIME type of that content with the Native
+Client module. Use the <code>nacl_modules</code> attribute in the Chrome Web Store
+manifest file to register a Native Client module as the handler for one or more
+specific MIME types. For example, the bold code in the snippet below registers
+a Native Client module as the content handler for the OpenOffice spreadsheet
+MIME type:</p>
+<pre>
+{
+ "name": "My Native Client Spreadsheet Viewer",
+ "version": "0.1",
+ "description": "Open spreadsheets right in your browser.",
+ "nacl_modules": [{
+ "path": "SpreadsheetViewer.nmf",
+ "mime_type": "application/vnd.oasis.opendocument.spreadsheet"
+ }]
+}
+</pre>
+<p>The value of “path” is the location of a Native Client manifest file (.nmf)
+within the application directory. For more information on Native Client
+manifest files, see <a class="reference internal" href="/native-client/devguide/coding/application-structure.html#manifest-file"><em>Manifest Files</em></a>.</p>
+<p>The value of “mime_type” is a specific MIME type that you want the Native
+Client module to handle. Each MIME type can be associated with only one .nmf
+file, but a single .nmf file might handle multiple MIME types. The following
+example shows an extension with two .nmf files that handle three MIME types.</p>
+<pre>
+{
+ "name": "My Native Client Spreadsheet and Document Viewer",
+ "version": "0.1",
+ "description": "Open spreadsheets and documents right in your browser.",
+ "nacl_modules": [{
+ "path": "SpreadsheetViewer.nmf",
+ "mime_type": "application/vnd.oasis.opendocument.spreadsheet"
+ },
+ {
+ "path": "SpreadsheetViewer.nmf",
+ "mime_type": "application/vnd.oasis.opendocument.spreadsheet-template"
+ },
+ {
+ "path": "DocumentViewer.nmf",
+ "mime_type": "application/vnd.oasis.opendocument.text"
+ }]
+}
+</pre>
+<p>The <code>nacl_modules</code> attribute is optional—specify this attribute only if
+you want Chrome to use a Native Client module to display a particular type of
+content.</p>
+</section></section></section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/devguide/index.html b/native_client_sdk/doc_generated/devguide/index.html
new file mode 100644
index 0000000..1fcb6229
--- /dev/null
+++ b/native_client_sdk/doc_generated/devguide/index.html
@@ -0,0 +1,14 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<section id="developer-s-guide">
+<span id="devguide-index"></span><h1 id="developer-s-guide"><span id="devguide-index"></span>Developer’s Guide</h1>
+<p>The Native Client Developer’s Guide includes practical information you need to
+get your development cycle up and running (e.g., how to compile and test-run
+your application), as well as important concepts you need to understand in order
+to code your application (e.g., how an application is structured, and how to use
+the Pepper APIs).</p>
+<p>The Developer’s Guide is a work-in-progress. Please send feedback to the
+<a class="reference external" href="https://groups.google.com/group/native-client-discuss">native-client-discuss group</a>.</p>
+</section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/devguide/tutorial/index.html b/native_client_sdk/doc_generated/devguide/tutorial/index.html
new file mode 100644
index 0000000..1879147
--- /dev/null
+++ b/native_client_sdk/doc_generated/devguide/tutorial/index.html
@@ -0,0 +1,9 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<section id="tutorial">
+<span id="devguide-tutorial-index"></span><h1 id="tutorial"><span id="devguide-tutorial-index"></span>Tutorial</h1>
+<p>This section contains a multi-part tutorial that explains how to get started
+developing applications with Native Client.</p>
+</section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/devguide/tutorial/tutorial-part1.html b/native_client_sdk/doc_generated/devguide/tutorial/tutorial-part1.html
new file mode 100644
index 0000000..0318171
--- /dev/null
+++ b/native_client_sdk/doc_generated/devguide/tutorial/tutorial-part1.html
@@ -0,0 +1,246 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<section id="c-tutorial-getting-started-part-1">
+<span id="tutorial"></span><h1 id="c-tutorial-getting-started-part-1"><span id="tutorial"></span>C++ Tutorial: Getting Started (Part 1)</h1>
+<div class="contents local topic" id="contents">
+<ul class="small-gap">
+<li><p class="first"><a class="reference internal" href="#overview" id="id1">Overview</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#what-the-application-in-this-tutorial-does" id="id2">What the application in this tutorial does</a></li>
+<li><a class="reference internal" href="#communication-between-javascript-and-native-client-modules" id="id3">Communication between JavaScript and Native Client modules</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#step-1-download-and-install-the-native-client-sdk" id="id4">Step 1: Download and install the Native Client SDK</a></li>
+<li><a class="reference internal" href="#step-2-start-a-local-server" id="id5">Step 2: Start a local server</a></li>
+<li><a class="reference internal" href="#step-3-set-up-the-chrome-browser" id="id6">Step 3: Set up the Chrome browser</a></li>
+<li><a class="reference internal" href="#step-4-stub-code-for-the-tutorial" id="id7">Step 4: Stub code for the tutorial</a></li>
+<li><a class="reference internal" href="#step-5-compile-the-native-client-module-and-run-the-stub-application" id="id8">Step 5: Compile the Native Client module and run the stub application</a></li>
+<li><a class="reference internal" href="#step-6-modify-the-javascript-code-to-send-a-message-to-the-native-client-module" id="id9">Step 6: Modify the JavaScript code to send a message to the Native Client module</a></li>
+<li><a class="reference internal" href="#step-7-implement-a-message-handler-in-the-native-client-module" id="id10">Step 7: Implement a message handler in the Native Client module</a></li>
+<li><a class="reference internal" href="#step-8-compile-the-native-client-module-and-run-the-application-again" id="id11">Step 8: Compile the Native Client module and run the application again</a></li>
+<li><a class="reference internal" href="#troubleshooting" id="id12">Troubleshooting</a></li>
+<li><a class="reference internal" href="#next-steps" id="id13">Next steps</a></li>
+</ul>
+</div>
+<section id="overview">
+<h2 id="overview">Overview</h2>
+<p>This tutorial shows how to build and run a web application using Portable Native
+Client (PNaCl). This is a client-side application that uses HTML, JavaScript and
+a Native Client module written in C++. The PNaCl toolchain is used to enable
+running the Native Client module directly from a web page.</p>
+<p>It’s recommended to read the <a class="reference internal" href="/native-client/overview.html"><em>Native Client Technical Overview</em></a> prior to going through this tutorial.</p>
+<section id="what-the-application-in-this-tutorial-does">
+<h3 id="what-the-application-in-this-tutorial-does">What the application in this tutorial does</h3>
+<p>The application in this tutorial shows how to load a Native Client module in a
+web page, and how to send messages between JavaScript and the C++ code in the
+Native Client module. In this simple application, the JavaScript code in the web
+page sends a <code>'hello'</code> message to the Native Client module. When the Native
+Client module receives a message, it checks whether the message is equal to the
+string <code>'hello'</code>. If it is, the Native Client module returns a message saying
+<code>'hello from NaCl'</code>. A JavaScript alert panel displays the message received
+from the Native Client module.</p>
+</section><section id="communication-between-javascript-and-native-client-modules">
+<h3 id="communication-between-javascript-and-native-client-modules">Communication between JavaScript and Native Client modules</h3>
+<p>The Native Client programming model supports bidirectional communication between
+JavaScript and the Native Client module (C/C++ code). Both sides can initiate
+and respond to messages. In all cases, the communication is asynchronous: The
+caller (JavaScript or the Native Client module) sends a message, but the caller
+does not wait for, or may not even expect, a response. This behavior is
+analogous to client/server communication on the web, where the client posts a
+message to the server and returns immediately. The Native Client messaging
+system is part of the Pepper API, and is described in detail in
+<a class="reference internal" href="/native-client/devguide/coding/message-system.html"><em>Developer’s Guide: Messaging System</em></a>.
+It is also similar to the way <a class="reference external" href="http://en.wikipedia.org/wiki/Web_worker">web workers</a> interact with the main document in
+JavaScript.</p>
+</section></section><section id="step-1-download-and-install-the-native-client-sdk">
+<h2 id="step-1-download-and-install-the-native-client-sdk">Step 1: Download and install the Native Client SDK</h2>
+<p>Follow the instructions on the <a class="reference internal" href="/native-client/sdk/download.html"><em>Download</em></a> page to
+download and install the Native Client SDK.</p>
+</section><section id="step-2-start-a-local-server">
+<span id="tutorial-step-2"></span><h2 id="step-2-start-a-local-server"><span id="tutorial-step-2"></span>Step 2: Start a local server</h2>
+<p>To simulate a production environment, the SDK provides a simple web server that
+can be used to serve the application on <code>localhost</code>. A convenience Makefile
+rule called <code>serve</code> is the easiest way to invoke it:</p>
+<pre>
+$ cd pepper_$(VERSION)/getting_started
+$ make serve
+</pre>
+<aside class="note">
+The SDK may consist of several “bundles”, one per Chrome/Pepper version (see
+<a class="reference internal" href="/native-client/version.html"><em>versioning information</em></a>). In the sample invocation above
+<code>pepper_$(VERSION)</code> refers to the specific version you want to use. For
+example, <code>pepper_31</code>. If you don’t know which version you need, use the
+one labeled <code>(stable)</code> by <code>naclsdk list</code>. See <a class="reference internal" href="/native-client/sdk/download.html"><em>Download the Native
+Client SDK</em></a> for more details.
+</aside>
+<p>If no port number is specified, the server defaults to port 5103, and can be
+accessed at <a class="reference external" href="http://localhost:5103">http://localhost:5103</a>.</p>
+<p>Any server can be used for the purpose of development. The one provided with the
+SDK is just a convenience, not a requirement.</p>
+</section><section id="step-3-set-up-the-chrome-browser">
+<span id="tutorial-step-3"></span><h2 id="step-3-set-up-the-chrome-browser"><span id="tutorial-step-3"></span>Step 3: Set up the Chrome browser</h2>
+<p>PNaCl is enabled by default in Chrome version 31 and later. Please make sure
+that you have a suitable version to work through this tutorial. It’s also
+important to use a Chrome version that’s the same or newer than the SDK bundle
+used to build the Native Client modules.</p>
+<aside class="note">
+To find out the version of Chrome, type <code>about:chrome</code> in the address bar.
+</aside>
+<p>For a better development experience, it’s also recommended to disable the
+Chrome cache. Chrome caches resources aggressively; disabling the cache helps
+make sure that the latest version of the Native Client module is loaded during
+development.</p>
+<ul class="small-gap">
+<li>Open Chrome’s developer tools by clicking the menu icon <img alt="menu-icon" src="/native-client/images/menu-icon.png" /> and
+choosing <code>Tools > Developer tools</code>.</li>
+<li>Click the gear icon <img alt="gear-icon" src="/native-client/images/gear-icon.png" /> in the bottom right corner of the Chrome
+window.</li>
+<li>Under the “General” settings, check the box next to “Disable cache (while
+DevTools is open)”.</li>
+<li>Keep the Developer Tools pane open while developing Native Client
+applications.</li>
+</ul>
+</section><section id="step-4-stub-code-for-the-tutorial">
+<h2 id="step-4-stub-code-for-the-tutorial">Step 4: Stub code for the tutorial</h2>
+<p>The stub code for the tutorial is avalable in the SDK, in
+<code>pepper_$(VERSION)/getting_started/part1</code>. It contains the following files:</p>
+<ul class="small-gap">
+<li><p class="first"><code>index.html</code>: Contains the HTML layout of the page as well as the JavaScript
+code that interacts with the Native Client module.</p>
+<p>The Native Client module is included in the page with an <code><embed></code> tag that
+points to a manifest file.</p>
+</li>
+<li><code>hello_tutorial.nmf</code>: A manifest file that’s used to point the HTML to the
+Native Client module and optionally provide additional commands to the PNaCl
+translator that is part of the Chrome browser.</li>
+<li><code>hello_tutorial.cc</code>: C++ code for a simple Native Client module.</li>
+<li><code>Makefile</code>: Compilation commands to build the <strong>pexe</strong> (portable executable)
+from the C++ code in <code>hello_tutorial.cc</code>.</li>
+</ul>
+<p>It’s a good idea to take a look at these files now—they contain a large amount
+of comments that help explain their structure and contents. For more details
+on the structure of a typical Native Client application, see
+<a class="reference internal" href="/native-client/devguide/coding/application-structure.html"><em>Application Structure</em></a>.</p>
+<p>The stub code is intentionally very minimal. The C++ code does not do anything
+except correctly initialize itself. The JavaScript code waits for the Native
+Client module to load and changes the status text on the web page accordingly.</p>
+</section><section id="step-5-compile-the-native-client-module-and-run-the-stub-application">
+<span id="tutorial-step-5"></span><h2 id="step-5-compile-the-native-client-module-and-run-the-stub-application"><span id="tutorial-step-5"></span>Step 5: Compile the Native Client module and run the stub application</h2>
+<p>To compile the Native Client module, run <code>make</code>:</p>
+<pre>
+$ cd pepper_$(VERSION)/getting_started/part1
+$ make
+</pre>
+<p>Since the sample is located within the SDK tree, the Makefile knows how to find
+the PNaCl toolchain automatically and use it to build the module. If you’re
+building applications outside the NaCl SDK tree, you should set the
+<code>$NACL_SDK_ROOT</code> environment variable. See <a class="reference internal" href="/native-client/devguide/devcycle/building.html"><em>Building Native Client
+Modules</em></a> for more details.</p>
+<p>Assuming the local server was started according to the instructions in
+<a class="reference internal" href="#tutorial-step-2"><em>Step 2</em></a>, you can now load the sample by pointing Chrome
+to <a class="reference external" href="http://localhost:5103/part1">http://localhost:5103/part1</a>. Chrome should load the Native Client module
+successfully and the Status text should change from “LOADING...” to “SUCCESS”.
+If you run into problems, check out the <a class="reference internal" href="#tutorial-troubleshooting"><em>Troubleshooting section</em></a> below.</p>
+</section><section id="step-6-modify-the-javascript-code-to-send-a-message-to-the-native-client-module">
+<h2 id="step-6-modify-the-javascript-code-to-send-a-message-to-the-native-client-module">Step 6: Modify the JavaScript code to send a message to the Native Client module</h2>
+<p>In this step, you’ll modify the web page (<code>index.html</code>) to send a message to
+the Native Client module after the page loads the module.</p>
+<p>Look for the JavaScript function <code>moduleDidLoad()</code>, and add new code to send
+a ‘hello’ message to the module. The new function should look as follows:</p>
+<pre class="prettyprint">
+function moduleDidLoad() {
+ HelloTutorialModule = document.getElementById('hello_tutorial');
+ updateStatus('SUCCESS');
+ // Send a message to the Native Client module
+ HelloTutorialModule.postMessage('hello');
+}
+</pre>
+</section><section id="step-7-implement-a-message-handler-in-the-native-client-module">
+<h2 id="step-7-implement-a-message-handler-in-the-native-client-module">Step 7: Implement a message handler in the Native Client module</h2>
+<p>In this step, you’ll modify the Native Client module (<code>hello_tutorial.cc</code>) to
+respond to the message received from the JavaScript code in the application.
+Specifically, you’ll:</p>
+<ul class="small-gap">
+<li>Implement the <code>HandleMessage()</code> member function of the module instance.</li>
+<li>Use the <code>PostMessage()</code> member function to send a message from the module to
+the JavaScript code.</li>
+</ul>
+<p>First, add code to define the variables used by the Native Client module (the
+‘hello’ string you’re expecting to receive from JavaScript and the reply string
+you want to return to JavaScript as a response). In the file
+<code>hello_tutorial.cc</code>, add this code after the <code>#include</code> statements:</p>
+<pre class="prettyprint">
+namespace {
+// The expected string sent by the browser.
+const char* const kHelloString = "hello";
+// The string sent back to the browser upon receipt of a message
+// containing "hello".
+const char* const kReplyString = "hello from NaCl";
+} // namespace
+</pre>
+<p>Now, implement the <code>HandleMessage()</code> member function to check for
+<code>kHelloString</code> and return <code>kReplyString.</code> Look for the following line:</p>
+<pre class="prettyprint">
+// TODO(sdk_user): 1. Make this function handle the incoming message.
+</pre>
+<p>Populate the member function with code, as follows:</p>
+<pre class="prettyprint">
+virtual void HandleMessage(const pp::Var& var_message) {
+ if (!var_message.is_string())
+ return;
+ std::string message = var_message.AsString();
+ pp::Var var_reply;
+ if (message == kHelloString) {
+ var_reply = pp::Var(kReplyString);
+ PostMessage(var_reply);
+ }
+}
+</pre>
+<p>See the Pepper API documentation for additional information about the
+<a class="reference external" href="https://developers.google.com/native-client/peppercpp/classpp_1_1_instance.html#a5dce8c8b36b1df7cfcc12e42397a35e8">pp::Instance.HandleMessage</a>
+and <a class="reference external" href="https://developers.google.com/native-client/peppercpp/classpp_1_1_instance.html#a67e888a4e4e23effe7a09625e73ecae9">pp::Instance.PostMessage</a>
+member functions.</p>
+</section><section id="step-8-compile-the-native-client-module-and-run-the-application-again">
+<h2 id="step-8-compile-the-native-client-module-and-run-the-application-again">Step 8: Compile the Native Client module and run the application again</h2>
+<p>Compile the Native Client module by running the <code>make</code> command again.</p>
+<p>Re-run the application by reloading <a class="reference external" href="http://localhost:5103/part1">http://localhost:5103/part1</a> in Chrome.</p>
+<p>After Chrome loads the Native Client module, you should see an alert panel
+appear with the message sent from the module.</p>
+</section><section id="troubleshooting">
+<span id="tutorial-troubleshooting"></span><h2 id="troubleshooting"><span id="tutorial-troubleshooting"></span>Troubleshooting</h2>
+<p>If your application doesn’t run, see <a class="reference internal" href="#tutorial-step-3"><em>Step 3</em></a> above to
+verify that you’ve set up your environment correctly, including both the Chrome
+browser and the local server. Make sure that you’re running a correct version of
+Chrome, which is also greater or equal than the SDK bundle version you are
+using.</p>
+<p>Another useful debugging aid is the Chrome JavaScript console (available via the
+<code>Tools</code> menu in Chrome). Examine it for clues about what went wrong. For
+example, if there’s a message saying “NaCl module crashed”, there is a
+possibility that the Native Client module has a bug; <a class="reference internal" href="/native-client/devguide/devcycle/debugging.html"><em>debugging</em></a> may be required.</p>
+<p>There’s more information about troubleshooting in the documentation:</p>
+<ul class="small-gap">
+<li><a class="reference internal" href="/native-client/faq.html#faq-troubleshooting"><em>FAQ Troubleshooting</em></a>.</li>
+<li>The <a class="reference internal" href="/native-client/devguide/coding/progress-events.html"><em>Progress Events</em></a> document
+contains some useful information about handling error events.</li>
+</ul>
+</section><section id="next-steps">
+<h2 id="next-steps">Next steps</h2>
+<ul class="small-gap">
+<li>See the <a class="reference internal" href="/native-client/devguide/coding/application-structure.html"><em>Application Structure</em></a>
+chapter in the Developer’s Guide for information about how to structure a
+Native Client module.</li>
+<li>Check the <a class="reference external" href="https://developers.google.com/native-client/peppercpp">C++ Reference</a> for details about
+how to use the Pepper APIs.</li>
+<li>Browse through the source code of the SDK examples (in the <code>examples</code>
+directory) to learn additional techniques for writing Native Client
+applications and using the Pepper APIs.</li>
+<li>See the <a class="reference internal" href="/native-client/devguide/devcycle/building.html"><em>Building</em></a>, <a class="reference internal" href="/native-client/devguide/devcycle/running.html"><em>Running</em></a>, and <a class="reference internal" href="/native-client/devguide/devcycle/debugging.html"><em>Debugging pages</em></a> for information about how to build, run, and
+debug Native Client applications.</li>
+<li>Check the <a class="reference external" href="http://code.google.com/p/naclports/">naclports</a> project to see
+what libraries have been ported for use with Native Client. If you port an
+open-source library for your own use, we recommend adding it to naclports
+(see <a class="reference external" href="http://code.google.com/p/naclports/wiki/HowTo_Checkin">How to check code into naclports</a>).</li>
+</ul>
+</section></section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/devguide/tutorial/tutorial-part2.html b/native_client_sdk/doc_generated/devguide/tutorial/tutorial-part2.html
new file mode 100644
index 0000000..edcaf74
--- /dev/null
+++ b/native_client_sdk/doc_generated/devguide/tutorial/tutorial-part2.html
@@ -0,0 +1,439 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<section id="c-tutorial-getting-started-part-2">
+<span id="tutorial2"></span><h1 id="c-tutorial-getting-started-part-2"><span id="tutorial2"></span>C++ Tutorial: Getting Started (Part 2)</h1>
+<div class="contents local topic" id="contents">
+<ul class="small-gap">
+<li><a class="reference internal" href="#overview" id="id1">Overview</a></li>
+<li><p class="first"><a class="reference internal" href="#using-the-native-client-sdk-build-system" id="id2">Using the Native Client SDK build system</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#simplifying-the-makefile" id="id3">Simplifying the Makefile</a></li>
+<li><a class="reference internal" href="#choosing-valid-toolchains-and-including-common-mk" id="id4">Choosing valid toolchains, and including common.mk</a></li>
+<li><a class="reference internal" href="#configuring-your-project" id="id5">Configuring your project</a></li>
+<li><a class="reference internal" href="#build-macros" id="id6">Build macros</a></li>
+</ul>
+</li>
+<li><p class="first"><a class="reference internal" href="#making-index-html-work-for-chrome-apps" id="id7">Making index.html work for Chrome Apps</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#csp-rules" id="id8">CSP rules</a></li>
+<li><a class="reference internal" href="#making-index-html-csp-compliant" id="id9">Making index.html CSP-compliant</a></li>
+<li><a class="reference internal" href="#making-index-html-support-different-toolchains-and-configurations" id="id10">Making index.html support different toolchains and configurations</a></li>
+</ul>
+</li>
+<li><p class="first"><a class="reference internal" href="#sharing-common-code-with-common-js" id="id11">Sharing common code with common.js</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#loading-the-page-and-creating-the-module" id="id12">Loading the page and creating the module</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#example-specific-behavior-with-example-js" id="id13">Example-specific behavior with example.js</a></li>
+</ul>
+</div>
+<section id="overview">
+<h2 id="overview">Overview</h2>
+<p>This tutorial shows how to convert the finished PNaCl web application from
+<a class="reference internal" href="/native-client/devguide/tutorial/tutorial-part1.html"><em>Part 1</em></a> to use the Native Client SDK build system and
+common JavaScript files. It also demonstrates some techniques to make your
+web application <cite>Content Security Policy (CSP)-compliant
+<http://developer.chrome.com/apps/contentSecurityPolicy.html></cite>, which is
+necessary for <a class="reference external" href="https://developer.chrome.com/apps/about_apps.html">Chrome Apps</a>.</p>
+<p>Using the Native Client SDK build system makes it easy to build with all of the
+SDK toolchains, and switch between the Debug and Release configurations. It
+also simplifies the makefiles for your project, as we’ll see in the next
+section. Finally, it adds some useful commands for <a class="reference internal" href="/native-client/sdk/examples.html#id1"><em>running</em></a> and <a class="reference internal" href="/native-client/sdk/examples.html#debugging-the-sdk-examples"><em>debugging</em></a>
+your application.</p>
+<p>The finished code for this example can be found in the
+<code>pepper_$(VERSION)/getting_started/part2</code> directory in the Native Client SDK
+download.</p>
+</section><section id="using-the-native-client-sdk-build-system">
+<h2 id="using-the-native-client-sdk-build-system">Using the Native Client SDK build system</h2>
+<p>This section describes how to use the SDK build system. To do so, we’ll make
+changes in the makefile. Because the makefile in part1 and part2 are so
+different, it is easier to start from scratch. Here is the contents of the new
+makefile. The following sections will describe it in more detail.</p>
+<section id="simplifying-the-makefile">
+<h3 id="simplifying-the-makefile">Simplifying the Makefile</h3>
+<p>The makefile from part1 only supports one toolchain (PNaCl) and one
+configuration (Release). It also only supports one source file. It’s relatively
+simple, but if we want to add support for multiple toolchains, configurations,
+source files, or build steps, it would grow increasingly complex. The SDK build
+system uses a set of variables and macros to make this possible, without
+significantly increasing the complexity of the makefile.</p>
+<p>Here is the new makefile, supporting three toolchains (PNaCl, Newlib NaCl,
+Glibc NaCl) and two configurations (Debug, Release).</p>
+<pre class="prettyprint">
+VALID_TOOLCHAINS := pnacl newlib glibc
+
+NACL_SDK_ROOT ?= $(abspath $(CURDIR)/../..)
+include $(NACL_SDK_ROOT)/tools/common.mk
+
+TARGET = part2
+LIBS = ppapi_cpp ppapi
+
+CFLAGS = -Wall
+SOURCES = hello_tutorial.cc
+
+# Build rules generated by macros from common.mk:
+
+$(foreach src,$(SOURCES),$(eval $(call COMPILE_RULE,$(src),$(CFLAGS))))
+
+ifeq ($(CONFIG),Release)
+$(eval $(call LINK_RULE,$(TARGET)_unstripped,$(SOURCES),$(LIBS),$(DEPS)))
+$(eval $(call STRIP_RULE,$(TARGET),$(TARGET)_unstripped))
+else
+$(eval $(call LINK_RULE,$(TARGET),$(SOURCES),$(LIBS),$(DEPS)))
+endif
+
+$(eval $(call NMF_RULE,$(TARGET),))
+</pre>
+</section><section id="choosing-valid-toolchains-and-including-common-mk">
+<h3 id="choosing-valid-toolchains-and-including-common-mk">Choosing valid toolchains, and including common.mk</h3>
+<p>The makefile begins by specifying the toolchains that are valid for this
+project. The Native Client SDK build system supports multi-toolchain projects
+for its examples and libraries, but generally you will choose one toolchain
+when you begin your project and never change it. Please see the
+<a class="reference internal" href="/native-client/overview.html#toolchains"><em>Toolchains section of the Native Client overview</em></a> for more
+information.</p>
+<p>For this example, we support the <code>pnacl</code>, <code>newlib</code> and <code>glibc</code> toolchains.</p>
+<pre class="prettyprint">
+VALID_TOOLCHAINS := pnacl newlib glibc
+</pre>
+<p>Next, as a convenience, we specify where to find <code>NACL_SDK_ROOT</code>. Because
+this example is located in <code>pepper_$(VERSION)/getting_started/part2</code>, the
+root of the SDK is two directories up.</p>
+<pre class="prettyprint">
+NACL_SDK_ROOT ?= $(abspath $(CURDIR)/../..)
+</pre>
+<aside class="note">
+<blockquote>
+<div>In your own projects, you can use the absolute path to your installed SDK
+here. You can also override this default by setting the <code>NACL_SDK_ROOT</code>
+environment variable. See <a class="reference internal" href="/native-client/devguide/tutorial/tutorial-part1.html#tutorial-step-5"><em>Step 5 of Part 1 of this tutorial</em></a> for more details.</div></blockquote>
+
+</aside>
+<p>Next, we include the file <code>tools/common.mk</code>. This file provides the
+functionality for the Native Client SDK build system, including new build rules
+to compile and link a project, which we’ll use below.</p>
+<pre class="prettyprint">
+include $(NACL_SDK_ROOT)/tools/common.mk
+</pre>
+</section><section id="configuring-your-project">
+<h3 id="configuring-your-project">Configuring your project</h3>
+<p>After including <code>tools/common.mk</code>, we configure the project by specifying its
+name, the sources and libraries it uses:</p>
+<pre class="prettyprint">
+TARGET = part2
+LIBS = ppapi_cpp ppapi
+
+CFLAGS = -Wall
+SOURCES = hello_tutorial.cc
+</pre>
+<p>These variable names are not required and not used by the SDK build system;
+they are only used in the rules described below. By convention, all SDK
+makefiles use the following variables:</p>
+<dl class="docutils">
+<dt>TARGET</dt>
+<dd>The name of the project to build. This variable determines the name of the
+library or executable that will be generated. In the above example, we call
+the target <code>part2</code>, which will generate an executable called
+<code>part2.pexe</code> for PNaCl. For NaCl toolchains, the executable’s file name
+will be given a suffix for its architecture. For example, the ARM executable
+is called <code>part2_arm.nexe</code>.</dd>
+<dt>LIBS</dt>
+<dd>A list of libraries that this executable needs to link against. The library
+search path is already set up to only look in the directory for the current
+toolchain and architecture. In this example, we link against <code>ppapi_cpp</code>
+and <code>ppapi</code>. <code>ppapi_cpp</code> is needed to use the <a class="reference external" href="https://developers.google.com/native-client/peppercpp/">Pepper C++ interface</a>. <code>ppapi</code> is
+needed for communicating with the browser.</dd>
+<dt>CFLAGS</dt>
+<dd>A list of extra flags to pass to the compiler. In this example, we pass
+<code>-Wall</code>, which turns on all warnings.</dd>
+<dt>LDFLAGS</dt>
+<dd>A list of additional flags to pass to the linker. This example does not need
+any special linker flags, so this variable is omitted.</dd>
+<dt>SOURCES</dt>
+<dd>A list of C or C++ sources to compile, separated by spaces. If you have a
+long list of sources, it may be easier to read if you put each file on its
+own line, and use <code>\</code> as a line-continuation character. Here’s an example:</dd>
+</dl>
+<pre class="prettyprint">
+SOURCES = foo.cc \
+ bar.cc \
+ baz.cc \
+ quux.cc
+</pre>
+</section><section id="build-macros">
+<h3 id="build-macros">Build macros</h3>
+<p>For many projects, the following build macros do not need to be changed; they
+will use the variables we’ve defined above.</p>
+<pre class="prettyprint">
+$(foreach src,$(SOURCES),$(eval $(call COMPILE_RULE,$(src),$(CFLAGS))))
+
+ifeq ($(CONFIG),Release)
+$(eval $(call LINK_RULE,$(TARGET)_unstripped,$(SOURCES),$(LIBS),$(DEPS)))
+$(eval $(call STRIP_RULE,$(TARGET),$(TARGET)_unstripped))
+else
+$(eval $(call LINK_RULE,$(TARGET),$(SOURCES),$(LIBS),$(DEPS)))
+endif
+
+$(eval $(call NMF_RULE,$(TARGET),))
+</pre>
+<p>The first line defines rules to compile each source in <code>SOURCES</code>, using the
+flags in <code>CFLAGS</code>:</p>
+<pre class="prettyprint">
+$(foreach src,$(SOURCES),$(eval $(call COMPILE_RULE,$(src),$(CFLAGS))))
+</pre>
+<p>The next six lines define rules to link the object files into one or more
+executables. When <code>TOOLCHAIN</code> is <code>pnacl</code>, there is only one executable
+generated: in the example above, <code>part2.pexe</code>. When using a NaCl toolchain,
+there will be three executables generated, one for each architecture: in the
+example above, <code>part2_arm.nexe</code>, <code>part2_x86_32.nexe</code> and
+<code>part2_x86_64.nexe</code>.</p>
+<p>When <code>CONFIG</code> is <code>Release</code>, each executable is also stripped to remove
+debug information and reduce the file size:</p>
+<pre class="prettyprint">
+ifeq ($(CONFIG),Release)
+$(eval $(call LINK_RULE,$(TARGET)_unstripped,$(SOURCES),$(LIBS),$(DEPS)))
+$(eval $(call STRIP_RULE,$(TARGET),$(TARGET)_unstripped))
+else
+$(eval $(call LINK_RULE,$(TARGET),$(SOURCES),$(LIBS),$(DEPS)))
+endif
+</pre>
+<p>Finally, the NMF rule generates a NaCl manifest file (<code>.nmf</code>) that references
+each executable generated in the previous step:</p>
+<pre class="prettyprint">
+$(eval $(call NMF_RULE,$(TARGET),))
+</pre>
+</section></section><section id="making-index-html-work-for-chrome-apps">
+<h2 id="making-index-html-work-for-chrome-apps">Making index.html work for Chrome Apps</h2>
+<p>This section describes the changes necessary to make the HTML and JavaScript
+in part1 CSP-compliant. This is required if you want to build a <a class="reference external" href="https://developer.chrome.com/apps/about_apps.html">Chrome App</a>, but is not necessary
+if you want to use PNaCl on the open web.</p>
+<section id="csp-rules">
+<h3 id="csp-rules">CSP rules</h3>
+<p><a class="reference external" href="http://developer.chrome.com/apps/contentSecurityPolicy.html#what">Chrome Apps CSP</a>
+restricts you from doing the following:</p>
+<ul class="small-gap">
+<li>You can’t use inline scripting in your Chrome App pages. The restriction
+bans both <code><script></code> blocks and event handlers (<code><button onclick="..."></code>).</li>
+<li>You can’t reference any external resources in any of your app files (except
+for video and audio resources). You can’t embed external resources in an
+iframe.</li>
+<li>You can’t use string-to-JavaScript methods like <code>eval()</code> and <code>new
+Function()</code>.</li>
+</ul>
+</section><section id="making-index-html-csp-compliant">
+<h3 id="making-index-html-csp-compliant">Making index.html CSP-compliant</h3>
+<p>To make our application CSP-compliant, we have to remove inline scripting. As
+described above, we can’t use inline <code><script></code> blocks or event handlers. This
+is easy to do—we’ll just reference some new files from our script tag, and
+remove all of our inlined scripts:</p>
+<pre class="prettyprint">
+<head>
+ ...
+ <script type="text/javascript" src="common.js"></script>
+ <script type="text/javascript" src="example.js"></script>
+</head>
+</pre>
+<p><code>common.js</code> has shared code used by all SDK examples, and is described
+later in this document. <code>example.js</code> is a script that has code specific to
+this example.</p>
+<p>We also need to remove the inline event handler on the body tag:</p>
+<pre class="prettyprint">
+<body onload="pageDidLoad()">
+...
+</pre>
+<p>This logic is now handled by <code>common.js</code>.</p>
+</section><section id="making-index-html-support-different-toolchains-and-configurations">
+<h3 id="making-index-html-support-different-toolchains-and-configurations">Making index.html support different toolchains and configurations</h3>
+<p>Finally, there are a few changes to <code>index.html</code> that are not necessary for
+CSP-compliance, but help make the SDK examples more generic.</p>
+<p>First, we add some <a class="reference external" href="https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Using_data_attributes">data attributes</a>
+to the body element to specify the name, supported toolchains, supported
+configurations, and path to the <code>.nmf</code> file:</p>
+<pre class="prettyprint">
+<body data-name="part2"
+ data-tools="newlib glibc pnacl"
+ data-configs="Debug Release"
+ data-path="{tc}/{config}">
+...
+</pre>
+<p><code>common.js</code> will read these data attributes to allow you to load the same
+example with different toolchains by changing the URL’s <a class="reference external" href="http://en.wikipedia.org/wiki/Query_string">query string</a>. For example, you can load the
+glibc Debug version of this example by navigating to
+<code>index.html?tc=glibc&config=Debug</code>.</p>
+<p>Next, we remove the <code>embed</code> element that is described in HTML. This will be
+automatically added for us by <code>common.js</code>, based on the current
+toolchain/configuration combination:</p>
+<pre class="prettyprint">
+<!--
+Just as in part1, the <embed> element will be wrapped inside the <div>
+element with the id "listener". In part1, the embed was specified in HTML,
+here the common.js module creates a new <embed> element and adds it to the
+<div> for us.
+-->
+<div id="listener"></div>
+</pre>
+</section></section><section id="sharing-common-code-with-common-js">
+<h2 id="sharing-common-code-with-common-js">Sharing common code with common.js</h2>
+<p><code>common.js</code> contains JavaScript code that each example uses to create a
+NaCl module, handle messages from that module and other common tasks like
+displaying the module load status and logging messages. Explaining all of
+<code>common.js</code> is outside the scope of this document, but please look at the
+documentation in that file for more information.</p>
+<section id="loading-the-page-and-creating-the-module">
+<h3 id="loading-the-page-and-creating-the-module">Loading the page and creating the module</h3>
+<p>Since we’ve added <code><script></code> tags for <code>common.js</code> and <code>example.js</code> to the
+<code>head</code> element, they will be loaded and executed before the rest of the
+document has been parsed. As a result, we have to wait for the page to finish
+loading before we try to create the embed element and add it to the page.</p>
+<p>We can do that by calling <code>addEventListener</code> and listening for the
+<code>DOMContentLoaded</code> event:</p>
+<pre class="prettyprint">
+// Listen for the DOM content to be loaded. This event is fired when parsing of
+// the page's document has finished.
+document.addEventListener('DOMContentLoaded', function() {
+ ...
+});
+</pre>
+<p>Inside this function, we parse the URL query string, and compare that to the
+data attributes:</p>
+<pre class="prettyprint">
+// From https://developer.mozilla.org/en-US/docs/DOM/window.location
+var searchVars = {};
+if (window.location.search.length > 1) {
+ var pairs = window.location.search.substr(1).split('&');
+ for (var key_ix = 0; key_ix < pairs.length; key_ix++) {
+ var keyValue = pairs[key_ix].split('=');
+ searchVars[unescape(keyValue[0])] =
+ keyValue.length > 1 ? unescape(keyValue[1]) : '';
+ }
+}
+
+...
+
+var toolchains = body.dataset.tools.split(' ');
+var configs = body.dataset.configs.split(' ');
+
+...
+
+var tc = toolchains.indexOf(searchVars.tc) !== -1 ?
+ searchVars.tc : toolchains[0];
+
+// If the config value is included in the search vars, use that.
+// Otherwise default to Release if it is valid, or the first value if
+// Release is not valid.
+if (configs.indexOf(searchVars.config) !== -1)
+ var config = searchVars.config;
+else if (configs.indexOf('Release') !== -1)
+ var config = 'Release';
+else
+ var config = configs[0];
+</pre>
+<p>Then <code>domContentLoaded</code> is called, which performs some checks to see if the
+browser supports Native Client, then creates the NaCl module.</p>
+<pre class="prettyprint">
+function domContentLoaded(name, tool, path, width, height, attrs) {
+ updateStatus('Page loaded.');
+ if (!browserSupportsNaCl(tool)) {
+ updateStatus(
+ 'Browser does not support NaCl (' + tool + '), or NaCl is disabled');
+ } else if (common.naclModule == null) {
+ updateStatus('Creating embed: ' + tool);
+
+ // We use a non-zero sized embed to give Chrome space to place the bad
+ // plug-in graphic, if there is a problem.
+ width = typeof width !== 'undefined' ? width : 200;
+ height = typeof height !== 'undefined' ? height : 200;
+ attachDefaultListeners();
+ createNaClModule(name, tool, path, width, height, attrs);
+ } else {
+ // It's possible that the Native Client module onload event fired
+ // before the page's onload event. In this case, the status message
+ // will reflect 'SUCCESS', but won't be displayed. This call will
+ // display the current message.
+ updateStatus('Waiting.');
+ }
+}
+</pre>
+<p><code>attachDefaultListeners</code> is added before the creation of the module, to make
+sure that no messages are lost. Note that <code>window.attachListeners</code> is also
+called; this is the way that <code>common.js</code> allows each example to configure
+itself differently. If an example defines the <code>attachListeners</code> function, it
+will be called by <code>common.js</code>.</p>
+<pre class="prettyprint">
+function attachDefaultListeners() {
+ var listenerDiv = document.getElementById('listener');
+ listenerDiv.addEventListener('load', moduleDidLoad, true);
+ listenerDiv.addEventListener('message', handleMessage, true);
+ listenerDiv.addEventListener('crash', handleCrash, true);
+ if (typeof window.attachListeners !== 'undefined') {
+ window.attachListeners();
+ }
+}
+</pre>
+<p>Finally, <code>createNaClModule</code> actually creates the <code>embed</code>, and appends it as
+a child of the element with id <code>listener</code>:</p>
+<pre class="prettyprint">
+function createNaClModule(name, tool, path, width, height, attrs) {
+ var moduleEl = document.createElement('embed');
+ moduleEl.setAttribute('name', 'nacl_module');
+ moduleEl.setAttribute('id', 'nacl_module');
+ moduleEl.setAttribute('width', width);
+ moduleEl.setAttribute('height', height);
+ moduleEl.setAttribute('path', path);
+ moduleEl.setAttribute('src', path + '/' + name + '.nmf');
+
+ ...
+
+ var mimetype = mimeTypeForTool(tool);
+ moduleEl.setAttribute('type', mimetype);
+
+ var listenerDiv = document.getElementById('listener');
+ listenerDiv.appendChild(moduleEl);
+ ...
+}
+</pre>
+<p>When the module finishes loading, it will dispatch a <code>load</code> event, and the
+event listener function that was registered above (<code>moduleDidLoad</code>) will be
+called. Note that <code>common.js</code> allows each example to define a
+<code>window.moduleDidLoad</code> function, that will be called here as well.</p>
+<pre class="prettyprint">
+function moduleDidLoad() {
+ common.naclModule = document.getElementById('nacl_module');
+ updateStatus('RUNNING');
+
+ if (typeof window.moduleDidLoad !== 'undefined') {
+ window.moduleDidLoad();
+ }
+}
+</pre>
+</section></section><section id="example-specific-behavior-with-example-js">
+<h2 id="example-specific-behavior-with-example-js">Example-specific behavior with example.js</h2>
+<p>As described in the previous section, <code>common.js</code> will call certain functions
+during the module loading process. This example only needs to respond to two:
+<code>moduleDidLoad</code> and <code>handleMessage</code>.</p>
+<pre class="prettyprint">
+// This function is called by common.js when the NaCl module is
+// loaded.
+function moduleDidLoad() {
+ // Once we load, hide the plugin. In this example, we don't display anything
+ // in the plugin, so it is fine to hide it.
+ common.hideModule();
+
+ // After the NaCl module has loaded, common.naclModule is a reference to the
+ // NaCl module's <embed> element.
+ //
+ // postMessage sends a message to it.
+ common.naclModule.postMessage('hello');
+}
+
+// This function is called by common.js when a message is received from the
+// NaCl module.
+function handleMessage(message) {
+ var logEl = document.getElementById('log');
+ logEl.textContent += message.data;
+}
+</pre>
+</section></section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/faq.html b/native_client_sdk/doc_generated/faq.html
new file mode 100644
index 0000000..3931d8d
--- /dev/null
+++ b/native_client_sdk/doc_generated/faq.html
@@ -0,0 +1,517 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<section id="frequently-asked-questions">
+<h1 id="frequently-asked-questions">Frequently Asked Questions</h1>
+<div class="contents local topic" id="contents">
+<ul class="small-gap">
+<li><p class="first"><a class="reference internal" href="#what-is-native-client-good-for" id="id3">What is Native Client Good For?</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#why-did-google-build-native-client" id="id4">Why did Google build Native Client?</a></li>
+<li><a class="reference internal" href="#when-should-i-use-native-client" id="id5">When should I use Native Client?</a></li>
+<li><a class="reference internal" href="#when-should-i-use-portable-native-client" id="id6">When should I use Portable Native Client?</a></li>
+<li><a class="reference internal" href="#how-fast-does-code-run-in-portable-native-client" id="id7">How fast does code run in Portable Native Client?</a></li>
+<li><a class="reference internal" href="#why-use-portable-native-client-instead-of-technology-x" id="id8">Why use Portable Native Client instead of <em><technology X></em>?</a></li>
+<li><a class="reference internal" href="#if-i-want-direct-access-to-the-os-should-i-use-native-client" id="id9">If I want direct access to the OS, should I use Native Client?</a></li>
+</ul>
+</li>
+<li><p class="first"><a class="reference internal" href="#development-environments-and-tools" id="id10">Development Environments and Tools</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#what-development-environment-and-development-operating-system-do-you-recommend" id="id11">What development environment and development operating system do you recommend?</a></li>
+<li><a class="reference internal" href="#i-m-not-familiar-with-native-development-tools-can-i-still-use-the-native-client-sdk" id="id12">I’m not familiar with native development tools, can I still use the Native Client SDK?</a></li>
+</ul>
+</li>
+<li><p class="first"><a class="reference internal" href="#openness-and-supported-architectures-and-languages" id="id13">Openness, and Supported Architectures and Languages</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#is-native-client-open-is-it-a-standard" id="id14">Is Native Client open? Is it a standard?</a></li>
+<li><a class="reference internal" href="#what-are-the-supported-instruction-set-architectures" id="id15">What are the supported instruction set architectures?</a></li>
+<li><a class="reference internal" href="#do-i-have-to-use-c-or-c-i-d-really-like-to-use-another-language" id="id16">Do I have to use C or C++? I’d really like to use another language.</a></li>
+<li><a class="reference internal" href="#will-you-only-support-chrome-what-about-other-browsers" id="id17">Will you only support Chrome? What about other browsers?</a></li>
+<li><a class="reference internal" href="#what-s-the-difference-between-npapi-and-pepper" id="id18">What’s the difference between NPAPI and Pepper?</a></li>
+<li><a class="reference internal" href="#is-npapi-part-of-the-native-client-sdk" id="id19">Is NPAPI part of the Native Client SDK?</a></li>
+<li><a class="reference internal" href="#does-native-client-support-simd-vector-instructions" id="id20">Does Native Client support SIMD vector instructions?</a></li>
+<li><a class="reference internal" href="#can-i-use-native-client-for-3d-graphics" id="id21">Can I use Native Client for 3D graphics?</a></li>
+<li><a class="reference internal" href="#does-native-client-support-concurrency-parallelism" id="id22">Does Native Client support concurrency/parallelism?</a></li>
+</ul>
+</li>
+<li><p class="first"><a class="reference internal" href="#coming-soon" id="id23">Coming Soon</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#do-native-client-modules-have-access-to-external-devices" id="id24">Do Native Client modules have access to external devices?</a></li>
+</ul>
+</li>
+<li><p class="first"><a class="reference internal" href="#security-and-privacy" id="id25">Security and Privacy</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#what-happens-to-my-data-when-i-use-native-client" id="id26">What happens to my data when I use Native Client?</a></li>
+<li><a class="reference internal" href="#how-does-native-client-prevent-sandboxed-code-from-doing-bad-things" id="id27">How does Native Client prevent sandboxed code from doing Bad Things?</a></li>
+<li><a class="reference internal" href="#how-does-google-know-that-the-safety-measures-in-native-client-are-sufficient" id="id28">How does Google know that the safety measures in Native Client are sufficient?</a></li>
+</ul>
+</li>
+<li><p class="first"><a class="reference internal" href="#development" id="id29">Development</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#how-do-i-debug" id="id30">How do I debug?</a></li>
+<li><a class="reference internal" href="#how-do-i-build-x86-32-x86-64-or-arm-nexes" id="id31">How do I build x86-32, x86-64 or ARM <code>.nexes</code>?</a></li>
+<li><a class="reference internal" href="#how-can-my-web-application-determine-which-nexe-to-load" id="id32">How can my web application determine which <code>.nexe</code> to load?</a></li>
+<li><a class="reference internal" href="#is-it-possible-to-build-a-native-client-module-with-just-plain-c-not-c" id="id33">Is it possible to build a Native Client module with just plain C (not C++)?</a></li>
+<li><a class="reference internal" href="#what-unix-system-calls-can-i-make-through-native-client" id="id34">What UNIX system calls can I make through Native Client?</a></li>
+<li><a class="reference internal" href="#is-my-favorite-third-party-library-available-for-native-client" id="id35">Is my favorite third-party library available for Native Client?</a></li>
+<li><a class="reference internal" href="#do-all-the-files-in-an-application-need-to-be-served-from-the-same-domain" id="id36">Do all the files in an application need to be served from the same domain?</a></li>
+</ul>
+</li>
+<li><p class="first"><a class="reference internal" href="#portability" id="id37">Portability</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#do-i-have-to-do-anything-special-to-make-my-application-run-on-different-operating-systems" id="id38">Do I have to do anything special to make my application run on different operating systems?</a></li>
+<li><a class="reference internal" href="#how-easy-is-it-to-port-my-existing-native-code-to-native-client" id="id39">How easy is it to port my existing native code to Native Client?</a></li>
+</ul>
+</li>
+<li><p class="first"><a class="reference internal" href="#troubleshooting" id="id40">Troubleshooting</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#my-pexe-isn-t-loading-help" id="id41">My <code>.pexe</code> isn’t loading, help!</a></li>
+<li><a class="reference internal" href="#my-nexe-files-never-finish-loading-what-gives" id="id42">My <code>.nexe</code> files never finish loading. What gives?</a></li>
+</ul>
+</li>
+</ul>
+</div>
+<p>This document answers some frequently asked questions about Native
+Client (NaCl) and Portable Native Client (PNaCl, pronounced
+“pinnacle”). For a high-level overview of Native Client, see the
+<a class="reference internal" href="/native-client/overview.html"><em>Technical Overview</em></a>.</p>
+<p>If you have questions that aren’t covered in this FAQ:</p>
+<ul class="small-gap">
+<li>Scan through the <a class="reference internal" href="/native-client/sdk/release-notes.html"><em>Release Notes</em></a>.</li>
+<li>Search through or ask on the <a class="reference internal" href="/native-client/help.html"><em>Native Client Forums</em></a>.</li>
+</ul>
+<section id="what-is-native-client-good-for">
+<h2 id="what-is-native-client-good-for">What is Native Client Good For?</h2>
+<section id="why-did-google-build-native-client">
+<h3 id="why-did-google-build-native-client">Why did Google build Native Client?</h3>
+<ul class="small-gap">
+<li><strong>Performance:</strong> Native Client modules run nearly as fast as native
+compiled code.</li>
+<li><strong>Security:</strong> Native Client lets users run native compiled code in the
+browser with the same level of security and privacy as traditional web
+applications.</li>
+<li><p class="first"><strong>Convenience:</strong></p>
+<ul class="small-gap">
+<li>Developers can leverage existing code, written in C/C++ or other
+languages, in their applications without forcing users to install a
+plugin.</li>
+<li>This code can interact with the embedding web page as part of an
+HTML and JavaScript web application, or it can be a self-contained
+and immersive experience.</li>
+</ul>
+</li>
+<li><p class="first"><strong>Portability:</strong> Native Client and Portable Native Client applications
+can execute on:</p>
+<ul class="small-gap">
+<li>The Windows, Mac, Linux or ChromeOS operating systems.</li>
+<li>Processors with the x86-32, x86-64, or ARM instruction set
+architectures. Native Client also has experimental support for MIPS.</li>
+</ul>
+</li>
+</ul>
+<p>Portable Native client further enhances the above:</p>
+<ul class="small-gap">
+<li><strong>Performance:</strong> Each PNaCl release brings with it more performance
+enhancements. Already-released applications get faster over time,
+conserving user’s battery.</li>
+<li><strong>Security:</strong> Users are kept secure with an ever-improving sandbox
+model which adapts to novel attacks, without affecting
+already-released applications.</li>
+<li><strong>Convenience:</strong> Developers only need to ship a single <code>.pexe</code> file,
+not one <code>.nexe</code> file per supported architecture.</li>
+<li><strong>Portability:</strong> Developers and users don’t need to worry about
+already-released applications not working on new hardware: PNaCl
+already supports all architectures NaCl does, and as PNaCl evolves it
+gains support for new processors and fully uses their capabilities.</li>
+</ul>
+<p>For more details, refer to the <a class="reference internal" href="/native-client/nacl-and-pnacl.html"><em>history behind and comparison of
+NaCl and PNaCl</em></a>.</p>
+</section><section id="when-should-i-use-native-client">
+<h3 id="when-should-i-use-native-client">When should I use Native Client?</h3>
+<p>The following are some typical use cases. For details, see the
+<a class="reference internal" href="/native-client/overview.html"><em>Technical Overview</em></a>.</p>
+<ul class="small-gap">
+<li>Porting existing software components for use in a web application.</li>
+<li>Porting legacy desktop applications.</li>
+<li>Handling browser-side encryption and decryption for an enterprise
+application.</li>
+<li>Handling multimedia for a web application.</li>
+<li>Handling various aspects of web-based games, including physics engines
+and AI.</li>
+</ul>
+<p>Native Client is a versatile technology; we expect that it will also be
+used in many other contexts outside of Chrome.</p>
+</section><section id="when-should-i-use-portable-native-client">
+<h3 id="when-should-i-use-portable-native-client">When should I use Portable Native Client?</h3>
+<p>See <a class="reference internal" href="/native-client/nacl-and-pnacl.html"><em>NaCl and PNaCl</em></a>. In short: PNaCl works on the
+open web whereas NaCl only works on the Chrome Web Store.</p>
+</section><section id="how-fast-does-code-run-in-portable-native-client">
+<h3 id="how-fast-does-code-run-in-portable-native-client">How fast does code run in Portable Native Client?</h3>
+<p>Fast! The SPEC2k benchmarks (C, C++ and floating-point benchmarks) give
+the following overhead for optimized PNaCl compared to regular optimized
+LLVM:</p>
+<table border="1" class="docutils">
+<colgroup>
+</colgroup>
+<tbody valign="top">
+<tr class="row-odd"><td>x86-32</td>
+<td>15%</td>
+</tr>
+<tr class="row-even"><td>x86-64</td>
+<td>25%</td>
+</tr>
+<tr class="row-odd"><td>ARM</td>
+<td>10%</td>
+</tr>
+</tbody>
+</table>
+<p>Note that benchmark performance is sometimes bimodal, so different use
+cases are likely to achieve better or worse performance than the above
+averages. For example floating-point heavy code usually exhibits much
+lower overheads whereas very branch-heavy code often performs worse.</p>
+<p>For details, see:</p>
+<ul class="small-gap">
+<li><a class="reference external" href="https://nativeclient.googlecode.com/svn/data/site/NaCl_SFI.pdf">Adapting Software Fault Isolation to Contemporary CPU Architectures</a> (PDF).</li>
+<li><a class="reference external" href="http://research.google.com/pubs/pub34913.html">Native Client: A Sandbox for Portable, Untrusted x86 Code</a> (PDF).</li>
+</ul>
+<p>If your code isn’t performing as close to native speed as you’d expect,
+<a class="reference internal" href="/native-client/help.html"><em>let us know</em></a>!</p>
+</section><section id="why-use-portable-native-client-instead-of-technology-x">
+<h3 id="why-use-portable-native-client-instead-of-technology-x">Why use Portable Native Client instead of <em><technology X></em>?</h3>
+<p>Many other technologies can be compared to Portable Native Client:
+Flash, Java, Silverlight, ActiveX, .NET, asm.js, etc...</p>
+<p>Different technologies have different strengths and weaknesses. In
+appropriate contexts, Portable Native Client can be faster, more secure,
+and/or more compatible across operating systems and architectures than
+other technologies.</p>
+<p>Portable Native Client complement other technologies by giving web
+developers a new capability: the ability to run fast, secure native code
+from a web browser in an architecture-independent way.</p>
+</section><section id="if-i-want-direct-access-to-the-os-should-i-use-native-client">
+<h3 id="if-i-want-direct-access-to-the-os-should-i-use-native-client">If I want direct access to the OS, should I use Native Client?</h3>
+<p>No—Native Client does not provide direct access to the OS or devices,
+or otherwise bypass the JavaScript security model. For more information,
+see later sections of this FAQ.</p>
+</section></section><section id="development-environments-and-tools">
+<h2 id="development-environments-and-tools">Development Environments and Tools</h2>
+<section id="what-development-environment-and-development-operating-system-do-you-recommend">
+<h3 id="what-development-environment-and-development-operating-system-do-you-recommend">What development environment and development operating system do you recommend?</h3>
+<p>You can develop on Windows, Mac, or Linux, and the resulting Native
+Client or Portable Native Client application will run inside the Google
+Chrome browser on all those platforms as well as ChromeOS. You can also
+develop on ChromeOS with <a class="reference external" href="https://github.com/dnschneid/crouton">Crouton</a>, and we’re working on
+self-hosting a full development environment on Portable Native Client.</p>
+<p>Any editor+shell combination should work as well as IDEs like Eclipse,
+Visual Studio with the <a class="reference internal" href="/native-client/devguide/devcycle/vs-addin.html"><em>Native Client Add-In</em></a> on Windows, or Xcode on Mac OSX.</p>
+</section><section id="i-m-not-familiar-with-native-development-tools-can-i-still-use-the-native-client-sdk">
+<h3 id="i-m-not-familiar-with-native-development-tools-can-i-still-use-the-native-client-sdk">I’m not familiar with native development tools, can I still use the Native Client SDK?</h3>
+<p>You may find our <a class="reference internal" href="/native-client/devguide/tutorial/index.html"><em>Tutorial</em></a> and <a class="reference internal" href="/native-client/devguide/devcycle/building.html"><em>Building
+instructions</em></a> useful, and you can look at
+the code and Makefiles for the SDK examples to understand how the
+examples are built and run.</p>
+<p>You’ll need to learn how to use some tools (like GCC, LLVM, make,
+Eclipse, Visual Studio, or Xcode) before you can get very far with the
+SDK. Try seaching for an <a class="reference external" href="https://www.google.com/search?q=gcc+introduction">introduction to GCC</a>.</p>
+</section></section><section id="openness-and-supported-architectures-and-languages">
+<h2 id="openness-and-supported-architectures-and-languages">Openness, and Supported Architectures and Languages</h2>
+<section id="is-native-client-open-is-it-a-standard">
+<h3 id="is-native-client-open-is-it-a-standard">Is Native Client open? Is it a standard?</h3>
+<p>Native Client is completely open: the executable format is open and the
+<a class="reference external" href="nacl_project_">source code is open</a>. Right
+now the Native Client project is in its early stages, so it’s premature
+to consider Native Client for standardization.</p>
+<p>We consistenly try to document our design and implementation and hope to
+standardize Portable Native Client when it gains more traction. A good
+example is our <a class="reference internal" href="/native-client/reference/pnacl-bitcode-abi.html"><em>PNaCl bitcode reference manual</em></a>.</p>
+</section><section id="what-are-the-supported-instruction-set-architectures">
+<h3 id="what-are-the-supported-instruction-set-architectures">What are the supported instruction set architectures?</h3>
+<p>Portable Native Client uses an architecture-independent format (the
+<code>.pexe</code>) which can currently be translated to execute on processors
+with the x86-32, x86-64, and ARM instruction set architectures, as well
+as experimental support for MIPS. As new architectures come along and
+become popular we expect Portable Native Client to support them without
+developers having to recompile their code.</p>
+<p>Native Client can currently execute on the same architectures as
+Portable Native Client but is only supported on the Chrome Web
+Store. Native Client’s <code>.nexe</code> files are architecture-dependent and
+cannot adapt to new architectures without recompilation, we therefore
+deem them better suited to a web store than to the open web.</p>
+<p>With Portable Native Client we deliver a system that has comparable
+portability to JavaScript and can adapt to new instruction set
+architectures without requiring recompilation. The web is better when
+it’s platform-independent, and we’d like it to stay that way.</p>
+</section><section id="do-i-have-to-use-c-or-c-i-d-really-like-to-use-another-language">
+<span id="other-languages"></span><h3 id="do-i-have-to-use-c-or-c-i-d-really-like-to-use-another-language"><span id="other-languages"></span>Do I have to use C or C++? I’d really like to use another language.</h3>
+<p>Right now only C and C++ are supported directly by the toolchain in the
+SDK. C# and other languages in the .NET family are supported via the
+<a class="reference external" href="https://github.com/elijahtaylor/mono">Mono port</a> for Native
+Client. Moreover, there are several ongoing projects to support
+additional language runtimes (e.g. <a class="reference external" href="https://code.google.com/p/naclports/source/browse#svn%2Ftrunk%2Fsrc%2Fexamples%2Ftools">naclports supports Lua, Python and
+Ruby</a>)
+as well as to compile more languages to LLVM’s intermediate
+representation (e.g. support Haskell with <a class="reference external" href="http://www.haskell.org/ghc/docs/latest/html/users_guide/code-generators.html">GHC</a>
+or support Fortran with <a class="reference external" href="https://flang-gsoc.blogspot.ie/2013/09/end-of-gsoc-report.html">flang</a>), or
+transpile languages to C/C++ (source-to-source compilation).</p>
+<p>If you’re interested in getting other languages working, please contact the
+Native Client team by way of the <a class="reference external" href="https://groups.google.com/group/native-client-discuss">native-client-discuss mailing list</a>.</p>
+</section><section id="will-you-only-support-chrome-what-about-other-browsers">
+<h3 id="will-you-only-support-chrome-what-about-other-browsers">Will you only support Chrome? What about other browsers?</h3>
+<p>We aim to support multiple browsers. However, a number of features that
+we consider requirements for a production-quality system that keeps the
+user safe are difficult to implement without help from the
+browser. Specific examples are an out-of-process plugin architecture and
+appropriate interfaces for integrated 3D graphics. We have worked
+closely with Chromium developers to deliver these features and we are
+eager to collaborate with developers from other browsers.</p>
+</section><section id="what-s-the-difference-between-npapi-and-pepper">
+<h3 id="what-s-the-difference-between-npapi-and-pepper">What’s the difference between NPAPI and Pepper?</h3>
+<p><a class="reference internal" href="/native-client/pepper_stable/index.html"><em>Pepper</em></a> (also known as PPAPI) is a new API that
+lets Native Client modules communicate with the browser. Pepper supports
+various features that don’t have robust support in NPAPI, such as event
+handling, out-of-process plugins, and asynchronous interfaces. Native
+Client has transitioned from using NPAPI to using Pepper.</p>
+</section><section id="is-npapi-part-of-the-native-client-sdk">
+<h3 id="is-npapi-part-of-the-native-client-sdk">Is NPAPI part of the Native Client SDK?</h3>
+<p>NPAPI is not supported by the Native Client SDK, and is <a class="reference external" href="http://blog.chromium.org/2013/09/saying-goodbye-to-our-old-friend-npapi.html">deprecated in
+Chrome</a>.</p>
+</section><section id="does-native-client-support-simd-vector-instructions">
+<h3 id="does-native-client-support-simd-vector-instructions">Does Native Client support SIMD vector instructions?</h3>
+<p>Native Client currently supports SSE on x86 and NEON on ARM. Support for
+AVX on x86 is under way.</p>
+<p>Portable Native Client should support SIMD vectors in the near future.</p>
+</section><section id="can-i-use-native-client-for-3d-graphics">
+<h3 id="can-i-use-native-client-for-3d-graphics">Can I use Native Client for 3D graphics?</h3>
+<p>Yes. Native Client supports <a class="reference external" href="https://www.khronos.org/opengles/">OpenGL ES 2.0</a>.</p>
+<p>To alert the user regarding their hardware platform’s 3D feature set
+before loading a large NaCl application, see <a class="reference internal" href="/native-client/devguide/coding/3D-graphics.html"><em>Vetting the driver in
+Javascript</em></a>.</p>
+<p>Some GL extensions are exposed to Native Client applications, see the
+<a class="reference external" href="https://src.chromium.org/viewvc/chrome/trunk/src/ppapi/lib/gl/gles2/gles2.c">GLES2 file</a>.
+This file is part of the GL wrapper supplied by the library
+<code>ppapi_gles2</code> which you’ll want to include in your project. In most
+cases extensions map to extensions available on other platforms, or
+differ very slightly (if they differ, the extension is usually CHROMIUM
+or ANGLE instead of EXT).</p>
+</section><section id="does-native-client-support-concurrency-parallelism">
+<h3 id="does-native-client-support-concurrency-parallelism">Does Native Client support concurrency/parallelism?</h3>
+<p>Native Client and Portable Native Client both support pthreads,
+C11/C++11 threads, and low-level synchronization primitives (mutex,
+barriers, atomic read/modify/write, compare-and-exchange, etc...), thus
+allowing your Native Client application to utilize several CPU cores.
+Note that this allows you to modify datastructures concurrently without
+needing to copy them, which is often a limitation of shared-nothing
+systems. For more information see <a class="reference internal" href="/native-client/reference/pnacl-c-cpp-language-support.html#memory-model-and-atomics"><em>memory model and atomics</em></a> and <a class="reference internal" href="/native-client/reference/pnacl-c-cpp-language-support.html#language-support-threading"><em>threading</em></a>.</p>
+<p>Native Client doesn’t support HTML5 Web Workers directly but can
+interact with JavaScript code which does.</p>
+</section></section><section id="coming-soon">
+<h2 id="coming-soon">Coming Soon</h2>
+<section id="do-native-client-modules-have-access-to-external-devices">
+<h3 id="do-native-client-modules-have-access-to-external-devices">Do Native Client modules have access to external devices?</h3>
+<p>At this time Native Client modules do not have access to serial ports,
+camera devices, or microphones: Native Client can only use native
+resources that today’s browsers can access. However, we intend to
+recommend such features to the standards bodies and piggyback on their
+efforts to make these resources available inside the browser.</p>
+<p>You can generally think of Pepper as the C/C++ bindings to the
+capabilities of HTML5. The goal is for Pepper and JavaScript to evolve
+together and stay on par with each other with respect to features and
+capabilities.</p>
+</section></section><section id="security-and-privacy">
+<h2 id="security-and-privacy">Security and Privacy</h2>
+<section id="what-happens-to-my-data-when-i-use-native-client">
+<h3 id="what-happens-to-my-data-when-i-use-native-client">What happens to my data when I use Native Client?</h3>
+<p>Users can opt-in to sending usage statistics and crash information in
+Chrome, which includes usage statistics and crash information about
+Native Client. Crashes in your code won’t otherwise send your
+information to Google: Google counts the number of such crashes, but
+does so anonymously without sending your application’s data or its debug
+information.</p>
+<p>For additional information about privacy and Chrome, see the <a class="reference external" href="https://www.google.com/chrome/intl/en/privacy.html">Google
+Chrome privacy policy</a> and the <a class="reference external" href="https://www.google.com/chrome/intl/en/eula_text.html">Google
+Chrome Terms of Service</a>.</p>
+</section><section id="how-does-native-client-prevent-sandboxed-code-from-doing-bad-things">
+<h3 id="how-does-native-client-prevent-sandboxed-code-from-doing-bad-things">How does Native Client prevent sandboxed code from doing Bad Things?</h3>
+<p>Native Client’s sandbox works by validating the untrusted code (the
+compiled Native Client module) before running it. The validator checks
+the following:</p>
+<ul class="small-gap">
+<li><strong>Data integrity:</strong> No loads or stores are permitted outside of the
+data sandbox. In particular this means that once loaded into memory,
+the binary is not writable. This is enforced by operating system
+protection mechanisms. While new instructions can be inserted at
+runtime to support things like JIT compilers, such instructions will
+be subject to runtime verification according to the following
+constraints before they are executed.</li>
+<li><strong>No unsafe instructions:</strong> The validator ensures that the Native
+Client application does not contain any unsafe instructions. Examples
+of unsafe instructions are <code>syscall</code>, <code>int</code>, and <code>lds</code>.</li>
+<li><strong>Control flow integrity:</strong> The validator ensures that all direct and
+indirect branches target a safe instruction.</li>
+</ul>
+<p>The beauty of the Native Client sandbox is in reducing “safe” code to a
+few simple rules that can be verified by a small trusted validator: the
+compiler isn’t trusted. The same applies to Portable Native Client where
+even the <code>.pexe</code> to <code>.nexe</code> translator, a simplified compiler
+backend, isn’t trusted: it is validated before executing, and so is its
+output.</p>
+<p>In addition to static analysis of untrusted code, the Native Client
+runtime also includes an outer sandbox that mediates system calls. For
+more details about both sandboxes, see <a class="reference external" href="http://research.google.com/pubs/pub34913.html">Native Client: A Sandbox for
+Portable, Untrusted x86 Code</a>
+(PDF).</p>
+</section><section id="how-does-google-know-that-the-safety-measures-in-native-client-are-sufficient">
+<h3 id="how-does-google-know-that-the-safety-measures-in-native-client-are-sufficient">How does Google know that the safety measures in Native Client are sufficient?</h3>
+<p>Google has taken several steps to ensure that Native Client’s security
+works, including:</p>
+<ul class="small-gap">
+<li>Open source, peer-reviewed papers describing the design.</li>
+<li>A <a class="reference internal" href="/native-client/community/security-contest/index.html"><em>security contest</em></a>.</li>
+<li>Multiple internal and external security reviews.</li>
+<li>The ongoing vigilance of our engineering and developer community.</li>
+</ul>
+<p>Google is committed to making Native Client safer than JavaScript and
+other popular browser technologies. If you have suggestions for security
+improvements, let the team know, by way of the <a class="reference external" href="https://groups.google.com/group/native-client-discuss">native-client-discuss
+mailing list</a>.</p>
+</section></section><section id="development">
+<h2 id="development">Development</h2>
+<section id="how-do-i-debug">
+<h3 id="how-do-i-debug">How do I debug?</h3>
+<p>Instructions on <a class="reference internal" href="/native-client/sdk/examples.html#debugging-the-sdk-examples"><em>debugging the SDK examples</em></a> using GDB are available. You can also
+debug Native Client modules with some <a class="reference internal" href="/native-client/devguide/devcycle/debugging.html"><em>alternative approaches</em></a>.</p>
+</section><section id="how-do-i-build-x86-32-x86-64-or-arm-nexes">
+<h3 id="how-do-i-build-x86-32-x86-64-or-arm-nexes">How do I build x86-32, x86-64 or ARM <code>.nexes</code>?</h3>
+<p>By default, the applications in the <code>/examples</code> folder create
+architecture-independent <code>.pexe</code> for Portable Native Client. To
+generate a <code>.nexe</code> targetting one specific architecture using the
+Native Client or Portable Native Client toolchains, see the
+<a class="reference internal" href="/native-client/devguide/devcycle/building.html"><em>Building instructions</em></a>.</p>
+</section><section id="how-can-my-web-application-determine-which-nexe-to-load">
+<h3 id="how-can-my-web-application-determine-which-nexe-to-load">How can my web application determine which <code>.nexe</code> to load?</h3>
+<p>Your application does not need to make the decision of loading an
+x86-32, x86-64 or ARM <code>.nexe</code> explicitly—the Native Client runtime
+examines a manifest file (<code>.nmf</code>) to pick the right <code>.nexe</code> file for
+a given user. You can generate a manifest file using a Python script
+that’s included in the SDK (see the <code>Makefile</code> in any of the SDK
+examples for an illustration of how to do so). Your HTML file specifies
+the manifest filename in the <code>src</code> attribute of the <code><embed></code>
+tag. You can see the way the pieces fit together by examining the
+examples included in the SDK.</p>
+</section><section id="is-it-possible-to-build-a-native-client-module-with-just-plain-c-not-c">
+<h3 id="is-it-possible-to-build-a-native-client-module-with-just-plain-c-not-c">Is it possible to build a Native Client module with just plain C (not C++)?</h3>
+<p>Yes. See the <code>"Hello, World!"</code> in C example in the SDK under
+<code>examples/tutorial/using_ppapi_simple/</code>, or the Game of Life example
+under <code>examples/demo/life/life.c</code>.</p>
+</section><section id="what-unix-system-calls-can-i-make-through-native-client">
+<h3 id="what-unix-system-calls-can-i-make-through-native-client">What UNIX system calls can I make through Native Client?</h3>
+<p>Native Client doesn’t directly expose any system calls from the host OS
+because of the inherent security risks and because the resulting
+application would not be portable across operating systems. Instead,
+Native Client provides portable cross-OS abstractions wrapping or
+proxying OS functionality or emulating UNIX system calls. For example,
+Native Client provides an <code>mmap()</code> system call that behaves much like
+the standard UNIX <code>mmap()</code> system call.</p>
+</section><section id="is-my-favorite-third-party-library-available-for-native-client">
+<h3 id="is-my-favorite-third-party-library-available-for-native-client">Is my favorite third-party library available for Native Client?</h3>
+<p>Google has ported several third-party libraries to Native Client; such
+libraries are available in the <a class="reference external" href="https://code.google.com/p/naclports">naclports</a> project. We encourage you to
+contribute libraries to naclports, and/or to host your own ported
+libraries, and to <a class="reference external" href="https://groups.google.com/group/native-client-discuss">let the team know about it</a> when you do.</p>
+</section><section id="do-all-the-files-in-an-application-need-to-be-served-from-the-same-domain">
+<h3 id="do-all-the-files-in-an-application-need-to-be-served-from-the-same-domain">Do all the files in an application need to be served from the same domain?</h3>
+<p>The <code>.nmf</code>, and <code>.nexe</code> or <code>.pexe</code> files must either be served from the
+same origin as the embedding page or an origin that has been configured
+correctly using <a class="reference external" href="http://en.wikipedia.org/wiki/Cross-origin_resource_sharing">CORS</a>.</p>
+<p>For applications installed from the Chrome Web Store the Web Store manifest
+must include the correct, verified domain of the embedding page.</p>
+</section></section><section id="portability">
+<h2 id="portability">Portability</h2>
+<section id="do-i-have-to-do-anything-special-to-make-my-application-run-on-different-operating-systems">
+<h3 id="do-i-have-to-do-anything-special-to-make-my-application-run-on-different-operating-systems">Do I have to do anything special to make my application run on different operating systems?</h3>
+<p>No. Native Client and Portable Native Client applications run without
+modification on all supported operating systems.</p>
+<p>However, to run on different instruction set architectures (such as
+x86-32, x86-64 or ARM), you currently have to either:</p>
+<ul class="small-gap">
+<li>Use Portable Native Client.</li>
+<li>Build and supply a separate <code>.nexe</code> file for each architecture, and
+make them available on the Chrome Web Store. See <a class="reference internal" href="/native-client/devguide/devcycle/building.html"><em>target
+architectures</em></a> for details about which
+<code>.nexe</code> files will run on which architectures.</li>
+</ul>
+</section><section id="how-easy-is-it-to-port-my-existing-native-code-to-native-client">
+<h3 id="how-easy-is-it-to-port-my-existing-native-code-to-native-client">How easy is it to port my existing native code to Native Client?</h3>
+<p>In most cases you won’t have to rewrite much, if any, code. The Native
+Client-specific tools, such as <code>pnacl-clang++</code> or <code>x86_64-nacl-g++</code>,
+take care of most of the necessary changes. You may need to make some
+changes to your operating system calls and interactions with external
+devices to work with the web. Porting existing Linux libraries is
+generally straightforward, with large libraries often requiring no
+source change.</p>
+<p>The following kinds of code may be more challenging to port:</p>
+<ul class="small-gap">
+<li>Code that does direct TCP/IP or UDP networking. For security reasons
+these APIs are only available to packaged applications, not on the
+open web, after asking for the appropriate permissions. Native Client
+is otherwise restricted to the networking APIs available in the
+browser.</li>
+<li>Code that creates processes, including UNIX forks. Creating processes
+is not supported for security reasons. However, threads are supported.</li>
+<li>Code that needs to do local file I/O. Native Client is restricted to
+accessing URLs and to local storage in the browser (the Pepper file I/O API
+has access to the same per-application storage that JavaScript has via Local
+Storage). HTML5 File System can be used, among others. For POSIX compatabiliy
+the Native Client SDK includes a library called nacl_io which allows the
+application to interact with all these types of files via standard POSIX I/O
+functions (e.g. open/fopen/read/write/...). See <a class="reference internal" href="/native-client/devguide/coding/nacl_io.html"><em>Using NaCl I/O</em></a> for more details.</li>
+</ul>
+</section></section><section id="troubleshooting">
+<span id="faq-troubleshooting"></span><h2 id="troubleshooting"><span id="faq-troubleshooting"></span>Troubleshooting</h2>
+<section id="my-pexe-isn-t-loading-help">
+<h3 id="my-pexe-isn-t-loading-help">My <code>.pexe</code> isn’t loading, help!</h3>
+<ul class="small-gap">
+<li>You must use Google Chrome version 31 or greater for Portable Native
+Client. Make sure you have Portable Native Client installed in
+<code>about:nacl</code>; if not open <code>about:components</code> and “Check for
+update” for PNaCl.</li>
+<li>PNaCl <code>.pexe</code> must be compiled with pepper_31 SDK or higher (earlier
+SDK versions had experimental support for PNaCl, now deprecated).</li>
+<li>Your application can verify that Portable Native Client is supported
+in JavaScript with <code>navigator.mimeTypes['application/x-pnacl'] !==
+undefined</code>. This is preferred over checking the Chrome version.</li>
+</ul>
+</section><section id="my-nexe-files-never-finish-loading-what-gives">
+<h3 id="my-nexe-files-never-finish-loading-what-gives">My <code>.nexe</code> files never finish loading. What gives?</h3>
+<p>Here are ways to resolve some common problems that can prevent loading:</p>
+<ul class="small-gap">
+<li>You must use Google Chrome version 14 or greater for Native Client.</li>
+<li>If you haven’t already done so, enable the Native Client flag in
+Google Chrome. Type <code>about:flags</code> in the Chrome address bar, scroll
+down to “Native Client”, click the “Enable” link, scroll down to the
+bottom of the page, and click the “Relaunch Now” button (all browser
+windows will restart).</li>
+<li>Verify that the Native Client plugin is enabled in Google Chrome. Type
+<code>about:plugins</code> in the Chrome address bar, scroll down to “Native
+Client”, and click the “Enable” link. (You do not need to relaunch
+Chrome after you enable the Native Client plugin).</li>
+<li>Make sure that the <code>.nexe</code> files are being served from a web
+server. Native Client uses the same-origin security policy, which
+means that modules will not load in pages opened with the <code>file://</code>
+protocol. In particular, you can’t run the examples in the SDK by
+simply dragging the HTML files from the desktop into the browser. See
+<a class="reference internal" href="/native-client/devguide/devcycle/running.html"><em>Running Native Client Applications</em></a>
+for instructions on how to run the httpd.py mini-server included in
+the SDK.</li>
+<li>The <code>.nexe</code> files must have been compiled using SDK version 0.5 or
+greater.</li>
+<li>You must load the correct <code>.nexe</code> file for your machine’s specific
+instruction set architecture (x86-32, x86-64 or ARM). You can ensure
+you’re loading the correct <code>.nexe</code> file by building a separate
+<code>.nexe</code> for each architecture, and using a <code>.nmf</code> manifest file to
+let the browser select the correct <code>.nexe</code> file. Note: the need to
+select a processor-specific <code>.nexe</code> goes away with Portable Native
+Client.</li>
+<li>If things still aren’t working, <a class="reference internal" href="/native-client/help.html"><em>ask for help</em></a>!</li>
+</ul>
+</section></section></section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/glossary.html b/native_client_sdk/doc_generated/glossary.html
new file mode 100644
index 0000000..082a3a0
--- /dev/null
+++ b/native_client_sdk/doc_generated/glossary.html
@@ -0,0 +1,56 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<section id="glossary">
+<span id="id1"></span><h1 id="glossary"><span id="id1"></span>Glossary</h1>
+<p>This glossary defines terms and names commonly used throughout the Native Client
+documentation.</p>
+<dl class="docutils">
+<dt>asynchronous programming</dt>
+<dd>In the asynchronous programming model, function calls are executed and return
+immediately without waiting for a response. Using this model, function calls
+are non-blocking; the web browser continues its main thread of execution
+and gets notified of asynchronous call completion through callbacks or some
+other mechanism.</dd>
+<dt>focus events</dt>
+<dd>Events that indicate whether certain parts of a web page are
+in or out of focus.</dd>
+<dt>input events</dt>
+<dd>Events that occur when an input device (such as keyboard or mouse)
+is used to interact with an module instance.</dd>
+<dt>instance</dt>
+<dd>A rectangle on a web page that is managed by a Native Client module (the
+rectangle can have <code>width=0</code> and <code>height=0</code>, which means that nothing is
+drawn on the page).</dd>
+<dt>manifest file</dt>
+<dd>A file containing metadata or information about accompanying files.</dd>
+<dt>message events</dt>
+<dd>Events used to pass data between JavaScript and the Native Client
+module (see the <a class="reference internal" href="/native-client/devguide/coding/message-system.html"><em>Messaging System</em></a> chapter).</dd>
+<dt>module</dt>
+<dd>Depending on context, “module” may mean one of two things. First, it may be a
+general short-term for for “Native Client module”—compiled C/C++ code
+produced with a Native Client toolchain (for example PNaCl). See
+<a class="reference internal" href="/native-client/overview.html#link-how-nacl-works"><em>How Native Client works</em></a> for more details.
+Second, it may refer to a concrete implementation of the <a class="reference external" href="https://developers.google.com/native-client/peppercpp/classpp_1_1_module">pp::Module class</a>
+for some Native Client module.</dd>
+<dt>progress events</dt>
+<dd>Events generated by the Native Client runtime system during the
+module loading process.</dd>
+<dt>Var</dt>
+<dd>An object in a Native Client module that corresponds to a JavaScript
+variable.</dd>
+<dt>view change events</dt>
+<dd>Events that occur when a change in the browser affects the
+module instance (such as resizing the browser window or going to
+and from fullscreen mode).</dd>
+<dt>web workers</dt>
+<dd><a class="reference external" href="http://en.wikipedia.org/wiki/Web_Workers">Web workers</a> provide a
+mechanism for running heavy-weight JavaScript code on background threads
+so that the main web page can continue to respond to user interaction.
+Web pages interact with web workers by using <code>postMessage()</code> to send
+messages. The way a web page interacts with a Native Client module
+is analogous to the way it interacts with web workers.</dd>
+</dl>
+</section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/help.html b/native_client_sdk/doc_generated/help.html
new file mode 100644
index 0000000..baf5440e
--- /dev/null
+++ b/native_client_sdk/doc_generated/help.html
@@ -0,0 +1,50 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<section id="help-with-nacl">
+<span id="help"></span><h1 id="help-with-nacl"><span id="help"></span>Help with NaCl</h1>
+<p>Check the documentation resources below for help with common issues and
+problems. For additional questions, reach out to the Native Client
+community in the forums below. You can also <a class="reference internal" href="#report-issue"><em>report new issues</em></a> using the Native Client issue tracker.</p>
+<section id="documentation">
+<h2 id="documentation">Documentation</h2>
+<ul class="small-gap">
+<li><a class="reference internal" href="/native-client/sdk/release-notes.html"><em>Release Notes</em></a>.</li>
+<li><a class="reference internal" href="/native-client/faq.html"><em>FAQ</em></a>.</li>
+<li><a class="reference external" href="https://devsite.googleplex.com/native-client/community/talks">Talks, Demos, and Publications</a> (see
+especially Colt McAnlis’ talk on porting C++ games to Native Client).</li>
+</ul>
+</section><section id="forums">
+<h2 id="forums">Forums</h2>
+<ul class="small-gap">
+<li>For new Native Client developers: <a class="reference external" href="http://stackoverflow.com/questions/tagged/google-nativeclient">Stack Overflow</a> is a
+great resource — check this forum first for answers to your
+questions.</li>
+<li>For in-depth technical discussions: <a class="reference external" href="https://groups.google.com/group/native-client-discuss">native-client-discuss mailing
+list</a> is a good
+group for detailed technical discussions about bugs and other Native Client
+issues. * For announcements, follow the <a class="reference external" href="http://groups.google.com/group/native-client-announce">native-client-announce mailing list</a>.</li>
+<li>For 140 character goodness follow <a class="reference external" href="https://twitter.com/nativeclient">@nativeclient</a> on Twitter.</li>
+</ul>
+</section><section id="issue-tracker">
+<span id="report-issue"></span><h2 id="issue-tracker"><span id="report-issue"></span>Issue tracker</h2>
+<p>To report a new issue:</p>
+<ol class="arabic simple">
+<li>Go to the <a class="reference external" href="https://code.google.com/p/nativeclient/issues">Native Client issue tracker</a> for a Native Client
+bug, or the <a class="reference external" href="https://code.google.com/p/chromium/issues">Chromium issue tracker</a> for a Chrome/Chromium bug.</li>
+<li>Before you report an issue, search to see if your issue has already
+been reported. You can add a comment to an existing issue if you have
+additional information.</li>
+<li>To report a new issue, fill out the Summary and Description fields on
+the issue form and click the “Submit issue” button. You can report:<ul class="small-gap">
+<li>A <a class="reference external" href="https://code.google.com/p/nativeclient/issues/entry?template=Defect%20report">Native Client defect</a>.</li>
+<li>A <a class="reference external" href="https://code.google.com/p/nativeclient/issues/entry?template=Security%20Bug">Native Client security issue</a>
+(only visible to the security team).</li>
+<li>A <a class="reference external" href="https://code.google.com/p/chromium/issues/entry?template=NaCl%20Issue">Native Client + Chrome integration issue</a>.</li>
+<li>A <a class="reference external" href="https://code.google.com/p/chromium/issues/entry?template=Security%20Bug">Native Client + Chrome integration security issue</a>
+(only visible to the security team).</li>
+</ul>
+</li>
+</ol>
+</section></section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/images/3d-graphics-render-loop.png b/native_client_sdk/doc_generated/images/3d-graphics-render-loop.png
new file mode 100644
index 0000000..3d2aac5
--- /dev/null
+++ b/native_client_sdk/doc_generated/images/3d-graphics-render-loop.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/images/NaclBlock.png b/native_client_sdk/doc_generated/images/NaclBlock.png
new file mode 100644
index 0000000..c84edbf
--- /dev/null
+++ b/native_client_sdk/doc_generated/images/NaclBlock.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/images/calendar-32.gif b/native_client_sdk/doc_generated/images/calendar-32.gif
new file mode 100644
index 0000000..cb81002
--- /dev/null
+++ b/native_client_sdk/doc_generated/images/calendar-32.gif
Binary files differ
diff --git a/native_client_sdk/doc_generated/images/check-red.png b/native_client_sdk/doc_generated/images/check-red.png
new file mode 100644
index 0000000..8c86175
--- /dev/null
+++ b/native_client_sdk/doc_generated/images/check-red.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/images/code-32.gif b/native_client_sdk/doc_generated/images/code-32.gif
new file mode 100644
index 0000000..845c6bd
--- /dev/null
+++ b/native_client_sdk/doc_generated/images/code-32.gif
Binary files differ
diff --git a/native_client_sdk/doc_generated/images/extensions-management.png b/native_client_sdk/doc_generated/images/extensions-management.png
new file mode 100644
index 0000000..e3cb517a
--- /dev/null
+++ b/native_client_sdk/doc_generated/images/extensions-management.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/images/fileioexample.png b/native_client_sdk/doc_generated/images/fileioexample.png
new file mode 100644
index 0000000..114ccb8
--- /dev/null
+++ b/native_client_sdk/doc_generated/images/fileioexample.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/images/gear-icon.png b/native_client_sdk/doc_generated/images/gear-icon.png
new file mode 100644
index 0000000..ca0b3a72
--- /dev/null
+++ b/native_client_sdk/doc_generated/images/gear-icon.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/images/gift-32.gif b/native_client_sdk/doc_generated/images/gift-32.gif
new file mode 100644
index 0000000..845ad6f
--- /dev/null
+++ b/native_client_sdk/doc_generated/images/gift-32.gif
Binary files differ
diff --git a/native_client_sdk/doc_generated/images/icon128.png b/native_client_sdk/doc_generated/images/icon128.png
new file mode 100644
index 0000000..a10c52a
--- /dev/null
+++ b/native_client_sdk/doc_generated/images/icon128.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/images/icon16.png b/native_client_sdk/doc_generated/images/icon16.png
new file mode 100644
index 0000000..0a8d70c
--- /dev/null
+++ b/native_client_sdk/doc_generated/images/icon16.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/images/medal-64_1st.png b/native_client_sdk/doc_generated/images/medal-64_1st.png
new file mode 100644
index 0000000..4296be6
--- /dev/null
+++ b/native_client_sdk/doc_generated/images/medal-64_1st.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/images/medal-64_2nd.png b/native_client_sdk/doc_generated/images/medal-64_2nd.png
new file mode 100644
index 0000000..1af8e1c0
--- /dev/null
+++ b/native_client_sdk/doc_generated/images/medal-64_2nd.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/images/medal-64_3rd.png b/native_client_sdk/doc_generated/images/medal-64_3rd.png
new file mode 100644
index 0000000..8e18691
--- /dev/null
+++ b/native_client_sdk/doc_generated/images/medal-64_3rd.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/images/medal-64_4th.png b/native_client_sdk/doc_generated/images/medal-64_4th.png
new file mode 100644
index 0000000..2583d73
--- /dev/null
+++ b/native_client_sdk/doc_generated/images/medal-64_4th.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/images/menu-icon.png b/native_client_sdk/doc_generated/images/menu-icon.png
new file mode 100644
index 0000000..73a3f7c
--- /dev/null
+++ b/native_client_sdk/doc_generated/images/menu-icon.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/images/nacl-in-a-web-app.png b/native_client_sdk/doc_generated/images/nacl-in-a-web-app.png
new file mode 100644
index 0000000..1ffed338
--- /dev/null
+++ b/native_client_sdk/doc_generated/images/nacl-in-a-web-app.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/images/nacl-pnacl-component-diagram.png b/native_client_sdk/doc_generated/images/nacl-pnacl-component-diagram.png
new file mode 100644
index 0000000..338be19
--- /dev/null
+++ b/native_client_sdk/doc_generated/images/nacl-pnacl-component-diagram.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/images/nacl_io1.png b/native_client_sdk/doc_generated/images/nacl_io1.png
new file mode 100644
index 0000000..78d1867
--- /dev/null
+++ b/native_client_sdk/doc_generated/images/nacl_io1.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/images/new-tab-apps.png b/native_client_sdk/doc_generated/images/new-tab-apps.png
new file mode 100644
index 0000000..e05dcda3
--- /dev/null
+++ b/native_client_sdk/doc_generated/images/new-tab-apps.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/images/pepper-audio-api.png b/native_client_sdk/doc_generated/images/pepper-audio-api.png
new file mode 100644
index 0000000..cbce867
--- /dev/null
+++ b/native_client_sdk/doc_generated/images/pepper-audio-api.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/images/pepper-audio-buffer.png b/native_client_sdk/doc_generated/images/pepper-audio-buffer.png
new file mode 100644
index 0000000..d7a55be
--- /dev/null
+++ b/native_client_sdk/doc_generated/images/pepper-audio-buffer.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/images/pepper-urlloader-api.png b/native_client_sdk/doc_generated/images/pepper-urlloader-api.png
new file mode 100644
index 0000000..7401c6f1
--- /dev/null
+++ b/native_client_sdk/doc_generated/images/pepper-urlloader-api.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/images/puzzle.png b/native_client_sdk/doc_generated/images/puzzle.png
new file mode 100644
index 0000000..73bf3a2
--- /dev/null
+++ b/native_client_sdk/doc_generated/images/puzzle.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/images/visualstudio1.png b/native_client_sdk/doc_generated/images/visualstudio1.png
new file mode 100644
index 0000000..b37f56d
--- /dev/null
+++ b/native_client_sdk/doc_generated/images/visualstudio1.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/images/visualstudio2.png b/native_client_sdk/doc_generated/images/visualstudio2.png
new file mode 100644
index 0000000..e8c7132
--- /dev/null
+++ b/native_client_sdk/doc_generated/images/visualstudio2.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/images/visualstudio4.png b/native_client_sdk/doc_generated/images/visualstudio4.png
new file mode 100644
index 0000000..cee3f93
--- /dev/null
+++ b/native_client_sdk/doc_generated/images/visualstudio4.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/images/web-app-with-nacl.png b/native_client_sdk/doc_generated/images/web-app-with-nacl.png
new file mode 100644
index 0000000..46d5ca6
--- /dev/null
+++ b/native_client_sdk/doc_generated/images/web-app-with-nacl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/index.html b/native_client_sdk/doc_generated/index.html
new file mode 100644
index 0000000..195739b7
--- /dev/null
+++ b/native_client_sdk/doc_generated/index.html
@@ -0,0 +1,47 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<section id="welcome-to-native-client">
+<h1 id="welcome-to-native-client">Welcome to Native Client</h1>
+<div id="home">
+<a class="button-nacl button-download" href="/native-client/dev/sdk/download">Download SDK</a>
+<div class="big-intro"><p><strong>Native Client</strong> is a sandbox for running compiled C and C++ code in the
+browser efficiently and securely, independent of the user’s operating system.
+<strong>Portable Native Client</strong> extends that technology with
+architecture independence, letting developers compile their code once to run
+in any website and on any architecture.</p>
+<p>In short, Native Client brings the <strong>performance</strong> and <strong>low-level control</strong>
+of native code to modern web browsers, without sacrificing the <strong>security</strong> and
+<strong>portability</strong> of the web. Watch the video below for an overview of
+Native Client, including its goals, how it works, and how
+Portable Native Client lets developers run native compiled code on the web.</p>
+</div>
+
+<iframe class="video" width="640" height="360"
+src="//www.youtube.com/embed/MvKEomoiKBA?rel=0" frameborder="0"></iframe>
+
+<div class="right-side">
+<div class="right-side-inner">
+<h2>Guiding principles of Native Client</h2>
+<div class="big-intro">
+<ul>
+ <li>Developer flexibility to program in any language.</li>
+ <li>Running close to the metal to allow access to performance gains.</li>
+ <li>Protecting users from malicious code and malware.</li>
+ <li>Write-once, run-anywhere code portability across all user architectures.</li>
+</ul></div>
+</div>
+</div><section id="get-started-with-native-client">
+<h2 id="get-started-with-native-client">Get started with Native Client</h2>
+<div class="big-intro"><ol class="arabic simple">
+<li><a class="reference internal" href="/native-client/sdk/download.html"><em>Download the Native Client SDK</em></a>.</li>
+<li>Read the <a class="reference internal" href="/native-client/overview.html"><em>Technical Overview</em></a>.</li>
+<li>Learn how to use the SDK and build both a web app and a Chrome app in the
+<a class="reference internal" href="/native-client/devguide/tutorial/tutorial-part1.html"><em>Getting Started Tutorial</em></a>.</li>
+</ol>
+</div>
+<div class="big-intro" style="clear: both;"><p>Send us questions, comments, and feedback:
+<a class="reference external" href="https://groups.google.com/forum/#!forum/native-client-discuss">native-client-discuss</a>.</p>
+</div>
+</div></section></section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/nacl-and-pnacl.html b/native_client_sdk/doc_generated/nacl-and-pnacl.html
new file mode 100644
index 0000000..a49707b
--- /dev/null
+++ b/native_client_sdk/doc_generated/nacl-and-pnacl.html
@@ -0,0 +1,110 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<section id="nacl-and-pnacl">
+<span id="id1"></span><h1 id="nacl-and-pnacl"><span id="id1"></span>NaCl and PNaCl</h1>
+<p>This document describes the differences between <strong>Native Client</strong> and
+<strong>Portable Native Client</strong>, and provides recommendations for when to use each.</p>
+<div class="contents local topic" id="contents">
+<ul class="small-gap">
+<li><a class="reference internal" href="#native-client-nacl" id="id3">Native Client (NaCl)</a></li>
+<li><a class="reference internal" href="#portable-native-client-pnacl" id="id4">Portable Native Client (PNaCl)</a></li>
+<li><a class="reference internal" href="#when-to-use-pnacl" id="id5">When to use PNaCl</a></li>
+<li><a class="reference internal" href="#when-to-use-nacl" id="id6">When to use NaCl</a></li>
+</ul>
+</div>
+<section id="native-client-nacl">
+<h2 id="native-client-nacl">Native Client (NaCl)</h2>
+<p>Native Client enables the execution of native code
+securely inside web applications through the use of advanced
+<a class="reference external" href="https://developers.google.com/native-client/community/talks#research">Software Fault Isolation (SFI) techniques</a>.
+Since its launch in 2011, Native Client has provided
+developers with the ability to harness a client machine’s computational power
+to a much fuller extent than traditional web technologies, by running compiled C
+and C++ code at near-native speeds and taking advantage of multiple cores with
+shared memory.</p>
+<p>While Native Client provides operating system independence, it requires
+developers to generate architecture-specific executable modules
+(<strong>nexe</strong> modules) for each hardware platform. This is not only inconvenient
+for developers, but architecture-specific machine code is not portable and thus
+not well-suited for the open web. The traditional method of application
+distribution on the web is through a self-contained bundle of HTML, CSS,
+JavaScript, and other resources (images, etc.) that can be hosted on a server
+and run inside a web browser. With this type of distribution, a website
+created today should still work years later, on all platforms.
+Architecture-specific executables are clearly not a good fit for distribution
+on the web. As a consequence, Native Client has been restricted to
+applications and browser extensions that are installed through the
+Chrome Web Store.</p>
+</section><section id="portable-native-client-pnacl">
+<h2 id="portable-native-client-pnacl">Portable Native Client (PNaCl)</h2>
+<p>PNaCl solves the portability problem by splitting the compilation process
+into two parts:</p>
+<ol class="arabic simple">
+<li>compiling the source code to a portable bitcode format, and</li>
+<li>translating the bitcode to a host-specific executable.</li>
+</ol>
+<p>PNaCl enables developers
+to distribute <strong>portable executables</strong> (<strong>pexe</strong> modules) that the hosting
+environment (e.g., the Chrome browser) can translate to native code before
+executing. This portability aligns Native Client with existing open web
+technologies such as JavaScript: A developer can distribute a <strong>pexe</strong>
+as part of an application (along with HTML, CSS, and JavaScript),
+and the user’s machine is simply able to run it.</p>
+<p>With PNaCl, a developer generates a single <strong>pexe</strong> from source code,
+rather than multiple platform-specific nexes. The <strong>pexe</strong> provides both
+architecture- and OS-independence. Since the <strong>pexe</strong> uses an abstract,
+architecture-independent format, it does not suffer from the portability
+problem described above. Future versions of hosting environments should
+have no problem executing the <strong>pexe</strong>, even on new architectures.
+Moreover, if an existing architecture is subsequently enhanced, the
+<strong>pexe</strong> doesn’t even have to be recompiled—in some cases the
+client-side translation will automatically be able to take advantage of
+the new capabilities.</p>
+<p><strong>In short, PNaCl combines the portability of existing web technologies with
+the performance and security benefits of Native Client.</strong></p>
+<p>With the advent of PNaCl, the distribution restriction of Native Client
+can be lifted. Specifically, a <strong>pexe</strong> module can be part of any web
+application—it does not have to be distributed through the Chrome Web
+Store.</p>
+<p>PNaCl is a new technology, and as such it still has a few limitations
+as compared to NaCl. These limitations are described below.</p>
+</section><section id="when-to-use-pnacl">
+<h2 id="when-to-use-pnacl">When to use PNaCl</h2>
+<p>PNaCl is the preferred toolchain for Native Client, and the only way to deploy
+Native Client modules on the open web. Unless your project is subject to one
+of the narrow limitations described below
+(see <a class="reference internal" href="#when-to-use-nacl"><em>When to use NaCl</em></a>), you should use PNaCl.</p>
+<p>Beginning with version 31, the Chrome browser supports translation of
+<strong>pexe</strong> modules and their use in web applications, without requiring
+any installation (either of a browser plugin or of the applications
+themselves). Native Client and PNaCl are open-source technologies, and
+our hope is that they will be added to other hosting platforms in the
+future.</p>
+<p>If controlled distribution through the Chrome Web Store is an important part
+of your product plan, the benefits of PNaCl are less critical for you. But
+you can still use the PNaCl toolchain and distribute your application
+through the Chrome Web Store, and thereby take advantage of the
+conveniences of PNaCl, such as not having to explicitly compile your application
+for all supported architectures.</p>
+</section><section id="when-to-use-nacl">
+<span id="id2"></span><h2 id="when-to-use-nacl"><span id="id2"></span>When to use NaCl</h2>
+<p>The limitations below apply to the current release of PNaCl. If any of
+these limitations are critical for your application, you should use
+non-portable NaCl:</p>
+<ul class="small-gap">
+<li>By its nature, PNaCl does not support architecture-specific instructions in
+an application (i.e., inline assembly). Future editions of PNaCl will
+attempt to mitigate this problem by introducing portable intrinsics for vector
+operations.</li>
+<li>Currently PNaCl only supports static linking with the <code>newlib</code>
+C standard library (the Native Client SDK provides a PNaCl port of
+<code>newlib</code>). Dynamic linking and <code>glibc</code> are not yet supported.
+Work is under way to enable dynamic linking in future versions of PNaCl.</li>
+<li>In the initial release, PNaCl does not support vector types and SIMD.</li>
+<li>In the initial release, PNaCl does not support some GNU extensions
+like taking the address of a label for computed <code>goto</code>, or nested
+functions.</li>
+</ul>
+</section></section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/overview.html b/native_client_sdk/doc_generated/overview.html
new file mode 100644
index 0000000..4e72f57d
--- /dev/null
+++ b/native_client_sdk/doc_generated/overview.html
@@ -0,0 +1,240 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<section id="technical-overview">
+<span id="overview"></span><h1 id="technical-overview"><span id="overview"></span>Technical Overview</h1>
+<div class="contents local topic" id="contents">
+<ul class="small-gap">
+<li><a class="reference internal" href="#introduction" id="id2">Introduction</a></li>
+<li><a class="reference internal" href="#why-use-native-client" id="id3">Why use Native Client?</a></li>
+<li><a class="reference internal" href="#common-use-cases" id="id4">Common use cases</a></li>
+<li><p class="first"><a class="reference internal" href="#how-native-client-works" id="id5">How Native Client works</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#security" id="id6">Security</a></li>
+<li><a class="reference internal" href="#portability" id="id7">Portability</a></li>
+<li><a class="reference internal" href="#toolchains" id="id8">Toolchains</a></li>
+</ul>
+</li>
+<li><p class="first"><a class="reference internal" href="#native-client-in-a-web-application" id="id9">Native Client in a web application</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#pepper-plugin-api" id="id10">Pepper Plugin API</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#versioning" id="id11">Versioning</a></li>
+<li><a class="reference internal" href="#where-to-start" id="id12">Where to start</a></li>
+</ul>
+</div>
+<section id="introduction">
+<h2 id="introduction">Introduction</h2>
+<p><strong>Native Client</strong> (NaCl) is an open-source technology for running native
+compiled code in the browser, with the goal of maintaining the portability
+and safety that users expect from web applications. Native Client expands web
+programming beyond JavaScript, enabling developers to enhance their web
+applications using their preferred language. This document describes some of
+the key benefits and common use cases of Native Client.</p>
+<p>Google has implemented the open-source <a class="reference external" href="http://www.chromium.org/nativeclient">Native Client project</a> in the Chrome browser on Windows, Mac,
+Linux, and Chrome OS. The <a class="reference internal" href="/native-client/sdk/download.html"><em>Native Client Software Development Kit (SDK)</em></a>, itself an open-source project, lets developers create web
+applications that use NaCl and run in Chrome across multiple platforms.</p>
+<p>A web application that uses Native Client generally consists of a combination of
+JavaScript, HTML, CSS, and a NaCl module that is written in a language supported
+by the SDK. The NaCl SDK currently supports C and C++; as compilers for
+additional languages are developed, the SDK will be updated to support those
+languages as well.</p>
+<img alt="/native-client/images/web-app-with-nacl.png" src="/native-client/images/web-app-with-nacl.png" />
+</section><section id="why-use-native-client">
+<h2 id="why-use-native-client">Why use Native Client?</h2>
+<p>Native Client open-source technology is designed to run compiled code
+securely inside a browser at near-native speeds. Native Client puts web
+applications on the same playing field as traditional (locally-run)
+software—it provides the means to fully harness the client’s computational
+resources for applications such as 3D games, multimedia editors, CAD modeling,
+client-side data analytics, and interactive simulations.
+Native Client also aims to give C and C++ (and eventually other languages) the
+same level of portability and safety that JavaScript provides on the web today.</p>
+<p>Here are a few of the key benefits that Native Client offers:</p>
+<ul class="small-gap">
+<li><strong>Graphics, audio, and much more:</strong> Run native code modules that render 2D
+and 3D graphics, play audio, respond to mouse and keyboard events, run on
+multiple threads, and access memory directly—all without requiring
+the user to install a plugin.</li>
+<li><strong>Portability:</strong> Write your applications once and you’ll be able to run them
+across operating systems (Windows, Linux, Mac, and Chrome OS) and CPU
+architectures (x86 and ARM).</li>
+<li><strong>Easy migration path to the web:</strong> Many developers and companies have years
+of work invested in existing desktop applications. Native Client makes the
+transition from the desktop to a web application significantly easier because
+it supports C and C++.</li>
+<li><strong>Security:</strong> Native Client uses a double sandbox model designed to protect
+the user’s system from malicious or buggy applications. This model offers the
+safety of traditional web applications without sacrificing performance and
+without requiring users to install a plugin.</li>
+<li><strong>Performance:</strong> Native Client allows web applications to run at speeds
+comparable to desktop applications (within 5-15% of native speed).
+Native Client also allows applications to harness all available CPU cores via
+a threading API; this enables demanding applications such as console-quality
+games to run inside the browser.</li>
+</ul>
+</section><section id="common-use-cases">
+<h2 id="common-use-cases">Common use cases</h2>
+<p>Typical use cases for Native Client include the following:</p>
+<ul class="small-gap">
+<li><strong>Existing software components:</strong> With support for C and C++, Native
+Client enables you to reuse existing software modules in
+web applications—you don’t need to rewrite and debug code
+that’s already proven to work well.</li>
+<li><strong>Legacy desktop applications:</strong> Native Client provides a smooth migration
+path from desktop applications to the web. You can port and recompile existing
+code for the computation engine of your application directly to Native Client,
+and need repurpose only the user interface and event handling portions to the
+new browser platform. Native Client allows you to embed existing functionality
+directly into the browser. At the same time, your application can take
+advantage of things the browser does well: handling user interaction and
+processing events, based on the latest developments in HTML5.</li>
+<li><strong>Heavy computation in enterprise applications:</strong> Native Client can handle the
+number crunching required by large-scale enterprise applications. To ensure
+protection of user data, Native Client enables you to build complex
+cryptographic algorithms directly into the browser so that unencrypted data
+never goes out over the network.</li>
+<li><strong>Multimedia applications:</strong> Codecs for processing sounds, images, and movies
+can be added to the browser in a Native Client module.</li>
+<li><strong>Games:</strong> Native Client lets web applications run at close to native
+speed, reuse existing multithreaded/multicore C/C++ code bases, and
+access low-latency audio, networking APIs, and OpenGL ES with programmable
+shaders. Native Client is a natural fit for running a physics engine or
+artificial intelligence module that powers a sophisticated web game.
+Native Client also enables applications to run unchanged across
+many platforms.</li>
+<li><strong>Any application that requires acceleration</strong>: Native Client fits seamlessly
+into web applications—it’s up to you to decide to what extent to use it.
+Use of Native Client covers the full spectrum from complete applications to
+small optimized routines that accelerate vital parts of web apps.</li>
+</ul>
+</section><section id="how-native-client-works">
+<span id="link-how-nacl-works"></span><h2 id="how-native-client-works"><span id="link-how-nacl-works"></span>How Native Client works</h2>
+<p>Native Client is an umbrella name for a set of interrelated software components
+that work together to provide a way to develop C/C++ applications and run them
+securely on the web.</p>
+<p>At a high level, Native Client consists of:</p>
+<ul class="small-gap">
+<li><strong>Toolchains</strong>: collections of development tools (compilers, linkers, etc.)
+that transform C/C++ code to Native Client modules.</li>
+<li><strong>Runtime components</strong>: components embedded in the browser or other
+host platforms that allow execution of Native Client modules
+securely and efficiently.</li>
+</ul>
+<p>The following diagram shows how these components interact:</p>
+<img alt="/native-client/images/nacl-pnacl-component-diagram.png" src="/native-client/images/nacl-pnacl-component-diagram.png" />
+<p>The left side of the diagram shows how to use Portable Native Client
+(PNaCl, pronounced “pinnacle”). Developers use the PNaCl toolchain
+to produce a single, portable (<strong>pexe</strong>) module. At runtime, a translator
+built into the browser translates the pexe into native code for the
+relevant client architecture.</p>
+<p>The right side of the diagram shows how to use traditional (non-portable)
+Native Client. Developers use a nacl-gcc based toolchain to produce multiple
+architecture-dependent (<strong>nexe</strong>) modules, which are packaged into an
+application. At runtime, the browser decides which nexe to load based
+on the architecture of the client machine.</p>
+<section id="security">
+<h3 id="security">Security</h3>
+<p>Since Native Client permits the execution of native code on client machines,
+special security measures have to be implemented:</p>
+<ul class="small-gap">
+<li>The NaCl sandbox ensures that code accesses system resources only through
+safe, whitelisted APIs, and operates within its limits without attempting to
+interfere with other code running either within the browser or outside it.</li>
+<li>The NaCl validator statically analyzes code prior to running it
+to make sure it only uses code and data patterns that are permitted and safe.</li>
+</ul>
+<p>The above security measures are in addition to the existing sandbox in the
+Chrome browser—the Native Client module always executes in a process with
+restricted permissions. The only interaction between this process and the
+outside world is through sanctioned browser interfaces. Because of the
+combination of the NaCl sandbox and the Chrome sandbox, we say that
+Native Client employs a double sandbox design.</p>
+</section><section id="portability">
+<h3 id="portability">Portability</h3>
+<p>Portable Native Client (PNaCl, prounounced “pinnacle”) employs state-of-the-art
+compiler technology to compile C/C++ source code to a portable bitcode
+executable (<strong>pexe</strong>). PNaCl bitcode is an OS- and architecture-independent
+format that can be freely distributed on the web and <a class="reference internal" href="#link-nacl-in-web-apps"><em>embedded in web
+applications</em></a>.</p>
+<p>The PNaCl translator is a component embedded in the Chrome browser; its task is
+to run pexe modules. Internally, the translator compiles a pexe to a nexe
+(a native executable for the client platform’s architecture), and then executes
+the nexe within the Native Client sandbox as described above. It also uses
+intelligent caching to avoid re-compiling the pexe if it was previously compiled
+on the client’s browser.</p>
+<p>Native Client also supports the execution of nexe modules directly in the
+browser. However, since nexes contain architecture-specific machine code,
+they are not allowed to be distributed on the open web—they can only be
+used as part of applications and extensions that are installed from the
+Chrome Web Store.</p>
+<p>For more details on the difference between NaCl and PNaCl, see
+<a class="reference internal" href="/native-client/nacl-and-pnacl.html"><em>NaCl and PNaCl</em></a>.</p>
+</section><section id="toolchains">
+<span id="id1"></span><h3 id="toolchains"><span id="id1"></span>Toolchains</h3>
+<p>A toolchain is a set of tools used to create an application from a set of
+source files. In the case of Native Client, a toolchain consists of a compiler,
+linker, assembler and other tools that are used to convert an
+application written in C/C++ into a module that is loadable by the browser.</p>
+<p>The Native Client SDK provides two toolchains:</p>
+<ul class="small-gap">
+<li>a <strong>PNaCl toolchain</strong> for generating portable NaCl modules (pexe files)</li>
+<li>a <strong>gcc-based toolchain (nacl-gcc)</strong> for generating non-portable NaCl modules
+(nexe files)</li>
+</ul>
+<p>The PNaCl toolchain is recommended for most applications. The nacl-gcc
+toolchain should only be used for applications that will not be distributed
+on the open web.</p>
+</section></section><section id="native-client-in-a-web-application">
+<span id="link-nacl-in-web-apps"></span><h2 id="native-client-in-a-web-application"><span id="link-nacl-in-web-apps"></span>Native Client in a web application</h2>
+<p id="application-files">A Native Client application consists of a set of files:</p>
+<ul class="small-gap">
+<li><strong>HTML</strong>, <strong>CSS</strong>, and <strong>JavaScript</strong> files, as in any modern web
+application. The JavaScript code is responsible for communicating with the
+NaCl module.</li>
+<li>A <strong>pexe</strong> (portable NaCl) file. This module uses the <a class="reference internal" href="#link-pepper"><em>Pepper</em></a> API, which provides the bridge to JavaScript and
+browser resources.</li>
+<li>A Native Client <strong>manifest</strong> file that specifies the pexe to load, along with
+some loading options. This manifest file is embedded into the HTML page
+through an <code><embed></code> tag, as shown in the figure below.</li>
+</ul>
+<img alt="/native-client/images/nacl-in-a-web-app.png" src="/native-client/images/nacl-in-a-web-app.png" />
+<p>For more details, see <a class="reference internal" href="/native-client/devguide/coding/application-structure.html"><em>Application Structure</em></a>.</p>
+<section id="pepper-plugin-api">
+<span id="link-pepper"></span><h3 id="pepper-plugin-api"><span id="link-pepper"></span>Pepper Plugin API</h3>
+<p>The Pepper Plugin API (PPAPI), called <strong>Pepper</strong> for convenience, is an
+open-source, cross-platform C/C++ API for web browser plugins. From the point
+of view of Native Client, Pepper allows a C/C++ module to communicate with
+the hosting browser and get access to system-level functions in a safe and
+portable way. One of the security constraints in Native Client is that modules
+cannot make any OS-level calls directly. Pepper provides analogous APIs that
+modules can target instead.</p>
+<p>You can use the Pepper APIs to gain access to the full array of browser
+capabilities, including:</p>
+<ul class="small-gap">
+<li><a class="reference internal" href="/native-client/devguide/coding/message-system.html"><em>Talking to the JavaScript code in your application</em></a> from the C++ code in your NaCl module.</li>
+<li><a class="reference internal" href="/native-client/devguide/coding/file-io.html"><em>Doing file I/O</em></a>.</li>
+<li><a class="reference internal" href="/native-client/devguide/coding/audio.html"><em>Playing audio</em></a>.</li>
+<li><a class="reference internal" href="/native-client/devguide/coding/3D-graphics.html"><em>Rendering 3D graphics</em></a>.</li>
+</ul>
+<p>Pepper includes both a C API and a C++ API. The C++ API is a set of bindings
+written on top of the C API. For additional information about Pepper, see
+<a class="reference external" href="http://code.google.com/p/ppapi/wiki/Concepts">Pepper Concepts</a>.</p>
+</section></section><section id="versioning">
+<h2 id="versioning">Versioning</h2>
+<p>Chrome is released on a six week cycle, and developer versions of Chrome are
+pushed to the public beta channel three weeks before each release. As with any
+software, each release of Chrome may include changes to Native Client and the
+Pepper interfaces that may require modification to existing applications.
+However, modules compiled for one version of Pepper/Chrome should work with
+subsequent versions of Pepper/Chrome. The SDK includes multiple <a class="reference external" href="https://developers.google.com/native-client/version">versions</a> of the Pepper APIs to
+help developers make adjustments to API changes and take advantage of new
+features.</p>
+</section><section id="where-to-start">
+<h2 id="where-to-start">Where to start</h2>
+<p>The <a class="reference internal" href="/native-client/quick-start.html"><em>Quick Start</em></a> document provides links to downloads and
+documentation that should help you get started with developing and distributing
+Native Client applications.</p>
+</section></section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/globals_defs.html b/native_client_sdk/doc_generated/pepper_beta/c/globals_defs.html
new file mode 100644
index 0000000..f7f60524
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/globals_defs.html
@@ -0,0 +1,286 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Globals</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+
+</div>
+<div class="contents">
+ 
+
+<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
+<li>PPB_AUDIO_CONFIG_INTERFACE
+: <a class="el" href="ppb__audio__config_8h.html#a96fc67cc118c99f3c685f9fcc79d88ac">ppb_audio_config.h</a>
+</li>
+<li>PPB_AUDIO_CONFIG_INTERFACE_1_1
+: <a class="el" href="ppb__audio__config_8h.html#ae25decba5eb6b3f71b9e36bd8dcdcda7">ppb_audio_config.h</a>
+</li>
+<li>PPB_AUDIO_INTERFACE
+: <a class="el" href="ppb__audio_8h.html#a7d9614327b9f7d6e145eabd5bf2c4ad1">ppb_audio.h</a>
+</li>
+<li>PPB_AUDIO_INTERFACE_1_1
+: <a class="el" href="ppb__audio_8h.html#a05e57cf808f3ccd4467019e20832f28d">ppb_audio.h</a>
+</li>
+<li>PPB_CONSOLE_INTERFACE
+: <a class="el" href="ppb__console_8h.html#aeb04d0356a4ddc1488162c9512d318dd">ppb_console.h</a>
+</li>
+<li>PPB_CONSOLE_INTERFACE_1_0
+: <a class="el" href="ppb__console_8h.html#af944896c561ac6200f2170a9060b4d3e">ppb_console.h</a>
+</li>
+<li>PPB_CORE_INTERFACE
+: <a class="el" href="ppb__core_8h.html#ab634737b105d529729cc926ee6dee212">ppb_core.h</a>
+</li>
+<li>PPB_CORE_INTERFACE_1_0
+: <a class="el" href="ppb__core_8h.html#acdd54c61a74a494eedba88bff5fef3e5">ppb_core.h</a>
+</li>
+<li>PPB_FILEIO_INTERFACE
+: <a class="el" href="ppb__file__io_8h.html#af7e4bdd4e8dbe17acf89068130f60660">ppb_file_io.h</a>
+</li>
+<li>PPB_FILEIO_INTERFACE_1_1
+: <a class="el" href="ppb__file__io_8h.html#aee417de3562daef62dbf68ddc16a8477">ppb_file_io.h</a>
+</li>
+<li>PPB_FILEREF_INTERFACE
+: <a class="el" href="ppb__file__ref_8h.html#a00615ce99f7d6774b0fc5c8f0326f0ba">ppb_file_ref.h</a>
+</li>
+<li>PPB_FILEREF_INTERFACE_1_1
+: <a class="el" href="ppb__file__ref_8h.html#a153d480ed8be5b5c1e918f8b234c1c22">ppb_file_ref.h</a>
+</li>
+<li>PPB_FILESYSTEM_INTERFACE
+: <a class="el" href="ppb__file__system_8h.html#a492a8ab8ba84394c44cca88c45852f2c">ppb_file_system.h</a>
+</li>
+<li>PPB_FILESYSTEM_INTERFACE_1_0
+: <a class="el" href="ppb__file__system_8h.html#a856262c69fb3460f83a1b1fa3630c7c9">ppb_file_system.h</a>
+</li>
+<li>PPB_FULLSCREEN_INTERFACE
+: <a class="el" href="ppb__fullscreen_8h.html#ac9eade8043cf2d61bf195d9fa880fb34">ppb_fullscreen.h</a>
+</li>
+<li>PPB_FULLSCREEN_INTERFACE_1_0
+: <a class="el" href="ppb__fullscreen_8h.html#a4c01a722d680c2ddb2acb8eb84567b96">ppb_fullscreen.h</a>
+</li>
+<li>PPB_GAMEPAD_INTERFACE
+: <a class="el" href="ppb__gamepad_8h.html#aca090c38021f6dcef779de7a255313f3">ppb_gamepad.h</a>
+</li>
+<li>PPB_GAMEPAD_INTERFACE_1_0
+: <a class="el" href="ppb__gamepad_8h.html#ae18db8da1163096b8ea10071317305b2">ppb_gamepad.h</a>
+</li>
+<li>PPB_GRAPHICS_2D_INTERFACE
+: <a class="el" href="ppb__graphics__2d_8h.html#ab4930fe7aea6b403503d5cc748824b0d">ppb_graphics_2d.h</a>
+</li>
+<li>PPB_GRAPHICS_2D_INTERFACE_1_1
+: <a class="el" href="ppb__graphics__2d_8h.html#ad9792b60ca6ce77f3925be8d60e06640">ppb_graphics_2d.h</a>
+</li>
+<li>PPB_GRAPHICS_3D_INTERFACE
+: <a class="el" href="ppb__graphics__3d_8h.html#a3ba3c80f5959aca6bdef2584a2ceb55e">ppb_graphics_3d.h</a>
+</li>
+<li>PPB_GRAPHICS_3D_INTERFACE_1_0
+: <a class="el" href="ppb__graphics__3d_8h.html#a2619e373c7a32f9b0a763330c39ee282">ppb_graphics_3d.h</a>
+</li>
+<li>PPB_HOSTRESOLVER_INTERFACE
+: <a class="el" href="ppb__host__resolver_8h.html#a92db0e0376e1dd64b24f1e107b277d71">ppb_host_resolver.h</a>
+</li>
+<li>PPB_HOSTRESOLVER_INTERFACE_1_0
+: <a class="el" href="ppb__host__resolver_8h.html#af02d4ce7194c9c440c0bd42e81ab7731">ppb_host_resolver.h</a>
+</li>
+<li>PPB_IMAGEDATA_INTERFACE
+: <a class="el" href="ppb__image__data_8h.html#a706a4eb837834aefe135ccbfb3ebe21d">ppb_image_data.h</a>
+</li>
+<li>PPB_IMAGEDATA_INTERFACE_1_0
+: <a class="el" href="ppb__image__data_8h.html#ab08ef8c9002eec0102a71d9c766f0893">ppb_image_data.h</a>
+</li>
+<li>PPB_IME_INPUT_EVENT_INTERFACE
+: <a class="el" href="ppb__input__event_8h.html#ac7e4bf41f38afcb87e0a75c8f27ca33f">ppb_input_event.h</a>
+</li>
+<li>PPB_IME_INPUT_EVENT_INTERFACE_1_0
+: <a class="el" href="ppb__input__event_8h.html#ad911c1aed763c2f362037995ffca801a">ppb_input_event.h</a>
+</li>
+<li>PPB_INPUT_EVENT_INTERFACE
+: <a class="el" href="ppb__input__event_8h.html#a40fd5bca277483a37c2713b8961b5117">ppb_input_event.h</a>
+</li>
+<li>PPB_INPUT_EVENT_INTERFACE_1_0
+: <a class="el" href="ppb__input__event_8h.html#af4e5b597aea9864e7d9aa81c71e781d2">ppb_input_event.h</a>
+</li>
+<li>PPB_INSTANCE_INTERFACE
+: <a class="el" href="ppb__instance_8h.html#ab707353c04e78fe57eba3783692a0eed">ppb_instance.h</a>
+</li>
+<li>PPB_INSTANCE_INTERFACE_1_0
+: <a class="el" href="ppb__instance_8h.html#ad3b639018921516cd4d2d3adcffdbc8f">ppb_instance.h</a>
+</li>
+<li>PPB_KEYBOARD_INPUT_EVENT_INTERFACE
+: <a class="el" href="ppb__input__event_8h.html#a969f9e171a3202249e8dfabaef33c288">ppb_input_event.h</a>
+</li>
+<li>PPB_KEYBOARD_INPUT_EVENT_INTERFACE_1_0
+: <a class="el" href="ppb__input__event_8h.html#a0d5e2d948d5a25cd3194a59c21ad992e">ppb_input_event.h</a>
+</li>
+<li>PPB_MESSAGELOOP_INTERFACE
+: <a class="el" href="ppb__message__loop_8h.html#ae810c1f641977db5a6497704d7b0f4b0">ppb_message_loop.h</a>
+</li>
+<li>PPB_MESSAGELOOP_INTERFACE_1_0
+: <a class="el" href="ppb__message__loop_8h.html#a9b1fcf10002ff75d323617f920de4468">ppb_message_loop.h</a>
+</li>
+<li>PPB_MESSAGING_INTERFACE
+: <a class="el" href="ppb__messaging_8h.html#a558ca32dad39a710cd217aaa09921d92">ppb_messaging.h</a>
+</li>
+<li>PPB_MESSAGING_INTERFACE_1_0
+: <a class="el" href="ppb__messaging_8h.html#afc64e56f770d45a4556b32cd6568cc77">ppb_messaging.h</a>
+</li>
+<li>PPB_MOUSE_INPUT_EVENT_INTERFACE
+: <a class="el" href="ppb__input__event_8h.html#a761fcf6df555946b6c2e1a0b6cd01c5e">ppb_input_event.h</a>
+</li>
+<li>PPB_MOUSE_INPUT_EVENT_INTERFACE_1_1
+: <a class="el" href="ppb__input__event_8h.html#a9887382b4700999b639a2f2de497e104">ppb_input_event.h</a>
+</li>
+<li>PPB_MOUSECURSOR_INTERFACE
+: <a class="el" href="ppb__mouse__cursor_8h.html#a9f058eab16725eb940b802f90acb11a9">ppb_mouse_cursor.h</a>
+</li>
+<li>PPB_MOUSECURSOR_INTERFACE_1_0
+: <a class="el" href="ppb__mouse__cursor_8h.html#a5108cd274942fbb6aa1726d32b7b82eb">ppb_mouse_cursor.h</a>
+</li>
+<li>PPB_MOUSELOCK_INTERFACE
+: <a class="el" href="ppb__mouse__lock_8h.html#a61bbe5bd4a3ec739ecd5daf65192db7d">ppb_mouse_lock.h</a>
+</li>
+<li>PPB_MOUSELOCK_INTERFACE_1_0
+: <a class="el" href="ppb__mouse__lock_8h.html#a87c8b1ae0950bb6de205bbec68545edd">ppb_mouse_lock.h</a>
+</li>
+<li>PPB_NETADDRESS_INTERFACE
+: <a class="el" href="ppb__net__address_8h.html#a4797048cd8b1d0ab96d600d0f2003f88">ppb_net_address.h</a>
+</li>
+<li>PPB_NETADDRESS_INTERFACE_1_0
+: <a class="el" href="ppb__net__address_8h.html#aa487d14ecdf0f4ce95f95f429599b940">ppb_net_address.h</a>
+</li>
+<li>PPB_NETWORKLIST_INTERFACE
+: <a class="el" href="ppb__network__list_8h.html#a9d022e173e890387820ddb636a8eedfe">ppb_network_list.h</a>
+</li>
+<li>PPB_NETWORKLIST_INTERFACE_1_0
+: <a class="el" href="ppb__network__list_8h.html#ac0b7e69aedfaf3e0dd033d17634b0747">ppb_network_list.h</a>
+</li>
+<li>PPB_NETWORKMONITOR_INTERFACE
+: <a class="el" href="ppb__network__monitor_8h.html#a1a8be64663de54d6d189673531f93008">ppb_network_monitor.h</a>
+</li>
+<li>PPB_NETWORKMONITOR_INTERFACE_1_0
+: <a class="el" href="ppb__network__monitor_8h.html#aa1c835159cc390a53f853281e62a969f">ppb_network_monitor.h</a>
+</li>
+<li>PPB_NETWORKPROXY_INTERFACE
+: <a class="el" href="ppb__network__proxy_8h.html#aa951f1e83ded5d77558f770127d5765b">ppb_network_proxy.h</a>
+</li>
+<li>PPB_NETWORKPROXY_INTERFACE_1_0
+: <a class="el" href="ppb__network__proxy_8h.html#a51bdbe7e4706cc8c5e455ceb47a34472">ppb_network_proxy.h</a>
+</li>
+<li>PPB_TCPSOCKET_INTERFACE
+: <a class="el" href="ppb__tcp__socket_8h.html#a29ecaef1552f19b223e6c93475d8788c">ppb_tcp_socket.h</a>
+</li>
+<li>PPB_TCPSOCKET_INTERFACE_1_1
+: <a class="el" href="ppb__tcp__socket_8h.html#a12b0fabc454cb99a6d4c8352c6f22d71">ppb_tcp_socket.h</a>
+</li>
+<li>PPB_TEXTINPUTCONTROLLER_INTERFACE
+: <a class="el" href="ppb__text__input__controller_8h.html#a9a28f7fd2db84c2cd550ed272070c0ee">ppb_text_input_controller.h</a>
+</li>
+<li>PPB_TEXTINPUTCONTROLLER_INTERFACE_1_0
+: <a class="el" href="ppb__text__input__controller_8h.html#a6ca7f2ae09c011c13d12c79ba155e12a">ppb_text_input_controller.h</a>
+</li>
+<li>PPB_TOUCH_INPUT_EVENT_INTERFACE
+: <a class="el" href="ppb__input__event_8h.html#a9ef6ad6634a1d1912b83006862a0e57b">ppb_input_event.h</a>
+</li>
+<li>PPB_TOUCH_INPUT_EVENT_INTERFACE_1_0
+: <a class="el" href="ppb__input__event_8h.html#a36b8536215a705ecc3fd4cd366b0f975">ppb_input_event.h</a>
+</li>
+<li>PPB_UDPSOCKET_INTERFACE
+: <a class="el" href="ppb__udp__socket_8h.html#a673aeb3fceb5ed977b7b8683f674cbfd">ppb_udp_socket.h</a>
+</li>
+<li>PPB_UDPSOCKET_INTERFACE_1_0
+: <a class="el" href="ppb__udp__socket_8h.html#aafc1aecb9a8f2c3f8eed80a93a77763c">ppb_udp_socket.h</a>
+</li>
+<li>PPB_URLLOADER_INTERFACE
+: <a class="el" href="ppb__url__loader_8h.html#ae1fa8c5cdfccb7ea67e184b1e5e1009e">ppb_url_loader.h</a>
+</li>
+<li>PPB_URLLOADER_INTERFACE_1_0
+: <a class="el" href="ppb__url__loader_8h.html#adebf43440c53ea088f68ae376a7c7bbb">ppb_url_loader.h</a>
+</li>
+<li>PPB_URLREQUESTINFO_INTERFACE
+: <a class="el" href="ppb__url__request__info_8h.html#a61dc8b05683833153b9368eabebc5441">ppb_url_request_info.h</a>
+</li>
+<li>PPB_URLREQUESTINFO_INTERFACE_1_0
+: <a class="el" href="ppb__url__request__info_8h.html#a1624264dba578e2c15b257f7680a43de">ppb_url_request_info.h</a>
+</li>
+<li>PPB_URLRESPONSEINFO_INTERFACE
+: <a class="el" href="ppb__url__response__info_8h.html#a788cf0f4f93d8cbfbc834b5921188f35">ppb_url_response_info.h</a>
+</li>
+<li>PPB_URLRESPONSEINFO_INTERFACE_1_0
+: <a class="el" href="ppb__url__response__info_8h.html#a3703eb2a16b1386517bcd3d7074e94ff">ppb_url_response_info.h</a>
+</li>
+<li>PPB_VAR_ARRAY_BUFFER_INTERFACE
+: <a class="el" href="ppb__var__array__buffer_8h.html#a2b7e1cca43218ed9eb3c92b24089ecac">ppb_var_array_buffer.h</a>
+</li>
+<li>PPB_VAR_ARRAY_BUFFER_INTERFACE_1_0
+: <a class="el" href="ppb__var__array__buffer_8h.html#aacd03d05467e3a617c0a1c068fa422c7">ppb_var_array_buffer.h</a>
+</li>
+<li>PPB_VAR_ARRAY_INTERFACE
+: <a class="el" href="ppb__var__array_8h.html#a45d67f25be216695420b237b1deeca3f">ppb_var_array.h</a>
+</li>
+<li>PPB_VAR_ARRAY_INTERFACE_1_0
+: <a class="el" href="ppb__var__array_8h.html#a244ad07738d77a4d11d8009a7d69a5aa">ppb_var_array.h</a>
+</li>
+<li>PPB_VAR_DICTIONARY_INTERFACE
+: <a class="el" href="ppb__var__dictionary_8h.html#ac9d41ef2449d860ee3b429c148bd6be9">ppb_var_dictionary.h</a>
+</li>
+<li>PPB_VAR_DICTIONARY_INTERFACE_1_0
+: <a class="el" href="ppb__var__dictionary_8h.html#a33d58f4be531cacb629c9eb33ab8cdc2">ppb_var_dictionary.h</a>
+</li>
+<li>PPB_VAR_INTERFACE
+: <a class="el" href="ppb__var_8h.html#a0d345a2704bcdbc588c4227b46747041">ppb_var.h</a>
+</li>
+<li>PPB_VAR_INTERFACE_1_1
+: <a class="el" href="ppb__var_8h.html#acc1cbb0daac02e06063221b751084502">ppb_var.h</a>
+</li>
+<li>PPB_VIEW_INTERFACE
+: <a class="el" href="ppb__view_8h.html#a3597f47b815dffc7e9cf250a107e7d3e">ppb_view.h</a>
+</li>
+<li>PPB_VIEW_INTERFACE_1_1
+: <a class="el" href="ppb__view_8h.html#a0aa91bef3e37c8a98b77417dcf9a7a6a">ppb_view.h</a>
+</li>
+<li>PPB_WEBSOCKET_INTERFACE
+: <a class="el" href="ppb__websocket_8h.html#a6d56a012c9350b4cc4e55b668d3fbe75">ppb_websocket.h</a>
+</li>
+<li>PPB_WEBSOCKET_INTERFACE_1_0
+: <a class="el" href="ppb__websocket_8h.html#ad613dc4aff545f9e9885c415f1673107">ppb_websocket.h</a>
+</li>
+<li>PPB_WHEEL_INPUT_EVENT_INTERFACE
+: <a class="el" href="ppb__input__event_8h.html#a2e592782e919e590dd393d421af8850f">ppb_input_event.h</a>
+</li>
+<li>PPB_WHEEL_INPUT_EVENT_INTERFACE_1_0
+: <a class="el" href="ppb__input__event_8h.html#a0a7bcd124b8e7677b629b236eabfb563">ppb_input_event.h</a>
+</li>
+<li>PPP_GRAPHICS_3D_INTERFACE
+: <a class="el" href="ppp__graphics__3d_8h.html#a127a18c58f8a81afc706963ce70ba1a0">ppp_graphics_3d.h</a>
+</li>
+<li>PPP_GRAPHICS_3D_INTERFACE_1_0
+: <a class="el" href="ppp__graphics__3d_8h.html#a24bc6750e56195c99461408d10a3e184">ppp_graphics_3d.h</a>
+</li>
+<li>PPP_INPUT_EVENT_INTERFACE
+: <a class="el" href="ppp__input__event_8h.html#a6e94d8b829723cdeff16b7433c87bbea">ppp_input_event.h</a>
+</li>
+<li>PPP_INPUT_EVENT_INTERFACE_0_1
+: <a class="el" href="ppp__input__event_8h.html#afcc2e3ed6316bc950b7668d24f1c0476">ppp_input_event.h</a>
+</li>
+<li>PPP_INSTANCE_INTERFACE
+: <a class="el" href="ppp__instance_8h.html#ae1a0f9616b76b6b42649565ed1081fc1">ppp_instance.h</a>
+</li>
+<li>PPP_INSTANCE_INTERFACE_1_1
+: <a class="el" href="ppp__instance_8h.html#a0e284783d75d3b9a3c84a0feb39d7024">ppp_instance.h</a>
+</li>
+<li>PPP_MESSAGING_INTERFACE
+: <a class="el" href="ppp__messaging_8h.html#a7ea9cbd07fe30bc0d6e3a71a02d7adbb">ppp_messaging.h</a>
+</li>
+<li>PPP_MESSAGING_INTERFACE_1_0
+: <a class="el" href="ppp__messaging_8h.html#a2b15920cef3b0b108e4e08ae39ba0b2b">ppp_messaging.h</a>
+</li>
+<li>PPP_MOUSELOCK_INTERFACE
+: <a class="el" href="ppp__mouse__lock_8h.html#a2ce52a0566f0ee91721052673ca521ec">ppp_mouse_lock.h</a>
+</li>
+<li>PPP_MOUSELOCK_INTERFACE_1_0
+: <a class="el" href="ppp__mouse__lock_8h.html#a71f74bf4d04a8ac6901b473452f4d7e6">ppp_mouse_lock.h</a>
+</li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/group___enums.html b/native_client_sdk/doc_generated/pepper_beta/c/group___enums.html
new file mode 100644
index 0000000..7d96002
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/group___enums.html
@@ -0,0 +1,2006 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Enums</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+</div>
+<!--header-->
+<div class="contents">
+<h2>
+Enumerations</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> { <a class="el" href="group___enums.html#gga4f272d99be14aacafe08dfd4ef830918aeb6cdb899071a9ea4695a184bfdc3e81">PP_FALSE</a> = 0,
+<a class="el" href="group___enums.html#gga4f272d99be14aacafe08dfd4ef830918a177ce110df585fe2b468dba9a0eefda5">PP_TRUE</a> = 1
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga7610f0fba2396d46384859caa4d91798">PP_CompletionCallback_Flag</a> { <a class="el" href="group___enums.html#gga7610f0fba2396d46384859caa4d91798a6eedc0f315784a4cb47c5806b828c7cc">PP_COMPLETIONCALLBACK_FLAG_NONE</a> = 0 << 0,
+<a class="el" href="group___enums.html#gga7610f0fba2396d46384859caa4d91798aebb176d8930b14219b7966fd93a2e967">PP_COMPLETIONCALLBACK_FLAG_OPTIONAL</a> = 1 << 0
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom">{ <br />
+  <a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba5c394615cfa8eaceba77ecedb65dc9cb">PP_OK</a> = 0,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55baa5f7aa5667dc3eb61dd4f822d1163b29">PP_OK_COMPLETIONPENDING</a> = -1,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba06a8964482e41bf50c45c0d9dd281830">PP_ERROR_FAILED</a> = -2,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba8389cb348aeba81a94b058622f5914af">PP_ERROR_ABORTED</a> = -3,
+<br />
+  <a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba02f23038858b2b1a3c95f1593332503f">PP_ERROR_BADARGUMENT</a> = -4,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba55448d3b2c42d96c7b347a5833df7e76">PP_ERROR_BADRESOURCE</a> = -5,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba7bc23fde1d7408a2d5e0c02fda77a157">PP_ERROR_NOINTERFACE</a> = -6,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55baccd33fd6aa1c9a64b692a615b8099f10">PP_ERROR_NOACCESS</a> = -7,
+<br />
+  <a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba77543198f33b4da09f5431f61be0fdfe">PP_ERROR_NOMEMORY</a> = -8,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55baa52e024aa5d86ea5c2d0e9fe4d4223b1">PP_ERROR_NOSPACE</a> = -9,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba32f8a2ecfc27357c36e8cab62f5f8b60">PP_ERROR_NOQUOTA</a> = -10,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba2eb423e9cc9c19a6a7150b342a0b383a">PP_ERROR_INPROGRESS</a> = -11,
+<br />
+  <a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55babb8fa3e1cb15627f433a049d68e49d5b">PP_ERROR_NOTSUPPORTED</a> = -12,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba282ee581bafd4579a8982a5141793de4">PP_ERROR_BLOCKS_MAIN_THREAD</a> = -13,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba6c1c35f64dd233fc0a46151a82915960">PP_ERROR_FILENOTFOUND</a> = -20,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba325aca7c7d73483de41998329b342ef0">PP_ERROR_FILEEXISTS</a> = -21,
+<br />
+  <a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55bac0eab80ff249433a206cd93e34d1e965">PP_ERROR_FILETOOBIG</a> = -22,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55baa2e274f5a24c62f7ebf50ef2e2dd98a6">PP_ERROR_FILECHANGED</a> = -23,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55baf216de52da5770d56ba7e483974ec209">PP_ERROR_NOTAFILE</a> = -24,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba53382f01745b691ba6f91c65b6059953">PP_ERROR_TIMEDOUT</a> = -30,
+<br />
+  <a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba3f20bb850c408a7e05fbc9ce42a8e999">PP_ERROR_USERCANCEL</a> = -40,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba8c428198d142124ef0c99eb8e8572491">PP_ERROR_NO_USER_GESTURE</a> = -41,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba7469b76adbd5e8e931314160093a9e1a">PP_ERROR_CONTEXT_LOST</a> = -50,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55baf907cc8f39ca083a5cad188fb808fc0f">PP_ERROR_NO_MESSAGE_LOOP</a> = -51,
+<br />
+  <a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55bae18e92e98e2dd0d106b49387af13c997">PP_ERROR_WRONG_THREAD</a> = -52,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55babbc1f7cf46e1746ce232e4655191630e">PP_ERROR_CONNECTION_CLOSED</a> = -100,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55bac7e0cbefef9315c63c0d7858d0fc4c01">PP_ERROR_CONNECTION_RESET</a> = -101,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55bab3873811c2f684a437a2efa3133d3452">PP_ERROR_CONNECTION_REFUSED</a> = -102,
+<br />
+  <a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55baf86ee9c96af9f4c315ac6458b6638f27">PP_ERROR_CONNECTION_ABORTED</a> = -103,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55bacd6d028056cb3596b966682edb6effcf">PP_ERROR_CONNECTION_FAILED</a> = -104,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba49150f7eacf465fc552e751ac521b4ae">PP_ERROR_CONNECTION_TIMEDOUT</a> = -105,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55baa13c10929736aa23a8056ee33dcd23e5">PP_ERROR_ADDRESS_INVALID</a> = -106,
+<br />
+  <a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba4304630fb13c40107ed6da9e5b764003">PP_ERROR_ADDRESS_UNREACHABLE</a> = -107,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55bafb9e232a63a5787ec0445ee9cc7fc7c2">PP_ERROR_ADDRESS_IN_USE</a> = -108,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba679d405ff44d259db51dfc6f312b465f">PP_ERROR_MESSAGE_TOO_BIG</a> = -109,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba74c1a24f06288fc63221631ba6a2a7b6">PP_ERROR_NAME_NOT_RESOLVED</a> = -110
+<br />
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga36f6dfbe9c1e98540c5247f790746427">PP_FileType</a> { <a class="el" href="group___enums.html#gga36f6dfbe9c1e98540c5247f790746427acd0d93632365573bba7774b7fe0c62fd">PP_FILETYPE_REGULAR</a> = 0,
+<a class="el" href="group___enums.html#gga36f6dfbe9c1e98540c5247f790746427a81b606e1444df5fb838a692f891fbde9">PP_FILETYPE_DIRECTORY</a> = 1,
+<a class="el" href="group___enums.html#gga36f6dfbe9c1e98540c5247f790746427a9e3863ab973d8643dcc96708f55df880">PP_FILETYPE_OTHER</a> = 2
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga87b353f2ec8935c9c3294daff612c145">PP_FileSystemType</a> { <br />
+  <a class="el" href="group___enums.html#gga87b353f2ec8935c9c3294daff612c145a48e7bd0df8bd086812085be972e963a0">PP_FILESYSTEMTYPE_INVALID</a> = 0,
+<a class="el" href="group___enums.html#gga87b353f2ec8935c9c3294daff612c145aa21f18053ba5b3594a0b5373074742c2">PP_FILESYSTEMTYPE_EXTERNAL</a> = 1,
+<a class="el" href="group___enums.html#gga87b353f2ec8935c9c3294daff612c145a4c51625a4c977d3fab0c4dd28127603c">PP_FILESYSTEMTYPE_LOCALPERSISTENT</a> = 2,
+<a class="el" href="group___enums.html#gga87b353f2ec8935c9c3294daff612c145abefda8d47a5cd9b8918f012c34496ca9">PP_FILESYSTEMTYPE_LOCALTEMPORARY</a> = 3,
+<br />
+  <a class="el" href="group___enums.html#gga87b353f2ec8935c9c3294daff612c145aeceec88ea91ee70c499ff39119dd33b5">PP_FILESYSTEMTYPE_ISOLATED</a> = 4
+<br />
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga7df48e1c55f6401beea2a1b9c07967e8">PP_Graphics3DAttrib</a> { <br />
+  <a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8aac0fc60be37c86f193fb535bedb09458">PP_GRAPHICS3DATTRIB_ALPHA_SIZE</a> = 0x3021,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a519cd199423721033780ee13ecb0e60b">PP_GRAPHICS3DATTRIB_BLUE_SIZE</a> = 0x3022,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8ade95a6e685ca23522da80c1703d294a7">PP_GRAPHICS3DATTRIB_GREEN_SIZE</a> = 0x3023,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a7caad99c8c857fdb804c6755551398f5">PP_GRAPHICS3DATTRIB_RED_SIZE</a> = 0x3024,
+<br />
+  <a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8ab594f7ae52f23b7b0609797c06cf7cf8">PP_GRAPHICS3DATTRIB_DEPTH_SIZE</a> = 0x3025,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8acc0e34bee390933357c7386391faeac0">PP_GRAPHICS3DATTRIB_STENCIL_SIZE</a> = 0x3026,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a98c1bf99b329be847d53f4eb651b4a63">PP_GRAPHICS3DATTRIB_SAMPLES</a> = 0x3031,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a8bccea594213dbdd1750f97f3b187047">PP_GRAPHICS3DATTRIB_SAMPLE_BUFFERS</a> = 0x3032,
+<br />
+  <a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a66b15e43e8159f71751be033d44fda21">PP_GRAPHICS3DATTRIB_NONE</a> = 0x3038,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8ac37b92e8426753d7a24d0cf193a5923d">PP_GRAPHICS3DATTRIB_HEIGHT</a> = 0x3056,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a378f15587369cdefbcf565bc8f15db2c">PP_GRAPHICS3DATTRIB_WIDTH</a> = 0x3057,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a03d8a647ddb24105718bcb91b8f972fd">PP_GRAPHICS3DATTRIB_SWAP_BEHAVIOR</a> = 0x3093,
+<br />
+  <a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a46b174aaf7b91e26cc2a014268e65512">PP_GRAPHICS3DATTRIB_BUFFER_PRESERVED</a> = 0x3094,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a8aa6eff69c6b613b0a65803fa75d48fb">PP_GRAPHICS3DATTRIB_BUFFER_DESTROYED</a> = 0x3095,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a48ed49219981a01405e97eb414c89fec">PP_GRAPHICS3DATTRIB_GPU_PREFERENCE</a> = 0x11000,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a4295d8750ae536c3aed03d794429e336">PP_GRAPHICS3DATTRIB_GPU_PREFERENCE_LOW_POWER</a> = 0x11001,
+<br />
+  <a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a1a7563ae755ca52d429302a35930201a">PP_GRAPHICS3DATTRIB_GPU_PREFERENCE_PERFORMANCE</a> = 0x11002
+<br />
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga9815041477d810724e44da862f9852ed">PP_VarType</a> { <br />
+  <a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852eda499cc75cc2a3a16632b6f0e38172fce7">PP_VARTYPE_UNDEFINED</a> = 0,
+<a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852edabfa22cf2659270ee5d4c1ff4eabf6e67">PP_VARTYPE_NULL</a> = 1,
+<a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852edad1a70cd8b8b8b815687c3234f40513b5">PP_VARTYPE_BOOL</a> = 2,
+<a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852eda40a4a8c45ec7629e3093eb93b9ff1556">PP_VARTYPE_INT32</a> = 3,
+<br />
+  <a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852eda26caea042c1cb14ff640f7aec3f2af90">PP_VARTYPE_DOUBLE</a> = 4,
+<a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852eda079c1c085b9b0f1b076807a0eb5ba6bd">PP_VARTYPE_STRING</a> = 5,
+<a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852eda7060b95352ff46ed2f0144e08cc949cc">PP_VARTYPE_OBJECT</a> = 6,
+<a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852eda50df125d91ade69f5b2de4d08427508c">PP_VARTYPE_ARRAY</a> = 7,
+<br />
+  <a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852edae44188e85906d83c2f52f34aa5b38687">PP_VARTYPE_DICTIONARY</a> = 8,
+<a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852eda363024b8067811f2f2f42f969be44529">PP_VARTYPE_ARRAY_BUFFER</a> = 9,
+<a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852eda898e69540595e8b95681d850ddecc7f1">PP_VARTYPE_RESOURCE</a> = 10
+<br />
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___enums.html#ggadf764cbdea00d65edcd07bb9953ad2b7a9bf932735e301eeecf183a9defc378b3">PP_AUDIOMINSAMPLEFRAMECOUNT</a> = 64,
+<a class="el" href="group___enums.html#ggadf764cbdea00d65edcd07bb9953ad2b7a335c882fde010a0515ec5678a7003ce4">PP_AUDIOMAXSAMPLEFRAMECOUNT</a> = 32768
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gaee750c350655f2fb0fe04c04029e0ff8">PP_AudioSampleRate</a> { <a class="el" href="group___enums.html#ggaee750c350655f2fb0fe04c04029e0ff8a3028e109c6005f2e9ffd635f92ef3324">PP_AUDIOSAMPLERATE_NONE</a> = 0,
+<a class="el" href="group___enums.html#ggaee750c350655f2fb0fe04c04029e0ff8ac6d1056f50ebe082622d3250def41a54">PP_AUDIOSAMPLERATE_44100</a> = 44100,
+<a class="el" href="group___enums.html#ggaee750c350655f2fb0fe04c04029e0ff8a0a3ddad3c00d75e1c57a245e599727cd">PP_AUDIOSAMPLERATE_48000</a> = 48000
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gac39067c0883ec80b94290dd2a3bae440">PP_LogLevel</a> { <a class="el" href="group___enums.html#ggac39067c0883ec80b94290dd2a3bae440afe7444b89be7688e17bd6e4f0b1d3b34">PP_LOGLEVEL_TIP</a> = 0,
+<a class="el" href="group___enums.html#ggac39067c0883ec80b94290dd2a3bae440a8c6fdcc8aa698af314fe72ebd08db32a">PP_LOGLEVEL_LOG</a> = 1,
+<a class="el" href="group___enums.html#ggac39067c0883ec80b94290dd2a3bae440a66a3c4f684827eb994093dea14284aaf">PP_LOGLEVEL_WARNING</a> = 2,
+<a class="el" href="group___enums.html#ggac39067c0883ec80b94290dd2a3bae440a5854926dface39f205d138d9e47c37eb">PP_LOGLEVEL_ERROR</a> = 3
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga4c87e6dd19c1d49b66a9b37136a82e82">PP_FileOpenFlags</a> { <br />
+  <a class="el" href="group___enums.html#gga4c87e6dd19c1d49b66a9b37136a82e82a9d409b8a19e1a1c90b6c01f45cea8468">PP_FILEOPENFLAG_READ</a> = 1 << 0,
+<a class="el" href="group___enums.html#gga4c87e6dd19c1d49b66a9b37136a82e82ad43adf355739f7a82d0f1a884531afbd">PP_FILEOPENFLAG_WRITE</a> = 1 << 1,
+<a class="el" href="group___enums.html#gga4c87e6dd19c1d49b66a9b37136a82e82adc826ab2826a482ee2b15cc25d0d9ba2">PP_FILEOPENFLAG_CREATE</a> = 1 << 2,
+<a class="el" href="group___enums.html#gga4c87e6dd19c1d49b66a9b37136a82e82afc54dddff300e46f1ea644855abfd3e5">PP_FILEOPENFLAG_TRUNCATE</a> = 1 << 3,
+<br />
+  <a class="el" href="group___enums.html#gga4c87e6dd19c1d49b66a9b37136a82e82a3ffa615692f3b3a2da0f1e04903eefce">PP_FILEOPENFLAG_EXCLUSIVE</a> = 1 << 4,
+<a class="el" href="group___enums.html#gga4c87e6dd19c1d49b66a9b37136a82e82a78c13cbbccebfa9c2b8b2f758397795c">PP_FILEOPENFLAG_APPEND</a> = 1 << 5
+<br />
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gadb4b8db19266831040fc604f73c83a25">PP_HostResolver_Flag</a> { <a class="el" href="group___enums.html#ggadb4b8db19266831040fc604f73c83a25a1fc5655c5b292459d24dc035e930e75e">PP_HOSTRESOLVER_FLAG_CANONNAME</a> = 1 << 0
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga2ee7ad01799553e5f17bdaa35dd952ee">PP_ImageDataFormat</a> { <a class="el" href="group___enums.html#gga2ee7ad01799553e5f17bdaa35dd952eea8685611ba2e85347f5f6bb0043940358">PP_IMAGEDATAFORMAT_BGRA_PREMUL</a>,
+<a class="el" href="group___enums.html#gga2ee7ad01799553e5f17bdaa35dd952eeab291a13cd5f4728eab3c207938916622">PP_IMAGEDATAFORMAT_RGBA_PREMUL</a>
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gaca7296cfec99fcb6646b7144d1d6a0c5">PP_InputEvent_Type</a> { <br />
+  <a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a9b6d5489f328f0b902da4a1f5836b4cb">PP_INPUTEVENT_TYPE_UNDEFINED</a> = -1,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a4309eee5fb8284b6be7c258090b21e77">PP_INPUTEVENT_TYPE_MOUSEDOWN</a> = 0,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a9f0a8196670b1da0e9c3cf081329c3ca">PP_INPUTEVENT_TYPE_MOUSEUP</a> = 1,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a9d3a09d7fb33663f3a7d920fd2e3208d">PP_INPUTEVENT_TYPE_MOUSEMOVE</a> = 2,
+<br />
+  <a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5ad240947fd6d67f23b679be4806947e2a">PP_INPUTEVENT_TYPE_MOUSEENTER</a> = 3,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a0870576010613081518c9c6683abd2e8">PP_INPUTEVENT_TYPE_MOUSELEAVE</a> = 4,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a2eedbec689780077aa98188805a559f6">PP_INPUTEVENT_TYPE_WHEEL</a> = 5,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a05c7f50eb36e606a3e5a0065b337d96c">PP_INPUTEVENT_TYPE_RAWKEYDOWN</a> = 6,
+<br />
+  <a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a4064a5f6ce10c7e5a0834aff7cd7e474">PP_INPUTEVENT_TYPE_KEYDOWN</a> = 7,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5af57c2b682b29f7b03f27519f98febdea">PP_INPUTEVENT_TYPE_KEYUP</a> = 8,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a0d547efbed42c655264b96a51954e0dd">PP_INPUTEVENT_TYPE_CHAR</a> = 9,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a0cf7525c015c97ded19afab9d7d9afee">PP_INPUTEVENT_TYPE_CONTEXTMENU</a> = 10,
+<br />
+  <a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a90668acda261e23721f3dd757f557031">PP_INPUTEVENT_TYPE_IME_COMPOSITION_START</a> = 11,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a1eff5df3bb41546046f97993376607c2">PP_INPUTEVENT_TYPE_IME_COMPOSITION_UPDATE</a> = 12,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a5c009302410ac6f55da4df618b2d85d5">PP_INPUTEVENT_TYPE_IME_COMPOSITION_END</a> = 13,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a5826ba18e40265a7b74e4b3ae1fe3772">PP_INPUTEVENT_TYPE_IME_TEXT</a> = 14,
+<br />
+  <a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5ac604f0e894f8f9e660d36e30db16b52d">PP_INPUTEVENT_TYPE_TOUCHSTART</a> = 15,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a43888c9c671ac5973f5bcea7eabcc889">PP_INPUTEVENT_TYPE_TOUCHMOVE</a> = 16,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5ae1c312aafaf4caeddb1afc09e81c9655">PP_INPUTEVENT_TYPE_TOUCHEND</a> = 17,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a78266e75562e546005eb8098f455ce91">PP_INPUTEVENT_TYPE_TOUCHCANCEL</a> = 18
+<br />
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga21b811ac0484a214a8751aa3e1c959d9">PP_InputEvent_Modifier</a> { <br />
+  <a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9a7506fd613b0e3055b37700eddcc04c8e">PP_INPUTEVENT_MODIFIER_SHIFTKEY</a> = 1 << 0,
+<a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9aeb4a9ad52cbfbfab9dea7cf2429c52f7">PP_INPUTEVENT_MODIFIER_CONTROLKEY</a> = 1 << 1,
+<a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9ab30d756ab410e7155deef8c48568fc95">PP_INPUTEVENT_MODIFIER_ALTKEY</a> = 1 << 2,
+<a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9ab3b68a7fb23fa33be297b30a2d3f27d7">PP_INPUTEVENT_MODIFIER_METAKEY</a> = 1 << 3,
+<br />
+  <a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9a24f5d73cf82a01116f52b57410e64c9d">PP_INPUTEVENT_MODIFIER_ISKEYPAD</a> = 1 << 4,
+<a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9a0d6141a7a3498af2020093469358472f">PP_INPUTEVENT_MODIFIER_ISAUTOREPEAT</a> = 1 << 5,
+<a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9a31e52901313720fd0e431976228f2153">PP_INPUTEVENT_MODIFIER_LEFTBUTTONDOWN</a> = 1 << 6,
+<a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9aa2369bf6eb5309a43d608ef83d747a04">PP_INPUTEVENT_MODIFIER_MIDDLEBUTTONDOWN</a> = 1 << 7,
+<br />
+  <a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9aee3e5083c83130d4368b79878fd574fe">PP_INPUTEVENT_MODIFIER_RIGHTBUTTONDOWN</a> = 1 << 8,
+<a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9a99a27b5dab8360eb08189439b85b8781">PP_INPUTEVENT_MODIFIER_CAPSLOCKKEY</a> = 1 << 9,
+<a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9a493ca598187014e2356cd7a5ba8cdffd">PP_INPUTEVENT_MODIFIER_NUMLOCKKEY</a> = 1 << 10,
+<a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9a8295bfc8067c06a17ccfc5fb6a992e17">PP_INPUTEVENT_MODIFIER_ISLEFT</a> = 1 << 11,
+<br />
+  <a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9a348f43efaf61edbefd83346428c5b122">PP_INPUTEVENT_MODIFIER_ISRIGHT</a> = 1 << 12
+<br />
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga25113f3c8d33e863fd38b3f70f8a5e6e">PP_InputEvent_MouseButton</a> { <a class="el" href="group___enums.html#gga25113f3c8d33e863fd38b3f70f8a5e6eaa2d4e499d6c23ef45381a89612e654d9">PP_INPUTEVENT_MOUSEBUTTON_NONE</a> = -1,
+<a class="el" href="group___enums.html#gga25113f3c8d33e863fd38b3f70f8a5e6eaa44f4ea3c7759e4fce6150f349909f63">PP_INPUTEVENT_MOUSEBUTTON_LEFT</a> = 0,
+<a class="el" href="group___enums.html#gga25113f3c8d33e863fd38b3f70f8a5e6ea3f8a2698990ec1e36943651ca600e3be">PP_INPUTEVENT_MOUSEBUTTON_MIDDLE</a> = 1,
+<a class="el" href="group___enums.html#gga25113f3c8d33e863fd38b3f70f8a5e6ea681614da50d511b516d0a88fbaa6eb5b">PP_INPUTEVENT_MOUSEBUTTON_RIGHT</a> = 2
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gafe68e3c1031daa4a6496845ff47649cd">PP_InputEvent_Class</a> { <br />
+  <a class="el" href="group___enums.html#ggafe68e3c1031daa4a6496845ff47649cda79ccc5180eb39c52ab3207f0c876dd52">PP_INPUTEVENT_CLASS_MOUSE</a> = 1 << 0,
+<a class="el" href="group___enums.html#ggafe68e3c1031daa4a6496845ff47649cda2c3341eacc3a459713ce334b9af0cda8">PP_INPUTEVENT_CLASS_KEYBOARD</a> = 1 << 1,
+<a class="el" href="group___enums.html#ggafe68e3c1031daa4a6496845ff47649cda59d6686dbce1f0dc092cb88a451bb3a6">PP_INPUTEVENT_CLASS_WHEEL</a> = 1 << 2,
+<a class="el" href="group___enums.html#ggafe68e3c1031daa4a6496845ff47649cda19b05264fa31d7e975eba297f9f146af">PP_INPUTEVENT_CLASS_TOUCH</a> = 1 << 3,
+<br />
+  <a class="el" href="group___enums.html#ggafe68e3c1031daa4a6496845ff47649cda1280fe9a85edf74e20e4d503a345ab7d">PP_INPUTEVENT_CLASS_IME</a> = 1 << 4
+<br />
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gad5885a239d04166c8777432c81e39d0a">PP_TouchListType</a> { <a class="el" href="group___enums.html#ggad5885a239d04166c8777432c81e39d0aa739dfd65f4cd719996f20bdd2e7db4ca">PP_TOUCHLIST_TYPE_TOUCHES</a> = 0,
+<a class="el" href="group___enums.html#ggad5885a239d04166c8777432c81e39d0aa89d31d55d67fa0746d1f3bf4050eafff">PP_TOUCHLIST_TYPE_CHANGEDTOUCHES</a> = 1,
+<a class="el" href="group___enums.html#ggad5885a239d04166c8777432c81e39d0aa0682e6c428fed9b900e3d9e56aaa8fca">PP_TOUCHLIST_TYPE_TARGETTOUCHES</a> = 2
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gac53273018386c1db9542d2a06bbe118b">PP_MouseCursor_Type</a> { <br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba1360614abe2d2c3838a42238f75e9ec1">PP_MOUSECURSOR_TYPE_CUSTOM</a> = -1,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba7c0a8b04f51fbf8e12abd4240fb24a9f">PP_MOUSECURSOR_TYPE_POINTER</a> = 0,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba7ee7ede873ec3158179a1ea648bfe677">PP_MOUSECURSOR_TYPE_CROSS</a> = 1,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba5cf81326a94c1150ce98cc15924dee69">PP_MOUSECURSOR_TYPE_HAND</a> = 2,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba705545fdbd4088bf4522b32aa5815877">PP_MOUSECURSOR_TYPE_IBEAM</a> = 3,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118babf8c49b2fc9ee7208b20e7e1f96e2930">PP_MOUSECURSOR_TYPE_WAIT</a> = 4,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bacea1ebe2038e33bb649bcf8ed32f0e7e">PP_MOUSECURSOR_TYPE_HELP</a> = 5,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba3efb608fc10dd3979d4bc0c41654f14b">PP_MOUSECURSOR_TYPE_EASTRESIZE</a> = 6,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba02b638a93841e0f51d234b6643cffcd0">PP_MOUSECURSOR_TYPE_NORTHRESIZE</a> = 7,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118baceb2b9888eed1ef5fe8c5dbc94195b3a">PP_MOUSECURSOR_TYPE_NORTHEASTRESIZE</a> = 8,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bab95b486b6772a79a599c4287f966cd19">PP_MOUSECURSOR_TYPE_NORTHWESTRESIZE</a> = 9,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bac39262939712092e11cc4569b6cab626">PP_MOUSECURSOR_TYPE_SOUTHRESIZE</a> = 10,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba0d7f8011aba0f13ceda6688585b725af">PP_MOUSECURSOR_TYPE_SOUTHEASTRESIZE</a> = 11,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba54f482730eba910a940e1c975f14e2a2">PP_MOUSECURSOR_TYPE_SOUTHWESTRESIZE</a> = 12,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba0c8edb786c8193ef657716a358e327b6">PP_MOUSECURSOR_TYPE_WESTRESIZE</a> = 13,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118babf7026dfaea82565f2527ddbb0383053">PP_MOUSECURSOR_TYPE_NORTHSOUTHRESIZE</a> = 14,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba98177b2980fa939ed33d41c531f06310">PP_MOUSECURSOR_TYPE_EASTWESTRESIZE</a> = 15,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118baf01a2e620b481daeb42b6344843e9e38">PP_MOUSECURSOR_TYPE_NORTHEASTSOUTHWESTRESIZE</a> = 16,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba05d35a31c8af640a6cf2295790e933ee">PP_MOUSECURSOR_TYPE_NORTHWESTSOUTHEASTRESIZE</a> = 17,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bab163a58c75a983ac943d39827c0976cd">PP_MOUSECURSOR_TYPE_COLUMNRESIZE</a> = 18,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bac4d90e13c8d17e32ee9498b795d2f4ca">PP_MOUSECURSOR_TYPE_ROWRESIZE</a> = 19,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba6dbf3de573762e2322d6e8a2392b19fb">PP_MOUSECURSOR_TYPE_MIDDLEPANNING</a> = 20,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba9fec33093306cea2ea6bb6810e8f9040">PP_MOUSECURSOR_TYPE_EASTPANNING</a> = 21,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba0805b4d3a42bb560a656247a57ed6fe0">PP_MOUSECURSOR_TYPE_NORTHPANNING</a> = 22,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118babeaeb782ba084c45e0d12f2bf428a9c3">PP_MOUSECURSOR_TYPE_NORTHEASTPANNING</a> = 23,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba2590e0dc133a8b4534c475abd60c2e1d">PP_MOUSECURSOR_TYPE_NORTHWESTPANNING</a> = 24,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bac9ab4fdcaccb7dcf3a9e0c5edf056e92">PP_MOUSECURSOR_TYPE_SOUTHPANNING</a> = 25,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bacf7c5132070bb6fd8e86ffcafb1dd8b6">PP_MOUSECURSOR_TYPE_SOUTHEASTPANNING</a> = 26,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118baebe615cd19bad5b076b2dd9d86dcd825">PP_MOUSECURSOR_TYPE_SOUTHWESTPANNING</a> = 27,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba8c357f06fc1fc96c091b378d10cc4f02">PP_MOUSECURSOR_TYPE_WESTPANNING</a> = 28,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bab6757be35df5a1e246b3ce8b80c92fbd">PP_MOUSECURSOR_TYPE_MOVE</a> = 29,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba52c5c4259a391557c045b0b82cc0a1fa">PP_MOUSECURSOR_TYPE_VERTICALTEXT</a> = 30,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba62afaa44930d75f750fdf28199511194">PP_MOUSECURSOR_TYPE_CELL</a> = 31,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bad73cecab74f94844438e494ff1439b9f">PP_MOUSECURSOR_TYPE_CONTEXTMENU</a> = 32,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118baca9b4bef41f4c4bd90e81573357b137c">PP_MOUSECURSOR_TYPE_ALIAS</a> = 33,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118babda91fe9ce56b304d95a1ce01fbe8084">PP_MOUSECURSOR_TYPE_PROGRESS</a> = 34,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba1c6cb6e16ac90b8829175e8af9a4a72d">PP_MOUSECURSOR_TYPE_NODROP</a> = 35,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bacee11626427a6fa36653243c4d551608">PP_MOUSECURSOR_TYPE_COPY</a> = 36,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba7a9b1b3187b0bd011b5e19380d4fd698">PP_MOUSECURSOR_TYPE_NONE</a> = 37,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba7d10d5fcc4d9e6aaed4af83246de15a0">PP_MOUSECURSOR_TYPE_NOTALLOWED</a> = 38,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba203b038de96b903e253e29aea5a66460">PP_MOUSECURSOR_TYPE_ZOOMIN</a> = 39,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba797321d4cad9a863a5338318912f3a98">PP_MOUSECURSOR_TYPE_ZOOMOUT</a> = 40,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bafc45b71a6185639e12ac2827a641bdaa">PP_MOUSECURSOR_TYPE_GRAB</a> = 41,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118baa242aeb17b35d8e44e449786a2cbcd1c">PP_MOUSECURSOR_TYPE_GRABBING</a> = 42
+<br />
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga43636bcadf9aa312a4c345d210ae6c55">PP_NetAddress_Family</a> { <a class="el" href="group___enums.html#gga43636bcadf9aa312a4c345d210ae6c55a2aef50ef77ad0122b649f0b9ac4c41bc">PP_NETADDRESS_FAMILY_UNSPECIFIED</a> = 0,
+<a class="el" href="group___enums.html#gga43636bcadf9aa312a4c345d210ae6c55a054684e064e8d819f8b2d80640196585">PP_NETADDRESS_FAMILY_IPV4</a> = 1,
+<a class="el" href="group___enums.html#gga43636bcadf9aa312a4c345d210ae6c55aa70bb3acced932eb4fe7df3aae85c27a">PP_NETADDRESS_FAMILY_IPV6</a> = 2
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga1c967cb753eb468493b3bf72e6733983">PP_NetworkList_Type</a> { <a class="el" href="group___enums.html#gga1c967cb753eb468493b3bf72e6733983a6d8ddd32de577965df0d44df0e0acfdd">PP_NETWORKLIST_TYPE_UNKNOWN</a> = 0,
+<a class="el" href="group___enums.html#gga1c967cb753eb468493b3bf72e6733983a6eaef40fe1d62ca5bcfcc1974adc29f9">PP_NETWORKLIST_TYPE_ETHERNET</a> = 1,
+<a class="el" href="group___enums.html#gga1c967cb753eb468493b3bf72e6733983a9a47925bee0d3bd71739475b4c5654ed">PP_NETWORKLIST_TYPE_WIFI</a> = 2,
+<a class="el" href="group___enums.html#gga1c967cb753eb468493b3bf72e6733983ab1c83c6942b208101789971522b3a8c9">PP_NETWORKLIST_TYPE_CELLULAR</a> = 3
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga9188881b5d3346626db0ea8e6aaecf1f">PP_NetworkList_State</a> { <a class="el" href="group___enums.html#gga9188881b5d3346626db0ea8e6aaecf1fa561469f97b38b69868d1cce1142722b6">PP_NETWORKLIST_STATE_DOWN</a> = 0,
+<a class="el" href="group___enums.html#gga9188881b5d3346626db0ea8e6aaecf1fa3b4b789d490cd2d3119a188a79eca0f6">PP_NETWORKLIST_STATE_UP</a> = 1
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga1557c0bbce8739a3418e6027a9c44e12">PP_TCPSocket_Option</a> { <a class="el" href="group___enums.html#gga1557c0bbce8739a3418e6027a9c44e12a4b17558654d1df4452aa98f7d2609a10">PP_TCPSOCKET_OPTION_NO_DELAY</a> = 0,
+<a class="el" href="group___enums.html#gga1557c0bbce8739a3418e6027a9c44e12a61ce27ba7853d05f7af51be1bed5d1a6">PP_TCPSOCKET_OPTION_SEND_BUFFER_SIZE</a> = 1,
+<a class="el" href="group___enums.html#gga1557c0bbce8739a3418e6027a9c44e12aef57736e294acb30fb7b3b2f4a425f72">PP_TCPSOCKET_OPTION_RECV_BUFFER_SIZE</a> = 2
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga5fef49ee4c2cc6dcead825340da0f116">PP_TextInput_Type</a> { <br />
+  <a class="el" href="group___enums.html#gga5fef49ee4c2cc6dcead825340da0f116a0d75c884156553959d65252e65aa0916">PP_TEXTINPUT_TYPE_NONE</a> = 0,
+<a class="el" href="group___enums.html#gga5fef49ee4c2cc6dcead825340da0f116a0e5e4072fce915eca7e4dfd7c639626c">PP_TEXTINPUT_TYPE_TEXT</a> = 1,
+<a class="el" href="group___enums.html#gga5fef49ee4c2cc6dcead825340da0f116a00f508676278dd45e0335a8d5d715114">PP_TEXTINPUT_TYPE_PASSWORD</a> = 2,
+<a class="el" href="group___enums.html#gga5fef49ee4c2cc6dcead825340da0f116a0d7975532097315f198617ad5e59bc32">PP_TEXTINPUT_TYPE_SEARCH</a> = 3,
+<br />
+  <a class="el" href="group___enums.html#gga5fef49ee4c2cc6dcead825340da0f116a027963b61eb55438f92662e72e939cf8">PP_TEXTINPUT_TYPE_EMAIL</a> = 4,
+<a class="el" href="group___enums.html#gga5fef49ee4c2cc6dcead825340da0f116af71a3fb3f651ad5b417592433278fd1e">PP_TEXTINPUT_TYPE_NUMBER</a> = 5,
+<a class="el" href="group___enums.html#gga5fef49ee4c2cc6dcead825340da0f116a181e9bd71e6a97acd6c5dace9f0b5fb3">PP_TEXTINPUT_TYPE_TELEPHONE</a> = 6,
+<a class="el" href="group___enums.html#gga5fef49ee4c2cc6dcead825340da0f116ad4371ecdd1a6631a78d4721d83062394">PP_TEXTINPUT_TYPE_URL</a> = 7
+<br />
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga1a8472fa3e7150615c45c38fa8c12ce2">PP_UDPSocket_Option</a> { <a class="el" href="group___enums.html#gga1a8472fa3e7150615c45c38fa8c12ce2a79568403b8927bf98bea0f2d38469984">PP_UDPSOCKET_OPTION_ADDRESS_REUSE</a> = 0,
+<a class="el" href="group___enums.html#gga1a8472fa3e7150615c45c38fa8c12ce2aeceda8fe978a52382b96939de7707c00">PP_UDPSOCKET_OPTION_BROADCAST</a> = 1,
+<a class="el" href="group___enums.html#gga1a8472fa3e7150615c45c38fa8c12ce2a905f0adde2912a5db26883d45fb75d57">PP_UDPSOCKET_OPTION_SEND_BUFFER_SIZE</a> = 2,
+<a class="el" href="group___enums.html#gga1a8472fa3e7150615c45c38fa8c12ce2a1264eb1d6d16eb3a074ee3d21ebb3b64">PP_UDPSOCKET_OPTION_RECV_BUFFER_SIZE</a> = 3
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga41975630f0a4c49e47d4a21754f8402d">PP_URLRequestProperty</a> { <br />
+  <a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da89e44812e771fed9df0ff8994690e44d">PP_URLREQUESTPROPERTY_URL</a> = 0,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da9cb5229069aac201622dbaa9cbca592c">PP_URLREQUESTPROPERTY_METHOD</a> = 1,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402dac4b3809e34561a77c75b31eac1589e8d">PP_URLREQUESTPROPERTY_HEADERS</a> = 2,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402dac43d267f888233c994bd1ca2b5b6b249">PP_URLREQUESTPROPERTY_STREAMTOFILE</a> = 3,
+<br />
+  <a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da5f1270ecf041c6c0a6ef351eb0c12127">PP_URLREQUESTPROPERTY_FOLLOWREDIRECTS</a> = 4,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da6846ea1e9c4ef7e09ea0f330a90cb7a6">PP_URLREQUESTPROPERTY_RECORDDOWNLOADPROGRESS</a> = 5,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da9202c5a8c6afdc6fa9808ab21b95376c">PP_URLREQUESTPROPERTY_RECORDUPLOADPROGRESS</a> = 6,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da6130d3b9dc8ae434752612ef155e3a38">PP_URLREQUESTPROPERTY_CUSTOMREFERRERURL</a> = 7,
+<br />
+  <a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da23f6523485b5bedf17882fb7a8796c03">PP_URLREQUESTPROPERTY_ALLOWCROSSORIGINREQUESTS</a> = 8,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da7da4140fde998f227f82d8064e9f5460">PP_URLREQUESTPROPERTY_ALLOWCREDENTIALS</a> = 9,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da094e978814d887d1888a2652aa91fc8b">PP_URLREQUESTPROPERTY_CUSTOMCONTENTTRANSFERENCODING</a> = 10,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da69ab9c81542c755313fc906d27396a9e">PP_URLREQUESTPROPERTY_PREFETCHBUFFERUPPERTHRESHOLD</a> = 11,
+<br />
+  <a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da8529403a539c1f604f8b0507078d804d">PP_URLREQUESTPROPERTY_PREFETCHBUFFERLOWERTHRESHOLD</a> = 12,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402dacf34504e827fdce2895f2b504cdd0653">PP_URLREQUESTPROPERTY_CUSTOMUSERAGENT</a> = 13
+<br />
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga642e6199b27df69aad84aff5597041e0">PP_URLResponseProperty</a> { <br />
+  <a class="el" href="group___enums.html#gga642e6199b27df69aad84aff5597041e0a805e0970808bd8d36cb02171dca7a734">PP_URLRESPONSEPROPERTY_URL</a> = 0,
+<a class="el" href="group___enums.html#gga642e6199b27df69aad84aff5597041e0aaaba524cc005207e2f226400e6a14d8e">PP_URLRESPONSEPROPERTY_REDIRECTURL</a> = 1,
+<a class="el" href="group___enums.html#gga642e6199b27df69aad84aff5597041e0abc45cd41ad54d2350626651b34db6927">PP_URLRESPONSEPROPERTY_REDIRECTMETHOD</a> = 2,
+<a class="el" href="group___enums.html#gga642e6199b27df69aad84aff5597041e0abc04191395637d0a4858657f2edd1ce3">PP_URLRESPONSEPROPERTY_STATUSCODE</a> = 3,
+<br />
+  <a class="el" href="group___enums.html#gga642e6199b27df69aad84aff5597041e0a0224e3907e7efc9ff8d916b0cb7b3287">PP_URLRESPONSEPROPERTY_STATUSLINE</a> = 4,
+<a class="el" href="group___enums.html#gga642e6199b27df69aad84aff5597041e0a45c014f3cb40e884677387855c3d977b">PP_URLRESPONSEPROPERTY_HEADERS</a> = 5
+<br />
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gade61cdf6a7470769b571925694d91a89">PP_WebSocketReadyState</a> { <br />
+  <a class="el" href="group___enums.html#ggade61cdf6a7470769b571925694d91a89a6c603b9df214e22d8b8202431866b26b">PP_WEBSOCKETREADYSTATE_INVALID</a> = -1,
+<a class="el" href="group___enums.html#ggade61cdf6a7470769b571925694d91a89a9ad491ea639e22b598d4e8cab463acd9">PP_WEBSOCKETREADYSTATE_CONNECTING</a> = 0,
+<a class="el" href="group___enums.html#ggade61cdf6a7470769b571925694d91a89a60f99e31f237d57df167d70e7c1ada7d">PP_WEBSOCKETREADYSTATE_OPEN</a> = 1,
+<a class="el" href="group___enums.html#ggade61cdf6a7470769b571925694d91a89a45ce2585ba8b200c6c02112098df6447">PP_WEBSOCKETREADYSTATE_CLOSING</a> = 2,
+<br />
+  <a class="el" href="group___enums.html#ggade61cdf6a7470769b571925694d91a89a43865a04fac402be4f589d2c7f9f02f4">PP_WEBSOCKETREADYSTATE_CLOSED</a> = 3
+<br />
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga8458f33f09ecc56fcf486c60b844678d">PP_WebSocketCloseCode</a> { <br />
+  <a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678dace8b6cbd5ab6bdecc5762b8753702d47">PP_WEBSOCKETSTATUSCODE_NOT_SPECIFIED</a> = 1005,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678daff82b3d825f09240d64479d5ae0a2e00">PP_WEBSOCKETSTATUSCODE_NORMAL_CLOSURE</a> = 1000,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da9d8d5c41a6592a609324249950468fb4">PP_WEBSOCKETSTATUSCODE_GOING_AWAY</a> = 1001,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678daf20b614979599d2a2ed79543618d6ef4">PP_WEBSOCKETSTATUSCODE_PROTOCOL_ERROR</a> = 1002,
+<br />
+  <a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da4c63e46fd3e2a3b03fdcc577431f85ba">PP_WEBSOCKETSTATUSCODE_UNSUPPORTED_DATA</a> = 1003,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da75580d49b265525d2f8591be2aa02fe6">PP_WEBSOCKETSTATUSCODE_NO_STATUS_RECEIVED</a> = 1005,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678dad80b864c592819db0cb640d2b6e74a3f">PP_WEBSOCKETSTATUSCODE_ABNORMAL_CLOSURE</a> = 1006,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678daea768048eaff4826bf06550d8da0dd42">PP_WEBSOCKETSTATUSCODE_INVALID_FRAME_PAYLOAD_DATA</a> = 1007,
+<br />
+  <a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da4d4405b66c4b436c9bb31dfa4fa71523">PP_WEBSOCKETSTATUSCODE_POLICY_VIOLATION</a> = 1008,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da7c8d17601c982c62a933a3f721c049ef">PP_WEBSOCKETSTATUSCODE_MESSAGE_TOO_BIG</a> = 1009,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da5fae5457554a0cad877ccfa1d5636b8d">PP_WEBSOCKETSTATUSCODE_MANDATORY_EXTENSION</a> = 1010,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da7318b30a65ea442445e754453a73be81">PP_WEBSOCKETSTATUSCODE_INTERNAL_SERVER_ERROR</a> = 1011,
+<br />
+  <a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da8aef76170a2836b651922555aa26348d">PP_WEBSOCKETSTATUSCODE_TLS_HANDSHAKE</a> = 1015,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da3a87714e399ce00177f60f85c9a993ba">PP_WEBSOCKETSTATUSCODE_USER_REGISTERED_MIN</a> = 3000,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da08c67e1fcd33b07c350be618d7d72403">PP_WEBSOCKETSTATUSCODE_USER_REGISTERED_MAX</a> = 3999,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da491bd1d7c9ada2c129062beb9eaeded1">PP_WEBSOCKETSTATUSCODE_USER_PRIVATE_MIN</a> = 4000,
+<br />
+  <a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da242327b17ab568d625627236de721e5b">PP_WEBSOCKETSTATUSCODE_USER_PRIVATE_MAX</a> = 4999
+<br />
+ }</td></tr>
+</table><h2>
+Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga9b1b55c2ccaa49d084206619c9034dde">PP_COMPILE_ASSERT_ENUM_SIZE_IN_BYTES</a> (<a class="el" href="group___enums.html#gac53273018386c1db9542d2a06bbe118b">PP_MouseCursor_Type</a>, 4)</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga7610f0fba2396d46384859caa4d91798">PP_CompletionCallback_Flag</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga36f6dfbe9c1e98540c5247f790746427">PP_FileType</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga87b353f2ec8935c9c3294daff612c145">PP_FileSystemType</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga7df48e1c55f6401beea2a1b9c07967e8">PP_Graphics3DAttrib</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga9815041477d810724e44da862f9852ed">PP_VarType</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gaee750c350655f2fb0fe04c04029e0ff8">PP_AudioSampleRate</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gac39067c0883ec80b94290dd2a3bae440">PP_LogLevel</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga4c87e6dd19c1d49b66a9b37136a82e82">PP_FileOpenFlags</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gadb4b8db19266831040fc604f73c83a25">PP_HostResolver_Flag</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga2ee7ad01799553e5f17bdaa35dd952ee">PP_ImageDataFormat</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gaca7296cfec99fcb6646b7144d1d6a0c5">PP_InputEvent_Type</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga21b811ac0484a214a8751aa3e1c959d9">PP_InputEvent_Modifier</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga25113f3c8d33e863fd38b3f70f8a5e6e">PP_InputEvent_MouseButton</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gafe68e3c1031daa4a6496845ff47649cd">PP_InputEvent_Class</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gad5885a239d04166c8777432c81e39d0a">PP_TouchListType</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga43636bcadf9aa312a4c345d210ae6c55">PP_NetAddress_Family</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga1c967cb753eb468493b3bf72e6733983">PP_NetworkList_Type</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga9188881b5d3346626db0ea8e6aaecf1f">PP_NetworkList_State</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga1557c0bbce8739a3418e6027a9c44e12">PP_TCPSocket_Option</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga5fef49ee4c2cc6dcead825340da0f116">PP_TextInput_Type</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga1a8472fa3e7150615c45c38fa8c12ce2">PP_UDPSocket_Option</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga41975630f0a4c49e47d4a21754f8402d">PP_URLRequestProperty</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga642e6199b27df69aad84aff5597041e0">PP_URLResponseProperty</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gade61cdf6a7470769b571925694d91a89">PP_WebSocketReadyState</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga8458f33f09ecc56fcf486c60b844678d">PP_WebSocketCloseCode</a></td></tr>
+</table>
+<hr /><h2>Enumeration Type Documentation</h2>
+<a class="anchor" id="ga06fc87d81c62e9abb8790b6e5713c55b"></a><!-- doxytag: member="pp_errors.h::@0" ref="ga06fc87d81c62e9abb8790b6e5713c55b" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">anonymous enum</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This enumeration contains enumerators of all PPAPI error codes. </p>
+<p>Errors are negative valued. Callers should treat all negative values as a failure, even if it's not in the list, since the possible errors are likely to expand and change over time. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba5c394615cfa8eaceba77ecedb65dc9cb"></a><!-- doxytag: member="PP_OK" ref="gga06fc87d81c62e9abb8790b6e5713c55ba5c394615cfa8eaceba77ecedb65dc9cb" args="" -->PP_OK</em> </td><td>
+<p>This value is returned by a function on successful synchronous completion or is passed as a result to a PP_CompletionCallback_Func on successful asynchronous completion. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55baa5f7aa5667dc3eb61dd4f822d1163b29"></a><!-- doxytag: member="PP_OK_COMPLETIONPENDING" ref="gga06fc87d81c62e9abb8790b6e5713c55baa5f7aa5667dc3eb61dd4f822d1163b29" args="" -->PP_OK_COMPLETIONPENDING</em> </td><td>
+<p>This value is returned by a function that accepts a <a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a> and cannot complete synchronously. </p>
+<p>This code indicates that the given callback will be asynchronously notified of the final result once it is available. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba06a8964482e41bf50c45c0d9dd281830"></a><!-- doxytag: member="PP_ERROR_FAILED" ref="gga06fc87d81c62e9abb8790b6e5713c55ba06a8964482e41bf50c45c0d9dd281830" args="" -->PP_ERROR_FAILED</em> </td><td>
+<p>This value indicates failure for unspecified reasons. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba8389cb348aeba81a94b058622f5914af"></a><!-- doxytag: member="PP_ERROR_ABORTED" ref="gga06fc87d81c62e9abb8790b6e5713c55ba8389cb348aeba81a94b058622f5914af" args="" -->PP_ERROR_ABORTED</em> </td><td>
+<p>This value indicates failure due to an asynchronous operation being interrupted. </p>
+<p>The most common cause of this error code is destroying a resource that still has a callback pending. All callbacks are guaranteed to execute, so any callbacks pending on a destroyed resource will be issued with PP_ERROR_ABORTED.</p>
+<p>If you get an aborted notification that you aren't expecting, check to make sure that the resource you're using is still in scope. A common mistake is to create a resource on the stack, which will destroy the resource as soon as the function returns. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba02f23038858b2b1a3c95f1593332503f"></a><!-- doxytag: member="PP_ERROR_BADARGUMENT" ref="gga06fc87d81c62e9abb8790b6e5713c55ba02f23038858b2b1a3c95f1593332503f" args="" -->PP_ERROR_BADARGUMENT</em> </td><td>
+<p>This value indicates failure due to an invalid argument. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba55448d3b2c42d96c7b347a5833df7e76"></a><!-- doxytag: member="PP_ERROR_BADRESOURCE" ref="gga06fc87d81c62e9abb8790b6e5713c55ba55448d3b2c42d96c7b347a5833df7e76" args="" -->PP_ERROR_BADRESOURCE</em> </td><td>
+<p>This value indicates failure due to an invalid PP_Resource. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba7bc23fde1d7408a2d5e0c02fda77a157"></a><!-- doxytag: member="PP_ERROR_NOINTERFACE" ref="gga06fc87d81c62e9abb8790b6e5713c55ba7bc23fde1d7408a2d5e0c02fda77a157" args="" -->PP_ERROR_NOINTERFACE</em> </td><td>
+<p>This value indicates failure due to an unavailable PPAPI interface. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55baccd33fd6aa1c9a64b692a615b8099f10"></a><!-- doxytag: member="PP_ERROR_NOACCESS" ref="gga06fc87d81c62e9abb8790b6e5713c55baccd33fd6aa1c9a64b692a615b8099f10" args="" -->PP_ERROR_NOACCESS</em> </td><td>
+<p>This value indicates failure due to insufficient privileges. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba77543198f33b4da09f5431f61be0fdfe"></a><!-- doxytag: member="PP_ERROR_NOMEMORY" ref="gga06fc87d81c62e9abb8790b6e5713c55ba77543198f33b4da09f5431f61be0fdfe" args="" -->PP_ERROR_NOMEMORY</em> </td><td>
+<p>This value indicates failure due to insufficient memory. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55baa52e024aa5d86ea5c2d0e9fe4d4223b1"></a><!-- doxytag: member="PP_ERROR_NOSPACE" ref="gga06fc87d81c62e9abb8790b6e5713c55baa52e024aa5d86ea5c2d0e9fe4d4223b1" args="" -->PP_ERROR_NOSPACE</em> </td><td>
+<p>This value indicates failure due to insufficient storage space. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba32f8a2ecfc27357c36e8cab62f5f8b60"></a><!-- doxytag: member="PP_ERROR_NOQUOTA" ref="gga06fc87d81c62e9abb8790b6e5713c55ba32f8a2ecfc27357c36e8cab62f5f8b60" args="" -->PP_ERROR_NOQUOTA</em> </td><td>
+<p>This value indicates failure due to insufficient storage quota. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba2eb423e9cc9c19a6a7150b342a0b383a"></a><!-- doxytag: member="PP_ERROR_INPROGRESS" ref="gga06fc87d81c62e9abb8790b6e5713c55ba2eb423e9cc9c19a6a7150b342a0b383a" args="" -->PP_ERROR_INPROGRESS</em> </td><td>
+<p>This value indicates failure due to an action already being in progress. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55babb8fa3e1cb15627f433a049d68e49d5b"></a><!-- doxytag: member="PP_ERROR_NOTSUPPORTED" ref="gga06fc87d81c62e9abb8790b6e5713c55babb8fa3e1cb15627f433a049d68e49d5b" args="" -->PP_ERROR_NOTSUPPORTED</em> </td><td>
+<p>The requested command is not supported by the browser. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba282ee581bafd4579a8982a5141793de4"></a><!-- doxytag: member="PP_ERROR_BLOCKS_MAIN_THREAD" ref="gga06fc87d81c62e9abb8790b6e5713c55ba282ee581bafd4579a8982a5141793de4" args="" -->PP_ERROR_BLOCKS_MAIN_THREAD</em> </td><td>
+<p>Returned if you try to use a null completion callback to "block until
+ complete" on the main thread. </p>
+<p>Blocking the main thread is not permitted to keep the browser responsive (otherwise, you may not be able to handle input events, and there are reentrancy and deadlock issues). </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba6c1c35f64dd233fc0a46151a82915960"></a><!-- doxytag: member="PP_ERROR_FILENOTFOUND" ref="gga06fc87d81c62e9abb8790b6e5713c55ba6c1c35f64dd233fc0a46151a82915960" args="" -->PP_ERROR_FILENOTFOUND</em> </td><td>
+<p>This value indicates failure due to a file that does not exist. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba325aca7c7d73483de41998329b342ef0"></a><!-- doxytag: member="PP_ERROR_FILEEXISTS" ref="gga06fc87d81c62e9abb8790b6e5713c55ba325aca7c7d73483de41998329b342ef0" args="" -->PP_ERROR_FILEEXISTS</em> </td><td>
+<p>This value indicates failure due to a file that already exists. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55bac0eab80ff249433a206cd93e34d1e965"></a><!-- doxytag: member="PP_ERROR_FILETOOBIG" ref="gga06fc87d81c62e9abb8790b6e5713c55bac0eab80ff249433a206cd93e34d1e965" args="" -->PP_ERROR_FILETOOBIG</em> </td><td>
+<p>This value indicates failure due to a file that is too big. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55baa2e274f5a24c62f7ebf50ef2e2dd98a6"></a><!-- doxytag: member="PP_ERROR_FILECHANGED" ref="gga06fc87d81c62e9abb8790b6e5713c55baa2e274f5a24c62f7ebf50ef2e2dd98a6" args="" -->PP_ERROR_FILECHANGED</em> </td><td>
+<p>This value indicates failure due to a file having been modified unexpectedly. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55baf216de52da5770d56ba7e483974ec209"></a><!-- doxytag: member="PP_ERROR_NOTAFILE" ref="gga06fc87d81c62e9abb8790b6e5713c55baf216de52da5770d56ba7e483974ec209" args="" -->PP_ERROR_NOTAFILE</em> </td><td>
+<p>This value indicates that the pathname does not reference a file. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba53382f01745b691ba6f91c65b6059953"></a><!-- doxytag: member="PP_ERROR_TIMEDOUT" ref="gga06fc87d81c62e9abb8790b6e5713c55ba53382f01745b691ba6f91c65b6059953" args="" -->PP_ERROR_TIMEDOUT</em> </td><td>
+<p>This value indicates failure due to a time limit being exceeded. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba3f20bb850c408a7e05fbc9ce42a8e999"></a><!-- doxytag: member="PP_ERROR_USERCANCEL" ref="gga06fc87d81c62e9abb8790b6e5713c55ba3f20bb850c408a7e05fbc9ce42a8e999" args="" -->PP_ERROR_USERCANCEL</em> </td><td>
+<p>This value indicates that the user cancelled rather than providing expected input. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba8c428198d142124ef0c99eb8e8572491"></a><!-- doxytag: member="PP_ERROR_NO_USER_GESTURE" ref="gga06fc87d81c62e9abb8790b6e5713c55ba8c428198d142124ef0c99eb8e8572491" args="" -->PP_ERROR_NO_USER_GESTURE</em> </td><td>
+<p>This value indicates failure due to lack of a user gesture such as a mouse click or key input event. </p>
+<p>Examples of actions requiring a user gesture are showing the file chooser dialog and going into fullscreen mode. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba7469b76adbd5e8e931314160093a9e1a"></a><!-- doxytag: member="PP_ERROR_CONTEXT_LOST" ref="gga06fc87d81c62e9abb8790b6e5713c55ba7469b76adbd5e8e931314160093a9e1a" args="" -->PP_ERROR_CONTEXT_LOST</em> </td><td>
+<p>This value indicates that the graphics context was lost due to a power management event. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55baf907cc8f39ca083a5cad188fb808fc0f"></a><!-- doxytag: member="PP_ERROR_NO_MESSAGE_LOOP" ref="gga06fc87d81c62e9abb8790b6e5713c55baf907cc8f39ca083a5cad188fb808fc0f" args="" -->PP_ERROR_NO_MESSAGE_LOOP</em> </td><td>
+<p>Indicates an attempt to make a PPAPI call on a thread without previously registering a message loop via <a class="el" href="struct_p_p_b___message_loop__1__0.html#ad7e1c1fb0baf6a0446ffb241a6b226b9" title="Sets the given message loop resource as being the associated message loop for the currently running t...">PPB_MessageLoop.AttachToCurrentThread</a>. </p>
+<p>Without this registration step, no PPAPI calls are supported. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55bae18e92e98e2dd0d106b49387af13c997"></a><!-- doxytag: member="PP_ERROR_WRONG_THREAD" ref="gga06fc87d81c62e9abb8790b6e5713c55bae18e92e98e2dd0d106b49387af13c997" args="" -->PP_ERROR_WRONG_THREAD</em> </td><td>
+<p>Indicates that the requested operation is not permitted on the current thread. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55babbc1f7cf46e1746ce232e4655191630e"></a><!-- doxytag: member="PP_ERROR_CONNECTION_CLOSED" ref="gga06fc87d81c62e9abb8790b6e5713c55babbc1f7cf46e1746ce232e4655191630e" args="" -->PP_ERROR_CONNECTION_CLOSED</em> </td><td>
+<p>This value indicates that the connection was closed. </p>
+<p>For TCP sockets, it corresponds to a TCP FIN. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55bac7e0cbefef9315c63c0d7858d0fc4c01"></a><!-- doxytag: member="PP_ERROR_CONNECTION_RESET" ref="gga06fc87d81c62e9abb8790b6e5713c55bac7e0cbefef9315c63c0d7858d0fc4c01" args="" -->PP_ERROR_CONNECTION_RESET</em> </td><td>
+<p>This value indicates that the connection was reset. </p>
+<p>For TCP sockets, it corresponds to a TCP RST. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55bab3873811c2f684a437a2efa3133d3452"></a><!-- doxytag: member="PP_ERROR_CONNECTION_REFUSED" ref="gga06fc87d81c62e9abb8790b6e5713c55bab3873811c2f684a437a2efa3133d3452" args="" -->PP_ERROR_CONNECTION_REFUSED</em> </td><td>
+<p>This value indicates that the connection attempt was refused. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55baf86ee9c96af9f4c315ac6458b6638f27"></a><!-- doxytag: member="PP_ERROR_CONNECTION_ABORTED" ref="gga06fc87d81c62e9abb8790b6e5713c55baf86ee9c96af9f4c315ac6458b6638f27" args="" -->PP_ERROR_CONNECTION_ABORTED</em> </td><td>
+<p>This value indicates that the connection was aborted. </p>
+<p>For TCP sockets, it means the connection timed out as a result of not receiving an ACK for data sent. This can include a FIN packet that did not get ACK'd. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55bacd6d028056cb3596b966682edb6effcf"></a><!-- doxytag: member="PP_ERROR_CONNECTION_FAILED" ref="gga06fc87d81c62e9abb8790b6e5713c55bacd6d028056cb3596b966682edb6effcf" args="" -->PP_ERROR_CONNECTION_FAILED</em> </td><td>
+<p>This value indicates that the connection attempt failed. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba49150f7eacf465fc552e751ac521b4ae"></a><!-- doxytag: member="PP_ERROR_CONNECTION_TIMEDOUT" ref="gga06fc87d81c62e9abb8790b6e5713c55ba49150f7eacf465fc552e751ac521b4ae" args="" -->PP_ERROR_CONNECTION_TIMEDOUT</em> </td><td>
+<p>This value indicates that the connection attempt timed out. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55baa13c10929736aa23a8056ee33dcd23e5"></a><!-- doxytag: member="PP_ERROR_ADDRESS_INVALID" ref="gga06fc87d81c62e9abb8790b6e5713c55baa13c10929736aa23a8056ee33dcd23e5" args="" -->PP_ERROR_ADDRESS_INVALID</em> </td><td>
+<p>This value indicates that the IP address or port number is invalid. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba4304630fb13c40107ed6da9e5b764003"></a><!-- doxytag: member="PP_ERROR_ADDRESS_UNREACHABLE" ref="gga06fc87d81c62e9abb8790b6e5713c55ba4304630fb13c40107ed6da9e5b764003" args="" -->PP_ERROR_ADDRESS_UNREACHABLE</em> </td><td>
+<p>This value indicates that the IP address is unreachable. </p>
+<p>This usually means that there is no route to the specified host or network. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55bafb9e232a63a5787ec0445ee9cc7fc7c2"></a><!-- doxytag: member="PP_ERROR_ADDRESS_IN_USE" ref="gga06fc87d81c62e9abb8790b6e5713c55bafb9e232a63a5787ec0445ee9cc7fc7c2" args="" -->PP_ERROR_ADDRESS_IN_USE</em> </td><td>
+<p>This value is returned when attempting to bind an address that is already in use. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba679d405ff44d259db51dfc6f312b465f"></a><!-- doxytag: member="PP_ERROR_MESSAGE_TOO_BIG" ref="gga06fc87d81c62e9abb8790b6e5713c55ba679d405ff44d259db51dfc6f312b465f" args="" -->PP_ERROR_MESSAGE_TOO_BIG</em> </td><td>
+<p>This value indicates that the message was too large for the transport. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba74c1a24f06288fc63221631ba6a2a7b6"></a><!-- doxytag: member="PP_ERROR_NAME_NOT_RESOLVED" ref="gga06fc87d81c62e9abb8790b6e5713c55ba74c1a24f06288fc63221631ba6a2a7b6" args="" -->PP_ERROR_NAME_NOT_RESOLVED</em> </td><td>
+<p>This value indicates that the host name could not be resolved. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="gadf764cbdea00d65edcd07bb9953ad2b7"></a><!-- doxytag: member="ppb_audio_config.h::@1" ref="gadf764cbdea00d65edcd07bb9953ad2b7" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">anonymous enum</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This enumeration contains audio frame count constants. </p>
+<p><code>PP_AUDIOMINSAMPLEFRAMECOUNT</code> is the minimum possible frame count. <code>PP_AUDIOMAXSAMPLEFRAMECOUNT</code> is the maximum possible frame count. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="ggadf764cbdea00d65edcd07bb9953ad2b7a9bf932735e301eeecf183a9defc378b3"></a><!-- doxytag: member="PP_AUDIOMINSAMPLEFRAMECOUNT" ref="ggadf764cbdea00d65edcd07bb9953ad2b7a9bf932735e301eeecf183a9defc378b3" args="" -->PP_AUDIOMINSAMPLEFRAMECOUNT</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggadf764cbdea00d65edcd07bb9953ad2b7a335c882fde010a0515ec5678a7003ce4"></a><!-- doxytag: member="PP_AUDIOMAXSAMPLEFRAMECOUNT" ref="ggadf764cbdea00d65edcd07bb9953ad2b7a335c882fde010a0515ec5678a7003ce4" args="" -->PP_AUDIOMAXSAMPLEFRAMECOUNT</em> </td><td>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="gaee750c350655f2fb0fe04c04029e0ff8"></a><!-- doxytag: member="ppb_audio_config.h::PP_AudioSampleRate" ref="gaee750c350655f2fb0fe04c04029e0ff8" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#gaee750c350655f2fb0fe04c04029e0ff8">PP_AudioSampleRate</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>PP_AudioSampleRate is an enumeration of the different audio sampling rates. </p>
+<p><code>PP_AUDIOSAMPLERATE_44100</code> is the sample rate used on CDs and <code>PP_AUDIOSAMPLERATE_48000</code> is the sample rate used on DVDs and Digital Audio Tapes. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="ggaee750c350655f2fb0fe04c04029e0ff8a3028e109c6005f2e9ffd635f92ef3324"></a><!-- doxytag: member="PP_AUDIOSAMPLERATE_NONE" ref="ggaee750c350655f2fb0fe04c04029e0ff8a3028e109c6005f2e9ffd635f92ef3324" args="" -->PP_AUDIOSAMPLERATE_NONE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaee750c350655f2fb0fe04c04029e0ff8ac6d1056f50ebe082622d3250def41a54"></a><!-- doxytag: member="PP_AUDIOSAMPLERATE_44100" ref="ggaee750c350655f2fb0fe04c04029e0ff8ac6d1056f50ebe082622d3250def41a54" args="" -->PP_AUDIOSAMPLERATE_44100</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaee750c350655f2fb0fe04c04029e0ff8a0a3ddad3c00d75e1c57a245e599727cd"></a><!-- doxytag: member="PP_AUDIOSAMPLERATE_48000" ref="ggaee750c350655f2fb0fe04c04029e0ff8a0a3ddad3c00d75e1c57a245e599727cd" args="" -->PP_AUDIOSAMPLERATE_48000</em> </td><td>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga4f272d99be14aacafe08dfd4ef830918"></a><!-- doxytag: member="pp_bool.h::PP_Bool" ref="ga4f272d99be14aacafe08dfd4ef830918" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <code>PP_Bool</code> enum is a boolean value for use in PPAPI C headers. </p>
+<p>The standard bool type is not available to pre-C99 compilers, and is not guaranteed to be compatible between C and C++, whereas the PPAPI C headers can be included from C or C++ code. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga4f272d99be14aacafe08dfd4ef830918aeb6cdb899071a9ea4695a184bfdc3e81"></a><!-- doxytag: member="PP_FALSE" ref="gga4f272d99be14aacafe08dfd4ef830918aeb6cdb899071a9ea4695a184bfdc3e81" args="" -->PP_FALSE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga4f272d99be14aacafe08dfd4ef830918a177ce110df585fe2b468dba9a0eefda5"></a><!-- doxytag: member="PP_TRUE" ref="gga4f272d99be14aacafe08dfd4ef830918a177ce110df585fe2b468dba9a0eefda5" args="" -->PP_TRUE</em> </td><td>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga7610f0fba2396d46384859caa4d91798"></a><!-- doxytag: member="pp_completion_callback.h::PP_CompletionCallback_Flag" ref="ga7610f0fba2396d46384859caa4d91798" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga7610f0fba2396d46384859caa4d91798">PP_CompletionCallback_Flag</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This enumeration contains flags used to control how non-NULL callbacks are scheduled by asynchronous methods. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga7610f0fba2396d46384859caa4d91798a6eedc0f315784a4cb47c5806b828c7cc"></a><!-- doxytag: member="PP_COMPLETIONCALLBACK_FLAG_NONE" ref="gga7610f0fba2396d46384859caa4d91798a6eedc0f315784a4cb47c5806b828c7cc" args="" -->PP_COMPLETIONCALLBACK_FLAG_NONE</em> </td><td>
+<p>By default any non-NULL callback will always invoked asynchronously, on success or error, even if the operation could complete synchronously without blocking. </p>
+<p>The method taking such callback will always return PP_OK_COMPLETIONPENDING. The callback will be invoked on the same thread on which the method was invoked.</p>
+<p>NOTE: If the method taking the callback is invoked on a background thread that has no valid PPB_MessageLoop resource attached, the system has no way to run the callback on the correct thread. In this case, a log message will be emitted and the plugin will be made to crash. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga7610f0fba2396d46384859caa4d91798aebb176d8930b14219b7966fd93a2e967"></a><!-- doxytag: member="PP_COMPLETIONCALLBACK_FLAG_OPTIONAL" ref="gga7610f0fba2396d46384859caa4d91798aebb176d8930b14219b7966fd93a2e967" args="" -->PP_COMPLETIONCALLBACK_FLAG_OPTIONAL</em> </td><td>
+<p>This flag allows any method taking such callback to complete synchronously and not call the callback if the operation would not block. </p>
+<p>This is useful when performance is an issue, and the operation bandwidth should not be limited to the processing speed of the message loop.</p>
+<p>On synchronous method completion, the completion result will be returned by the method itself. Otherwise, the method will return PP_OK_COMPLETIONPENDING, and the callback will be invoked asynchronously on the same thread on which the method was invoked. If there is no valid PPB_MessageLoop attached to that thread, and the callback would normally run asynchronously, the invoked method will return PP_ERROR_NO_MESSAGE_LOOP. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga4c87e6dd19c1d49b66a9b37136a82e82"></a><!-- doxytag: member="ppb_file_io.h::PP_FileOpenFlags" ref="ga4c87e6dd19c1d49b66a9b37136a82e82" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga4c87e6dd19c1d49b66a9b37136a82e82">PP_FileOpenFlags</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The PP_FileOpenFlags enum contains file open constants. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga4c87e6dd19c1d49b66a9b37136a82e82a9d409b8a19e1a1c90b6c01f45cea8468"></a><!-- doxytag: member="PP_FILEOPENFLAG_READ" ref="gga4c87e6dd19c1d49b66a9b37136a82e82a9d409b8a19e1a1c90b6c01f45cea8468" args="" -->PP_FILEOPENFLAG_READ</em> </td><td>
+<p>Requests read access to a file. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga4c87e6dd19c1d49b66a9b37136a82e82ad43adf355739f7a82d0f1a884531afbd"></a><!-- doxytag: member="PP_FILEOPENFLAG_WRITE" ref="gga4c87e6dd19c1d49b66a9b37136a82e82ad43adf355739f7a82d0f1a884531afbd" args="" -->PP_FILEOPENFLAG_WRITE</em> </td><td>
+<p>Requests write access to a file. </p>
+<p>May be combined with <code>PP_FILEOPENFLAG_READ</code> to request read and write access. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga4c87e6dd19c1d49b66a9b37136a82e82adc826ab2826a482ee2b15cc25d0d9ba2"></a><!-- doxytag: member="PP_FILEOPENFLAG_CREATE" ref="gga4c87e6dd19c1d49b66a9b37136a82e82adc826ab2826a482ee2b15cc25d0d9ba2" args="" -->PP_FILEOPENFLAG_CREATE</em> </td><td>
+<p>Requests that the file be created if it does not exist. </p>
+<p>If the file already exists, then this flag is ignored unless <code>PP_FILEOPENFLAG_EXCLUSIVE</code> was also specified, in which case FileIO::Open() will fail. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga4c87e6dd19c1d49b66a9b37136a82e82afc54dddff300e46f1ea644855abfd3e5"></a><!-- doxytag: member="PP_FILEOPENFLAG_TRUNCATE" ref="gga4c87e6dd19c1d49b66a9b37136a82e82afc54dddff300e46f1ea644855abfd3e5" args="" -->PP_FILEOPENFLAG_TRUNCATE</em> </td><td>
+<p>Requests that the file be truncated to length 0 if it exists and is a regular file. </p>
+<p><code>PP_FILEOPENFLAG_WRITE</code> must also be specified. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga4c87e6dd19c1d49b66a9b37136a82e82a3ffa615692f3b3a2da0f1e04903eefce"></a><!-- doxytag: member="PP_FILEOPENFLAG_EXCLUSIVE" ref="gga4c87e6dd19c1d49b66a9b37136a82e82a3ffa615692f3b3a2da0f1e04903eefce" args="" -->PP_FILEOPENFLAG_EXCLUSIVE</em> </td><td>
+<p>Requests that the file is created when this flag is combined with <code>PP_FILEOPENFLAG_CREATE</code>. </p>
+<p>If this flag is specified, and the file already exists, then the FileIO::Open() call will fail. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga4c87e6dd19c1d49b66a9b37136a82e82a78c13cbbccebfa9c2b8b2f758397795c"></a><!-- doxytag: member="PP_FILEOPENFLAG_APPEND" ref="gga4c87e6dd19c1d49b66a9b37136a82e82a78c13cbbccebfa9c2b8b2f758397795c" args="" -->PP_FILEOPENFLAG_APPEND</em> </td><td>
+<p>Requests write access to a file, but writes will always occur at the end of the file. </p>
+<p>Mututally exclusive with <code>PP_FILEOPENFLAG_WRITE</code>.</p>
+<p>This is only supported in version 1.2 (Chrome 29) and later. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga87b353f2ec8935c9c3294daff612c145"></a><!-- doxytag: member="pp_file_info.h::PP_FileSystemType" ref="ga87b353f2ec8935c9c3294daff612c145" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga87b353f2ec8935c9c3294daff612c145">PP_FileSystemType</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <code>PP_FileSystemType</code> enum contains file system type constants. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga87b353f2ec8935c9c3294daff612c145a48e7bd0df8bd086812085be972e963a0"></a><!-- doxytag: member="PP_FILESYSTEMTYPE_INVALID" ref="gga87b353f2ec8935c9c3294daff612c145a48e7bd0df8bd086812085be972e963a0" args="" -->PP_FILESYSTEMTYPE_INVALID</em> </td><td>
+<p>For identified invalid return values. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga87b353f2ec8935c9c3294daff612c145aa21f18053ba5b3594a0b5373074742c2"></a><!-- doxytag: member="PP_FILESYSTEMTYPE_EXTERNAL" ref="gga87b353f2ec8935c9c3294daff612c145aa21f18053ba5b3594a0b5373074742c2" args="" -->PP_FILESYSTEMTYPE_EXTERNAL</em> </td><td>
+<p>For external file system types. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga87b353f2ec8935c9c3294daff612c145a4c51625a4c977d3fab0c4dd28127603c"></a><!-- doxytag: member="PP_FILESYSTEMTYPE_LOCALPERSISTENT" ref="gga87b353f2ec8935c9c3294daff612c145a4c51625a4c977d3fab0c4dd28127603c" args="" -->PP_FILESYSTEMTYPE_LOCALPERSISTENT</em> </td><td>
+<p>For local persistent file system types. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga87b353f2ec8935c9c3294daff612c145abefda8d47a5cd9b8918f012c34496ca9"></a><!-- doxytag: member="PP_FILESYSTEMTYPE_LOCALTEMPORARY" ref="gga87b353f2ec8935c9c3294daff612c145abefda8d47a5cd9b8918f012c34496ca9" args="" -->PP_FILESYSTEMTYPE_LOCALTEMPORARY</em> </td><td>
+<p>For local temporary file system types. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga87b353f2ec8935c9c3294daff612c145aeceec88ea91ee70c499ff39119dd33b5"></a><!-- doxytag: member="PP_FILESYSTEMTYPE_ISOLATED" ref="gga87b353f2ec8935c9c3294daff612c145aeceec88ea91ee70c499ff39119dd33b5" args="" -->PP_FILESYSTEMTYPE_ISOLATED</em> </td><td>
+<p>For isolated file system types. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga36f6dfbe9c1e98540c5247f790746427"></a><!-- doxytag: member="pp_file_info.h::PP_FileType" ref="ga36f6dfbe9c1e98540c5247f790746427" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga36f6dfbe9c1e98540c5247f790746427">PP_FileType</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <code>PP_FileType</code> enum contains file type constants. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga36f6dfbe9c1e98540c5247f790746427acd0d93632365573bba7774b7fe0c62fd"></a><!-- doxytag: member="PP_FILETYPE_REGULAR" ref="gga36f6dfbe9c1e98540c5247f790746427acd0d93632365573bba7774b7fe0c62fd" args="" -->PP_FILETYPE_REGULAR</em> </td><td>
+<p>A regular file type. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga36f6dfbe9c1e98540c5247f790746427a81b606e1444df5fb838a692f891fbde9"></a><!-- doxytag: member="PP_FILETYPE_DIRECTORY" ref="gga36f6dfbe9c1e98540c5247f790746427a81b606e1444df5fb838a692f891fbde9" args="" -->PP_FILETYPE_DIRECTORY</em> </td><td>
+<p>A directory. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga36f6dfbe9c1e98540c5247f790746427a9e3863ab973d8643dcc96708f55df880"></a><!-- doxytag: member="PP_FILETYPE_OTHER" ref="gga36f6dfbe9c1e98540c5247f790746427a9e3863ab973d8643dcc96708f55df880" args="" -->PP_FILETYPE_OTHER</em> </td><td>
+<p>A catch-all for unidentified types. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga7df48e1c55f6401beea2a1b9c07967e8"></a><!-- doxytag: member="pp_graphics_3d.h::PP_Graphics3DAttrib" ref="ga7df48e1c55f6401beea2a1b9c07967e8" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga7df48e1c55f6401beea2a1b9c07967e8">PP_Graphics3DAttrib</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga7df48e1c55f6401beea2a1b9c07967e8aac0fc60be37c86f193fb535bedb09458"></a><!-- doxytag: member="PP_GRAPHICS3DATTRIB_ALPHA_SIZE" ref="gga7df48e1c55f6401beea2a1b9c07967e8aac0fc60be37c86f193fb535bedb09458" args="" -->PP_GRAPHICS3DATTRIB_ALPHA_SIZE</em> </td><td>
+<p>Bits of Alpha in the color buffer. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga7df48e1c55f6401beea2a1b9c07967e8a519cd199423721033780ee13ecb0e60b"></a><!-- doxytag: member="PP_GRAPHICS3DATTRIB_BLUE_SIZE" ref="gga7df48e1c55f6401beea2a1b9c07967e8a519cd199423721033780ee13ecb0e60b" args="" -->PP_GRAPHICS3DATTRIB_BLUE_SIZE</em> </td><td>
+<p>Bits of Blue in the color buffer. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga7df48e1c55f6401beea2a1b9c07967e8ade95a6e685ca23522da80c1703d294a7"></a><!-- doxytag: member="PP_GRAPHICS3DATTRIB_GREEN_SIZE" ref="gga7df48e1c55f6401beea2a1b9c07967e8ade95a6e685ca23522da80c1703d294a7" args="" -->PP_GRAPHICS3DATTRIB_GREEN_SIZE</em> </td><td>
+<p>Bits of Green in the color buffer. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga7df48e1c55f6401beea2a1b9c07967e8a7caad99c8c857fdb804c6755551398f5"></a><!-- doxytag: member="PP_GRAPHICS3DATTRIB_RED_SIZE" ref="gga7df48e1c55f6401beea2a1b9c07967e8a7caad99c8c857fdb804c6755551398f5" args="" -->PP_GRAPHICS3DATTRIB_RED_SIZE</em> </td><td>
+<p>Bits of Red in the color buffer. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga7df48e1c55f6401beea2a1b9c07967e8ab594f7ae52f23b7b0609797c06cf7cf8"></a><!-- doxytag: member="PP_GRAPHICS3DATTRIB_DEPTH_SIZE" ref="gga7df48e1c55f6401beea2a1b9c07967e8ab594f7ae52f23b7b0609797c06cf7cf8" args="" -->PP_GRAPHICS3DATTRIB_DEPTH_SIZE</em> </td><td>
+<p>Bits of Z in the depth buffer. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga7df48e1c55f6401beea2a1b9c07967e8acc0e34bee390933357c7386391faeac0"></a><!-- doxytag: member="PP_GRAPHICS3DATTRIB_STENCIL_SIZE" ref="gga7df48e1c55f6401beea2a1b9c07967e8acc0e34bee390933357c7386391faeac0" args="" -->PP_GRAPHICS3DATTRIB_STENCIL_SIZE</em> </td><td>
+<p>Bits of Stencil in the stencil buffer. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga7df48e1c55f6401beea2a1b9c07967e8a98c1bf99b329be847d53f4eb651b4a63"></a><!-- doxytag: member="PP_GRAPHICS3DATTRIB_SAMPLES" ref="gga7df48e1c55f6401beea2a1b9c07967e8a98c1bf99b329be847d53f4eb651b4a63" args="" -->PP_GRAPHICS3DATTRIB_SAMPLES</em> </td><td>
+<p>Number of samples per pixel. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga7df48e1c55f6401beea2a1b9c07967e8a8bccea594213dbdd1750f97f3b187047"></a><!-- doxytag: member="PP_GRAPHICS3DATTRIB_SAMPLE_BUFFERS" ref="gga7df48e1c55f6401beea2a1b9c07967e8a8bccea594213dbdd1750f97f3b187047" args="" -->PP_GRAPHICS3DATTRIB_SAMPLE_BUFFERS</em> </td><td>
+<p>Number of multisample buffers. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga7df48e1c55f6401beea2a1b9c07967e8a66b15e43e8159f71751be033d44fda21"></a><!-- doxytag: member="PP_GRAPHICS3DATTRIB_NONE" ref="gga7df48e1c55f6401beea2a1b9c07967e8a66b15e43e8159f71751be033d44fda21" args="" -->PP_GRAPHICS3DATTRIB_NONE</em> </td><td>
+<p>Attrib list terminator. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga7df48e1c55f6401beea2a1b9c07967e8ac37b92e8426753d7a24d0cf193a5923d"></a><!-- doxytag: member="PP_GRAPHICS3DATTRIB_HEIGHT" ref="gga7df48e1c55f6401beea2a1b9c07967e8ac37b92e8426753d7a24d0cf193a5923d" args="" -->PP_GRAPHICS3DATTRIB_HEIGHT</em> </td><td>
+<p>Height of surface in pixels. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga7df48e1c55f6401beea2a1b9c07967e8a378f15587369cdefbcf565bc8f15db2c"></a><!-- doxytag: member="PP_GRAPHICS3DATTRIB_WIDTH" ref="gga7df48e1c55f6401beea2a1b9c07967e8a378f15587369cdefbcf565bc8f15db2c" args="" -->PP_GRAPHICS3DATTRIB_WIDTH</em> </td><td>
+<p>Width of surface in pixels. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga7df48e1c55f6401beea2a1b9c07967e8a03d8a647ddb24105718bcb91b8f972fd"></a><!-- doxytag: member="PP_GRAPHICS3DATTRIB_SWAP_BEHAVIOR" ref="gga7df48e1c55f6401beea2a1b9c07967e8a03d8a647ddb24105718bcb91b8f972fd" args="" -->PP_GRAPHICS3DATTRIB_SWAP_BEHAVIOR</em> </td><td>
+<p>Specifies the effect on the color buffer of posting a surface with SwapBuffers. </p>
+<p>The initial value is chosen by the implementation. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga7df48e1c55f6401beea2a1b9c07967e8a46b174aaf7b91e26cc2a014268e65512"></a><!-- doxytag: member="PP_GRAPHICS3DATTRIB_BUFFER_PRESERVED" ref="gga7df48e1c55f6401beea2a1b9c07967e8a46b174aaf7b91e26cc2a014268e65512" args="" -->PP_GRAPHICS3DATTRIB_BUFFER_PRESERVED</em> </td><td>
+<p>Indicates that color buffer contents are unaffected. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga7df48e1c55f6401beea2a1b9c07967e8a8aa6eff69c6b613b0a65803fa75d48fb"></a><!-- doxytag: member="PP_GRAPHICS3DATTRIB_BUFFER_DESTROYED" ref="gga7df48e1c55f6401beea2a1b9c07967e8a8aa6eff69c6b613b0a65803fa75d48fb" args="" -->PP_GRAPHICS3DATTRIB_BUFFER_DESTROYED</em> </td><td>
+<p>Indicates that color buffer contents may be destroyed or changed. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga7df48e1c55f6401beea2a1b9c07967e8a48ed49219981a01405e97eb414c89fec"></a><!-- doxytag: member="PP_GRAPHICS3DATTRIB_GPU_PREFERENCE" ref="gga7df48e1c55f6401beea2a1b9c07967e8a48ed49219981a01405e97eb414c89fec" args="" -->PP_GRAPHICS3DATTRIB_GPU_PREFERENCE</em> </td><td>
+<p>Specifies whether the context is intended to be low-power or high-performance. </p>
+<p>The initial value is PP_GRAPHICS3DATTRIB_GPU_PREFERENCE_PERFORMANCE. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga7df48e1c55f6401beea2a1b9c07967e8a4295d8750ae536c3aed03d794429e336"></a><!-- doxytag: member="PP_GRAPHICS3DATTRIB_GPU_PREFERENCE_LOW_POWER" ref="gga7df48e1c55f6401beea2a1b9c07967e8a4295d8750ae536c3aed03d794429e336" args="" -->PP_GRAPHICS3DATTRIB_GPU_PREFERENCE_LOW_POWER</em> </td><td>
+<p>The context should be low-power, and may be created on an integrated gpu. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga7df48e1c55f6401beea2a1b9c07967e8a1a7563ae755ca52d429302a35930201a"></a><!-- doxytag: member="PP_GRAPHICS3DATTRIB_GPU_PREFERENCE_PERFORMANCE" ref="gga7df48e1c55f6401beea2a1b9c07967e8a1a7563ae755ca52d429302a35930201a" args="" -->PP_GRAPHICS3DATTRIB_GPU_PREFERENCE_PERFORMANCE</em> </td><td>
+<p>The context may be high-power and may be created on a discrete gpu. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="gadb4b8db19266831040fc604f73c83a25"></a><!-- doxytag: member="ppb_host_resolver.h::PP_HostResolver_Flag" ref="gadb4b8db19266831040fc604f73c83a25" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#gadb4b8db19266831040fc604f73c83a25">PP_HostResolver_Flag</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><code>PP_HostResolver_Flag</code> is an enumeration of flags which can be OR-ed and passed to the host resolver. </p>
+<p>Currently there is only one flag defined. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="ggadb4b8db19266831040fc604f73c83a25a1fc5655c5b292459d24dc035e930e75e"></a><!-- doxytag: member="PP_HOSTRESOLVER_FLAG_CANONNAME" ref="ggadb4b8db19266831040fc604f73c83a25a1fc5655c5b292459d24dc035e930e75e" args="" -->PP_HOSTRESOLVER_FLAG_CANONNAME</em> </td><td>
+<p>Hint to request the canonical name of the host, which can be retrieved by <code>GetCanonicalName()</code>. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga2ee7ad01799553e5f17bdaa35dd952ee"></a><!-- doxytag: member="ppb_image_data.h::PP_ImageDataFormat" ref="ga2ee7ad01799553e5f17bdaa35dd952ee" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga2ee7ad01799553e5f17bdaa35dd952ee">PP_ImageDataFormat</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><code>PP_ImageDataFormat</code> is an enumeration of the different types of image data formats. </p>
+<p>The third part of each enumeration value describes the memory layout from the lowest address to the highest. For example, BGRA means the B component is stored in the lowest address, no matter what endianness the platform is using.</p>
+<p>The PREMUL suffix implies pre-multiplied alpha is used. In this mode, the red, green and blue color components of the pixel data supplied to an image data should be pre-multiplied by their alpha value. For example: starting with floating point color components, here is how to convert them to 8-bit premultiplied components for image data:</p>
+<p>...components of a pixel, floats ranging from 0 to 1... <code>float red = 1.0f;</code> <code>float green = 0.50f;</code> <code>float blue = 0.0f;</code> <code>float alpha = 0.75f;</code> ...components for image data are 8-bit values ranging from 0 to 255... <code>uint8_t image_data_red_premul = (uint8_t)(red * alpha * 255.0f); </code> <code>uint8_t image_data_green_premul = (uint8_t)(green * alpha * 255.0f); </code> <code>uint8_t image_data_blue_premul = (uint8_t)(blue * alpha * 255.0f); </code> <code>uint8_t image_data_alpha_premul = (uint8_t)(alpha * 255.0f);</code></p>
+<p><b>Note:</b> The resulting pre-multiplied red, green and blue components should not be greater than the alpha value. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga2ee7ad01799553e5f17bdaa35dd952eea8685611ba2e85347f5f6bb0043940358"></a><!-- doxytag: member="PP_IMAGEDATAFORMAT_BGRA_PREMUL" ref="gga2ee7ad01799553e5f17bdaa35dd952eea8685611ba2e85347f5f6bb0043940358" args="" -->PP_IMAGEDATAFORMAT_BGRA_PREMUL</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga2ee7ad01799553e5f17bdaa35dd952eeab291a13cd5f4728eab3c207938916622"></a><!-- doxytag: member="PP_IMAGEDATAFORMAT_RGBA_PREMUL" ref="gga2ee7ad01799553e5f17bdaa35dd952eeab291a13cd5f4728eab3c207938916622" args="" -->PP_IMAGEDATAFORMAT_RGBA_PREMUL</em> </td><td>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="gafe68e3c1031daa4a6496845ff47649cd"></a><!-- doxytag: member="ppb_input_event.h::PP_InputEvent_Class" ref="gafe68e3c1031daa4a6496845ff47649cd" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#gafe68e3c1031daa4a6496845ff47649cd">PP_InputEvent_Class</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="ggafe68e3c1031daa4a6496845ff47649cda79ccc5180eb39c52ab3207f0c876dd52"></a><!-- doxytag: member="PP_INPUTEVENT_CLASS_MOUSE" ref="ggafe68e3c1031daa4a6496845ff47649cda79ccc5180eb39c52ab3207f0c876dd52" args="" -->PP_INPUTEVENT_CLASS_MOUSE</em> </td><td>
+<p>Request mouse input events. </p>
+<p>Normally you will request mouse events by calling RequestInputEvents(). The only use case for filtered events (via RequestFilteringInputEvents()) is for instances that have irregular outlines and you want to perform hit testing, which is very uncommon. Requesting non-filtered mouse events will lead to higher performance. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggafe68e3c1031daa4a6496845ff47649cda2c3341eacc3a459713ce334b9af0cda8"></a><!-- doxytag: member="PP_INPUTEVENT_CLASS_KEYBOARD" ref="ggafe68e3c1031daa4a6496845ff47649cda2c3341eacc3a459713ce334b9af0cda8" args="" -->PP_INPUTEVENT_CLASS_KEYBOARD</em> </td><td>
+<p>Requests keyboard events. </p>
+<p>Often you will want to request filtered mode (via RequestFilteringInputEvents) for keyboard events so you can pass on events (by returning false) that you don't handle. For example, if you don't request filtered mode and the user pressed "Page Down" when your instance has focus, the page won't scroll which will be a poor experience.</p>
+<p>A small number of tab and window management commands like Alt-F4 are never sent to the page. You can not request these keyboard commands since it would allow pages to trap users on a page. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggafe68e3c1031daa4a6496845ff47649cda59d6686dbce1f0dc092cb88a451bb3a6"></a><!-- doxytag: member="PP_INPUTEVENT_CLASS_WHEEL" ref="ggafe68e3c1031daa4a6496845ff47649cda59d6686dbce1f0dc092cb88a451bb3a6" args="" -->PP_INPUTEVENT_CLASS_WHEEL</em> </td><td>
+<p>Identifies scroll wheel input event. </p>
+<p>Wheel events must be requested in filtering mode via RequestFilteringInputEvents(). This is because many wheel commands should be forwarded to the page.</p>
+<p>Most instances will not need this event. Consuming wheel events by returning true from your filtered event handler will prevent the user from scrolling the page when the mouse is over the instance which can be very annoying.</p>
+<p>If you handle wheel events (for example, you have a document viewer which the user can scroll), the recommended behavior is to return false only if the wheel event actually causes your document to scroll. When the user reaches the end of the document, return false to indicating that the event was not handled. This will then forward the event to the containing page for scrolling, producing the nested scrolling behavior users expect from frames in a page. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggafe68e3c1031daa4a6496845ff47649cda19b05264fa31d7e975eba297f9f146af"></a><!-- doxytag: member="PP_INPUTEVENT_CLASS_TOUCH" ref="ggafe68e3c1031daa4a6496845ff47649cda19b05264fa31d7e975eba297f9f146af" args="" -->PP_INPUTEVENT_CLASS_TOUCH</em> </td><td>
+<p>Identifies touch input events. </p>
+<p>Request touch events only if you intend to handle them. If the browser knows you do not need to handle touch events, it can handle them at a higher level and achieve higher performance. If the plugin does not register for touch-events, then it will receive synthetic mouse events that are generated from the touch events (e.g. mouse-down for touch-start, mouse-move for touch-move (with left-button down), and mouse-up for touch-end. If the plugin does register for touch events, then the synthetic mouse events are not created. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggafe68e3c1031daa4a6496845ff47649cda1280fe9a85edf74e20e4d503a345ab7d"></a><!-- doxytag: member="PP_INPUTEVENT_CLASS_IME" ref="ggafe68e3c1031daa4a6496845ff47649cda1280fe9a85edf74e20e4d503a345ab7d" args="" -->PP_INPUTEVENT_CLASS_IME</em> </td><td>
+<p>Identifies IME composition input events. </p>
+<p>Request this input event class if you allow on-the-spot IME input. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga21b811ac0484a214a8751aa3e1c959d9"></a><!-- doxytag: member="ppb_input_event.h::PP_InputEvent_Modifier" ref="ga21b811ac0484a214a8751aa3e1c959d9" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga21b811ac0484a214a8751aa3e1c959d9">PP_InputEvent_Modifier</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This enumeration contains event modifier constants. </p>
+<p>Each modifier is one bit. Retrieve the modifiers from an input event using the GetEventModifiers function on PPB_InputEvent. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga21b811ac0484a214a8751aa3e1c959d9a7506fd613b0e3055b37700eddcc04c8e"></a><!-- doxytag: member="PP_INPUTEVENT_MODIFIER_SHIFTKEY" ref="gga21b811ac0484a214a8751aa3e1c959d9a7506fd613b0e3055b37700eddcc04c8e" args="" -->PP_INPUTEVENT_MODIFIER_SHIFTKEY</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga21b811ac0484a214a8751aa3e1c959d9aeb4a9ad52cbfbfab9dea7cf2429c52f7"></a><!-- doxytag: member="PP_INPUTEVENT_MODIFIER_CONTROLKEY" ref="gga21b811ac0484a214a8751aa3e1c959d9aeb4a9ad52cbfbfab9dea7cf2429c52f7" args="" -->PP_INPUTEVENT_MODIFIER_CONTROLKEY</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga21b811ac0484a214a8751aa3e1c959d9ab30d756ab410e7155deef8c48568fc95"></a><!-- doxytag: member="PP_INPUTEVENT_MODIFIER_ALTKEY" ref="gga21b811ac0484a214a8751aa3e1c959d9ab30d756ab410e7155deef8c48568fc95" args="" -->PP_INPUTEVENT_MODIFIER_ALTKEY</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga21b811ac0484a214a8751aa3e1c959d9ab3b68a7fb23fa33be297b30a2d3f27d7"></a><!-- doxytag: member="PP_INPUTEVENT_MODIFIER_METAKEY" ref="gga21b811ac0484a214a8751aa3e1c959d9ab3b68a7fb23fa33be297b30a2d3f27d7" args="" -->PP_INPUTEVENT_MODIFIER_METAKEY</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga21b811ac0484a214a8751aa3e1c959d9a24f5d73cf82a01116f52b57410e64c9d"></a><!-- doxytag: member="PP_INPUTEVENT_MODIFIER_ISKEYPAD" ref="gga21b811ac0484a214a8751aa3e1c959d9a24f5d73cf82a01116f52b57410e64c9d" args="" -->PP_INPUTEVENT_MODIFIER_ISKEYPAD</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga21b811ac0484a214a8751aa3e1c959d9a0d6141a7a3498af2020093469358472f"></a><!-- doxytag: member="PP_INPUTEVENT_MODIFIER_ISAUTOREPEAT" ref="gga21b811ac0484a214a8751aa3e1c959d9a0d6141a7a3498af2020093469358472f" args="" -->PP_INPUTEVENT_MODIFIER_ISAUTOREPEAT</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga21b811ac0484a214a8751aa3e1c959d9a31e52901313720fd0e431976228f2153"></a><!-- doxytag: member="PP_INPUTEVENT_MODIFIER_LEFTBUTTONDOWN" ref="gga21b811ac0484a214a8751aa3e1c959d9a31e52901313720fd0e431976228f2153" args="" -->PP_INPUTEVENT_MODIFIER_LEFTBUTTONDOWN</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga21b811ac0484a214a8751aa3e1c959d9aa2369bf6eb5309a43d608ef83d747a04"></a><!-- doxytag: member="PP_INPUTEVENT_MODIFIER_MIDDLEBUTTONDOWN" ref="gga21b811ac0484a214a8751aa3e1c959d9aa2369bf6eb5309a43d608ef83d747a04" args="" -->PP_INPUTEVENT_MODIFIER_MIDDLEBUTTONDOWN</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga21b811ac0484a214a8751aa3e1c959d9aee3e5083c83130d4368b79878fd574fe"></a><!-- doxytag: member="PP_INPUTEVENT_MODIFIER_RIGHTBUTTONDOWN" ref="gga21b811ac0484a214a8751aa3e1c959d9aee3e5083c83130d4368b79878fd574fe" args="" -->PP_INPUTEVENT_MODIFIER_RIGHTBUTTONDOWN</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga21b811ac0484a214a8751aa3e1c959d9a99a27b5dab8360eb08189439b85b8781"></a><!-- doxytag: member="PP_INPUTEVENT_MODIFIER_CAPSLOCKKEY" ref="gga21b811ac0484a214a8751aa3e1c959d9a99a27b5dab8360eb08189439b85b8781" args="" -->PP_INPUTEVENT_MODIFIER_CAPSLOCKKEY</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga21b811ac0484a214a8751aa3e1c959d9a493ca598187014e2356cd7a5ba8cdffd"></a><!-- doxytag: member="PP_INPUTEVENT_MODIFIER_NUMLOCKKEY" ref="gga21b811ac0484a214a8751aa3e1c959d9a493ca598187014e2356cd7a5ba8cdffd" args="" -->PP_INPUTEVENT_MODIFIER_NUMLOCKKEY</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga21b811ac0484a214a8751aa3e1c959d9a8295bfc8067c06a17ccfc5fb6a992e17"></a><!-- doxytag: member="PP_INPUTEVENT_MODIFIER_ISLEFT" ref="gga21b811ac0484a214a8751aa3e1c959d9a8295bfc8067c06a17ccfc5fb6a992e17" args="" -->PP_INPUTEVENT_MODIFIER_ISLEFT</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga21b811ac0484a214a8751aa3e1c959d9a348f43efaf61edbefd83346428c5b122"></a><!-- doxytag: member="PP_INPUTEVENT_MODIFIER_ISRIGHT" ref="gga21b811ac0484a214a8751aa3e1c959d9a348f43efaf61edbefd83346428c5b122" args="" -->PP_INPUTEVENT_MODIFIER_ISRIGHT</em> </td><td>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga25113f3c8d33e863fd38b3f70f8a5e6e"></a><!-- doxytag: member="ppb_input_event.h::PP_InputEvent_MouseButton" ref="ga25113f3c8d33e863fd38b3f70f8a5e6e" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga25113f3c8d33e863fd38b3f70f8a5e6e">PP_InputEvent_MouseButton</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This enumeration contains constants representing each mouse button. </p>
+<p>To get the mouse button for a mouse down or up event, use GetMouseButton on PPB_InputEvent. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga25113f3c8d33e863fd38b3f70f8a5e6eaa2d4e499d6c23ef45381a89612e654d9"></a><!-- doxytag: member="PP_INPUTEVENT_MOUSEBUTTON_NONE" ref="gga25113f3c8d33e863fd38b3f70f8a5e6eaa2d4e499d6c23ef45381a89612e654d9" args="" -->PP_INPUTEVENT_MOUSEBUTTON_NONE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga25113f3c8d33e863fd38b3f70f8a5e6eaa44f4ea3c7759e4fce6150f349909f63"></a><!-- doxytag: member="PP_INPUTEVENT_MOUSEBUTTON_LEFT" ref="gga25113f3c8d33e863fd38b3f70f8a5e6eaa44f4ea3c7759e4fce6150f349909f63" args="" -->PP_INPUTEVENT_MOUSEBUTTON_LEFT</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga25113f3c8d33e863fd38b3f70f8a5e6ea3f8a2698990ec1e36943651ca600e3be"></a><!-- doxytag: member="PP_INPUTEVENT_MOUSEBUTTON_MIDDLE" ref="gga25113f3c8d33e863fd38b3f70f8a5e6ea3f8a2698990ec1e36943651ca600e3be" args="" -->PP_INPUTEVENT_MOUSEBUTTON_MIDDLE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga25113f3c8d33e863fd38b3f70f8a5e6ea681614da50d511b516d0a88fbaa6eb5b"></a><!-- doxytag: member="PP_INPUTEVENT_MOUSEBUTTON_RIGHT" ref="gga25113f3c8d33e863fd38b3f70f8a5e6ea681614da50d511b516d0a88fbaa6eb5b" args="" -->PP_INPUTEVENT_MOUSEBUTTON_RIGHT</em> </td><td>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="gaca7296cfec99fcb6646b7144d1d6a0c5"></a><!-- doxytag: member="ppb_input_event.h::PP_InputEvent_Type" ref="gaca7296cfec99fcb6646b7144d1d6a0c5" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#gaca7296cfec99fcb6646b7144d1d6a0c5">PP_InputEvent_Type</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This enumeration contains the types of input events. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5a9b6d5489f328f0b902da4a1f5836b4cb"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_UNDEFINED" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5a9b6d5489f328f0b902da4a1f5836b4cb" args="" -->PP_INPUTEVENT_TYPE_UNDEFINED</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5a4309eee5fb8284b6be7c258090b21e77"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_MOUSEDOWN" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5a4309eee5fb8284b6be7c258090b21e77" args="" -->PP_INPUTEVENT_TYPE_MOUSEDOWN</em> </td><td>
+<p>Notification that a mouse button was pressed. </p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_MOUSE class. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5a9f0a8196670b1da0e9c3cf081329c3ca"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_MOUSEUP" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5a9f0a8196670b1da0e9c3cf081329c3ca" args="" -->PP_INPUTEVENT_TYPE_MOUSEUP</em> </td><td>
+<p>Notification that a mouse button was released. </p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_MOUSE class. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5a9d3a09d7fb33663f3a7d920fd2e3208d"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_MOUSEMOVE" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5a9d3a09d7fb33663f3a7d920fd2e3208d" args="" -->PP_INPUTEVENT_TYPE_MOUSEMOVE</em> </td><td>
+<p>Notification that a mouse button was moved when it is over the instance or dragged out of it. </p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_MOUSE class. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5ad240947fd6d67f23b679be4806947e2a"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_MOUSEENTER" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5ad240947fd6d67f23b679be4806947e2a" args="" -->PP_INPUTEVENT_TYPE_MOUSEENTER</em> </td><td>
+<p>Notification that the mouse entered the instance's bounds. </p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_MOUSE class. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5a0870576010613081518c9c6683abd2e8"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_MOUSELEAVE" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5a0870576010613081518c9c6683abd2e8" args="" -->PP_INPUTEVENT_TYPE_MOUSELEAVE</em> </td><td>
+<p>Notification that a mouse left the instance's bounds. </p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_MOUSE class. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5a2eedbec689780077aa98188805a559f6"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_WHEEL" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5a2eedbec689780077aa98188805a559f6" args="" -->PP_INPUTEVENT_TYPE_WHEEL</em> </td><td>
+<p>Notification that the scroll wheel was used. </p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_WHEEL class. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5a05c7f50eb36e606a3e5a0065b337d96c"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_RAWKEYDOWN" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5a05c7f50eb36e606a3e5a0065b337d96c" args="" -->PP_INPUTEVENT_TYPE_RAWKEYDOWN</em> </td><td>
+<p>Notification that a key transitioned from "up" to "down". </p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_KEYBOARD class. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5a4064a5f6ce10c7e5a0834aff7cd7e474"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_KEYDOWN" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5a4064a5f6ce10c7e5a0834aff7cd7e474" args="" -->PP_INPUTEVENT_TYPE_KEYDOWN</em> </td><td>
+<p>Notification that a key was pressed. </p>
+<p>This does not necessarily correspond to a character depending on the key and language. Use the PP_INPUTEVENT_TYPE_CHAR for character input.</p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_KEYBOARD class. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5af57c2b682b29f7b03f27519f98febdea"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_KEYUP" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5af57c2b682b29f7b03f27519f98febdea" args="" -->PP_INPUTEVENT_TYPE_KEYUP</em> </td><td>
+<p>Notification that a key was released. </p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_KEYBOARD class. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5a0d547efbed42c655264b96a51954e0dd"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_CHAR" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5a0d547efbed42c655264b96a51954e0dd" args="" -->PP_INPUTEVENT_TYPE_CHAR</em> </td><td>
+<p>Notification that a character was typed. </p>
+<p>Use this for text input. Key down events may generate 0, 1, or more than one character event depending on the key, locale, and operating system.</p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_KEYBOARD class. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5a0cf7525c015c97ded19afab9d7d9afee"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_CONTEXTMENU" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5a0cf7525c015c97ded19afab9d7d9afee" args="" -->PP_INPUTEVENT_TYPE_CONTEXTMENU</em> </td><td>
+<p>Notification that a context menu should be shown. </p>
+<p>This message will be sent when the user right-clicks or performs another OS-specific mouse command that should open a context menu. When this event is delivered depends on the system, on some systems (Mac) it will delivered after the mouse down event, and on others (Windows) it will be delivered after the mouse up event.</p>
+<p>You will always get the normal mouse events. For example, you may see MOUSEDOWN,CONTEXTMENU,MOUSEUP or MOUSEDOWN,MOUSEUP,CONTEXTMENU.</p>
+<p>The return value from the event handler determines if the context menu event will be passed to the page when you are using filtered input events (via RequestFilteringInputEvents()). In non-filtering mode the event will never be propagated and no context menu will be displayed. If you are handling mouse events in filtering mode, you may want to return true from this event even if you do not support a context menu to suppress the default one.</p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_MOUSE class. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5a90668acda261e23721f3dd757f557031"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_IME_COMPOSITION_START" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5a90668acda261e23721f3dd757f557031" args="" -->PP_INPUTEVENT_TYPE_IME_COMPOSITION_START</em> </td><td>
+<p>Notification that an input method composition process has just started. </p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_IME class. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5a1eff5df3bb41546046f97993376607c2"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_IME_COMPOSITION_UPDATE" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5a1eff5df3bb41546046f97993376607c2" args="" -->PP_INPUTEVENT_TYPE_IME_COMPOSITION_UPDATE</em> </td><td>
+<p>Notification that the input method composition string is updated. </p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_IME class. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5a5c009302410ac6f55da4df618b2d85d5"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_IME_COMPOSITION_END" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5a5c009302410ac6f55da4df618b2d85d5" args="" -->PP_INPUTEVENT_TYPE_IME_COMPOSITION_END</em> </td><td>
+<p>Notification that an input method composition process has completed. </p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_IME class. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5a5826ba18e40265a7b74e4b3ae1fe3772"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_IME_TEXT" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5a5826ba18e40265a7b74e4b3ae1fe3772" args="" -->PP_INPUTEVENT_TYPE_IME_TEXT</em> </td><td>
+<p>Notification that an input method committed a string. </p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_IME class. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5ac604f0e894f8f9e660d36e30db16b52d"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_TOUCHSTART" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5ac604f0e894f8f9e660d36e30db16b52d" args="" -->PP_INPUTEVENT_TYPE_TOUCHSTART</em> </td><td>
+<p>Notification that a finger was placed on a touch-enabled device. </p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_TOUCH class. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5a43888c9c671ac5973f5bcea7eabcc889"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_TOUCHMOVE" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5a43888c9c671ac5973f5bcea7eabcc889" args="" -->PP_INPUTEVENT_TYPE_TOUCHMOVE</em> </td><td>
+<p>Notification that a finger was moved on a touch-enabled device. </p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_TOUCH class. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5ae1c312aafaf4caeddb1afc09e81c9655"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_TOUCHEND" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5ae1c312aafaf4caeddb1afc09e81c9655" args="" -->PP_INPUTEVENT_TYPE_TOUCHEND</em> </td><td>
+<p>Notification that a finger was released on a touch-enabled device. </p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_TOUCH class. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5a78266e75562e546005eb8098f455ce91"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_TOUCHCANCEL" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5a78266e75562e546005eb8098f455ce91" args="" -->PP_INPUTEVENT_TYPE_TOUCHCANCEL</em> </td><td>
+<p>Notification that a touch event was canceled. </p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_TOUCH class. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="gac39067c0883ec80b94290dd2a3bae440"></a><!-- doxytag: member="ppb_console.h::PP_LogLevel" ref="gac39067c0883ec80b94290dd2a3bae440" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#gac39067c0883ec80b94290dd2a3bae440">PP_LogLevel</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="ggac39067c0883ec80b94290dd2a3bae440afe7444b89be7688e17bd6e4f0b1d3b34"></a><!-- doxytag: member="PP_LOGLEVEL_TIP" ref="ggac39067c0883ec80b94290dd2a3bae440afe7444b89be7688e17bd6e4f0b1d3b34" args="" -->PP_LOGLEVEL_TIP</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac39067c0883ec80b94290dd2a3bae440a8c6fdcc8aa698af314fe72ebd08db32a"></a><!-- doxytag: member="PP_LOGLEVEL_LOG" ref="ggac39067c0883ec80b94290dd2a3bae440a8c6fdcc8aa698af314fe72ebd08db32a" args="" -->PP_LOGLEVEL_LOG</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac39067c0883ec80b94290dd2a3bae440a66a3c4f684827eb994093dea14284aaf"></a><!-- doxytag: member="PP_LOGLEVEL_WARNING" ref="ggac39067c0883ec80b94290dd2a3bae440a66a3c4f684827eb994093dea14284aaf" args="" -->PP_LOGLEVEL_WARNING</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac39067c0883ec80b94290dd2a3bae440a5854926dface39f205d138d9e47c37eb"></a><!-- doxytag: member="PP_LOGLEVEL_ERROR" ref="ggac39067c0883ec80b94290dd2a3bae440a5854926dface39f205d138d9e47c37eb" args="" -->PP_LOGLEVEL_ERROR</em> </td><td>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="gac53273018386c1db9542d2a06bbe118b"></a><!-- doxytag: member="ppb_mouse_cursor.h::PP_MouseCursor_Type" ref="gac53273018386c1db9542d2a06bbe118b" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#gac53273018386c1db9542d2a06bbe118b">PP_MouseCursor_Type</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <code>PP_MouseCursor_Type</code> enumeration lists the available stock cursor types. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba1360614abe2d2c3838a42238f75e9ec1"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_CUSTOM" ref="ggac53273018386c1db9542d2a06bbe118ba1360614abe2d2c3838a42238f75e9ec1" args="" -->PP_MOUSECURSOR_TYPE_CUSTOM</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba7c0a8b04f51fbf8e12abd4240fb24a9f"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_POINTER" ref="ggac53273018386c1db9542d2a06bbe118ba7c0a8b04f51fbf8e12abd4240fb24a9f" args="" -->PP_MOUSECURSOR_TYPE_POINTER</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba7ee7ede873ec3158179a1ea648bfe677"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_CROSS" ref="ggac53273018386c1db9542d2a06bbe118ba7ee7ede873ec3158179a1ea648bfe677" args="" -->PP_MOUSECURSOR_TYPE_CROSS</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba5cf81326a94c1150ce98cc15924dee69"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_HAND" ref="ggac53273018386c1db9542d2a06bbe118ba5cf81326a94c1150ce98cc15924dee69" args="" -->PP_MOUSECURSOR_TYPE_HAND</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba705545fdbd4088bf4522b32aa5815877"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_IBEAM" ref="ggac53273018386c1db9542d2a06bbe118ba705545fdbd4088bf4522b32aa5815877" args="" -->PP_MOUSECURSOR_TYPE_IBEAM</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118babf8c49b2fc9ee7208b20e7e1f96e2930"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_WAIT" ref="ggac53273018386c1db9542d2a06bbe118babf8c49b2fc9ee7208b20e7e1f96e2930" args="" -->PP_MOUSECURSOR_TYPE_WAIT</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118bacea1ebe2038e33bb649bcf8ed32f0e7e"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_HELP" ref="ggac53273018386c1db9542d2a06bbe118bacea1ebe2038e33bb649bcf8ed32f0e7e" args="" -->PP_MOUSECURSOR_TYPE_HELP</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba3efb608fc10dd3979d4bc0c41654f14b"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_EASTRESIZE" ref="ggac53273018386c1db9542d2a06bbe118ba3efb608fc10dd3979d4bc0c41654f14b" args="" -->PP_MOUSECURSOR_TYPE_EASTRESIZE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba02b638a93841e0f51d234b6643cffcd0"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_NORTHRESIZE" ref="ggac53273018386c1db9542d2a06bbe118ba02b638a93841e0f51d234b6643cffcd0" args="" -->PP_MOUSECURSOR_TYPE_NORTHRESIZE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118baceb2b9888eed1ef5fe8c5dbc94195b3a"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_NORTHEASTRESIZE" ref="ggac53273018386c1db9542d2a06bbe118baceb2b9888eed1ef5fe8c5dbc94195b3a" args="" -->PP_MOUSECURSOR_TYPE_NORTHEASTRESIZE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118bab95b486b6772a79a599c4287f966cd19"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_NORTHWESTRESIZE" ref="ggac53273018386c1db9542d2a06bbe118bab95b486b6772a79a599c4287f966cd19" args="" -->PP_MOUSECURSOR_TYPE_NORTHWESTRESIZE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118bac39262939712092e11cc4569b6cab626"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_SOUTHRESIZE" ref="ggac53273018386c1db9542d2a06bbe118bac39262939712092e11cc4569b6cab626" args="" -->PP_MOUSECURSOR_TYPE_SOUTHRESIZE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba0d7f8011aba0f13ceda6688585b725af"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_SOUTHEASTRESIZE" ref="ggac53273018386c1db9542d2a06bbe118ba0d7f8011aba0f13ceda6688585b725af" args="" -->PP_MOUSECURSOR_TYPE_SOUTHEASTRESIZE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba54f482730eba910a940e1c975f14e2a2"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_SOUTHWESTRESIZE" ref="ggac53273018386c1db9542d2a06bbe118ba54f482730eba910a940e1c975f14e2a2" args="" -->PP_MOUSECURSOR_TYPE_SOUTHWESTRESIZE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba0c8edb786c8193ef657716a358e327b6"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_WESTRESIZE" ref="ggac53273018386c1db9542d2a06bbe118ba0c8edb786c8193ef657716a358e327b6" args="" -->PP_MOUSECURSOR_TYPE_WESTRESIZE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118babf7026dfaea82565f2527ddbb0383053"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_NORTHSOUTHRESIZE" ref="ggac53273018386c1db9542d2a06bbe118babf7026dfaea82565f2527ddbb0383053" args="" -->PP_MOUSECURSOR_TYPE_NORTHSOUTHRESIZE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba98177b2980fa939ed33d41c531f06310"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_EASTWESTRESIZE" ref="ggac53273018386c1db9542d2a06bbe118ba98177b2980fa939ed33d41c531f06310" args="" -->PP_MOUSECURSOR_TYPE_EASTWESTRESIZE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118baf01a2e620b481daeb42b6344843e9e38"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_NORTHEASTSOUTHWESTRESIZE" ref="ggac53273018386c1db9542d2a06bbe118baf01a2e620b481daeb42b6344843e9e38" args="" -->PP_MOUSECURSOR_TYPE_NORTHEASTSOUTHWESTRESIZE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba05d35a31c8af640a6cf2295790e933ee"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_NORTHWESTSOUTHEASTRESIZE" ref="ggac53273018386c1db9542d2a06bbe118ba05d35a31c8af640a6cf2295790e933ee" args="" -->PP_MOUSECURSOR_TYPE_NORTHWESTSOUTHEASTRESIZE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118bab163a58c75a983ac943d39827c0976cd"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_COLUMNRESIZE" ref="ggac53273018386c1db9542d2a06bbe118bab163a58c75a983ac943d39827c0976cd" args="" -->PP_MOUSECURSOR_TYPE_COLUMNRESIZE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118bac4d90e13c8d17e32ee9498b795d2f4ca"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_ROWRESIZE" ref="ggac53273018386c1db9542d2a06bbe118bac4d90e13c8d17e32ee9498b795d2f4ca" args="" -->PP_MOUSECURSOR_TYPE_ROWRESIZE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba6dbf3de573762e2322d6e8a2392b19fb"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_MIDDLEPANNING" ref="ggac53273018386c1db9542d2a06bbe118ba6dbf3de573762e2322d6e8a2392b19fb" args="" -->PP_MOUSECURSOR_TYPE_MIDDLEPANNING</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba9fec33093306cea2ea6bb6810e8f9040"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_EASTPANNING" ref="ggac53273018386c1db9542d2a06bbe118ba9fec33093306cea2ea6bb6810e8f9040" args="" -->PP_MOUSECURSOR_TYPE_EASTPANNING</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba0805b4d3a42bb560a656247a57ed6fe0"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_NORTHPANNING" ref="ggac53273018386c1db9542d2a06bbe118ba0805b4d3a42bb560a656247a57ed6fe0" args="" -->PP_MOUSECURSOR_TYPE_NORTHPANNING</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118babeaeb782ba084c45e0d12f2bf428a9c3"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_NORTHEASTPANNING" ref="ggac53273018386c1db9542d2a06bbe118babeaeb782ba084c45e0d12f2bf428a9c3" args="" -->PP_MOUSECURSOR_TYPE_NORTHEASTPANNING</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba2590e0dc133a8b4534c475abd60c2e1d"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_NORTHWESTPANNING" ref="ggac53273018386c1db9542d2a06bbe118ba2590e0dc133a8b4534c475abd60c2e1d" args="" -->PP_MOUSECURSOR_TYPE_NORTHWESTPANNING</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118bac9ab4fdcaccb7dcf3a9e0c5edf056e92"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_SOUTHPANNING" ref="ggac53273018386c1db9542d2a06bbe118bac9ab4fdcaccb7dcf3a9e0c5edf056e92" args="" -->PP_MOUSECURSOR_TYPE_SOUTHPANNING</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118bacf7c5132070bb6fd8e86ffcafb1dd8b6"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_SOUTHEASTPANNING" ref="ggac53273018386c1db9542d2a06bbe118bacf7c5132070bb6fd8e86ffcafb1dd8b6" args="" -->PP_MOUSECURSOR_TYPE_SOUTHEASTPANNING</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118baebe615cd19bad5b076b2dd9d86dcd825"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_SOUTHWESTPANNING" ref="ggac53273018386c1db9542d2a06bbe118baebe615cd19bad5b076b2dd9d86dcd825" args="" -->PP_MOUSECURSOR_TYPE_SOUTHWESTPANNING</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba8c357f06fc1fc96c091b378d10cc4f02"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_WESTPANNING" ref="ggac53273018386c1db9542d2a06bbe118ba8c357f06fc1fc96c091b378d10cc4f02" args="" -->PP_MOUSECURSOR_TYPE_WESTPANNING</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118bab6757be35df5a1e246b3ce8b80c92fbd"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_MOVE" ref="ggac53273018386c1db9542d2a06bbe118bab6757be35df5a1e246b3ce8b80c92fbd" args="" -->PP_MOUSECURSOR_TYPE_MOVE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba52c5c4259a391557c045b0b82cc0a1fa"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_VERTICALTEXT" ref="ggac53273018386c1db9542d2a06bbe118ba52c5c4259a391557c045b0b82cc0a1fa" args="" -->PP_MOUSECURSOR_TYPE_VERTICALTEXT</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba62afaa44930d75f750fdf28199511194"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_CELL" ref="ggac53273018386c1db9542d2a06bbe118ba62afaa44930d75f750fdf28199511194" args="" -->PP_MOUSECURSOR_TYPE_CELL</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118bad73cecab74f94844438e494ff1439b9f"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_CONTEXTMENU" ref="ggac53273018386c1db9542d2a06bbe118bad73cecab74f94844438e494ff1439b9f" args="" -->PP_MOUSECURSOR_TYPE_CONTEXTMENU</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118baca9b4bef41f4c4bd90e81573357b137c"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_ALIAS" ref="ggac53273018386c1db9542d2a06bbe118baca9b4bef41f4c4bd90e81573357b137c" args="" -->PP_MOUSECURSOR_TYPE_ALIAS</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118babda91fe9ce56b304d95a1ce01fbe8084"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_PROGRESS" ref="ggac53273018386c1db9542d2a06bbe118babda91fe9ce56b304d95a1ce01fbe8084" args="" -->PP_MOUSECURSOR_TYPE_PROGRESS</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba1c6cb6e16ac90b8829175e8af9a4a72d"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_NODROP" ref="ggac53273018386c1db9542d2a06bbe118ba1c6cb6e16ac90b8829175e8af9a4a72d" args="" -->PP_MOUSECURSOR_TYPE_NODROP</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118bacee11626427a6fa36653243c4d551608"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_COPY" ref="ggac53273018386c1db9542d2a06bbe118bacee11626427a6fa36653243c4d551608" args="" -->PP_MOUSECURSOR_TYPE_COPY</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba7a9b1b3187b0bd011b5e19380d4fd698"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_NONE" ref="ggac53273018386c1db9542d2a06bbe118ba7a9b1b3187b0bd011b5e19380d4fd698" args="" -->PP_MOUSECURSOR_TYPE_NONE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba7d10d5fcc4d9e6aaed4af83246de15a0"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_NOTALLOWED" ref="ggac53273018386c1db9542d2a06bbe118ba7d10d5fcc4d9e6aaed4af83246de15a0" args="" -->PP_MOUSECURSOR_TYPE_NOTALLOWED</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba203b038de96b903e253e29aea5a66460"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_ZOOMIN" ref="ggac53273018386c1db9542d2a06bbe118ba203b038de96b903e253e29aea5a66460" args="" -->PP_MOUSECURSOR_TYPE_ZOOMIN</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba797321d4cad9a863a5338318912f3a98"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_ZOOMOUT" ref="ggac53273018386c1db9542d2a06bbe118ba797321d4cad9a863a5338318912f3a98" args="" -->PP_MOUSECURSOR_TYPE_ZOOMOUT</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118bafc45b71a6185639e12ac2827a641bdaa"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_GRAB" ref="ggac53273018386c1db9542d2a06bbe118bafc45b71a6185639e12ac2827a641bdaa" args="" -->PP_MOUSECURSOR_TYPE_GRAB</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118baa242aeb17b35d8e44e449786a2cbcd1c"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_GRABBING" ref="ggac53273018386c1db9542d2a06bbe118baa242aeb17b35d8e44e449786a2cbcd1c" args="" -->PP_MOUSECURSOR_TYPE_GRABBING</em> </td><td>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga43636bcadf9aa312a4c345d210ae6c55"></a><!-- doxytag: member="ppb_net_address.h::PP_NetAddress_Family" ref="ga43636bcadf9aa312a4c345d210ae6c55" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga43636bcadf9aa312a4c345d210ae6c55">PP_NetAddress_Family</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Network address family types. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga43636bcadf9aa312a4c345d210ae6c55a2aef50ef77ad0122b649f0b9ac4c41bc"></a><!-- doxytag: member="PP_NETADDRESS_FAMILY_UNSPECIFIED" ref="gga43636bcadf9aa312a4c345d210ae6c55a2aef50ef77ad0122b649f0b9ac4c41bc" args="" -->PP_NETADDRESS_FAMILY_UNSPECIFIED</em> </td><td>
+<p>The address family is unspecified. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga43636bcadf9aa312a4c345d210ae6c55a054684e064e8d819f8b2d80640196585"></a><!-- doxytag: member="PP_NETADDRESS_FAMILY_IPV4" ref="gga43636bcadf9aa312a4c345d210ae6c55a054684e064e8d819f8b2d80640196585" args="" -->PP_NETADDRESS_FAMILY_IPV4</em> </td><td>
+<p>The Internet Protocol version 4 (IPv4) address family. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga43636bcadf9aa312a4c345d210ae6c55aa70bb3acced932eb4fe7df3aae85c27a"></a><!-- doxytag: member="PP_NETADDRESS_FAMILY_IPV6" ref="gga43636bcadf9aa312a4c345d210ae6c55aa70bb3acced932eb4fe7df3aae85c27a" args="" -->PP_NETADDRESS_FAMILY_IPV6</em> </td><td>
+<p>The Internet Protocol version 6 (IPv6) address family. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga9188881b5d3346626db0ea8e6aaecf1f"></a><!-- doxytag: member="ppb_network_list.h::PP_NetworkList_State" ref="ga9188881b5d3346626db0ea8e6aaecf1f" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga9188881b5d3346626db0ea8e6aaecf1f">PP_NetworkList_State</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>State of a network interface. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga9188881b5d3346626db0ea8e6aaecf1fa561469f97b38b69868d1cce1142722b6"></a><!-- doxytag: member="PP_NETWORKLIST_STATE_DOWN" ref="gga9188881b5d3346626db0ea8e6aaecf1fa561469f97b38b69868d1cce1142722b6" args="" -->PP_NETWORKLIST_STATE_DOWN</em> </td><td>
+<p>Network interface is down. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga9188881b5d3346626db0ea8e6aaecf1fa3b4b789d490cd2d3119a188a79eca0f6"></a><!-- doxytag: member="PP_NETWORKLIST_STATE_UP" ref="gga9188881b5d3346626db0ea8e6aaecf1fa3b4b789d490cd2d3119a188a79eca0f6" args="" -->PP_NETWORKLIST_STATE_UP</em> </td><td>
+<p>Network interface is up. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga1c967cb753eb468493b3bf72e6733983"></a><!-- doxytag: member="ppb_network_list.h::PP_NetworkList_Type" ref="ga1c967cb753eb468493b3bf72e6733983" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga1c967cb753eb468493b3bf72e6733983">PP_NetworkList_Type</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Type of a network interface. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga1c967cb753eb468493b3bf72e6733983a6d8ddd32de577965df0d44df0e0acfdd"></a><!-- doxytag: member="PP_NETWORKLIST_TYPE_UNKNOWN" ref="gga1c967cb753eb468493b3bf72e6733983a6d8ddd32de577965df0d44df0e0acfdd" args="" -->PP_NETWORKLIST_TYPE_UNKNOWN</em> </td><td>
+<p>Type of the network interface is not known. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga1c967cb753eb468493b3bf72e6733983a6eaef40fe1d62ca5bcfcc1974adc29f9"></a><!-- doxytag: member="PP_NETWORKLIST_TYPE_ETHERNET" ref="gga1c967cb753eb468493b3bf72e6733983a6eaef40fe1d62ca5bcfcc1974adc29f9" args="" -->PP_NETWORKLIST_TYPE_ETHERNET</em> </td><td>
+<p>Wired Ethernet network. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga1c967cb753eb468493b3bf72e6733983a9a47925bee0d3bd71739475b4c5654ed"></a><!-- doxytag: member="PP_NETWORKLIST_TYPE_WIFI" ref="gga1c967cb753eb468493b3bf72e6733983a9a47925bee0d3bd71739475b4c5654ed" args="" -->PP_NETWORKLIST_TYPE_WIFI</em> </td><td>
+<p>Wireless Wi-Fi network. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga1c967cb753eb468493b3bf72e6733983ab1c83c6942b208101789971522b3a8c9"></a><!-- doxytag: member="PP_NETWORKLIST_TYPE_CELLULAR" ref="gga1c967cb753eb468493b3bf72e6733983ab1c83c6942b208101789971522b3a8c9" args="" -->PP_NETWORKLIST_TYPE_CELLULAR</em> </td><td>
+<p>Cellular network (e.g. </p>
+<p>LTE). </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga1557c0bbce8739a3418e6027a9c44e12"></a><!-- doxytag: member="ppb_tcp_socket.h::PP_TCPSocket_Option" ref="ga1557c0bbce8739a3418e6027a9c44e12" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga1557c0bbce8739a3418e6027a9c44e12">PP_TCPSocket_Option</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Option names used by <code>SetOption()</code>. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga1557c0bbce8739a3418e6027a9c44e12a4b17558654d1df4452aa98f7d2609a10"></a><!-- doxytag: member="PP_TCPSOCKET_OPTION_NO_DELAY" ref="gga1557c0bbce8739a3418e6027a9c44e12a4b17558654d1df4452aa98f7d2609a10" args="" -->PP_TCPSOCKET_OPTION_NO_DELAY</em> </td><td>
+<p>Disables coalescing of small writes to make TCP segments, and instead delivers data immediately. </p>
+<p>Value's type is <code>PP_VARTYPE_BOOL</code>. This option can only be set after a successful <code>Connect()</code> call. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga1557c0bbce8739a3418e6027a9c44e12a61ce27ba7853d05f7af51be1bed5d1a6"></a><!-- doxytag: member="PP_TCPSOCKET_OPTION_SEND_BUFFER_SIZE" ref="gga1557c0bbce8739a3418e6027a9c44e12a61ce27ba7853d05f7af51be1bed5d1a6" args="" -->PP_TCPSOCKET_OPTION_SEND_BUFFER_SIZE</em> </td><td>
+<p>Specifies the total per-socket buffer space reserved for sends. </p>
+<p>Value's type should be <code>PP_VARTYPE_INT32</code>. This option can only be set after a successful <code>Connect()</code> call.</p>
+<p>Note: This is only treated as a hint for the browser to set the buffer size. Even if <code>SetOption()</code> succeeds, the browser doesn't guarantee it will conform to the size. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga1557c0bbce8739a3418e6027a9c44e12aef57736e294acb30fb7b3b2f4a425f72"></a><!-- doxytag: member="PP_TCPSOCKET_OPTION_RECV_BUFFER_SIZE" ref="gga1557c0bbce8739a3418e6027a9c44e12aef57736e294acb30fb7b3b2f4a425f72" args="" -->PP_TCPSOCKET_OPTION_RECV_BUFFER_SIZE</em> </td><td>
+<p>Specifies the total per-socket buffer space reserved for receives. </p>
+<p>Value's type should be <code>PP_VARTYPE_INT32</code>. This option can only be set after a successful <code>Connect()</code> call.</p>
+<p>Note: This is only treated as a hint for the browser to set the buffer size. Even if <code>SetOption()</code> succeeds, the browser doesn't guarantee it will conform to the size. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga5fef49ee4c2cc6dcead825340da0f116"></a><!-- doxytag: member="ppb_text_input_controller.h::PP_TextInput_Type" ref="ga5fef49ee4c2cc6dcead825340da0f116" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga5fef49ee4c2cc6dcead825340da0f116">PP_TextInput_Type</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>PP_TextInput_Type is used to indicate the status of a plugin in regard to text input. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga5fef49ee4c2cc6dcead825340da0f116a0d75c884156553959d65252e65aa0916"></a><!-- doxytag: member="PP_TEXTINPUT_TYPE_NONE" ref="gga5fef49ee4c2cc6dcead825340da0f116a0d75c884156553959d65252e65aa0916" args="" -->PP_TEXTINPUT_TYPE_NONE</em> </td><td>
+<p>Input caret is not in an editable mode, no input method shall be used. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga5fef49ee4c2cc6dcead825340da0f116a0e5e4072fce915eca7e4dfd7c639626c"></a><!-- doxytag: member="PP_TEXTINPUT_TYPE_TEXT" ref="gga5fef49ee4c2cc6dcead825340da0f116a0e5e4072fce915eca7e4dfd7c639626c" args="" -->PP_TEXTINPUT_TYPE_TEXT</em> </td><td>
+<p>Input caret is in a normal editable mode, any input method can be used. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga5fef49ee4c2cc6dcead825340da0f116a00f508676278dd45e0335a8d5d715114"></a><!-- doxytag: member="PP_TEXTINPUT_TYPE_PASSWORD" ref="gga5fef49ee4c2cc6dcead825340da0f116a00f508676278dd45e0335a8d5d715114" args="" -->PP_TEXTINPUT_TYPE_PASSWORD</em> </td><td>
+<p>Input caret is in a password box, an input method may be used only if it's suitable for password input. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga5fef49ee4c2cc6dcead825340da0f116a0d7975532097315f198617ad5e59bc32"></a><!-- doxytag: member="PP_TEXTINPUT_TYPE_SEARCH" ref="gga5fef49ee4c2cc6dcead825340da0f116a0d7975532097315f198617ad5e59bc32" args="" -->PP_TEXTINPUT_TYPE_SEARCH</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga5fef49ee4c2cc6dcead825340da0f116a027963b61eb55438f92662e72e939cf8"></a><!-- doxytag: member="PP_TEXTINPUT_TYPE_EMAIL" ref="gga5fef49ee4c2cc6dcead825340da0f116a027963b61eb55438f92662e72e939cf8" args="" -->PP_TEXTINPUT_TYPE_EMAIL</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga5fef49ee4c2cc6dcead825340da0f116af71a3fb3f651ad5b417592433278fd1e"></a><!-- doxytag: member="PP_TEXTINPUT_TYPE_NUMBER" ref="gga5fef49ee4c2cc6dcead825340da0f116af71a3fb3f651ad5b417592433278fd1e" args="" -->PP_TEXTINPUT_TYPE_NUMBER</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga5fef49ee4c2cc6dcead825340da0f116a181e9bd71e6a97acd6c5dace9f0b5fb3"></a><!-- doxytag: member="PP_TEXTINPUT_TYPE_TELEPHONE" ref="gga5fef49ee4c2cc6dcead825340da0f116a181e9bd71e6a97acd6c5dace9f0b5fb3" args="" -->PP_TEXTINPUT_TYPE_TELEPHONE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga5fef49ee4c2cc6dcead825340da0f116ad4371ecdd1a6631a78d4721d83062394"></a><!-- doxytag: member="PP_TEXTINPUT_TYPE_URL" ref="gga5fef49ee4c2cc6dcead825340da0f116ad4371ecdd1a6631a78d4721d83062394" args="" -->PP_TEXTINPUT_TYPE_URL</em> </td><td>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="gad5885a239d04166c8777432c81e39d0a"></a><!-- doxytag: member="ppb_input_event.h::PP_TouchListType" ref="gad5885a239d04166c8777432c81e39d0a" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#gad5885a239d04166c8777432c81e39d0a">PP_TouchListType</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="ggad5885a239d04166c8777432c81e39d0aa739dfd65f4cd719996f20bdd2e7db4ca"></a><!-- doxytag: member="PP_TOUCHLIST_TYPE_TOUCHES" ref="ggad5885a239d04166c8777432c81e39d0aa739dfd65f4cd719996f20bdd2e7db4ca" args="" -->PP_TOUCHLIST_TYPE_TOUCHES</em> </td><td>
+<p>The list of all TouchPoints which are currently down. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggad5885a239d04166c8777432c81e39d0aa89d31d55d67fa0746d1f3bf4050eafff"></a><!-- doxytag: member="PP_TOUCHLIST_TYPE_CHANGEDTOUCHES" ref="ggad5885a239d04166c8777432c81e39d0aa89d31d55d67fa0746d1f3bf4050eafff" args="" -->PP_TOUCHLIST_TYPE_CHANGEDTOUCHES</em> </td><td>
+<p>The list of all TouchPoints whose state has changed since the last TouchInputEvent. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggad5885a239d04166c8777432c81e39d0aa0682e6c428fed9b900e3d9e56aaa8fca"></a><!-- doxytag: member="PP_TOUCHLIST_TYPE_TARGETTOUCHES" ref="ggad5885a239d04166c8777432c81e39d0aa0682e6c428fed9b900e3d9e56aaa8fca" args="" -->PP_TOUCHLIST_TYPE_TARGETTOUCHES</em> </td><td>
+<p>The list of all TouchPoints which are targeting this plugin. </p>
+<p>This is a subset of Touches. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga1a8472fa3e7150615c45c38fa8c12ce2"></a><!-- doxytag: member="ppb_udp_socket.h::PP_UDPSocket_Option" ref="ga1a8472fa3e7150615c45c38fa8c12ce2" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga1a8472fa3e7150615c45c38fa8c12ce2">PP_UDPSocket_Option</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Option names used by <code>SetOption()</code>. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga1a8472fa3e7150615c45c38fa8c12ce2a79568403b8927bf98bea0f2d38469984"></a><!-- doxytag: member="PP_UDPSOCKET_OPTION_ADDRESS_REUSE" ref="gga1a8472fa3e7150615c45c38fa8c12ce2a79568403b8927bf98bea0f2d38469984" args="" -->PP_UDPSOCKET_OPTION_ADDRESS_REUSE</em> </td><td>
+<p>Allows the socket to share the local address to which it will be bound with other processes. </p>
+<p>Value's type should be <code>PP_VARTYPE_BOOL</code>. This option can only be set before calling <code>Bind()</code>. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga1a8472fa3e7150615c45c38fa8c12ce2aeceda8fe978a52382b96939de7707c00"></a><!-- doxytag: member="PP_UDPSOCKET_OPTION_BROADCAST" ref="gga1a8472fa3e7150615c45c38fa8c12ce2aeceda8fe978a52382b96939de7707c00" args="" -->PP_UDPSOCKET_OPTION_BROADCAST</em> </td><td>
+<p>Allows sending and receiving packets to and from broadcast addresses. </p>
+<p>Value's type should be <code>PP_VARTYPE_BOOL</code>. This option can only be set before calling <code>Bind()</code>. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga1a8472fa3e7150615c45c38fa8c12ce2a905f0adde2912a5db26883d45fb75d57"></a><!-- doxytag: member="PP_UDPSOCKET_OPTION_SEND_BUFFER_SIZE" ref="gga1a8472fa3e7150615c45c38fa8c12ce2a905f0adde2912a5db26883d45fb75d57" args="" -->PP_UDPSOCKET_OPTION_SEND_BUFFER_SIZE</em> </td><td>
+<p>Specifies the total per-socket buffer space reserved for sends. </p>
+<p>Value's type should be <code>PP_VARTYPE_INT32</code>. This option can only be set after a successful <code>Bind()</code> call.</p>
+<p>Note: This is only treated as a hint for the browser to set the buffer size. Even if <code>SetOption()</code> succeeds, the browser doesn't guarantee it will conform to the size. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga1a8472fa3e7150615c45c38fa8c12ce2a1264eb1d6d16eb3a074ee3d21ebb3b64"></a><!-- doxytag: member="PP_UDPSOCKET_OPTION_RECV_BUFFER_SIZE" ref="gga1a8472fa3e7150615c45c38fa8c12ce2a1264eb1d6d16eb3a074ee3d21ebb3b64" args="" -->PP_UDPSOCKET_OPTION_RECV_BUFFER_SIZE</em> </td><td>
+<p>Specifies the total per-socket buffer space reserved for receives. </p>
+<p>Value's type should be <code>PP_VARTYPE_INT32</code>. This option can only be set after a successful <code>Bind()</code> call.</p>
+<p>Note: This is only treated as a hint for the browser to set the buffer size. Even if <code>SetOption()</code> succeeds, the browser doesn't guarantee it will conform to the size. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga41975630f0a4c49e47d4a21754f8402d"></a><!-- doxytag: member="ppb_url_request_info.h::PP_URLRequestProperty" ref="ga41975630f0a4c49e47d4a21754f8402d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga41975630f0a4c49e47d4a21754f8402d">PP_URLRequestProperty</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This enumeration contains properties that can be set on a URL request. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga41975630f0a4c49e47d4a21754f8402da89e44812e771fed9df0ff8994690e44d"></a><!-- doxytag: member="PP_URLREQUESTPROPERTY_URL" ref="gga41975630f0a4c49e47d4a21754f8402da89e44812e771fed9df0ff8994690e44d" args="" -->PP_URLREQUESTPROPERTY_URL</em> </td><td>
+<p>This corresponds to a string (<code>PP_VARTYPE_STRING</code>). </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga41975630f0a4c49e47d4a21754f8402da9cb5229069aac201622dbaa9cbca592c"></a><!-- doxytag: member="PP_URLREQUESTPROPERTY_METHOD" ref="gga41975630f0a4c49e47d4a21754f8402da9cb5229069aac201622dbaa9cbca592c" args="" -->PP_URLREQUESTPROPERTY_METHOD</em> </td><td>
+<p>This corresponds to a string (<code>PP_VARTYPE_STRING</code>); either POST or GET. </p>
+<p>Refer to the <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html">HTTP Methods</a> documentation for further information. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga41975630f0a4c49e47d4a21754f8402dac4b3809e34561a77c75b31eac1589e8d"></a><!-- doxytag: member="PP_URLREQUESTPROPERTY_HEADERS" ref="gga41975630f0a4c49e47d4a21754f8402dac4b3809e34561a77c75b31eac1589e8d" args="" -->PP_URLREQUESTPROPERTY_HEADERS</em> </td><td>
+<p>This corresponds to a string (<code>PP_VARTYPE_STRING</code>); <br />
+ delimited. </p>
+<p>Refer to the <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html"Header Field Definitions documentation for further information. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga41975630f0a4c49e47d4a21754f8402dac43d267f888233c994bd1ca2b5b6b249"></a><!-- doxytag: member="PP_URLREQUESTPROPERTY_STREAMTOFILE" ref="gga41975630f0a4c49e47d4a21754f8402dac43d267f888233c994bd1ca2b5b6b249" args="" -->PP_URLREQUESTPROPERTY_STREAMTOFILE</em> </td><td>
+<p>This corresponds to a <code>PP_Bool</code> (<code>PP_VARTYPE_BOOL</code>; default=<code>PP_FALSE</code>). </p>
+<p>Set this value to <code>PP_TRUE</code> if you want to download the data to a file. Use <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a187774b3255231fa00ad1fe1364677ff" title="FinishStreamingToFile() is used to wait for the response body to be completely downloaded to the file...">PPB_URLLoader.FinishStreamingToFile()</a> to complete the download. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga41975630f0a4c49e47d4a21754f8402da5f1270ecf041c6c0a6ef351eb0c12127"></a><!-- doxytag: member="PP_URLREQUESTPROPERTY_FOLLOWREDIRECTS" ref="gga41975630f0a4c49e47d4a21754f8402da5f1270ecf041c6c0a6ef351eb0c12127" args="" -->PP_URLREQUESTPROPERTY_FOLLOWREDIRECTS</em> </td><td>
+<p>This corresponds to a <code>PP_Bool</code> (<code>PP_VARTYPE_BOOL</code>; default=<code>PP_TRUE</code>). </p>
+<p>Set this value to <code>PP_FALSE</code> if you want to use PPB_URLLoader.FollowRedirects() to follow the redirects only after examining redirect headers. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga41975630f0a4c49e47d4a21754f8402da6846ea1e9c4ef7e09ea0f330a90cb7a6"></a><!-- doxytag: member="PP_URLREQUESTPROPERTY_RECORDDOWNLOADPROGRESS" ref="gga41975630f0a4c49e47d4a21754f8402da6846ea1e9c4ef7e09ea0f330a90cb7a6" args="" -->PP_URLREQUESTPROPERTY_RECORDDOWNLOADPROGRESS</em> </td><td>
+<p>This corresponds to a <code>PP_Bool</code> (<code>PP_VARTYPE_BOOL</code>; default=<code>PP_FALSE</code>). </p>
+<p>Set this value to <code>PP_TRUE</code> if you want to be able to poll the download progress using <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a3673506c6e0e23287b7d10e1163a0bbe" title="GetDownloadProgress() returns the current download progress, which is meaningful after Open() has bee...">PPB_URLLoader.GetDownloadProgress()</a>. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga41975630f0a4c49e47d4a21754f8402da9202c5a8c6afdc6fa9808ab21b95376c"></a><!-- doxytag: member="PP_URLREQUESTPROPERTY_RECORDUPLOADPROGRESS" ref="gga41975630f0a4c49e47d4a21754f8402da9202c5a8c6afdc6fa9808ab21b95376c" args="" -->PP_URLREQUESTPROPERTY_RECORDUPLOADPROGRESS</em> </td><td>
+<p>This corresponds to a <code>PP_Bool</code> (default=<code>PP_FALSE</code>). </p>
+<p>Set this value to <code>PP_TRUE</code> if you want to be able to poll the upload progress using <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#abb04744dfe5fce11e46c0e7e36c30b65" title="GetUploadProgress() returns the current upload progress (which is meaningful after Open() has been ca...">PPB_URLLoader.GetUploadProgress()</a>. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga41975630f0a4c49e47d4a21754f8402da6130d3b9dc8ae434752612ef155e3a38"></a><!-- doxytag: member="PP_URLREQUESTPROPERTY_CUSTOMREFERRERURL" ref="gga41975630f0a4c49e47d4a21754f8402da6130d3b9dc8ae434752612ef155e3a38" args="" -->PP_URLREQUESTPROPERTY_CUSTOMREFERRERURL</em> </td><td>
+<p>This corresponds to a string (<code>PP_VARTYPE_STRING)</code> or may be undefined (<code>PP_VARTYPE_UNDEFINED</code>; default). </p>
+<p>Set it to a string to set a custom referrer (if empty, the referrer header will be omitted), or to undefined to use the default referrer. Only loaders with universal access (only available on trusted implementations) will accept <code>URLRequestInfo</code> objects that try to set a custom referrer; if given to a loader without universal access, <code>PP_ERROR_NOACCESS</code> will result. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga41975630f0a4c49e47d4a21754f8402da23f6523485b5bedf17882fb7a8796c03"></a><!-- doxytag: member="PP_URLREQUESTPROPERTY_ALLOWCROSSORIGINREQUESTS" ref="gga41975630f0a4c49e47d4a21754f8402da23f6523485b5bedf17882fb7a8796c03" args="" -->PP_URLREQUESTPROPERTY_ALLOWCROSSORIGINREQUESTS</em> </td><td>
+<p>This corresponds to a <code>PP_Bool</code> (<code>PP_VARTYPE_BOOL</code>; default=<code>PP_FALSE</code>). </p>
+<p>Whether cross-origin requests are allowed. Cross-origin requests are made using the CORS (Cross-Origin Resource Sharing) algorithm to check whether the request should be allowed. For the complete CORS algorithm, refer to the <a href="http://www.w3.org/TR/access-control">Cross-Origin Resource Sharing</a> documentation. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga41975630f0a4c49e47d4a21754f8402da7da4140fde998f227f82d8064e9f5460"></a><!-- doxytag: member="PP_URLREQUESTPROPERTY_ALLOWCREDENTIALS" ref="gga41975630f0a4c49e47d4a21754f8402da7da4140fde998f227f82d8064e9f5460" args="" -->PP_URLREQUESTPROPERTY_ALLOWCREDENTIALS</em> </td><td>
+<p>This corresponds to a <code>PP_Bool</code> (<code>PP_VARTYPE_BOOL</code>; default=<code>PP_FALSE</code>). </p>
+<p>Whether HTTP credentials are sent with cross-origin requests. If false, no credentials are sent with the request and cookies are ignored in the response. If the request is not cross-origin, this property is ignored. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga41975630f0a4c49e47d4a21754f8402da094e978814d887d1888a2652aa91fc8b"></a><!-- doxytag: member="PP_URLREQUESTPROPERTY_CUSTOMCONTENTTRANSFERENCODING" ref="gga41975630f0a4c49e47d4a21754f8402da094e978814d887d1888a2652aa91fc8b" args="" -->PP_URLREQUESTPROPERTY_CUSTOMCONTENTTRANSFERENCODING</em> </td><td>
+<p>This corresponds to a string (<code>PP_VARTYPE_STRING</code>) or may be undefined (<code>PP_VARTYPE_UNDEFINED</code>; default). </p>
+<p>Set it to a string to set a custom content-transfer-encoding header (if empty, that header will be omitted), or to undefined to use the default (if any). Only loaders with universal access (only available on trusted implementations) will accept <code>URLRequestInfo</code> objects that try to set a custom content transfer encoding; if given to a loader without universal access, <code>PP_ERROR_NOACCESS</code> will result. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga41975630f0a4c49e47d4a21754f8402da69ab9c81542c755313fc906d27396a9e"></a><!-- doxytag: member="PP_URLREQUESTPROPERTY_PREFETCHBUFFERUPPERTHRESHOLD" ref="gga41975630f0a4c49e47d4a21754f8402da69ab9c81542c755313fc906d27396a9e" args="" -->PP_URLREQUESTPROPERTY_PREFETCHBUFFERUPPERTHRESHOLD</em> </td><td>
+<p>This corresponds to an integer (<code>PP_VARTYPE_INT32</code>); default is not defined and is set by the browser, possibly depending on system capabilities. </p>
+<p>Set it to an integer to set an upper threshold for the prefetched buffer of an asynchronous load. When exceeded, the browser will defer loading until <code>PP_URLREQUESTPROPERTY_PREFETCHBUFFERLOWERERTHRESHOLD</code> is hit, at which time it will begin prefetching again. When setting this property, <code>PP_URLREQUESTPROPERTY_PREFETCHBUFFERLOWERERTHRESHOLD</code> must also be set. Behavior is undefined if the former is <= the latter. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga41975630f0a4c49e47d4a21754f8402da8529403a539c1f604f8b0507078d804d"></a><!-- doxytag: member="PP_URLREQUESTPROPERTY_PREFETCHBUFFERLOWERTHRESHOLD" ref="gga41975630f0a4c49e47d4a21754f8402da8529403a539c1f604f8b0507078d804d" args="" -->PP_URLREQUESTPROPERTY_PREFETCHBUFFERLOWERTHRESHOLD</em> </td><td>
+<p>This corresponds to an integer (<code>PP_VARTYPE_INT32</code>); default is not defined and is set by the browser to a value appropriate for the default <code>PP_URLREQUESTPROPERTY_PREFETCHBUFFERUPPERTHRESHOLD</code>. </p>
+<p>Set it to an integer to set a lower threshold for the prefetched buffer of an asynchronous load. When reached, the browser will resume loading if If <code>PP_URLREQUESTPROPERTY_PREFETCHBUFFERLOWERERTHRESHOLD</code> had previously been reached. When setting this property, <code>PP_URLREQUESTPROPERTY_PREFETCHBUFFERUPPERTHRESHOLD</code> must also be set. Behavior is undefined if the former is >= the latter. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga41975630f0a4c49e47d4a21754f8402dacf34504e827fdce2895f2b504cdd0653"></a><!-- doxytag: member="PP_URLREQUESTPROPERTY_CUSTOMUSERAGENT" ref="gga41975630f0a4c49e47d4a21754f8402dacf34504e827fdce2895f2b504cdd0653" args="" -->PP_URLREQUESTPROPERTY_CUSTOMUSERAGENT</em> </td><td>
+<p>This corresponds to a string (<code>PP_VARTYPE_STRING</code>) or may be undefined (<code>PP_VARTYPE_UNDEFINED</code>; default). </p>
+<p>Set it to a string to set a custom user-agent header (if empty, that header will be omitted), or to undefined to use the default. Only loaders with universal access (only available on trusted implementations) will accept <code>URLRequestInfo</code> objects that try to set a custom user agent; if given to a loader without universal access, <code>PP_ERROR_NOACCESS</code> will result. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga642e6199b27df69aad84aff5597041e0"></a><!-- doxytag: member="ppb_url_response_info.h::PP_URLResponseProperty" ref="ga642e6199b27df69aad84aff5597041e0" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga642e6199b27df69aad84aff5597041e0">PP_URLResponseProperty</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This enumeration contains properties set on a URL response. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga642e6199b27df69aad84aff5597041e0a805e0970808bd8d36cb02171dca7a734"></a><!-- doxytag: member="PP_URLRESPONSEPROPERTY_URL" ref="gga642e6199b27df69aad84aff5597041e0a805e0970808bd8d36cb02171dca7a734" args="" -->PP_URLRESPONSEPROPERTY_URL</em> </td><td>
+<p>This corresponds to a string (PP_VARTYPE_STRING); an absolute URL formed by resolving the relative request URL with the absolute document URL. </p>
+<p>Refer to the <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html#sec5.1.2">HTTP Request URI</a> and <a href="http://www.w3.org/TR/html4/struct/links.html#h-12.4.1">HTML Resolving Relative URIs</a> documentation for further information. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga642e6199b27df69aad84aff5597041e0aaaba524cc005207e2f226400e6a14d8e"></a><!-- doxytag: member="PP_URLRESPONSEPROPERTY_REDIRECTURL" ref="gga642e6199b27df69aad84aff5597041e0aaaba524cc005207e2f226400e6a14d8e" args="" -->PP_URLRESPONSEPROPERTY_REDIRECTURL</em> </td><td>
+<p>This corresponds to a string (PP_VARTYPE_STRING); the absolute URL returned in the response header's 'Location' field if this is a redirect response, an empty string otherwise. </p>
+<p>Refer to the <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3">HTTP Status Codes - Redirection</a> documentation for further information. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga642e6199b27df69aad84aff5597041e0abc45cd41ad54d2350626651b34db6927"></a><!-- doxytag: member="PP_URLRESPONSEPROPERTY_REDIRECTMETHOD" ref="gga642e6199b27df69aad84aff5597041e0abc45cd41ad54d2350626651b34db6927" args="" -->PP_URLRESPONSEPROPERTY_REDIRECTMETHOD</em> </td><td>
+<p>This corresponds to a string (PP_VARTYPE_STRING); the HTTP method to be used in a new request if this is a redirect response, an empty string otherwise. </p>
+<p>Refer to the <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3">HTTP Status Codes - Redirection</a> documentation for further information. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga642e6199b27df69aad84aff5597041e0abc04191395637d0a4858657f2edd1ce3"></a><!-- doxytag: member="PP_URLRESPONSEPROPERTY_STATUSCODE" ref="gga642e6199b27df69aad84aff5597041e0abc04191395637d0a4858657f2edd1ce3" args="" -->PP_URLRESPONSEPROPERTY_STATUSCODE</em> </td><td>
+<p>This corresponds to an int32 (PP_VARETYPE_INT32); the status code from the response, e.g., 200 if the request was successful. </p>
+<p>Refer to the <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html#sec6.1.1">HTTP Status Code and Reason Phrase</a> documentation for further information. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga642e6199b27df69aad84aff5597041e0a0224e3907e7efc9ff8d916b0cb7b3287"></a><!-- doxytag: member="PP_URLRESPONSEPROPERTY_STATUSLINE" ref="gga642e6199b27df69aad84aff5597041e0a0224e3907e7efc9ff8d916b0cb7b3287" args="" -->PP_URLRESPONSEPROPERTY_STATUSLINE</em> </td><td>
+<p>This corresponds to a string (PP_VARTYPE_STRING); the status line from the response. </p>
+<p>Refer to the <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html#sec6.1">HTTP Response Status Line</a> documentation for further information. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga642e6199b27df69aad84aff5597041e0a45c014f3cb40e884677387855c3d977b"></a><!-- doxytag: member="PP_URLRESPONSEPROPERTY_HEADERS" ref="gga642e6199b27df69aad84aff5597041e0a45c014f3cb40e884677387855c3d977b" args="" -->PP_URLRESPONSEPROPERTY_HEADERS</em> </td><td>
+<p>This corresponds to a string(PP_VARTYPE_STRING), a <br />
+-delimited list of header field/value pairs of the form "field: value", returned by the server. </p>
+<p>Refer to the <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14">HTTP Header Field Definitions</a> documentation for further information. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga9815041477d810724e44da862f9852ed"></a><!-- doxytag: member="pp_var.h::PP_VarType" ref="ga9815041477d810724e44da862f9852ed" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga9815041477d810724e44da862f9852ed">PP_VarType</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <code>PP_VarType</code> is an enumeration of the different types that can be contained within a <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> structure. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga9815041477d810724e44da862f9852eda499cc75cc2a3a16632b6f0e38172fce7"></a><!-- doxytag: member="PP_VARTYPE_UNDEFINED" ref="gga9815041477d810724e44da862f9852eda499cc75cc2a3a16632b6f0e38172fce7" args="" -->PP_VARTYPE_UNDEFINED</em> </td><td>
+<p>An undefined value. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga9815041477d810724e44da862f9852edabfa22cf2659270ee5d4c1ff4eabf6e67"></a><!-- doxytag: member="PP_VARTYPE_NULL" ref="gga9815041477d810724e44da862f9852edabfa22cf2659270ee5d4c1ff4eabf6e67" args="" -->PP_VARTYPE_NULL</em> </td><td>
+<p>A NULL value. </p>
+<p>This is similar to undefined, but JavaScript differentiates the two so it is exposed here as well. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga9815041477d810724e44da862f9852edad1a70cd8b8b8b815687c3234f40513b5"></a><!-- doxytag: member="PP_VARTYPE_BOOL" ref="gga9815041477d810724e44da862f9852edad1a70cd8b8b8b815687c3234f40513b5" args="" -->PP_VARTYPE_BOOL</em> </td><td>
+<p>A boolean value, use the <code>as_bool</code> member of the var. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga9815041477d810724e44da862f9852eda40a4a8c45ec7629e3093eb93b9ff1556"></a><!-- doxytag: member="PP_VARTYPE_INT32" ref="gga9815041477d810724e44da862f9852eda40a4a8c45ec7629e3093eb93b9ff1556" args="" -->PP_VARTYPE_INT32</em> </td><td>
+<p>A 32-bit integer value. </p>
+<p>Use the <code>as_int</code> member of the var. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga9815041477d810724e44da862f9852eda26caea042c1cb14ff640f7aec3f2af90"></a><!-- doxytag: member="PP_VARTYPE_DOUBLE" ref="gga9815041477d810724e44da862f9852eda26caea042c1cb14ff640f7aec3f2af90" args="" -->PP_VARTYPE_DOUBLE</em> </td><td>
+<p>A double-precision floating point value. </p>
+<p>Use the <code>as_double</code> member of the var. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga9815041477d810724e44da862f9852eda079c1c085b9b0f1b076807a0eb5ba6bd"></a><!-- doxytag: member="PP_VARTYPE_STRING" ref="gga9815041477d810724e44da862f9852eda079c1c085b9b0f1b076807a0eb5ba6bd" args="" -->PP_VARTYPE_STRING</em> </td><td>
+<p>The Var represents a string. </p>
+<p>The <code>as_id</code> field is used to identify the string, which may be created and retrieved from the <code>PPB_Var</code> interface. These objects are reference counted, so AddRef and Release must be used properly to avoid memory leaks. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga9815041477d810724e44da862f9852eda7060b95352ff46ed2f0144e08cc949cc"></a><!-- doxytag: member="PP_VARTYPE_OBJECT" ref="gga9815041477d810724e44da862f9852eda7060b95352ff46ed2f0144e08cc949cc" args="" -->PP_VARTYPE_OBJECT</em> </td><td>
+<p>Represents a JavaScript object. </p>
+<p>This vartype is not currently usable from modules, although it is used internally for some tasks. These objects are reference counted, so AddRef and Release must be used properly to avoid memory leaks. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga9815041477d810724e44da862f9852eda50df125d91ade69f5b2de4d08427508c"></a><!-- doxytag: member="PP_VARTYPE_ARRAY" ref="gga9815041477d810724e44da862f9852eda50df125d91ade69f5b2de4d08427508c" args="" -->PP_VARTYPE_ARRAY</em> </td><td>
+<p>Represents an array of Vars. </p>
+<p>The <code>as_id</code> field is used to identify the array, which may be created and manipulated from the <code>PPB_VarArray</code> interface. These objects are reference counted, so AddRef and Release must be used properly to avoid memory leaks. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga9815041477d810724e44da862f9852edae44188e85906d83c2f52f34aa5b38687"></a><!-- doxytag: member="PP_VARTYPE_DICTIONARY" ref="gga9815041477d810724e44da862f9852edae44188e85906d83c2f52f34aa5b38687" args="" -->PP_VARTYPE_DICTIONARY</em> </td><td>
+<p>Represents a mapping from strings to Vars. </p>
+<p>The <code>as_id</code> field is used to identify the dictionary, which may be created and manipulated from the <code>PPB_VarDictionary</code> interface. These objects are reference counted, so AddRef and Release must be used properly to avoid memory leaks. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga9815041477d810724e44da862f9852eda363024b8067811f2f2f42f969be44529"></a><!-- doxytag: member="PP_VARTYPE_ARRAY_BUFFER" ref="gga9815041477d810724e44da862f9852eda363024b8067811f2f2f42f969be44529" args="" -->PP_VARTYPE_ARRAY_BUFFER</em> </td><td>
+<p>ArrayBuffer represents a JavaScript ArrayBuffer. </p>
+<p>This is the type which represents Typed Arrays in JavaScript. Unlike JavaScript 'Array', it is only meant to contain basic numeric types, and is always stored contiguously. See PPB_VarArrayBuffer_Dev for functions special to ArrayBuffer vars. These objects are reference counted, so AddRef and Release must be used properly to avoid memory leaks. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga9815041477d810724e44da862f9852eda898e69540595e8b95681d850ddecc7f1"></a><!-- doxytag: member="PP_VARTYPE_RESOURCE" ref="gga9815041477d810724e44da862f9852eda898e69540595e8b95681d850ddecc7f1" args="" -->PP_VARTYPE_RESOURCE</em> </td><td>
+<p>Resources are not currently supported but will be added in the future These objects are reference counted, so AddRef and Release must be used properly to avoid memory leaks. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga8458f33f09ecc56fcf486c60b844678d"></a><!-- doxytag: member="ppb_websocket.h::PP_WebSocketCloseCode" ref="ga8458f33f09ecc56fcf486c60b844678d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga8458f33f09ecc56fcf486c60b844678d">PP_WebSocketCloseCode</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This enumeration contains status codes. </p>
+<p>These codes are used in Close() and GetCloseCode(). Refer to RFC 6455, The WebSocket Protocol, for further information. <code>PP_WEBSOCKETSTATUSCODE_NORMAL_CLOSURE</code> and codes in the range <code>PP_WEBSOCKETSTATUSCODE_USER_REGISTERED_MIN</code> to <code>PP_WEBSOCKETSTATUSCODE_USER_REGISTERED_MAX</code>, and <code>PP_WEBSOCKETSTATUSCODE_USER_PRIVATE_MIN</code> to <code>PP_WEBSOCKETSTATUSCODE_USER_PRIVATE_MAX</code> are valid for Close(). </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga8458f33f09ecc56fcf486c60b844678dace8b6cbd5ab6bdecc5762b8753702d47"></a><!-- doxytag: member="PP_WEBSOCKETSTATUSCODE_NOT_SPECIFIED" ref="gga8458f33f09ecc56fcf486c60b844678dace8b6cbd5ab6bdecc5762b8753702d47" args="" -->PP_WEBSOCKETSTATUSCODE_NOT_SPECIFIED</em> </td><td>
+<p>Indicates to request closing connection without status code and reason. </p>
+<p>(Note that the code 1005 is forbidden to send in actual close frames by the RFC. PP_WebSocket reuses this code internally and the code will never appear in the actual close frames.) </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga8458f33f09ecc56fcf486c60b844678daff82b3d825f09240d64479d5ae0a2e00"></a><!-- doxytag: member="PP_WEBSOCKETSTATUSCODE_NORMAL_CLOSURE" ref="gga8458f33f09ecc56fcf486c60b844678daff82b3d825f09240d64479d5ae0a2e00" args="" -->PP_WEBSOCKETSTATUSCODE_NORMAL_CLOSURE</em> </td><td>
+<p>Status codes in the range 0-999 are not used. </p>
+<p>Indicates a normal closure. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga8458f33f09ecc56fcf486c60b844678da9d8d5c41a6592a609324249950468fb4"></a><!-- doxytag: member="PP_WEBSOCKETSTATUSCODE_GOING_AWAY" ref="gga8458f33f09ecc56fcf486c60b844678da9d8d5c41a6592a609324249950468fb4" args="" -->PP_WEBSOCKETSTATUSCODE_GOING_AWAY</em> </td><td>
+<p>Indicates that an endpoint is "going away", such as a server going down. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga8458f33f09ecc56fcf486c60b844678daf20b614979599d2a2ed79543618d6ef4"></a><!-- doxytag: member="PP_WEBSOCKETSTATUSCODE_PROTOCOL_ERROR" ref="gga8458f33f09ecc56fcf486c60b844678daf20b614979599d2a2ed79543618d6ef4" args="" -->PP_WEBSOCKETSTATUSCODE_PROTOCOL_ERROR</em> </td><td>
+<p>Indicates that an endpoint is terminating the connection due to a protocol error. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga8458f33f09ecc56fcf486c60b844678da4c63e46fd3e2a3b03fdcc577431f85ba"></a><!-- doxytag: member="PP_WEBSOCKETSTATUSCODE_UNSUPPORTED_DATA" ref="gga8458f33f09ecc56fcf486c60b844678da4c63e46fd3e2a3b03fdcc577431f85ba" args="" -->PP_WEBSOCKETSTATUSCODE_UNSUPPORTED_DATA</em> </td><td>
+<p>Indicates that an endpoint is terminating the connection because it has received a type of data it cannot accept. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga8458f33f09ecc56fcf486c60b844678da75580d49b265525d2f8591be2aa02fe6"></a><!-- doxytag: member="PP_WEBSOCKETSTATUSCODE_NO_STATUS_RECEIVED" ref="gga8458f33f09ecc56fcf486c60b844678da75580d49b265525d2f8591be2aa02fe6" args="" -->PP_WEBSOCKETSTATUSCODE_NO_STATUS_RECEIVED</em> </td><td>
+<p>Status code 1004 is reserved. </p>
+<p>Pseudo code to indicate that receiving close frame doesn't contain any status code. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga8458f33f09ecc56fcf486c60b844678dad80b864c592819db0cb640d2b6e74a3f"></a><!-- doxytag: member="PP_WEBSOCKETSTATUSCODE_ABNORMAL_CLOSURE" ref="gga8458f33f09ecc56fcf486c60b844678dad80b864c592819db0cb640d2b6e74a3f" args="" -->PP_WEBSOCKETSTATUSCODE_ABNORMAL_CLOSURE</em> </td><td>
+<p>Pseudo code to indicate that connection was closed abnormally, e.g., without closing handshake. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga8458f33f09ecc56fcf486c60b844678daea768048eaff4826bf06550d8da0dd42"></a><!-- doxytag: member="PP_WEBSOCKETSTATUSCODE_INVALID_FRAME_PAYLOAD_DATA" ref="gga8458f33f09ecc56fcf486c60b844678daea768048eaff4826bf06550d8da0dd42" args="" -->PP_WEBSOCKETSTATUSCODE_INVALID_FRAME_PAYLOAD_DATA</em> </td><td>
+<p>Indicates that an endpoint is terminating the connection because it has received data within a message that was not consistent with the type of the message (e.g., non-UTF-8 data within a text message). </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga8458f33f09ecc56fcf486c60b844678da4d4405b66c4b436c9bb31dfa4fa71523"></a><!-- doxytag: member="PP_WEBSOCKETSTATUSCODE_POLICY_VIOLATION" ref="gga8458f33f09ecc56fcf486c60b844678da4d4405b66c4b436c9bb31dfa4fa71523" args="" -->PP_WEBSOCKETSTATUSCODE_POLICY_VIOLATION</em> </td><td>
+<p>Indicates that an endpoint is terminating the connection because it has received a message that violates its policy. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga8458f33f09ecc56fcf486c60b844678da7c8d17601c982c62a933a3f721c049ef"></a><!-- doxytag: member="PP_WEBSOCKETSTATUSCODE_MESSAGE_TOO_BIG" ref="gga8458f33f09ecc56fcf486c60b844678da7c8d17601c982c62a933a3f721c049ef" args="" -->PP_WEBSOCKETSTATUSCODE_MESSAGE_TOO_BIG</em> </td><td>
+<p>Indicates that an endpoint is terminating the connection because it has received a message that is too big for it to process. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga8458f33f09ecc56fcf486c60b844678da5fae5457554a0cad877ccfa1d5636b8d"></a><!-- doxytag: member="PP_WEBSOCKETSTATUSCODE_MANDATORY_EXTENSION" ref="gga8458f33f09ecc56fcf486c60b844678da5fae5457554a0cad877ccfa1d5636b8d" args="" -->PP_WEBSOCKETSTATUSCODE_MANDATORY_EXTENSION</em> </td><td>
+<p>Indicates that an endpoint (client) is terminating the connection because it has expected the server to negotiate one or more extension, but the server didn't return them in the response message of the WebSocket handshake. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga8458f33f09ecc56fcf486c60b844678da7318b30a65ea442445e754453a73be81"></a><!-- doxytag: member="PP_WEBSOCKETSTATUSCODE_INTERNAL_SERVER_ERROR" ref="gga8458f33f09ecc56fcf486c60b844678da7318b30a65ea442445e754453a73be81" args="" -->PP_WEBSOCKETSTATUSCODE_INTERNAL_SERVER_ERROR</em> </td><td>
+<p>Indicates that a server is terminating the connection because it encountered an unexpected condition. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga8458f33f09ecc56fcf486c60b844678da8aef76170a2836b651922555aa26348d"></a><!-- doxytag: member="PP_WEBSOCKETSTATUSCODE_TLS_HANDSHAKE" ref="gga8458f33f09ecc56fcf486c60b844678da8aef76170a2836b651922555aa26348d" args="" -->PP_WEBSOCKETSTATUSCODE_TLS_HANDSHAKE</em> </td><td>
+<p>Status codes in the range 1012-1014 are reserved. </p>
+<p>Pseudo code to indicate that the connection was closed due to a failure to perform a TLS handshake. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga8458f33f09ecc56fcf486c60b844678da3a87714e399ce00177f60f85c9a993ba"></a><!-- doxytag: member="PP_WEBSOCKETSTATUSCODE_USER_REGISTERED_MIN" ref="gga8458f33f09ecc56fcf486c60b844678da3a87714e399ce00177f60f85c9a993ba" args="" -->PP_WEBSOCKETSTATUSCODE_USER_REGISTERED_MIN</em> </td><td>
+<p>Status codes in the range 1016-2999 are reserved. </p>
+<p>Status codes in the range 3000-3999 are reserved for use by libraries, frameworks, and applications. These codes are registered directly with IANA. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga8458f33f09ecc56fcf486c60b844678da08c67e1fcd33b07c350be618d7d72403"></a><!-- doxytag: member="PP_WEBSOCKETSTATUSCODE_USER_REGISTERED_MAX" ref="gga8458f33f09ecc56fcf486c60b844678da08c67e1fcd33b07c350be618d7d72403" args="" -->PP_WEBSOCKETSTATUSCODE_USER_REGISTERED_MAX</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga8458f33f09ecc56fcf486c60b844678da491bd1d7c9ada2c129062beb9eaeded1"></a><!-- doxytag: member="PP_WEBSOCKETSTATUSCODE_USER_PRIVATE_MIN" ref="gga8458f33f09ecc56fcf486c60b844678da491bd1d7c9ada2c129062beb9eaeded1" args="" -->PP_WEBSOCKETSTATUSCODE_USER_PRIVATE_MIN</em> </td><td>
+<p>Status codes in the range 4000-4999 are reserved for private use. </p>
+<p>Application can use these codes for application specific purposes freely. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga8458f33f09ecc56fcf486c60b844678da242327b17ab568d625627236de721e5b"></a><!-- doxytag: member="PP_WEBSOCKETSTATUSCODE_USER_PRIVATE_MAX" ref="gga8458f33f09ecc56fcf486c60b844678da242327b17ab568d625627236de721e5b" args="" -->PP_WEBSOCKETSTATUSCODE_USER_PRIVATE_MAX</em> </td><td>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="gade61cdf6a7470769b571925694d91a89"></a><!-- doxytag: member="ppb_websocket.h::PP_WebSocketReadyState" ref="gade61cdf6a7470769b571925694d91a89" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#gade61cdf6a7470769b571925694d91a89">PP_WebSocketReadyState</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This enumeration contains the types representing the WebSocket ready state and these states are based on the JavaScript WebSocket API specification. </p>
+<p>GetReadyState() returns one of these states. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="ggade61cdf6a7470769b571925694d91a89a6c603b9df214e22d8b8202431866b26b"></a><!-- doxytag: member="PP_WEBSOCKETREADYSTATE_INVALID" ref="ggade61cdf6a7470769b571925694d91a89a6c603b9df214e22d8b8202431866b26b" args="" -->PP_WEBSOCKETREADYSTATE_INVALID</em> </td><td>
+<p>Ready state is queried on an invalid resource. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggade61cdf6a7470769b571925694d91a89a9ad491ea639e22b598d4e8cab463acd9"></a><!-- doxytag: member="PP_WEBSOCKETREADYSTATE_CONNECTING" ref="ggade61cdf6a7470769b571925694d91a89a9ad491ea639e22b598d4e8cab463acd9" args="" -->PP_WEBSOCKETREADYSTATE_CONNECTING</em> </td><td>
+<p>Ready state that the connection has not yet been established. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggade61cdf6a7470769b571925694d91a89a60f99e31f237d57df167d70e7c1ada7d"></a><!-- doxytag: member="PP_WEBSOCKETREADYSTATE_OPEN" ref="ggade61cdf6a7470769b571925694d91a89a60f99e31f237d57df167d70e7c1ada7d" args="" -->PP_WEBSOCKETREADYSTATE_OPEN</em> </td><td>
+<p>Ready state that the WebSocket connection is established and communication is possible. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggade61cdf6a7470769b571925694d91a89a45ce2585ba8b200c6c02112098df6447"></a><!-- doxytag: member="PP_WEBSOCKETREADYSTATE_CLOSING" ref="ggade61cdf6a7470769b571925694d91a89a45ce2585ba8b200c6c02112098df6447" args="" -->PP_WEBSOCKETREADYSTATE_CLOSING</em> </td><td>
+<p>Ready state that the connection is going through the closing handshake. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggade61cdf6a7470769b571925694d91a89a43865a04fac402be4f589d2c7f9f02f4"></a><!-- doxytag: member="PP_WEBSOCKETREADYSTATE_CLOSED" ref="ggade61cdf6a7470769b571925694d91a89a43865a04fac402be4f589d2c7f9f02f4" args="" -->PP_WEBSOCKETREADYSTATE_CLOSED</em> </td><td>
+<p>Ready state that the connection has been closed or could not be opened. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Function Documentation</h2>
+<a class="anchor" id="ga9b1b55c2ccaa49d084206619c9034dde"></a><!-- doxytag: member="ppb_mouse_cursor.h::PP_COMPILE_ASSERT_ENUM_SIZE_IN_BYTES" ref="ga9b1b55c2ccaa49d084206619c9034dde" args="(PP_MouseCursor_Type, 4)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga9b1b55c2ccaa49d084206619c9034dde">PP_COMPILE_ASSERT_ENUM_SIZE_IN_BYTES</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="group___enums.html#gac53273018386c1db9542d2a06bbe118b">PP_MouseCursor_Type</a> </td>
+<td class="paramname">, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">4 </td>
+<td class="paramname"> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Variable Documentation</h2>
+<a class="anchor" id="gaee750c350655f2fb0fe04c04029e0ff8"></a><!-- doxytag: member="ppb_audio_config.h::PP_AudioSampleRate" ref="gaee750c350655f2fb0fe04c04029e0ff8" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#gaee750c350655f2fb0fe04c04029e0ff8">PP_AudioSampleRate</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga4f272d99be14aacafe08dfd4ef830918"></a><!-- doxytag: member="pp_bool.h::PP_Bool" ref="ga4f272d99be14aacafe08dfd4ef830918" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga7610f0fba2396d46384859caa4d91798"></a><!-- doxytag: member="pp_completion_callback.h::PP_CompletionCallback_Flag" ref="ga7610f0fba2396d46384859caa4d91798" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga7610f0fba2396d46384859caa4d91798">PP_CompletionCallback_Flag</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga4c87e6dd19c1d49b66a9b37136a82e82"></a><!-- doxytag: member="ppb_file_io.h::PP_FileOpenFlags" ref="ga4c87e6dd19c1d49b66a9b37136a82e82" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4c87e6dd19c1d49b66a9b37136a82e82">PP_FileOpenFlags</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga87b353f2ec8935c9c3294daff612c145"></a><!-- doxytag: member="pp_file_info.h::PP_FileSystemType" ref="ga87b353f2ec8935c9c3294daff612c145" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga87b353f2ec8935c9c3294daff612c145">PP_FileSystemType</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga36f6dfbe9c1e98540c5247f790746427"></a><!-- doxytag: member="pp_file_info.h::PP_FileType" ref="ga36f6dfbe9c1e98540c5247f790746427" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga36f6dfbe9c1e98540c5247f790746427">PP_FileType</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga7df48e1c55f6401beea2a1b9c07967e8"></a><!-- doxytag: member="pp_graphics_3d.h::PP_Graphics3DAttrib" ref="ga7df48e1c55f6401beea2a1b9c07967e8" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga7df48e1c55f6401beea2a1b9c07967e8">PP_Graphics3DAttrib</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gadb4b8db19266831040fc604f73c83a25"></a><!-- doxytag: member="ppb_host_resolver.h::PP_HostResolver_Flag" ref="gadb4b8db19266831040fc604f73c83a25" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#gadb4b8db19266831040fc604f73c83a25">PP_HostResolver_Flag</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga2ee7ad01799553e5f17bdaa35dd952ee"></a><!-- doxytag: member="ppb_image_data.h::PP_ImageDataFormat" ref="ga2ee7ad01799553e5f17bdaa35dd952ee" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga2ee7ad01799553e5f17bdaa35dd952ee">PP_ImageDataFormat</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gafe68e3c1031daa4a6496845ff47649cd"></a><!-- doxytag: member="ppb_input_event.h::PP_InputEvent_Class" ref="gafe68e3c1031daa4a6496845ff47649cd" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#gafe68e3c1031daa4a6496845ff47649cd">PP_InputEvent_Class</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga21b811ac0484a214a8751aa3e1c959d9"></a><!-- doxytag: member="ppb_input_event.h::PP_InputEvent_Modifier" ref="ga21b811ac0484a214a8751aa3e1c959d9" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga21b811ac0484a214a8751aa3e1c959d9">PP_InputEvent_Modifier</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga25113f3c8d33e863fd38b3f70f8a5e6e"></a><!-- doxytag: member="ppb_input_event.h::PP_InputEvent_MouseButton" ref="ga25113f3c8d33e863fd38b3f70f8a5e6e" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga25113f3c8d33e863fd38b3f70f8a5e6e">PP_InputEvent_MouseButton</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gaca7296cfec99fcb6646b7144d1d6a0c5"></a><!-- doxytag: member="ppb_input_event.h::PP_InputEvent_Type" ref="gaca7296cfec99fcb6646b7144d1d6a0c5" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#gaca7296cfec99fcb6646b7144d1d6a0c5">PP_InputEvent_Type</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gac39067c0883ec80b94290dd2a3bae440"></a><!-- doxytag: member="ppb_console.h::PP_LogLevel" ref="gac39067c0883ec80b94290dd2a3bae440" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#gac39067c0883ec80b94290dd2a3bae440">PP_LogLevel</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga43636bcadf9aa312a4c345d210ae6c55"></a><!-- doxytag: member="ppb_net_address.h::PP_NetAddress_Family" ref="ga43636bcadf9aa312a4c345d210ae6c55" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga43636bcadf9aa312a4c345d210ae6c55">PP_NetAddress_Family</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga9188881b5d3346626db0ea8e6aaecf1f"></a><!-- doxytag: member="ppb_network_list.h::PP_NetworkList_State" ref="ga9188881b5d3346626db0ea8e6aaecf1f" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga9188881b5d3346626db0ea8e6aaecf1f">PP_NetworkList_State</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga1c967cb753eb468493b3bf72e6733983"></a><!-- doxytag: member="ppb_network_list.h::PP_NetworkList_Type" ref="ga1c967cb753eb468493b3bf72e6733983" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga1c967cb753eb468493b3bf72e6733983">PP_NetworkList_Type</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga1557c0bbce8739a3418e6027a9c44e12"></a><!-- doxytag: member="ppb_tcp_socket.h::PP_TCPSocket_Option" ref="ga1557c0bbce8739a3418e6027a9c44e12" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga1557c0bbce8739a3418e6027a9c44e12">PP_TCPSocket_Option</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga5fef49ee4c2cc6dcead825340da0f116"></a><!-- doxytag: member="ppb_text_input_controller.h::PP_TextInput_Type" ref="ga5fef49ee4c2cc6dcead825340da0f116" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga5fef49ee4c2cc6dcead825340da0f116">PP_TextInput_Type</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gad5885a239d04166c8777432c81e39d0a"></a><!-- doxytag: member="ppb_input_event.h::PP_TouchListType" ref="gad5885a239d04166c8777432c81e39d0a" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#gad5885a239d04166c8777432c81e39d0a">PP_TouchListType</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga1a8472fa3e7150615c45c38fa8c12ce2"></a><!-- doxytag: member="ppb_udp_socket.h::PP_UDPSocket_Option" ref="ga1a8472fa3e7150615c45c38fa8c12ce2" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga1a8472fa3e7150615c45c38fa8c12ce2">PP_UDPSocket_Option</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga41975630f0a4c49e47d4a21754f8402d"></a><!-- doxytag: member="ppb_url_request_info.h::PP_URLRequestProperty" ref="ga41975630f0a4c49e47d4a21754f8402d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga41975630f0a4c49e47d4a21754f8402d">PP_URLRequestProperty</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga642e6199b27df69aad84aff5597041e0"></a><!-- doxytag: member="ppb_url_response_info.h::PP_URLResponseProperty" ref="ga642e6199b27df69aad84aff5597041e0" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga642e6199b27df69aad84aff5597041e0">PP_URLResponseProperty</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga9815041477d810724e44da862f9852ed"></a><!-- doxytag: member="pp_var.h::PP_VarType" ref="ga9815041477d810724e44da862f9852ed" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga9815041477d810724e44da862f9852ed">PP_VarType</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga8458f33f09ecc56fcf486c60b844678d"></a><!-- doxytag: member="ppb_websocket.h::PP_WebSocketCloseCode" ref="ga8458f33f09ecc56fcf486c60b844678d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga8458f33f09ecc56fcf486c60b844678d">PP_WebSocketCloseCode</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gade61cdf6a7470769b571925694d91a89"></a><!-- doxytag: member="ppb_websocket.h::PP_WebSocketReadyState" ref="gade61cdf6a7470769b571925694d91a89" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#gade61cdf6a7470769b571925694d91a89">PP_WebSocketReadyState</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/group___functions.html b/native_client_sdk/doc_generated/pepper_beta/c/group___functions.html
new file mode 100644
index 0000000..3b27bf9
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/group___functions.html
@@ -0,0 +1,546 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Functions</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+</div>
+<!--header-->
+<div class="contents">
+<h2>
+Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga8691f15edad9b391c3644064ac57f191">PP_MakeCompletionCallback</a> (<a class="el" href="group___typedefs.html#ga6fe12e1a41df5e10103a811036d4d8d2">PP_CompletionCallback_Func</a> func, void *user_data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#gabd6bf83f4c787477631c37d44418c4db">PP_MakeOptionalCompletionCallback</a> (<a class="el" href="group___typedefs.html#ga6fe12e1a41df5e10103a811036d4d8d2">PP_CompletionCallback_Func</a> func, void *user_data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#gaffce49266a735f9ee8d149b14477404f">PP_RunCompletionCallback</a> (struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> *cc, int32_t result)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga340e452b4931d17bd44928769490e282">PP_BlockUntilComplete</a> (void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga8dac45aa496bbb1f97a15e2833d3ed02">PP_RunAndClearCompletionCallback</a> (struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> *cc, int32_t res)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___point.html">PP_Point</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga15880e8085178758053cc521af33b250">PP_MakePoint</a> (int32_t x, int32_t y)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___float_point.html">PP_FloatPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga0aca79088546fe91d13c97db9033e709">PP_MakeFloatPoint</a> (float x, float y)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___rect.html">PP_Rect</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#gaf868e2929269ef195241b79a015fcf61">PP_MakeRectFromXYWH</a> (int32_t x, int32_t y, int32_t w, int32_t h)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___size.html">PP_Size</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga35a97e64d18402d8feff46722b98beb0">PP_MakeSize</a> (int32_t w, int32_t h)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___touch_point.html">PP_TouchPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#gae7f6d41cbb173c12f474242c2a3bf5e7">PP_MakeTouchPoint</a> (void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga0edc8314fc1a92f93dd3d0eab286cb5d">PP_MakeUndefined</a> (void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga75f83ac65ccbf57866d52d45cd5792e7">PP_MakeNull</a> (void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga0fba11ae90d57086064d41b0af710253">PP_MakeBool</a> (<a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> value)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#gad14a59fa681d4cc532b3d49c0438f0ca">PP_MakeInt32</a> (int32_t value)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#gafbebaae212cb7e737efc56eea0e785b5">PP_MakeDouble</a> (double value)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga2fc7b396531c19417d8d7171d56da8b6">PPP_InitializeModule</a> (<a class="el" href="group___typedefs.html#gab780dd451cd7f51284cb752edd88f9a0">PP_Module</a> module, <a class="el" href="group___typedefs.html#ga68ad7c927b86e0c29d890603edd33154">PPB_GetInterface</a> get_browser_interface)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#gaa3021aba7ddc17a8cecb4bc4f8374e98">PPP_ShutdownModule</a> (void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const void * </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga4127b148b2bd0f3bc2c078dd38cbe4cf">PPP_GetInterface</a> (const char *interface_name)</td></tr>
+</table>
+<hr /><h2>Function Documentation</h2>
+<a class="anchor" id="ga340e452b4931d17bd44928769490e282"></a><!-- doxytag: member="pp_completion_callback.h::PP_BlockUntilComplete" ref="ga340e452b4931d17bd44928769490e282" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> <a class="el" href="group___functions.html#ga340e452b4931d17bd44928769490e282">PP_BlockUntilComplete</a> </td>
+<td>(</td>
+<td class="paramtype">void </td>
+<td class="paramname"></td><td>)</td>
+<td><code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="group___functions.html#ga340e452b4931d17bd44928769490e282" title="PP_BlockUntilComplete() is used in place of an actual completion callback to request blocking behavio...">PP_BlockUntilComplete()</a> is used in place of an actual completion callback to request blocking behavior. </p>
+<p>If specified, the calling thread will block until the function completes. Blocking completion callbacks are only allowed from background threads.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> structure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ga0fba11ae90d57086064d41b0af710253"></a><!-- doxytag: member="pp_var.h::PP_MakeBool" ref="ga0fba11ae90d57086064d41b0af710253" args="(PP_Bool value)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a> <a class="el" href="group___functions.html#ga0fba11ae90d57086064d41b0af710253">PP_MakeBool</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> </td>
+<td class="paramname"><em>value</em></td><td>)</td>
+<td><code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="group___functions.html#ga0fba11ae90d57086064d41b0af710253" title="PP_MakeBool() is used to wrap a boolean value into a PP_Var struct for passing to the browser...">PP_MakeBool()</a> is used to wrap a boolean value into a <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> struct for passing to the browser. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>A <code>PP_Bool</code> enumeration to wrap.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> structure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ga8691f15edad9b391c3644064ac57f191"></a><!-- doxytag: member="pp_completion_callback.h::PP_MakeCompletionCallback" ref="ga8691f15edad9b391c3644064ac57f191" args="(PP_CompletionCallback_Func func, void *user_data)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> <a class="el" href="group___functions.html#ga8691f15edad9b391c3644064ac57f191">PP_MakeCompletionCallback</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="group___typedefs.html#ga6fe12e1a41df5e10103a811036d4d8d2">PP_CompletionCallback_Func</a> </td>
+<td class="paramname"><em>func</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">void * </td>
+<td class="paramname"><em>user_data</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="group___functions.html#ga8691f15edad9b391c3644064ac57f191" title="PP_MakeCompletionCallback() is used to create a PP_CompletionCallback.">PP_MakeCompletionCallback()</a> is used to create a <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code>. </p>
+<p><b>Example, creating a Required callback:</b></p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">struct </span><a class="code" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a> cc = <a class="code" href="group___functions.html#ga8691f15edad9b391c3644064ac57f191" title="PP_MakeCompletionCallback() is used to create a PP_CompletionCallback.">PP_MakeCompletionCallback</a>(Foo, NULL);
+</pre></div><p><b>Example, creating an Optional callback:</b></p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">struct </span><a class="code" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a> cc = <a class="code" href="group___functions.html#ga8691f15edad9b391c3644064ac57f191" title="PP_MakeCompletionCallback() is used to create a PP_CompletionCallback.">PP_MakeCompletionCallback</a>(Foo, NULL);
+ cc.<a class="code" href="struct_p_p___completion_callback.html#a4bd2d9440bc8dc18eeeca2d464156a38" title="Flags used to control how non-NULL callbacks are scheduled by asynchronous methods.">flags</a> = cc.<a class="code" href="struct_p_p___completion_callback.html#a4bd2d9440bc8dc18eeeca2d464156a38" title="Flags used to control how non-NULL callbacks are scheduled by asynchronous methods.">flags</a> | <a class="code" href="group___enums.html#gga7610f0fba2396d46384859caa4d91798aebb176d8930b14219b7966fd93a2e967" title="This flag allows any method taking such callback to complete synchronously and not call the callback ...">PP_COMPLETIONCALLBACK_FLAG_OPTIONAL</a>;
+</pre></div><dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">func</td><td>A <code>PP_CompletionCallback_Func</code> that will be called. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">user_data</td><td>A pointer to user data passed to your callback function. This is optional and is typically used to help track state when you may have multiple callbacks pending.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> structure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="gafbebaae212cb7e737efc56eea0e785b5"></a><!-- doxytag: member="pp_var.h::PP_MakeDouble" ref="gafbebaae212cb7e737efc56eea0e785b5" args="(double value)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a> <a class="el" href="group___functions.html#gafbebaae212cb7e737efc56eea0e785b5">PP_MakeDouble</a> </td>
+<td>(</td>
+<td class="paramtype">double </td>
+<td class="paramname"><em>value</em></td><td>)</td>
+<td><code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="group___functions.html#gafbebaae212cb7e737efc56eea0e785b5" title="PP_MakeDouble() is used to wrap a double value into a PP_Var struct for passing to the browser...">PP_MakeDouble()</a> is used to wrap a double value into a <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> struct for passing to the browser. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>A double to wrap.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> structure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ga0aca79088546fe91d13c97db9033e709"></a><!-- doxytag: member="pp_point.h::PP_MakeFloatPoint" ref="ga0aca79088546fe91d13c97db9033e709" args="(float x, float y)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___float_point.html">PP_FloatPoint</a> <a class="el" href="group___functions.html#ga0aca79088546fe91d13c97db9033e709">PP_MakeFloatPoint</a> </td>
+<td>(</td>
+<td class="paramtype">float </td>
+<td class="paramname"><em>x</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">float </td>
+<td class="paramname"><em>y</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gad14a59fa681d4cc532b3d49c0438f0ca"></a><!-- doxytag: member="pp_var.h::PP_MakeInt32" ref="gad14a59fa681d4cc532b3d49c0438f0ca" args="(int32_t value)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a> <a class="el" href="group___functions.html#gad14a59fa681d4cc532b3d49c0438f0ca">PP_MakeInt32</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>value</em></td><td>)</td>
+<td><code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="group___functions.html#gad14a59fa681d4cc532b3d49c0438f0ca" title="PP_MakeInt32() is used to wrap a 32 bit integer value into a PP_Var struct for passing to the browser...">PP_MakeInt32()</a> is used to wrap a 32 bit integer value into a <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> struct for passing to the browser. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>An int32 to wrap.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> structure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ga75f83ac65ccbf57866d52d45cd5792e7"></a><!-- doxytag: member="pp_var.h::PP_MakeNull" ref="ga75f83ac65ccbf57866d52d45cd5792e7" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a> <a class="el" href="group___functions.html#ga75f83ac65ccbf57866d52d45cd5792e7">PP_MakeNull</a> </td>
+<td>(</td>
+<td class="paramtype">void </td>
+<td class="paramname"></td><td>)</td>
+<td><code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="group___functions.html#ga75f83ac65ccbf57866d52d45cd5792e7" title="PP_MakeNull() is used to wrap a null value into a PP_Var struct for passing to the browser...">PP_MakeNull()</a> is used to wrap a null value into a <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> struct for passing to the browser. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> structure, </dd></dl>
+</div>
+</div>
+<a class="anchor" id="gabd6bf83f4c787477631c37d44418c4db"></a><!-- doxytag: member="pp_completion_callback.h::PP_MakeOptionalCompletionCallback" ref="gabd6bf83f4c787477631c37d44418c4db" args="(PP_CompletionCallback_Func func, void *user_data)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> <a class="el" href="group___functions.html#gabd6bf83f4c787477631c37d44418c4db">PP_MakeOptionalCompletionCallback</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="group___typedefs.html#ga6fe12e1a41df5e10103a811036d4d8d2">PP_CompletionCallback_Func</a> </td>
+<td class="paramname"><em>func</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">void * </td>
+<td class="paramname"><em>user_data</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="group___functions.html#gabd6bf83f4c787477631c37d44418c4db" title="PP_MakeOptionalCompletionCallback() is used to create a PP_CompletionCallback with PP_COMPLETIONCALLB...">PP_MakeOptionalCompletionCallback()</a> is used to create a <a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a> with PP_COMPLETIONCALLBACK_FLAG_OPTIONAL set. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">func</td><td>A PP_CompletionCallback_Func to be called on completion. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">user_data</td><td>A pointer to user data passed to be passed to the callback function. This is optional and is typically used to help track state in case of multiple pending callbacks.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a> structure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ga15880e8085178758053cc521af33b250"></a><!-- doxytag: member="pp_point.h::PP_MakePoint" ref="ga15880e8085178758053cc521af33b250" args="(int32_t x, int32_t y)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___point.html">PP_Point</a> <a class="el" href="group___functions.html#ga15880e8085178758053cc521af33b250">PP_MakePoint</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>x</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>y</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="group___functions.html#ga15880e8085178758053cc521af33b250" title="PP_MakePoint() creates a PP_Point given the x and y coordinates as int32_t values.">PP_MakePoint()</a> creates a <code><a class="el" href="struct_p_p___point.html" title="The PP_Point structure defines the integer x and y coordinates of a point.">PP_Point</a></code> given the x and y coordinates as int32_t values. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>An int32_t value representing a horizontal coordinate of a point, starting with 0 as the left-most coordinate. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>An int32_t value representing a vertical coordinate of a point, starting with 0 as the top-most coordinate.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___point.html" title="The PP_Point structure defines the integer x and y coordinates of a point.">PP_Point</a></code> structure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="gaf868e2929269ef195241b79a015fcf61"></a><!-- doxytag: member="pp_rect.h::PP_MakeRectFromXYWH" ref="gaf868e2929269ef195241b79a015fcf61" args="(int32_t x, int32_t y, int32_t w, int32_t h)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___rect.html">PP_Rect</a> <a class="el" href="group___functions.html#gaf868e2929269ef195241b79a015fcf61">PP_MakeRectFromXYWH</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>x</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>y</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>w</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>h</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="group___functions.html#gaf868e2929269ef195241b79a015fcf61" title="PP_MakeRectFromXYWH() creates a PP_Rect given x and y coordinates and width and height dimensions as ...">PP_MakeRectFromXYWH()</a> creates a <code><a class="el" href="struct_p_p___rect.html" title="The PP_Rect struct contains the size and location of a 2D rectangle.">PP_Rect</a></code> given x and y coordinates and width and height dimensions as int32_t values. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>An int32_t value representing a horizontal coordinate of a point, starting with 0 as the left-most coordinate. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>An int32_t value representing a vertical coordinate of a point, starting with 0 as the top-most coordinate. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">w</td><td>An int32_t value representing a width. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>An int32_t value representing a height.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___rect.html" title="The PP_Rect struct contains the size and location of a 2D rectangle.">PP_Rect</a></code> structure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ga35a97e64d18402d8feff46722b98beb0"></a><!-- doxytag: member="pp_size.h::PP_MakeSize" ref="ga35a97e64d18402d8feff46722b98beb0" args="(int32_t w, int32_t h)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___size.html">PP_Size</a> <a class="el" href="group___functions.html#ga35a97e64d18402d8feff46722b98beb0">PP_MakeSize</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>w</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>h</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="group___functions.html#ga35a97e64d18402d8feff46722b98beb0" title="PP_MakeSize() creates a PP_Size given a width and height as int32_t values.">PP_MakeSize()</a> creates a <code><a class="el" href="struct_p_p___size.html" title="The PP_Size struct contains the size of a 2D rectangle.">PP_Size</a></code> given a width and height as int32_t values. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">w</td><td>An int32_t value representing a width. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>An int32_t value representing a height.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___size.html" title="The PP_Size struct contains the size of a 2D rectangle.">PP_Size</a></code> structure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="gae7f6d41cbb173c12f474242c2a3bf5e7"></a><!-- doxytag: member="pp_touch_point.h::PP_MakeTouchPoint" ref="gae7f6d41cbb173c12f474242c2a3bf5e7" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___touch_point.html">PP_TouchPoint</a> <a class="el" href="group___functions.html#gae7f6d41cbb173c12f474242c2a3bf5e7">PP_MakeTouchPoint</a> </td>
+<td>(</td>
+<td class="paramtype">void </td>
+<td class="paramname"></td><td>)</td>
+<td><code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="group___functions.html#gae7f6d41cbb173c12f474242c2a3bf5e7" title="PP_MakeTouchPoint() creates a PP_TouchPoint.">PP_MakeTouchPoint()</a> creates a <code><a class="el" href="struct_p_p___touch_point.html" title="The PP_TouchPoint struct represents all information about a single touch point, such as position...">PP_TouchPoint</a></code>. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___touch_point.html" title="The PP_TouchPoint struct represents all information about a single touch point, such as position...">PP_TouchPoint</a></code> structure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ga0edc8314fc1a92f93dd3d0eab286cb5d"></a><!-- doxytag: member="pp_var.h::PP_MakeUndefined" ref="ga0edc8314fc1a92f93dd3d0eab286cb5d" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a> <a class="el" href="group___functions.html#ga0edc8314fc1a92f93dd3d0eab286cb5d">PP_MakeUndefined</a> </td>
+<td>(</td>
+<td class="paramtype">void </td>
+<td class="paramname"></td><td>)</td>
+<td><code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="group___functions.html#ga0edc8314fc1a92f93dd3d0eab286cb5d" title="PP_MakeUndefined() is used to wrap an undefined value into a PP_Var struct for passing to the browser...">PP_MakeUndefined()</a> is used to wrap an undefined value into a <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> struct for passing to the browser. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> structure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ga8dac45aa496bbb1f97a15e2833d3ed02"></a><!-- doxytag: member="pp_completion_callback.h::PP_RunAndClearCompletionCallback" ref="ga8dac45aa496bbb1f97a15e2833d3ed02" args="(struct PP_CompletionCallback *cc, int32_t res)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="group___functions.html#ga8dac45aa496bbb1f97a15e2833d3ed02">PP_RunAndClearCompletionCallback</a> </td>
+<td>(</td>
+<td class="paramtype">struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> * </td>
+<td class="paramname"><em>cc</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>res</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="group___functions.html#ga8dac45aa496bbb1f97a15e2833d3ed02" title="PP_RunAndClearCompletionCallback() runs a callback and clears the reference to that callback...">PP_RunAndClearCompletionCallback()</a> runs a callback and clears the reference to that callback. </p>
+<p>This function is used when the null-ness of a completion callback is used as a signal for whether a completion callback has been registered. In this case, after the execution of the callback, it should be cleared. However, this introduces a conflict if the completion callback wants to schedule more work that involves the same completion callback again (for example, when reading data from an URLLoader, one would typically queue up another read callback). As a result, this function clears the pointer before the provided callback is executed. </p>
+</div>
+</div>
+<a class="anchor" id="gaffce49266a735f9ee8d149b14477404f"></a><!-- doxytag: member="pp_completion_callback.h::PP_RunCompletionCallback" ref="gaffce49266a735f9ee8d149b14477404f" args="(struct PP_CompletionCallback *cc, int32_t result)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="group___functions.html#gaffce49266a735f9ee8d149b14477404f">PP_RunCompletionCallback</a> </td>
+<td>(</td>
+<td class="paramtype">struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> * </td>
+<td class="paramname"><em>cc</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>result</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="group___functions.html#gaffce49266a735f9ee8d149b14477404f" title="PP_RunCompletionCallback() is used to run a callback.">PP_RunCompletionCallback()</a> is used to run a callback. </p>
+<p>It invokes the callback function passing it user data specified on creation and completion |result|.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A pointer to a <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> that will be run. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">result</td><td>The result of the operation. Non-positive values correspond to the error codes from <a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a> (excluding PP_OK_COMPLETIONPENDING). Positive values indicate additional information such as bytes read. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga4127b148b2bd0f3bc2c078dd38cbe4cf"></a><!-- doxytag: member="ppp.h::PPP_GetInterface" ref="ga4127b148b2bd0f3bc2c078dd38cbe4cf" args="(const char *interface_name)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">const void* <a class="el" href="group___functions.html#ga4127b148b2bd0f3bc2c078dd38cbe4cf">PPP_GetInterface</a> </td>
+<td>(</td>
+<td class="paramtype">const char * </td>
+<td class="paramname"><em>interface_name</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="group___functions.html#ga4127b148b2bd0f3bc2c078dd38cbe4cf" title="PPP_GetInterface() is called by the browser to query the module for interfaces it supports...">PPP_GetInterface()</a> is called by the browser to query the module for interfaces it supports. </p>
+<p>Your module must implement the <code>PPP_Instance</code> interface or it will be unloaded. Other interfaces are optional.</p>
+<p>This function is called from within browser code whenever an interface is needed. This means your plugin could be reentered via this function if you make a browser call and it needs an interface. Furthermore, you should not make any other browser calls from within your implementation to avoid reentering the browser.</p>
+<p>As a result, your implementation of this should merely provide a lookup from the requested name to an interface pointer, via something like a big if/else block or a map, and not do any other work.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">interface_name</td><td>A pointer to a "PPP" (plugin) interface name. Interface names are null-terminated ASCII strings.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A pointer for the interface or <code>NULL</code> if the interface is not supported. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ga2fc7b396531c19417d8d7171d56da8b6"></a><!-- doxytag: member="ppp.h::PPP_InitializeModule" ref="ga2fc7b396531c19417d8d7171d56da8b6" args="(PP_Module module, PPB_GetInterface get_browser_interface)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="group___functions.html#ga2fc7b396531c19417d8d7171d56da8b6">PPP_InitializeModule</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="group___typedefs.html#gab780dd451cd7f51284cb752edd88f9a0">PP_Module</a> </td>
+<td class="paramname"><em>module</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype"><a class="el" href="group___typedefs.html#ga68ad7c927b86e0c29d890603edd33154">PPB_GetInterface</a> </td>
+<td class="paramname"><em>get_browser_interface</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="group___functions.html#ga2fc7b396531c19417d8d7171d56da8b6" title="PPP_InitializeModule() is the entry point for a module and is called by the browser when your module ...">PPP_InitializeModule()</a> is the entry point for a module and is called by the browser when your module loads. </p>
+<p>Your code must implement this function.</p>
+<p>Failure indicates to the browser that this module can not be used. In this case, the module will be unloaded and ShutdownModule will NOT be called.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">module</td><td>A handle to your module. Generally you should store this value since it will be required for other API calls. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">get_browser_interface</td><td>A pointer to the function that you can use to query for browser interfaces. Generally you should store this value for future use.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_OK</code> on success. Any other value on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="gaa3021aba7ddc17a8cecb4bc4f8374e98"></a><!-- doxytag: member="ppp.h::PPP_ShutdownModule" ref="gaa3021aba7ddc17a8cecb4bc4f8374e98" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="group___functions.html#gaa3021aba7ddc17a8cecb4bc4f8374e98">PPP_ShutdownModule</a> </td>
+<td>(</td>
+<td class="paramtype">void </td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="group___functions.html#gaa3021aba7ddc17a8cecb4bc4f8374e98" title="PPP_ShutdownModule() is sometimes called before the module is unloaded.">PPP_ShutdownModule()</a> is <b>sometimes</b> called before the module is unloaded. </p>
+<p>It is not recommended that you implement this function.</p>
+<p>There is no practical use of this function for third party modules. Its existence is because of some internal use cases inside Chrome.</p>
+<p>Since your module runs in a separate process, there's no need to free allocated memory. There is also no need to free any resources since all of resources associated with an instance will be force-freed when that instance is deleted.</p>
+<p><b>Note:</b> This function will always be skipped on untrusted (Native Client) implementations. This function may be skipped on trusted implementations in certain circumstances when Chrome does "fast shutdown" of a web page. </p>
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/group___interfaces.html b/native_client_sdk/doc_generated/pepper_beta/c/group___interfaces.html
new file mode 100644
index 0000000..a190b8ea
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/group___interfaces.html
@@ -0,0 +1,699 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Interfaces</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+</div>
+<!--header-->
+<div class="contents">
+<h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio__1__1.html">PPB_Audio</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_Audio</code> interface contains pointers to several functions for handling audio resources. <a href="struct_p_p_b___audio__1__1.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio_config__1__1.html">PPB_AudioConfig</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_AudioConfig</code> interface contains pointers to several functions for establishing your audio configuration within the browser. <a href="struct_p_p_b___audio_config__1__1.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___console__1__0.html">PPB_Console</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___core__1__0.html">PPB_Core</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_Core</code> interface contains pointers to functions related to memory management, time, and threads on the browser. <a href="struct_p_p_b___core__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_i_o__1__1.html">PPB_FileIO</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_FileIO</code> struct is used to operate on a regular file (PP_FileType_Regular). <a href="struct_p_p_b___file_i_o__1__1.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_ref__1__1.html">PPB_FileRef</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_FileRef</code> struct represents a "weak pointer" to a file in a file system. <a href="struct_p_p_b___file_ref__1__1.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_system__1__0.html">PPB_FileSystem</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_FileSystem</code> struct identifies the file system type associated with a file. <a href="struct_p_p_b___file_system__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___fullscreen__1__0.html">PPB_Fullscreen</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_Fullscreen</code> interface is implemented by the browser. <a href="struct_p_p_b___fullscreen__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___gamepad__1__0.html">PPB_Gamepad</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_Gamepad</code> interface allows retrieving data from gamepad/joystick devices that are connected to the system. <a href="struct_p_p_b___gamepad__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics2_d__1__1.html">PPB_Graphics2D</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><code>PPB_Graphics2D</code> defines the interface for a 2D graphics context. <a href="struct_p_p_b___graphics2_d__1__1.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics3_d__1__0.html">PPB_Graphics3D</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><code>PPB_Graphics3D</code> defines the interface for a 3D graphics context. <a href="struct_p_p_b___graphics3_d__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___host_resolver__1__0.html">PPB_HostResolver</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_HostResolver</code> interface supports host name resolution. <a href="struct_p_p_b___host_resolver__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___image_data__1__0.html">PPB_ImageData</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_ImageData</code> interface contains pointers to several functions for determining the browser's treatment of image data. <a href="struct_p_p_b___image_data__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___input_event__1__0.html">PPB_InputEvent</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_InputEvent</code> interface contains pointers to several functions related to generic input events on the browser. <a href="struct_p_p_b___input_event__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___mouse_input_event__1__1.html">PPB_MouseInputEvent</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_MouseInputEvent</code> interface contains pointers to several functions related to mouse input events. <a href="struct_p_p_b___mouse_input_event__1__1.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___wheel_input_event__1__0.html">PPB_WheelInputEvent</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_WheelIputEvent</code> interface contains pointers to several functions related to wheel input events. <a href="struct_p_p_b___wheel_input_event__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___keyboard_input_event__1__0.html">PPB_KeyboardInputEvent</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_KeyboardInputEvent</code> interface contains pointers to several functions related to keyboard input events. <a href="struct_p_p_b___keyboard_input_event__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___touch_input_event__1__0.html">PPB_TouchInputEvent</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_TouchInputEvent</code> interface contains pointers to several functions related to touch events. <a href="struct_p_p_b___touch_input_event__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html">PPB_IMEInputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___instance__1__0.html">PPB_Instance</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The PPB_Instance interface contains pointers to functions related to the module instance on a web page. <a href="struct_p_p_b___instance__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___message_loop__1__0.html">PPB_MessageLoop</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A message loop allows PPAPI calls to be issued on a thread. <a href="struct_p_p_b___message_loop__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___messaging__1__0.html">PPB_Messaging</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_Messaging</code> interface is implemented by the browser and is related to sending messages to JavaScript message event listeners on the DOM element associated with specific module instance. <a href="struct_p_p_b___messaging__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___mouse_cursor__1__0.html">PPB_MouseCursor</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_MouseCursor</code> allows setting the mouse cursor. <a href="struct_p_p_b___mouse_cursor__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___mouse_lock__1__0.html">PPB_MouseLock</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_MouseLock</code> interface is implemented by the browser. <a href="struct_p_p_b___mouse_lock__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___net_address__1__0.html">PPB_NetAddress</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_NetAddress</code> interface provides operations on network addresses. <a href="struct_p_p_b___net_address__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_list__1__0.html">PPB_NetworkList</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_NetworkList</code> is used to represent a list of network interfaces and their configuration. <a href="struct_p_p_b___network_list__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_monitor__1__0.html">PPB_NetworkMonitor</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_NetworkMonitor</code> allows to get network interfaces configuration and monitor network configuration changes. <a href="struct_p_p_b___network_monitor__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_proxy__1__0.html">PPB_NetworkProxy</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This interface provides a way to determine the appropriate proxy settings for a given URL. <a href="struct_p_p_b___network_proxy__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html">PPB_TCPSocket</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_TCPSocket</code> interface provides TCP socket operations. <a href="struct_p_p_b___t_c_p_socket__1__1.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___text_input_controller__1__0.html">PPB_TextInputController</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><code>PPB_TextInputController</code> provides a set of functions for giving hints to the browser about the text input status of plugins, and functions for controlling input method editors (IMEs). <a href="struct_p_p_b___text_input_controller__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html">PPB_UDPSocket</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_UDPSocket</code> interface provides UDP socket operations. <a href="struct_p_p_b___u_d_p_socket__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html">PPB_URLLoader</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <b>PPB_URLLoader</b> interface contains pointers to functions for loading URLs. <a href="struct_p_p_b___u_r_l_loader__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html">PPB_URLRequestInfo</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_URLRequestInfo</code> interface is used to create and handle URL requests. <a href="struct_p_p_b___u_r_l_request_info__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_response_info__1__0.html">PPB_URLResponseInfo</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The PPB_URLResponseInfo interface contains APIs for examining URL responses. <a href="struct_p_p_b___u_r_l_response_info__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var__1__1.html">PPB_Var</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">PPB_Var API. <a href="struct_p_p_b___var__1__1.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_array__1__0.html">PPB_VarArray</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_array_buffer__1__0.html">PPB_VarArrayBuffer</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_VarArrayBuffer</code> interface provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous sequence of bytes. <a href="struct_p_p_b___var_array_buffer__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_dictionary__1__0.html">PPB_VarDictionary</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A dictionary var contains key-value pairs with unique keys. <a href="struct_p_p_b___var_dictionary__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___view__1__1.html">PPB_View</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><code>PPB_View</code> represents the state of the view of an instance. <a href="struct_p_p_b___view__1__1.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___web_socket__1__0.html">PPB_WebSocket</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_WebSocket</code> interface provides bi-directional, full-duplex, communications over a single TCP socket. <a href="struct_p_p_b___web_socket__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___graphics3_d__1__0.html">PPP_Graphics3D</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><code>PPP_Graphics3D</code> defines the notification interface for a 3D graphics context. <a href="struct_p_p_p___graphics3_d__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___input_event__0__1.html">PPP_InputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___instance__1__1.html">PPP_Instance</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPP_Instance</code> interface contains pointers to a series of functions that you must implement in your module. <a href="struct_p_p_p___instance__1__1.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___messaging__1__0.html">PPP_Messaging</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPP_Messaging</code> interface contains pointers to functions that you must implement to handle postMessage events on the associated DOM element. <a href="struct_p_p_p___messaging__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___mouse_lock__1__0.html">PPP_MouseLock</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPP_MouseLock</code> interface contains a function that you must implement to receive mouse lock events from the browser. <a href="struct_p_p_p___mouse_lock__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___audio__1__1.html">PPB_Audio</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaa420ab6e5eec1d780700bb505fe7d7f5">PPB_Audio</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___audio_config__1__1.html">PPB_AudioConfig</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga6c784ebe92dee70d03a685298a8b8345">PPB_AudioConfig</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___console__1__0.html">PPB_Console</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gab38f2ca92926b53d58d1cf2ce6320ebb">PPB_Console</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___core__1__0.html">PPB_Core</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga34a986157c49afcad3537479bc5361e9">PPB_Core</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___file_i_o__1__1.html">PPB_FileIO</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga7b7a4f4317a5af9982ba79d60f04db69">PPB_FileIO</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___file_ref__1__1.html">PPB_FileRef</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga5b136f4f49e5e5ee175eae61d86fcb34">PPB_FileRef</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___file_system__1__0.html">PPB_FileSystem</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gae5ad593b6aff864c6bd0acc09d6cc5e9">PPB_FileSystem</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___fullscreen__1__0.html">PPB_Fullscreen</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga965dcf552ef79d1a41e0c24db2cf5c3c">PPB_Fullscreen</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___gamepad__1__0.html">PPB_Gamepad</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga57baea75086a666a92489da807f16f2a">PPB_Gamepad</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___graphics2_d__1__1.html">PPB_Graphics2D</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaf9f8348d3315d8bb014b401f733ebdb6">PPB_Graphics2D</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___graphics3_d__1__0.html">PPB_Graphics3D</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga2865870b49481aae8ed416c06c58a7c0">PPB_Graphics3D</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___host_resolver__1__0.html">PPB_HostResolver</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga72b9bd04eeace0c69f4e454b7cc4e440">PPB_HostResolver</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___image_data__1__0.html">PPB_ImageData</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga17e05bbe7da0d6d7b61b6f78c5913c37">PPB_ImageData</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___input_event__1__0.html">PPB_InputEvent</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gac221fa16a0d0daa0bf171a477b465396">PPB_InputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___mouse_input_event__1__1.html">PPB_MouseInputEvent</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga3fcedb0e992eebaf7d9b1b60aacceafc">PPB_MouseInputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___wheel_input_event__1__0.html">PPB_WheelInputEvent</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaaefb7f24240d14faa56dfdba8c116889">PPB_WheelInputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___keyboard_input_event__1__0.html">PPB_KeyboardInputEvent</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gad245b3100fef75b215d6ba60cccd626e">PPB_KeyboardInputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___touch_input_event__1__0.html">PPB_TouchInputEvent</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga3d25b1582fc1e6b94f53ecfb21422d6c">PPB_TouchInputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html">PPB_IMEInputEvent</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaaa0c327650de77066ea8e2ec8f5589c5">PPB_IMEInputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___instance__1__0.html">PPB_Instance</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaf2ed3cc24968d8681b52cf70eae066ca">PPB_Instance</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___message_loop__1__0.html">PPB_MessageLoop</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gae3eb3482b0fb57fb6a4eb05c07908788">PPB_MessageLoop</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___messaging__1__0.html">PPB_Messaging</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gac53fe3a3b5941f8b3608349f58ee24f0">PPB_Messaging</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___mouse_cursor__1__0.html">PPB_MouseCursor</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gae583d9ea6381e1e4cb7b462c35c5d1de">PPB_MouseCursor</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___mouse_lock__1__0.html">PPB_MouseLock</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga9d5fa32b9c90b100400161025fda2617">PPB_MouseLock</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___net_address__1__0.html">PPB_NetAddress</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gad6c325ff5a0a74f318a680971d0a7c52">PPB_NetAddress</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___network_list__1__0.html">PPB_NetworkList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga675af1709086b2a750d28da442c41f8a">PPB_NetworkList</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___network_monitor__1__0.html">PPB_NetworkMonitor</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga873d8c5cd49f7b3c8ad5b4caabd1e8e6">PPB_NetworkMonitor</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___network_proxy__1__0.html">PPB_NetworkProxy</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaf8338a682417267c8525446ef1de85b1">PPB_NetworkProxy</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html">PPB_TCPSocket</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga0f72e14a6cf9631bd733ded1f8ba4d9f">PPB_TCPSocket</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___text_input_controller__1__0.html">PPB_TextInputController</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gab387085f6044f3a0b1631d119d22a942">PPB_TextInputController</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html">PPB_UDPSocket</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaf04d893ccf01c5d1cfcadee5fcc869d1">PPB_UDPSocket</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html">PPB_URLLoader</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga307f562a9e41991de7c80b75cd7f379c">PPB_URLLoader</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html">PPB_URLRequestInfo</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gad60387934d9e235d3d145ee5a1fb4e74">PPB_URLRequestInfo</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___u_r_l_response_info__1__0.html">PPB_URLResponseInfo</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gad63e57584aea115126b6922b141cf745">PPB_URLResponseInfo</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___var__1__1.html">PPB_Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga7363a88a6e5058841915641c1b2923ad">PPB_Var</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___var_array__1__0.html">PPB_VarArray</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaad75327f1ecc75e58c2805fc4740d3c6">PPB_VarArray</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___var_array_buffer__1__0.html">PPB_VarArrayBuffer</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gab26d5bb032f5438d02faf5bdf7b208cb">PPB_VarArrayBuffer</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___var_dictionary__1__0.html">PPB_VarDictionary</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga69826004b5c32232c9639090f3e1db2e">PPB_VarDictionary</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___view__1__1.html">PPB_View</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaccc39c5c499011d13be37e23868a04f3">PPB_View</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___web_socket__1__0.html">PPB_WebSocket</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gad0e152d14cefb0b480228f3fc7070faf">PPB_WebSocket</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_p___graphics3_d__1__0.html">PPP_Graphics3D</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gab9b763d2ae6ef08a8f18069728f418eb">PPP_Graphics3D</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_p___input_event__0__1.html">PPP_InputEvent</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga9c2577b1c089f77e1e467d74bd97a940">PPP_InputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_p___instance__1__1.html">PPP_Instance</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga3397638d116e4171368bf18fcb91ef11">PPP_Instance</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_p___messaging__1__0.html">PPP_Messaging</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga1b4374f30360ab34679a159083db7e4d">PPP_Messaging</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_p___mouse_lock__1__0.html">PPP_MouseLock</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gae600e8f5b6005b02378e6eb9f51b11cb">PPP_MouseLock</a></td></tr>
+</table>
+<hr /><h2>Typedef Documentation</h2>
+<a class="anchor" id="gaa420ab6e5eec1d780700bb505fe7d7f5"></a><!-- doxytag: member="ppb_audio.h::PPB_Audio" ref="gaa420ab6e5eec1d780700bb505fe7d7f5" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___audio__1__1.html">PPB_Audio</a> <a class="el" href="group___interfaces.html#gaa420ab6e5eec1d780700bb505fe7d7f5">PPB_Audio</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga6c784ebe92dee70d03a685298a8b8345"></a><!-- doxytag: member="ppb_audio_config.h::PPB_AudioConfig" ref="ga6c784ebe92dee70d03a685298a8b8345" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___audio_config__1__1.html">PPB_AudioConfig</a> <a class="el" href="group___interfaces.html#ga6c784ebe92dee70d03a685298a8b8345">PPB_AudioConfig</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gab38f2ca92926b53d58d1cf2ce6320ebb"></a><!-- doxytag: member="ppb_console.h::PPB_Console" ref="gab38f2ca92926b53d58d1cf2ce6320ebb" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___console__1__0.html">PPB_Console</a> <a class="el" href="group___interfaces.html#gab38f2ca92926b53d58d1cf2ce6320ebb">PPB_Console</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga34a986157c49afcad3537479bc5361e9"></a><!-- doxytag: member="ppb_core.h::PPB_Core" ref="ga34a986157c49afcad3537479bc5361e9" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___core__1__0.html">PPB_Core</a> <a class="el" href="group___interfaces.html#ga34a986157c49afcad3537479bc5361e9">PPB_Core</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga7b7a4f4317a5af9982ba79d60f04db69"></a><!-- doxytag: member="ppb_file_io.h::PPB_FileIO" ref="ga7b7a4f4317a5af9982ba79d60f04db69" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___file_i_o__1__1.html">PPB_FileIO</a> <a class="el" href="group___interfaces.html#ga7b7a4f4317a5af9982ba79d60f04db69">PPB_FileIO</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga5b136f4f49e5e5ee175eae61d86fcb34"></a><!-- doxytag: member="ppb_file_ref.h::PPB_FileRef" ref="ga5b136f4f49e5e5ee175eae61d86fcb34" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___file_ref__1__1.html">PPB_FileRef</a> <a class="el" href="group___interfaces.html#ga5b136f4f49e5e5ee175eae61d86fcb34">PPB_FileRef</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gae5ad593b6aff864c6bd0acc09d6cc5e9"></a><!-- doxytag: member="ppb_file_system.h::PPB_FileSystem" ref="gae5ad593b6aff864c6bd0acc09d6cc5e9" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___file_system__1__0.html">PPB_FileSystem</a> <a class="el" href="group___interfaces.html#gae5ad593b6aff864c6bd0acc09d6cc5e9">PPB_FileSystem</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga965dcf552ef79d1a41e0c24db2cf5c3c"></a><!-- doxytag: member="ppb_fullscreen.h::PPB_Fullscreen" ref="ga965dcf552ef79d1a41e0c24db2cf5c3c" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___fullscreen__1__0.html">PPB_Fullscreen</a> <a class="el" href="group___interfaces.html#ga965dcf552ef79d1a41e0c24db2cf5c3c">PPB_Fullscreen</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga57baea75086a666a92489da807f16f2a"></a><!-- doxytag: member="ppb_gamepad.h::PPB_Gamepad" ref="ga57baea75086a666a92489da807f16f2a" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___gamepad__1__0.html">PPB_Gamepad</a> <a class="el" href="group___interfaces.html#ga57baea75086a666a92489da807f16f2a">PPB_Gamepad</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gaf9f8348d3315d8bb014b401f733ebdb6"></a><!-- doxytag: member="ppb_graphics_2d.h::PPB_Graphics2D" ref="gaf9f8348d3315d8bb014b401f733ebdb6" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___graphics2_d__1__1.html">PPB_Graphics2D</a> <a class="el" href="group___interfaces.html#gaf9f8348d3315d8bb014b401f733ebdb6">PPB_Graphics2D</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga2865870b49481aae8ed416c06c58a7c0"></a><!-- doxytag: member="ppb_graphics_3d.h::PPB_Graphics3D" ref="ga2865870b49481aae8ed416c06c58a7c0" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___graphics3_d__1__0.html">PPB_Graphics3D</a> <a class="el" href="group___interfaces.html#ga2865870b49481aae8ed416c06c58a7c0">PPB_Graphics3D</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga72b9bd04eeace0c69f4e454b7cc4e440"></a><!-- doxytag: member="ppb_host_resolver.h::PPB_HostResolver" ref="ga72b9bd04eeace0c69f4e454b7cc4e440" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___host_resolver__1__0.html">PPB_HostResolver</a> <a class="el" href="group___interfaces.html#ga72b9bd04eeace0c69f4e454b7cc4e440">PPB_HostResolver</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga17e05bbe7da0d6d7b61b6f78c5913c37"></a><!-- doxytag: member="ppb_image_data.h::PPB_ImageData" ref="ga17e05bbe7da0d6d7b61b6f78c5913c37" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___image_data__1__0.html">PPB_ImageData</a> <a class="el" href="group___interfaces.html#ga17e05bbe7da0d6d7b61b6f78c5913c37">PPB_ImageData</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gaaa0c327650de77066ea8e2ec8f5589c5"></a><!-- doxytag: member="ppb_input_event.h::PPB_IMEInputEvent" ref="gaaa0c327650de77066ea8e2ec8f5589c5" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html">PPB_IMEInputEvent</a> <a class="el" href="group___interfaces.html#gaaa0c327650de77066ea8e2ec8f5589c5">PPB_IMEInputEvent</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gac221fa16a0d0daa0bf171a477b465396"></a><!-- doxytag: member="ppb_input_event.h::PPB_InputEvent" ref="gac221fa16a0d0daa0bf171a477b465396" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___input_event__1__0.html">PPB_InputEvent</a> <a class="el" href="group___interfaces.html#gac221fa16a0d0daa0bf171a477b465396">PPB_InputEvent</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gaf2ed3cc24968d8681b52cf70eae066ca"></a><!-- doxytag: member="ppb_instance.h::PPB_Instance" ref="gaf2ed3cc24968d8681b52cf70eae066ca" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___instance__1__0.html">PPB_Instance</a> <a class="el" href="group___interfaces.html#gaf2ed3cc24968d8681b52cf70eae066ca">PPB_Instance</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gad245b3100fef75b215d6ba60cccd626e"></a><!-- doxytag: member="ppb_input_event.h::PPB_KeyboardInputEvent" ref="gad245b3100fef75b215d6ba60cccd626e" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___keyboard_input_event__1__0.html">PPB_KeyboardInputEvent</a> <a class="el" href="group___interfaces.html#gad245b3100fef75b215d6ba60cccd626e">PPB_KeyboardInputEvent</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gae3eb3482b0fb57fb6a4eb05c07908788"></a><!-- doxytag: member="ppb_message_loop.h::PPB_MessageLoop" ref="gae3eb3482b0fb57fb6a4eb05c07908788" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___message_loop__1__0.html">PPB_MessageLoop</a> <a class="el" href="group___interfaces.html#gae3eb3482b0fb57fb6a4eb05c07908788">PPB_MessageLoop</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gac53fe3a3b5941f8b3608349f58ee24f0"></a><!-- doxytag: member="ppb_messaging.h::PPB_Messaging" ref="gac53fe3a3b5941f8b3608349f58ee24f0" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___messaging__1__0.html">PPB_Messaging</a> <a class="el" href="group___interfaces.html#gac53fe3a3b5941f8b3608349f58ee24f0">PPB_Messaging</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gae583d9ea6381e1e4cb7b462c35c5d1de"></a><!-- doxytag: member="ppb_mouse_cursor.h::PPB_MouseCursor" ref="gae583d9ea6381e1e4cb7b462c35c5d1de" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___mouse_cursor__1__0.html">PPB_MouseCursor</a> <a class="el" href="group___interfaces.html#gae583d9ea6381e1e4cb7b462c35c5d1de">PPB_MouseCursor</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga3fcedb0e992eebaf7d9b1b60aacceafc"></a><!-- doxytag: member="ppb_input_event.h::PPB_MouseInputEvent" ref="ga3fcedb0e992eebaf7d9b1b60aacceafc" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___mouse_input_event__1__1.html">PPB_MouseInputEvent</a> <a class="el" href="group___interfaces.html#ga3fcedb0e992eebaf7d9b1b60aacceafc">PPB_MouseInputEvent</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga9d5fa32b9c90b100400161025fda2617"></a><!-- doxytag: member="ppb_mouse_lock.h::PPB_MouseLock" ref="ga9d5fa32b9c90b100400161025fda2617" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___mouse_lock__1__0.html">PPB_MouseLock</a> <a class="el" href="group___interfaces.html#ga9d5fa32b9c90b100400161025fda2617">PPB_MouseLock</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gad6c325ff5a0a74f318a680971d0a7c52"></a><!-- doxytag: member="ppb_net_address.h::PPB_NetAddress" ref="gad6c325ff5a0a74f318a680971d0a7c52" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___net_address__1__0.html">PPB_NetAddress</a> <a class="el" href="group___interfaces.html#gad6c325ff5a0a74f318a680971d0a7c52">PPB_NetAddress</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga675af1709086b2a750d28da442c41f8a"></a><!-- doxytag: member="ppb_network_list.h::PPB_NetworkList" ref="ga675af1709086b2a750d28da442c41f8a" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___network_list__1__0.html">PPB_NetworkList</a> <a class="el" href="group___interfaces.html#ga675af1709086b2a750d28da442c41f8a">PPB_NetworkList</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga873d8c5cd49f7b3c8ad5b4caabd1e8e6"></a><!-- doxytag: member="ppb_network_monitor.h::PPB_NetworkMonitor" ref="ga873d8c5cd49f7b3c8ad5b4caabd1e8e6" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___network_monitor__1__0.html">PPB_NetworkMonitor</a> <a class="el" href="group___interfaces.html#ga873d8c5cd49f7b3c8ad5b4caabd1e8e6">PPB_NetworkMonitor</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gaf8338a682417267c8525446ef1de85b1"></a><!-- doxytag: member="ppb_network_proxy.h::PPB_NetworkProxy" ref="gaf8338a682417267c8525446ef1de85b1" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___network_proxy__1__0.html">PPB_NetworkProxy</a> <a class="el" href="group___interfaces.html#gaf8338a682417267c8525446ef1de85b1">PPB_NetworkProxy</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga0f72e14a6cf9631bd733ded1f8ba4d9f"></a><!-- doxytag: member="ppb_tcp_socket.h::PPB_TCPSocket" ref="ga0f72e14a6cf9631bd733ded1f8ba4d9f" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html">PPB_TCPSocket</a> <a class="el" href="group___interfaces.html#ga0f72e14a6cf9631bd733ded1f8ba4d9f">PPB_TCPSocket</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gab387085f6044f3a0b1631d119d22a942"></a><!-- doxytag: member="ppb_text_input_controller.h::PPB_TextInputController" ref="gab387085f6044f3a0b1631d119d22a942" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___text_input_controller__1__0.html">PPB_TextInputController</a> <a class="el" href="group___interfaces.html#gab387085f6044f3a0b1631d119d22a942">PPB_TextInputController</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga3d25b1582fc1e6b94f53ecfb21422d6c"></a><!-- doxytag: member="ppb_input_event.h::PPB_TouchInputEvent" ref="ga3d25b1582fc1e6b94f53ecfb21422d6c" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___touch_input_event__1__0.html">PPB_TouchInputEvent</a> <a class="el" href="group___interfaces.html#ga3d25b1582fc1e6b94f53ecfb21422d6c">PPB_TouchInputEvent</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gaf04d893ccf01c5d1cfcadee5fcc869d1"></a><!-- doxytag: member="ppb_udp_socket.h::PPB_UDPSocket" ref="gaf04d893ccf01c5d1cfcadee5fcc869d1" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html">PPB_UDPSocket</a> <a class="el" href="group___interfaces.html#gaf04d893ccf01c5d1cfcadee5fcc869d1">PPB_UDPSocket</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga307f562a9e41991de7c80b75cd7f379c"></a><!-- doxytag: member="ppb_url_loader.h::PPB_URLLoader" ref="ga307f562a9e41991de7c80b75cd7f379c" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html">PPB_URLLoader</a> <a class="el" href="group___interfaces.html#ga307f562a9e41991de7c80b75cd7f379c">PPB_URLLoader</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gad60387934d9e235d3d145ee5a1fb4e74"></a><!-- doxytag: member="ppb_url_request_info.h::PPB_URLRequestInfo" ref="gad60387934d9e235d3d145ee5a1fb4e74" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html">PPB_URLRequestInfo</a> <a class="el" href="group___interfaces.html#gad60387934d9e235d3d145ee5a1fb4e74">PPB_URLRequestInfo</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gad63e57584aea115126b6922b141cf745"></a><!-- doxytag: member="ppb_url_response_info.h::PPB_URLResponseInfo" ref="gad63e57584aea115126b6922b141cf745" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___u_r_l_response_info__1__0.html">PPB_URLResponseInfo</a> <a class="el" href="group___interfaces.html#gad63e57584aea115126b6922b141cf745">PPB_URLResponseInfo</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga7363a88a6e5058841915641c1b2923ad"></a><!-- doxytag: member="ppb_var.h::PPB_Var" ref="ga7363a88a6e5058841915641c1b2923ad" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___var__1__1.html">PPB_Var</a> <a class="el" href="group___interfaces.html#ga7363a88a6e5058841915641c1b2923ad">PPB_Var</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gaad75327f1ecc75e58c2805fc4740d3c6"></a><!-- doxytag: member="ppb_var_array.h::PPB_VarArray" ref="gaad75327f1ecc75e58c2805fc4740d3c6" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___var_array__1__0.html">PPB_VarArray</a> <a class="el" href="group___interfaces.html#gaad75327f1ecc75e58c2805fc4740d3c6">PPB_VarArray</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gab26d5bb032f5438d02faf5bdf7b208cb"></a><!-- doxytag: member="ppb_var_array_buffer.h::PPB_VarArrayBuffer" ref="gab26d5bb032f5438d02faf5bdf7b208cb" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___var_array_buffer__1__0.html">PPB_VarArrayBuffer</a> <a class="el" href="group___interfaces.html#gab26d5bb032f5438d02faf5bdf7b208cb">PPB_VarArrayBuffer</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga69826004b5c32232c9639090f3e1db2e"></a><!-- doxytag: member="ppb_var_dictionary.h::PPB_VarDictionary" ref="ga69826004b5c32232c9639090f3e1db2e" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___var_dictionary__1__0.html">PPB_VarDictionary</a> <a class="el" href="group___interfaces.html#ga69826004b5c32232c9639090f3e1db2e">PPB_VarDictionary</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gaccc39c5c499011d13be37e23868a04f3"></a><!-- doxytag: member="ppb_view.h::PPB_View" ref="gaccc39c5c499011d13be37e23868a04f3" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___view__1__1.html">PPB_View</a> <a class="el" href="group___interfaces.html#gaccc39c5c499011d13be37e23868a04f3">PPB_View</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gad0e152d14cefb0b480228f3fc7070faf"></a><!-- doxytag: member="ppb_websocket.h::PPB_WebSocket" ref="gad0e152d14cefb0b480228f3fc7070faf" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___web_socket__1__0.html">PPB_WebSocket</a> <a class="el" href="group___interfaces.html#gad0e152d14cefb0b480228f3fc7070faf">PPB_WebSocket</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gaaefb7f24240d14faa56dfdba8c116889"></a><!-- doxytag: member="ppb_input_event.h::PPB_WheelInputEvent" ref="gaaefb7f24240d14faa56dfdba8c116889" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___wheel_input_event__1__0.html">PPB_WheelInputEvent</a> <a class="el" href="group___interfaces.html#gaaefb7f24240d14faa56dfdba8c116889">PPB_WheelInputEvent</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gab9b763d2ae6ef08a8f18069728f418eb"></a><!-- doxytag: member="ppp_graphics_3d.h::PPP_Graphics3D" ref="gab9b763d2ae6ef08a8f18069728f418eb" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_p___graphics3_d__1__0.html">PPP_Graphics3D</a> <a class="el" href="group___interfaces.html#gab9b763d2ae6ef08a8f18069728f418eb">PPP_Graphics3D</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga9c2577b1c089f77e1e467d74bd97a940"></a><!-- doxytag: member="ppp_input_event.h::PPP_InputEvent" ref="ga9c2577b1c089f77e1e467d74bd97a940" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_p___input_event__0__1.html">PPP_InputEvent</a> <a class="el" href="group___interfaces.html#ga9c2577b1c089f77e1e467d74bd97a940">PPP_InputEvent</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga3397638d116e4171368bf18fcb91ef11"></a><!-- doxytag: member="ppp_instance.h::PPP_Instance" ref="ga3397638d116e4171368bf18fcb91ef11" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_p___instance__1__1.html">PPP_Instance</a> <a class="el" href="group___interfaces.html#ga3397638d116e4171368bf18fcb91ef11">PPP_Instance</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga1b4374f30360ab34679a159083db7e4d"></a><!-- doxytag: member="ppp_messaging.h::PPP_Messaging" ref="ga1b4374f30360ab34679a159083db7e4d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_p___messaging__1__0.html">PPP_Messaging</a> <a class="el" href="group___interfaces.html#ga1b4374f30360ab34679a159083db7e4d">PPP_Messaging</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gae600e8f5b6005b02378e6eb9f51b11cb"></a><!-- doxytag: member="ppp_mouse_lock.h::PPP_MouseLock" ref="gae600e8f5b6005b02378e6eb9f51b11cb" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_p___mouse_lock__1__0.html">PPP_MouseLock</a> <a class="el" href="group___interfaces.html#gae600e8f5b6005b02378e6eb9f51b11cb">PPP_MouseLock</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/group___structs.html b/native_client_sdk/doc_generated/pepper_beta/c/group___structs.html
new file mode 100644
index 0000000..27bff716a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/group___structs.html
@@ -0,0 +1,292 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Structs</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+</div>
+<!--header-->
+<div class="contents">
+<h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___array_output.html">PP_ArrayOutput</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A structure that defines a way for the browser to return arrays of data to the plugin. <a href="struct_p_p___array_output.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> is a common mechanism for supporting potentially asynchronous calls in browser interfaces. <a href="struct_p_p___completion_callback.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___directory_entry.html">PP_DirectoryEntry</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___file_info.html">PP_FileInfo</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="struct_p_p___file_info.html" title="The PP_FileInfo struct represents all information about a file, such as size, type, and creation time.">PP_FileInfo</a></code> struct represents all information about a file, such as size, type, and creation time. <a href="struct_p_p___file_info.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___key.html">PP_InputEvent_Key</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="struct_p_p___input_event___key.html" title="The PP_InputEvent_Key struct represents a key up or key down event.">PP_InputEvent_Key</a></code> struct represents a key up or key down event. <a href="struct_p_p___input_event___key.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___character.html">PP_InputEvent_Character</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="struct_p_p___input_event___character.html" title="The PP_InputEvent_Character struct represents a typed character event.">PP_InputEvent_Character</a></code> struct represents a typed character event. <a href="struct_p_p___input_event___character.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___mouse.html">PP_InputEvent_Mouse</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="struct_p_p___input_event___mouse.html" title="The PP_InputEvent_Mouse struct represents all mouse events except mouse wheel events.">PP_InputEvent_Mouse</a></code> struct represents all mouse events except mouse wheel events. <a href="struct_p_p___input_event___mouse.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___wheel.html">PP_InputEvent_Wheel</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="struct_p_p___input_event___wheel.html" title="The PP_InputEvent_Wheel struct represents all mouse wheel events.">PP_InputEvent_Wheel</a></code> struct represents all mouse wheel events. <a href="struct_p_p___input_event___wheel.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___point.html">PP_Point</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="struct_p_p___point.html" title="The PP_Point structure defines the integer x and y coordinates of a point.">PP_Point</a> structure defines the integer x and y coordinates of a point. <a href="struct_p_p___point.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___float_point.html">PP_FloatPoint</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="struct_p_p___float_point.html" title="The PP_FloatPoint structure defines the floating-point x and y coordinates of a point.">PP_FloatPoint</a> structure defines the floating-point x and y coordinates of a point. <a href="struct_p_p___float_point.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___rect.html">PP_Rect</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="struct_p_p___rect.html" title="The PP_Rect struct contains the size and location of a 2D rectangle.">PP_Rect</a></code> struct contains the size and location of a 2D rectangle. <a href="struct_p_p___rect.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___size.html">PP_Size</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="struct_p_p___size.html" title="The PP_Size struct contains the size of a 2D rectangle.">PP_Size</a></code> struct contains the size of a 2D rectangle. <a href="struct_p_p___size.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___touch_point.html">PP_TouchPoint</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="struct_p_p___touch_point.html" title="The PP_TouchPoint struct represents all information about a single touch point, such as position...">PP_TouchPoint</a></code> struct represents all information about a single touch point, such as position, id, rotation angle, and pressure. <a href="struct_p_p___touch_point.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">union  </td><td class="memItemRight" valign="bottom"><a class="el" href="union_p_p___var_value.html">PP_VarValue</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="union_p_p___var_value.html" title="The PP_VarValue union stores the data for any one of the types listed in the PP_VarType enum...">PP_VarValue</a> union stores the data for any one of the types listed in the PP_VarType enum. <a href="union_p_p___var_value.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___var.html">PP_Var</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PP_VAR</code> struct is a variant data type and can contain any value of one of the types named in the <code>PP_VarType</code> enum. <a href="struct_p_p___var.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___gamepad_sample_data.html">PP_GamepadSampleData</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The data for one gamepad device. <a href="struct_p_p___gamepad_sample_data.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___gamepads_sample_data.html">PP_GamepadsSampleData</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The data for all gamepads connected to the system. <a href="struct_p_p___gamepads_sample_data.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___host_resolver___hint.html">PP_HostResolver_Hint</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><code><a class="el" href="struct_p_p___host_resolver___hint.html" title="PP_HostResolver_Hint represents hints for host resolution.">PP_HostResolver_Hint</a></code> represents hints for host resolution. <a href="struct_p_p___host_resolver___hint.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___image_data_desc.html">PP_ImageDataDesc</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="struct_p_p___image_data_desc.html" title="The PP_ImageDataDesc structure represents a description of image data.">PP_ImageDataDesc</a></code> structure represents a description of image data. <a href="struct_p_p___image_data_desc.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___net_address___i_pv4.html">PP_NetAddress_IPv4</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">All members are expressed in network byte order. <a href="struct_p_p___net_address___i_pv4.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___net_address___i_pv6.html">PP_NetAddress_IPv6</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">All members are expressed in network byte order. <a href="struct_p_p___net_address___i_pv6.html#details">More...</a><br /></td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#gad0a3a59c8cb2fb74717c8d23a5d56295">PP_DirectoryEntry</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#gad224cb61c5859f6655b274eff7328664">PP_FileInfo</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga91c5483306ded19bced2063169de99f8">PP_InputEvent_Key</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga6d1b875e2ae53ba8ee90e10505df6b7e">PP_InputEvent_Character</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga26c37abe55715f606e0a2c91867d051c">PP_InputEvent_Mouse</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga3fe74ccc6894bb133b39df77f96322cf">PP_InputEvent_Wheel</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga501da0561777e3fef2c08aa9b7400cc0">PP_Point</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga2bfb71399c8dac2aba417b75459100bd">PP_FloatPoint</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#gaa91d0179e9f1f1bd3b6f3415f75c9ff1">PP_Rect</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#gafd4a54f9a36c0825eef612e150b50421">PP_Size</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#gafa28da9c7da0da3d7c5cdd57b4485436">PP_TouchPoint</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga7c0f59e0d0c137b8390435582dc8e54d">PP_Var</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga525d88c6ef789fe645908c30bae38e7c">PP_GamepadSampleData</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#gacc3e9ccca109cc93c2fbeea317b7b004">PP_GamepadsSampleData</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga6e27cf6541423cdee5fc2cf5b2d67853">PP_HostResolver_Hint</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#gae0f2df62c9fe8b622336fa44ad897470">PP_ImageDataDesc</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga34eaf167d3bf1a00281de167719ca604">PP_NetAddress_IPv4</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga1301bb0d95a4b2e8907002b3bdc8f6d9">PP_NetAddress_IPv6</a></td></tr>
+</table>
+<hr /><h2>Variable Documentation</h2>
+<a class="anchor" id="gad0a3a59c8cb2fb74717c8d23a5d56295"></a><!-- doxytag: member="pp_directory_entry.h::PP_DirectoryEntry" ref="gad0a3a59c8cb2fb74717c8d23a5d56295" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="struct_p_p___directory_entry.html">PP_DirectoryEntry</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gad224cb61c5859f6655b274eff7328664"></a><!-- doxytag: member="pp_file_info.h::PP_FileInfo" ref="gad224cb61c5859f6655b274eff7328664" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="struct_p_p___file_info.html">PP_FileInfo</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga2bfb71399c8dac2aba417b75459100bd"></a><!-- doxytag: member="pp_point.h::PP_FloatPoint" ref="ga2bfb71399c8dac2aba417b75459100bd" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="struct_p_p___float_point.html">PP_FloatPoint</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga525d88c6ef789fe645908c30bae38e7c"></a><!-- doxytag: member="ppb_gamepad.h::PP_GamepadSampleData" ref="ga525d88c6ef789fe645908c30bae38e7c" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="struct_p_p___gamepad_sample_data.html">PP_GamepadSampleData</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gacc3e9ccca109cc93c2fbeea317b7b004"></a><!-- doxytag: member="ppb_gamepad.h::PP_GamepadsSampleData" ref="gacc3e9ccca109cc93c2fbeea317b7b004" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="struct_p_p___gamepads_sample_data.html">PP_GamepadsSampleData</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga6e27cf6541423cdee5fc2cf5b2d67853"></a><!-- doxytag: member="ppb_host_resolver.h::PP_HostResolver_Hint" ref="ga6e27cf6541423cdee5fc2cf5b2d67853" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="struct_p_p___host_resolver___hint.html">PP_HostResolver_Hint</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gae0f2df62c9fe8b622336fa44ad897470"></a><!-- doxytag: member="ppb_image_data.h::PP_ImageDataDesc" ref="gae0f2df62c9fe8b622336fa44ad897470" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="struct_p_p___image_data_desc.html">PP_ImageDataDesc</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga6d1b875e2ae53ba8ee90e10505df6b7e"></a><!-- doxytag: member="pp_input_event.h::PP_InputEvent_Character" ref="ga6d1b875e2ae53ba8ee90e10505df6b7e" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="struct_p_p___input_event___character.html">PP_InputEvent_Character</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga91c5483306ded19bced2063169de99f8"></a><!-- doxytag: member="pp_input_event.h::PP_InputEvent_Key" ref="ga91c5483306ded19bced2063169de99f8" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="struct_p_p___input_event___key.html">PP_InputEvent_Key</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga26c37abe55715f606e0a2c91867d051c"></a><!-- doxytag: member="pp_input_event.h::PP_InputEvent_Mouse" ref="ga26c37abe55715f606e0a2c91867d051c" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="struct_p_p___input_event___mouse.html">PP_InputEvent_Mouse</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga3fe74ccc6894bb133b39df77f96322cf"></a><!-- doxytag: member="pp_input_event.h::PP_InputEvent_Wheel" ref="ga3fe74ccc6894bb133b39df77f96322cf" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="struct_p_p___input_event___wheel.html">PP_InputEvent_Wheel</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga34eaf167d3bf1a00281de167719ca604"></a><!-- doxytag: member="ppb_net_address.h::PP_NetAddress_IPv4" ref="ga34eaf167d3bf1a00281de167719ca604" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="struct_p_p___net_address___i_pv4.html">PP_NetAddress_IPv4</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga1301bb0d95a4b2e8907002b3bdc8f6d9"></a><!-- doxytag: member="ppb_net_address.h::PP_NetAddress_IPv6" ref="ga1301bb0d95a4b2e8907002b3bdc8f6d9" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="struct_p_p___net_address___i_pv6.html">PP_NetAddress_IPv6</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga501da0561777e3fef2c08aa9b7400cc0"></a><!-- doxytag: member="pp_point.h::PP_Point" ref="ga501da0561777e3fef2c08aa9b7400cc0" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="struct_p_p___point.html">PP_Point</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gaa91d0179e9f1f1bd3b6f3415f75c9ff1"></a><!-- doxytag: member="pp_rect.h::PP_Rect" ref="gaa91d0179e9f1f1bd3b6f3415f75c9ff1" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="struct_p_p___rect.html">PP_Rect</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gafd4a54f9a36c0825eef612e150b50421"></a><!-- doxytag: member="pp_size.h::PP_Size" ref="gafd4a54f9a36c0825eef612e150b50421" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="struct_p_p___size.html">PP_Size</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gafa28da9c7da0da3d7c5cdd57b4485436"></a><!-- doxytag: member="pp_touch_point.h::PP_TouchPoint" ref="gafa28da9c7da0da3d7c5cdd57b4485436" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="struct_p_p___touch_point.html">PP_TouchPoint</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga7c0f59e0d0c137b8390435582dc8e54d"></a><!-- doxytag: member="pp_var.h::PP_Var" ref="ga7c0f59e0d0c137b8390435582dc8e54d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="struct_p_p___var.html">PP_Var</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/group___typedefs.html b/native_client_sdk/doc_generated/pepper_beta/c/group___typedefs.html
new file mode 100644
index 0000000..ce370bc2
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/group___typedefs.html
@@ -0,0 +1,223 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Typedefs</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+</div>
+<!--header-->
+<div class="contents">
+<h2>
+Typedefs</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">typedef void *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#gaa363de651fad7342a37ec58375276af7">PP_ArrayOutput_GetDataBuffer</a> )(void *user_data, uint32_t element_count, uint32_t element_size)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#ga6fe12e1a41df5e10103a811036d4d8d2">PP_CompletionCallback_Func</a> )(void *user_data, int32_t result)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#gab780dd451cd7f51284cb752edd88f9a0">PP_Module</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef double </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef double </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#ga71cb1042cdeb38d7881b121f3b09ce94">PP_TimeTicks</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef double </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#ga3962a5355895925a757f613567e422fa">PP_TimeDelta</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef const void *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#ga68ad7c927b86e0c29d890603edd33154">PPB_GetInterface</a> )(const char *interface_name)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#ga2ec91970f3cb75769ce631b3b732803e">PPB_Audio_Callback</a> )(void *sample_buffer, uint32_t buffer_size_in_bytes, <a class="el" href="group___typedefs.html#ga3962a5355895925a757f613567e422fa">PP_TimeDelta</a> latency, void *user_data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#gae33224cdac15cf8596127fe7b5f08325">PP_InitializeModule_Func</a> )(<a class="el" href="group___typedefs.html#gab780dd451cd7f51284cb752edd88f9a0">PP_Module</a> module, <a class="el" href="group___typedefs.html#ga68ad7c927b86e0c29d890603edd33154">PPB_GetInterface</a> get_browser_interface)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#gad2b49167bcbf6c2c895ffb1a61bc720c">PP_ShutdownModule_Func</a> )(void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef const void *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#ga893cfdc559fdf7ae3004816357c3d7e9">PP_GetInterface_Func</a> )(const char *interface_name)</td></tr>
+</table>
+<hr /><h2>Typedef Documentation</h2>
+<a class="anchor" id="gaa363de651fad7342a37ec58375276af7"></a><!-- doxytag: member="pp_array_output.h::PP_ArrayOutput_GetDataBuffer" ref="gaa363de651fad7342a37ec58375276af7" args=")(void *user_data, uint32_t element_count, uint32_t element_size)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef void*(* <a class="el" href="group___typedefs.html#gaa363de651fad7342a37ec58375276af7">PP_ArrayOutput_GetDataBuffer</a>)(void *user_data, uint32_t element_count, uint32_t element_size)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga6fe12e1a41df5e10103a811036d4d8d2"></a><!-- doxytag: member="pp_completion_callback.h::PP_CompletionCallback_Func" ref="ga6fe12e1a41df5e10103a811036d4d8d2" args=")(void *user_data, int32_t result)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef void(* <a class="el" href="group___typedefs.html#ga6fe12e1a41df5e10103a811036d4d8d2">PP_CompletionCallback_Func</a>)(void *user_data, int32_t result)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This typedef defines the signature that you implement to receive callbacks on asynchronous completion of an operation. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">user_data</td><td>A pointer to user data passed to a callback function. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">result</td><td>If result is 0 (PP_OK), the operation succeeded. Negative values (other than -1 or PP_OK_COMPLETE) indicate error and are specified in <a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a>. Positive values for result usually indicate success and have some operation-dependent meaning (such as bytes read). </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga893cfdc559fdf7ae3004816357c3d7e9"></a><!-- doxytag: member="ppp.h::PP_GetInterface_Func" ref="ga893cfdc559fdf7ae3004816357c3d7e9" args=")(const char *interface_name)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef const void*(* <a class="el" href="group___typedefs.html#ga893cfdc559fdf7ae3004816357c3d7e9">PP_GetInterface_Func</a>)(const char *interface_name)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Defines the type of the <code>PPP_ShutdownModule</code> function. </p>
+</div>
+</div>
+<a class="anchor" id="gae33224cdac15cf8596127fe7b5f08325"></a><!-- doxytag: member="ppp.h::PP_InitializeModule_Func" ref="gae33224cdac15cf8596127fe7b5f08325" args=")(PP_Module module, PPB_GetInterface get_browser_interface)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef int32_t(* <a class="el" href="group___typedefs.html#gae33224cdac15cf8596127fe7b5f08325">PP_InitializeModule_Func</a>)(<a class="el" href="group___typedefs.html#gab780dd451cd7f51284cb752edd88f9a0">PP_Module</a> module, <a class="el" href="group___typedefs.html#ga68ad7c927b86e0c29d890603edd33154">PPB_GetInterface</a> get_browser_interface)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Defines the type of the <code>PPP_InitializeModule</code> function. </p>
+</div>
+</div>
+<a class="anchor" id="ga89b662403e6a687bb914b80114c0d19d"></a><!-- doxytag: member="pp_instance.h::PP_Instance" ref="ga89b662403e6a687bb914b80114c0d19d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <code>PP_Instance</code> value uniquely identifies one instance of a module (.nexe/PP_Module). </p>
+<p>There will be one module instance for every <embed> tag on a page.</p>
+<p>This identifier is an opaque handle assigned by the browser to the module. It is guaranteed never to be 0, so a module can initialize it to 0 to indicate a "NULL handle." </p>
+</div>
+</div>
+<a class="anchor" id="gab780dd451cd7f51284cb752edd88f9a0"></a><!-- doxytag: member="pp_module.h::PP_Module" ref="gab780dd451cd7f51284cb752edd88f9a0" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gab780dd451cd7f51284cb752edd88f9a0">PP_Module</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The PP_Module value uniquely identifies the module or .nexe. </p>
+<p>This identifier is an opaque handle assigned by the browser to the module. It is guaranteed never to be 0, so a module can initialize it to 0 to indicate a "NULL handle." </p>
+</div>
+</div>
+<a class="anchor" id="gafdc3895ee80f4750d0d95ae1b677e9b7"></a><!-- doxytag: member="pp_resource.h::PP_Resource" ref="gafdc3895ee80f4750d0d95ae1b677e9b7" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This typedef represents an opaque handle assigned by the browser to the resource. </p>
+<p>The handle is guaranteed never to be 0 for a valid resource, so a module can initialize it to 0 to indicate a "NULL handle." Some interfaces may return a NULL resource to indicate failure.</p>
+<p>While a Var represents something callable to JS or from the module to the DOM, a resource has no meaning or visibility outside of the module interface.</p>
+<p>Resources are reference counted. Use <code>AddRefResource()</code> and <code>ReleaseResource()</code> in <code><a class="el" href="ppb__core_8h.html" title="This file defines the PPB_Core interface defined by the browser and containing pointers to functions ...">ppb_core.h</a></code> to manage the reference count of a resource. The data will be automatically destroyed when the internal reference count reaches 0. </p>
+</div>
+</div>
+<a class="anchor" id="gad2b49167bcbf6c2c895ffb1a61bc720c"></a><!-- doxytag: member="ppp.h::PP_ShutdownModule_Func" ref="gad2b49167bcbf6c2c895ffb1a61bc720c" args=")(void)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef void(* <a class="el" href="group___typedefs.html#gad2b49167bcbf6c2c895ffb1a61bc720c">PP_ShutdownModule_Func</a>)(void)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Defines the type of the <code>PPP_ShutdownModule</code> function. </p>
+</div>
+</div>
+<a class="anchor" id="ga537b277d2116e42b6acfe9323d40e1a0"></a><!-- doxytag: member="pp_time.h::PP_Time" ref="ga537b277d2116e42b6acfe9323d40e1a0" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <code>PP_Time</code> type represents the "wall clock time" according to the browser and is defined as the number of seconds since the Epoch (00:00:00 UTC, January 1, 1970). </p>
+</div>
+</div>
+<a class="anchor" id="ga3962a5355895925a757f613567e422fa"></a><!-- doxytag: member="pp_time.h::PP_TimeDelta" ref="ga3962a5355895925a757f613567e422fa" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#ga3962a5355895925a757f613567e422fa">PP_TimeDelta</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A <code>PP_TimeDelta</code> value represents a duration of time which is measured in seconds. </p>
+</div>
+</div>
+<a class="anchor" id="ga71cb1042cdeb38d7881b121f3b09ce94"></a><!-- doxytag: member="pp_time.h::PP_TimeTicks" ref="ga71cb1042cdeb38d7881b121f3b09ce94" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#ga71cb1042cdeb38d7881b121f3b09ce94">PP_TimeTicks</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A <code>PP_TimeTicks</code> value represents time ticks which are measured in seconds and are used for indicating the time that certain messages were received. </p>
+<p>In contrast to <code>PP_Time</code>, <code>PP_TimeTicks</code> does not correspond to any actual wall clock time and will not change discontinuously if the user changes their computer clock.</p>
+<p>The units are in seconds, but are not measured relative to any particular epoch, so the most you can do is compare two values. </p>
+</div>
+</div>
+<a class="anchor" id="ga2ec91970f3cb75769ce631b3b732803e"></a><!-- doxytag: member="ppb_audio.h::PPB_Audio_Callback" ref="ga2ec91970f3cb75769ce631b3b732803e" args=")(void *sample_buffer, uint32_t buffer_size_in_bytes, PP_TimeDelta latency, void *user_data)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef void(* <a class="el" href="group___typedefs.html#ga2ec91970f3cb75769ce631b3b732803e">PPB_Audio_Callback</a>)(void *sample_buffer, uint32_t buffer_size_in_bytes, <a class="el" href="group___typedefs.html#ga3962a5355895925a757f613567e422fa">PP_TimeDelta</a> latency, void *user_data)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><code>PPB_Audio_Callback</code> defines the type of an audio callback function used to fill the audio buffer with data. </p>
+<p>Please see the Create() function in the <code>PPB_Audio</code> interface for more details on this callback.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">sample_buffer</td><td>A buffer to fill with audio data. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">buffer_size_in_bytes</td><td>The size of the buffer in bytes. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">latency</td><td>How long before the audio data is to be presented. </td></tr>
+<tr><td class="paramdir"></td><td class="paramname">inout]</td><td>user_data An opaque pointer that was passed into <code><a class="el" href="struct_p_p_b___audio__1__1.html#a9714ecad5eeefae9d5d98c5ea29ac5ce" title="Create() creates an audio resource.">PPB_Audio.Create()</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga68ad7c927b86e0c29d890603edd33154"></a><!-- doxytag: member="ppb.h::PPB_GetInterface" ref="ga68ad7c927b86e0c29d890603edd33154" args=")(const char *interface_name)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef const void*(* <a class="el" href="group___typedefs.html#ga68ad7c927b86e0c29d890603edd33154">PPB_GetInterface</a>)(const char *interface_name)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function pointer type defines the signature for the <code>PPB_GetInterface</code> function. </p>
+<p>A generic <code>PPB_GetInterface</code> pointer is passed to <code>PPP_InitializedModule</code> when your module is loaded. You can use this pointer to request a pointer to a specific browser interface. Browser interface names are ASCII strings and are generally defined in the header file for the interface, such as <code>PPB_AUDIO_INTERFACE</code> found in <code>ppb.audio.h</code> or <code>PPB_GRAPHICS_2D_INTERFACE</code> in <code><a class="el" href="ppb__graphics__2d_8h.html" title="Defines the PPB_Graphics2D struct representing a 2D graphics context within the browser.">ppb_graphics_2d.h</a></code>. Click <a href="/native-client/{{pepperversion}}/pepperc/globals_defs" title="macros">here</a> for a complete list of interface names.</p>
+<p>This value will be NULL if the interface is not supported on the browser. </p>
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/index.html b/native_client_sdk/doc_generated/pepper_beta/c/index.html
new file mode 100644
index 0000000..ce385b7
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/index.html
@@ -0,0 +1,161 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<span class="target" id="pepper-beta-c-index"></span><section id="pepper-c-api-reference-beta">
+<h1 id="pepper-c-api-reference-beta">Pepper C API Reference (Beta)</h1>
+<p>This page lists the C API for Pepper 33. Apps that use this API can
+run in Chrome 33 or higher.</p>
+<section id="id1">
+<h2 id="id1"><a class="reference external" href="group___interfaces.html">Interfaces</a></h2>
+<blockquote>
+<div><ul class="small-gap">
+<li><a class="reference external" href="struct_p_p_b___audio__1__1.html">PPB_Audio</a></li>
+<li><a class="reference external" href="struct_p_p_b___audio_config__1__1.html">PPB_AudioConfig</a></li>
+<li><a class="reference external" href="struct_p_p_b___console__1__0.html">PPB_Console</a></li>
+<li><a class="reference external" href="struct_p_p_b___core__1__0.html">PPB_Core</a></li>
+<li><a class="reference external" href="struct_p_p_b___file_i_o__1__1.html">PPB_FileIO</a></li>
+<li><a class="reference external" href="struct_p_p_b___file_ref__1__1.html">PPB_FileRef</a></li>
+<li><a class="reference external" href="struct_p_p_b___file_system__1__0.html">PPB_FileSystem</a></li>
+<li><a class="reference external" href="struct_p_p_b___fullscreen__1__0.html">PPB_Fullscreen</a></li>
+<li><a class="reference external" href="struct_p_p_b___gamepad__1__0.html">PPB_Gamepad</a></li>
+<li><a class="reference external" href="struct_p_p_b___graphics2_d__1__1.html">PPB_Graphics2D</a></li>
+<li><a class="reference external" href="struct_p_p_b___graphics3_d__1__0.html">PPB_Graphics3D</a></li>
+<li><a class="reference external" href="struct_p_p_b___host_resolver__1__0.html">PPB_HostResolver</a></li>
+<li><a class="reference external" href="struct_p_p_b___i_m_e_input_event__1__0.html">PPB_IMEInputEvent</a></li>
+<li><a class="reference external" href="struct_p_p_b___image_data__1__0.html">PPB_ImageData</a></li>
+<li><a class="reference external" href="struct_p_p_b___input_event__1__0.html">PPB_InputEvent</a></li>
+<li><a class="reference external" href="struct_p_p_b___instance__1__0.html">PPB_Instance</a></li>
+<li><a class="reference external" href="struct_p_p_b___keyboard_input_event__1__0.html">PPB_KeyboardInputEvent</a></li>
+<li><a class="reference external" href="struct_p_p_b___message_loop__1__0.html">PPB_MessageLoop</a></li>
+<li><a class="reference external" href="struct_p_p_b___messaging__1__0.html">PPB_Messaging</a></li>
+<li><a class="reference external" href="struct_p_p_b___mouse_cursor__1__0.html">PPB_MouseCursor</a></li>
+<li><a class="reference external" href="struct_p_p_b___mouse_input_event__1__1.html">PPB_MouseInputEvent</a></li>
+<li><a class="reference external" href="struct_p_p_b___mouse_lock__1__0.html">PPB_MouseLock</a></li>
+<li><a class="reference external" href="struct_p_p_b___net_address__1__0.html">PPB_NetAddress</a></li>
+<li><a class="reference external" href="struct_p_p_b___network_list__1__0.html">PPB_NetworkList</a></li>
+<li><a class="reference external" href="struct_p_p_b___network_monitor__1__0.html">PPB_NetworkMonitor</a></li>
+<li><a class="reference external" href="struct_p_p_b___network_proxy__1__0.html">PPB_NetworkProxy</a></li>
+<li><a class="reference external" href="struct_p_p_b___t_c_p_socket__1__1.html">PPB_TCPSocket</a></li>
+<li><a class="reference external" href="struct_p_p_b___text_input_controller__1__0.html">PPB_TextInputController</a></li>
+<li><a class="reference external" href="struct_p_p_b___touch_input_event__1__0.html">PPB_TouchInputEvent</a></li>
+<li><a class="reference external" href="struct_p_p_b___u_d_p_socket__1__0.html">PPB_UDPSocket</a></li>
+<li><a class="reference external" href="struct_p_p_b___u_r_l_loader__1__0.html">PPB_URLLoader</a></li>
+<li><a class="reference external" href="struct_p_p_b___u_r_l_request_info__1__0.html">PPB_URLRequestInfo</a></li>
+<li><a class="reference external" href="struct_p_p_b___u_r_l_response_info__1__0.html">PPB_URLResponseInfo</a></li>
+<li><a class="reference external" href="struct_p_p_b___var__1__1.html">PPB_Var</a></li>
+<li><a class="reference external" href="struct_p_p_b___var_array__1__0.html">PPB_VarArray</a></li>
+<li><a class="reference external" href="struct_p_p_b___var_array_buffer__1__0.html">PPB_VarArrayBuffer</a></li>
+<li><a class="reference external" href="struct_p_p_b___var_dictionary__1__0.html">PPB_VarDictionary</a></li>
+<li><a class="reference external" href="struct_p_p_b___view__1__1.html">PPB_View</a></li>
+<li><a class="reference external" href="struct_p_p_b___web_socket__1__0.html">PPB_WebSocket</a></li>
+<li><a class="reference external" href="struct_p_p_b___wheel_input_event__1__0.html">PPB_WheelInputEvent</a></li>
+<li><a class="reference external" href="struct_p_p_p___graphics3_d__1__0.html">PPP_Graphics3D</a></li>
+<li><a class="reference external" href="struct_p_p_p___input_event__0__1.html">PPP_InputEvent</a></li>
+<li><a class="reference external" href="struct_p_p_p___instance__1__1.html">PPP_Instance</a></li>
+<li><a class="reference external" href="struct_p_p_p___messaging__1__0.html">PPP_Messaging</a></li>
+<li><a class="reference external" href="struct_p_p_p___mouse_lock__1__0.html">PPP_MouseLock</a></li>
+</ul>
+</div></blockquote>
+</section><section id="id2">
+<h2 id="id2"><a class="reference external" href="group___structs.html">Structures</a></h2>
+<blockquote>
+<div><ul class="small-gap">
+<li><a class="reference external" href="struct_p_p___array_output.html">PP_ArrayOutput</a></li>
+<li><a class="reference external" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a></li>
+<li><a class="reference external" href="struct_p_p___directory_entry.html">PP_DirectoryEntry</a></li>
+<li><a class="reference external" href="struct_p_p___file_info.html">PP_FileInfo</a></li>
+<li><a class="reference external" href="struct_p_p___float_point.html">PP_FloatPoint</a></li>
+<li><a class="reference external" href="struct_p_p___gamepad_sample_data.html">PP_GamepadSampleData</a></li>
+<li><a class="reference external" href="struct_p_p___gamepads_sample_data.html">PP_GamepadsSampleData</a></li>
+<li><a class="reference external" href="struct_p_p___host_resolver___hint.html">PP_HostResolver_Hint</a></li>
+<li><a class="reference external" href="struct_p_p___image_data_desc.html">PP_ImageDataDesc</a></li>
+<li><a class="reference external" href="struct_p_p___input_event___character.html">PP_InputEvent_Character</a></li>
+<li><a class="reference external" href="struct_p_p___input_event___key.html">PP_InputEvent_Key</a></li>
+<li><a class="reference external" href="struct_p_p___input_event___mouse.html">PP_InputEvent_Mouse</a></li>
+<li><a class="reference external" href="struct_p_p___input_event___wheel.html">PP_InputEvent_Wheel</a></li>
+<li><a class="reference external" href="struct_p_p___net_address___i_pv4.html">PP_NetAddress_IPv4</a></li>
+<li><a class="reference external" href="struct_p_p___net_address___i_pv6.html">PP_NetAddress_IPv6</a></li>
+<li><a class="reference external" href="struct_p_p___point.html">PP_Point</a></li>
+<li><a class="reference external" href="struct_p_p___rect.html">PP_Rect</a></li>
+<li><a class="reference external" href="struct_p_p___size.html">PP_Size</a></li>
+<li><a class="reference external" href="struct_p_p___touch_point.html">PP_TouchPoint</a></li>
+<li><a class="reference external" href="struct_p_p___var.html">PP_Var</a></li>
+<li><a class="reference external" href="union_p_p___var_value.html">PP_VarValue</a></li>
+</ul>
+</div></blockquote>
+</section><section id="id3">
+<h2 id="id3"><a class="reference external" href="group___functions.html">Functions</a></h2>
+</section><section id="id4">
+<h2 id="id4"><a class="reference external" href="group___enums.html">Enums</a></h2>
+</section><section id="id5">
+<h2 id="id5"><a class="reference external" href="group___typedefs.html">Typedefs</a></h2>
+</section><section id="id6">
+<h2 id="id6"><a class="reference external" href="globals_defs.html">Macros</a></h2>
+</section><section id="files">
+<h2 id="files">Files</h2>
+<blockquote>
+<div><ul class="small-gap">
+<li><a class="reference external" href="pp__array__output_8h.html">pp_array_output.h</a></li>
+<li><a class="reference external" href="pp__bool_8h.html">pp_bool.h</a></li>
+<li><a class="reference external" href="pp__completion__callback_8h.html">pp_completion_callback.h</a></li>
+<li><a class="reference external" href="pp__directory__entry_8h.html">pp_directory_entry.h</a></li>
+<li><a class="reference external" href="pp__errors_8h.html">pp_errors.h</a></li>
+<li><a class="reference external" href="pp__file__info_8h.html">pp_file_info.h</a></li>
+<li><a class="reference external" href="pp__graphics__3d_8h.html">pp_graphics_3d.h</a></li>
+<li><a class="reference external" href="pp__input__event_8h.html">pp_input_event.h</a></li>
+<li><a class="reference external" href="pp__instance_8h.html">pp_instance.h</a></li>
+<li><a class="reference external" href="pp__module_8h.html">pp_module.h</a></li>
+<li><a class="reference external" href="pp__point_8h.html">pp_point.h</a></li>
+<li><a class="reference external" href="pp__rect_8h.html">pp_rect.h</a></li>
+<li><a class="reference external" href="pp__resource_8h.html">pp_resource.h</a></li>
+<li><a class="reference external" href="pp__size_8h.html">pp_size.h</a></li>
+<li><a class="reference external" href="pp__stdint_8h.html">pp_stdint.h</a></li>
+<li><a class="reference external" href="pp__time_8h.html">pp_time.h</a></li>
+<li><a class="reference external" href="pp__touch__point_8h.html">pp_touch_point.h</a></li>
+<li><a class="reference external" href="pp__var_8h.html">pp_var.h</a></li>
+<li><a class="reference external" href="ppb_8h.html">ppb.h</a></li>
+<li><a class="reference external" href="ppb__audio_8h.html">ppb_audio.h</a></li>
+<li><a class="reference external" href="ppb__audio__config_8h.html">ppb_audio_config.h</a></li>
+<li><a class="reference external" href="ppb__console_8h.html">ppb_console.h</a></li>
+<li><a class="reference external" href="ppb__core_8h.html">ppb_core.h</a></li>
+<li><a class="reference external" href="ppb__file__io_8h.html">ppb_file_io.h</a></li>
+<li><a class="reference external" href="ppb__file__ref_8h.html">ppb_file_ref.h</a></li>
+<li><a class="reference external" href="ppb__file__system_8h.html">ppb_file_system.h</a></li>
+<li><a class="reference external" href="ppb__fullscreen_8h.html">ppb_fullscreen.h</a></li>
+<li><a class="reference external" href="ppb__gamepad_8h.html">ppb_gamepad.h</a></li>
+<li><a class="reference external" href="ppb__graphics__2d_8h.html">ppb_graphics_2d.h</a></li>
+<li><a class="reference external" href="ppb__graphics__3d_8h.html">ppb_graphics_3d.h</a></li>
+<li><a class="reference external" href="ppb__host__resolver_8h.html">ppb_host_resolver.h</a></li>
+<li><a class="reference external" href="ppb__image__data_8h.html">ppb_image_data.h</a></li>
+<li><a class="reference external" href="ppb__input__event_8h.html">ppb_input_event.h</a></li>
+<li><a class="reference external" href="ppb__instance_8h.html">ppb_instance.h</a></li>
+<li><a class="reference external" href="ppb__message__loop_8h.html">ppb_message_loop.h</a></li>
+<li><a class="reference external" href="ppb__messaging_8h.html">ppb_messaging.h</a></li>
+<li><a class="reference external" href="ppb__mouse__cursor_8h.html">ppb_mouse_cursor.h</a></li>
+<li><a class="reference external" href="ppb__mouse__lock_8h.html">ppb_mouse_lock.h</a></li>
+<li><a class="reference external" href="ppb__net__address_8h.html">ppb_net_address.h</a></li>
+<li><a class="reference external" href="ppb__network__list_8h.html">ppb_network_list.h</a></li>
+<li><a class="reference external" href="ppb__network__monitor_8h.html">ppb_network_monitor.h</a></li>
+<li><a class="reference external" href="ppb__network__proxy_8h.html">ppb_network_proxy.h</a></li>
+<li><a class="reference external" href="ppb__tcp__socket_8h.html">ppb_tcp_socket.h</a></li>
+<li><a class="reference external" href="ppb__text__input__controller_8h.html">ppb_text_input_controller.h</a></li>
+<li><a class="reference external" href="ppb__udp__socket_8h.html">ppb_udp_socket.h</a></li>
+<li><a class="reference external" href="ppb__url__loader_8h.html">ppb_url_loader.h</a></li>
+<li><a class="reference external" href="ppb__url__request__info_8h.html">ppb_url_request_info.h</a></li>
+<li><a class="reference external" href="ppb__url__response__info_8h.html">ppb_url_response_info.h</a></li>
+<li><a class="reference external" href="ppb__var_8h.html">ppb_var.h</a></li>
+<li><a class="reference external" href="ppb__var__array_8h.html">ppb_var_array.h</a></li>
+<li><a class="reference external" href="ppb__var__array__buffer_8h.html">ppb_var_array_buffer.h</a></li>
+<li><a class="reference external" href="ppb__var__dictionary_8h.html">ppb_var_dictionary.h</a></li>
+<li><a class="reference external" href="ppb__view_8h.html">ppb_view.h</a></li>
+<li><a class="reference external" href="ppb__websocket_8h.html">ppb_websocket.h</a></li>
+<li><a class="reference external" href="ppp_8h.html">ppp.h</a></li>
+<li><a class="reference external" href="ppp__graphics__3d_8h.html">ppp_graphics_3d.h</a></li>
+<li><a class="reference external" href="ppp__input__event_8h.html">ppp_input_event.h</a></li>
+<li><a class="reference external" href="ppp__instance_8h.html">ppp_instance.h</a></li>
+<li><a class="reference external" href="ppp__messaging_8h.html">ppp_messaging.h</a></li>
+<li><a class="reference external" href="ppp__mouse__lock_8h.html">ppp_mouse_lock.h</a></li>
+</ul>
+</div></blockquote>
+</section></section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/index.rst b/native_client_sdk/doc_generated/pepper_beta/c/index.rst
new file mode 100644
index 0000000..c08d1e6
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/index.rst
@@ -0,0 +1,283 @@
+.. _pepper_beta_c_index:
+
+.. DO NOT EDIT! This document is auto-generated by doxygen/rst_index.py.
+
+##########################################
+Pepper C API Reference (Beta)
+##########################################
+
+This page lists the C API for Pepper 33. Apps that use this API can
+run in Chrome 33 or higher.
+
+`Interfaces <group___interfaces.html>`_
+=======================================
+ * `PPB_Audio <struct_p_p_b___audio__1__1.html>`_
+
+ * `PPB_AudioConfig <struct_p_p_b___audio_config__1__1.html>`_
+
+ * `PPB_Console <struct_p_p_b___console__1__0.html>`_
+
+ * `PPB_Core <struct_p_p_b___core__1__0.html>`_
+
+ * `PPB_FileIO <struct_p_p_b___file_i_o__1__1.html>`_
+
+ * `PPB_FileRef <struct_p_p_b___file_ref__1__1.html>`_
+
+ * `PPB_FileSystem <struct_p_p_b___file_system__1__0.html>`_
+
+ * `PPB_Fullscreen <struct_p_p_b___fullscreen__1__0.html>`_
+
+ * `PPB_Gamepad <struct_p_p_b___gamepad__1__0.html>`_
+
+ * `PPB_Graphics2D <struct_p_p_b___graphics2_d__1__1.html>`_
+
+ * `PPB_Graphics3D <struct_p_p_b___graphics3_d__1__0.html>`_
+
+ * `PPB_HostResolver <struct_p_p_b___host_resolver__1__0.html>`_
+
+ * `PPB_IMEInputEvent <struct_p_p_b___i_m_e_input_event__1__0.html>`_
+
+ * `PPB_ImageData <struct_p_p_b___image_data__1__0.html>`_
+
+ * `PPB_InputEvent <struct_p_p_b___input_event__1__0.html>`_
+
+ * `PPB_Instance <struct_p_p_b___instance__1__0.html>`_
+
+ * `PPB_KeyboardInputEvent <struct_p_p_b___keyboard_input_event__1__0.html>`_
+
+ * `PPB_MessageLoop <struct_p_p_b___message_loop__1__0.html>`_
+
+ * `PPB_Messaging <struct_p_p_b___messaging__1__0.html>`_
+
+ * `PPB_MouseCursor <struct_p_p_b___mouse_cursor__1__0.html>`_
+
+ * `PPB_MouseInputEvent <struct_p_p_b___mouse_input_event__1__1.html>`_
+
+ * `PPB_MouseLock <struct_p_p_b___mouse_lock__1__0.html>`_
+
+ * `PPB_NetAddress <struct_p_p_b___net_address__1__0.html>`_
+
+ * `PPB_NetworkList <struct_p_p_b___network_list__1__0.html>`_
+
+ * `PPB_NetworkMonitor <struct_p_p_b___network_monitor__1__0.html>`_
+
+ * `PPB_NetworkProxy <struct_p_p_b___network_proxy__1__0.html>`_
+
+ * `PPB_TCPSocket <struct_p_p_b___t_c_p_socket__1__1.html>`_
+
+ * `PPB_TextInputController <struct_p_p_b___text_input_controller__1__0.html>`_
+
+ * `PPB_TouchInputEvent <struct_p_p_b___touch_input_event__1__0.html>`_
+
+ * `PPB_UDPSocket <struct_p_p_b___u_d_p_socket__1__0.html>`_
+
+ * `PPB_URLLoader <struct_p_p_b___u_r_l_loader__1__0.html>`_
+
+ * `PPB_URLRequestInfo <struct_p_p_b___u_r_l_request_info__1__0.html>`_
+
+ * `PPB_URLResponseInfo <struct_p_p_b___u_r_l_response_info__1__0.html>`_
+
+ * `PPB_Var <struct_p_p_b___var__1__1.html>`_
+
+ * `PPB_VarArray <struct_p_p_b___var_array__1__0.html>`_
+
+ * `PPB_VarArrayBuffer <struct_p_p_b___var_array_buffer__1__0.html>`_
+
+ * `PPB_VarDictionary <struct_p_p_b___var_dictionary__1__0.html>`_
+
+ * `PPB_View <struct_p_p_b___view__1__1.html>`_
+
+ * `PPB_WebSocket <struct_p_p_b___web_socket__1__0.html>`_
+
+ * `PPB_WheelInputEvent <struct_p_p_b___wheel_input_event__1__0.html>`_
+
+ * `PPP_Graphics3D <struct_p_p_p___graphics3_d__1__0.html>`_
+
+ * `PPP_InputEvent <struct_p_p_p___input_event__0__1.html>`_
+
+ * `PPP_Instance <struct_p_p_p___instance__1__1.html>`_
+
+ * `PPP_Messaging <struct_p_p_p___messaging__1__0.html>`_
+
+ * `PPP_MouseLock <struct_p_p_p___mouse_lock__1__0.html>`_
+
+
+`Structures <group___structs.html>`_
+====================================
+ * `PP_ArrayOutput <struct_p_p___array_output.html>`_
+
+ * `PP_CompletionCallback <struct_p_p___completion_callback.html>`_
+
+ * `PP_DirectoryEntry <struct_p_p___directory_entry.html>`_
+
+ * `PP_FileInfo <struct_p_p___file_info.html>`_
+
+ * `PP_FloatPoint <struct_p_p___float_point.html>`_
+
+ * `PP_GamepadSampleData <struct_p_p___gamepad_sample_data.html>`_
+
+ * `PP_GamepadsSampleData <struct_p_p___gamepads_sample_data.html>`_
+
+ * `PP_HostResolver_Hint <struct_p_p___host_resolver___hint.html>`_
+
+ * `PP_ImageDataDesc <struct_p_p___image_data_desc.html>`_
+
+ * `PP_InputEvent_Character <struct_p_p___input_event___character.html>`_
+
+ * `PP_InputEvent_Key <struct_p_p___input_event___key.html>`_
+
+ * `PP_InputEvent_Mouse <struct_p_p___input_event___mouse.html>`_
+
+ * `PP_InputEvent_Wheel <struct_p_p___input_event___wheel.html>`_
+
+ * `PP_NetAddress_IPv4 <struct_p_p___net_address___i_pv4.html>`_
+
+ * `PP_NetAddress_IPv6 <struct_p_p___net_address___i_pv6.html>`_
+
+ * `PP_Point <struct_p_p___point.html>`_
+
+ * `PP_Rect <struct_p_p___rect.html>`_
+
+ * `PP_Size <struct_p_p___size.html>`_
+
+ * `PP_TouchPoint <struct_p_p___touch_point.html>`_
+
+ * `PP_Var <struct_p_p___var.html>`_
+
+ * `PP_VarValue <union_p_p___var_value.html>`_
+
+
+`Functions <group___functions.html>`_
+=====================================
+
+`Enums <group___enums.html>`_
+=============================
+
+`Typedefs <group___typedefs.html>`_
+===================================
+
+`Macros <globals_defs.html>`_
+=============================
+
+Files
+=====
+ * `pp_array_output.h <pp__array__output_8h.html>`_
+
+ * `pp_bool.h <pp__bool_8h.html>`_
+
+ * `pp_completion_callback.h <pp__completion__callback_8h.html>`_
+
+ * `pp_directory_entry.h <pp__directory__entry_8h.html>`_
+
+ * `pp_errors.h <pp__errors_8h.html>`_
+
+ * `pp_file_info.h <pp__file__info_8h.html>`_
+
+ * `pp_graphics_3d.h <pp__graphics__3d_8h.html>`_
+
+ * `pp_input_event.h <pp__input__event_8h.html>`_
+
+ * `pp_instance.h <pp__instance_8h.html>`_
+
+ * `pp_module.h <pp__module_8h.html>`_
+
+ * `pp_point.h <pp__point_8h.html>`_
+
+ * `pp_rect.h <pp__rect_8h.html>`_
+
+ * `pp_resource.h <pp__resource_8h.html>`_
+
+ * `pp_size.h <pp__size_8h.html>`_
+
+ * `pp_stdint.h <pp__stdint_8h.html>`_
+
+ * `pp_time.h <pp__time_8h.html>`_
+
+ * `pp_touch_point.h <pp__touch__point_8h.html>`_
+
+ * `pp_var.h <pp__var_8h.html>`_
+
+ * `ppb.h <ppb_8h.html>`_
+
+ * `ppb_audio.h <ppb__audio_8h.html>`_
+
+ * `ppb_audio_config.h <ppb__audio__config_8h.html>`_
+
+ * `ppb_console.h <ppb__console_8h.html>`_
+
+ * `ppb_core.h <ppb__core_8h.html>`_
+
+ * `ppb_file_io.h <ppb__file__io_8h.html>`_
+
+ * `ppb_file_ref.h <ppb__file__ref_8h.html>`_
+
+ * `ppb_file_system.h <ppb__file__system_8h.html>`_
+
+ * `ppb_fullscreen.h <ppb__fullscreen_8h.html>`_
+
+ * `ppb_gamepad.h <ppb__gamepad_8h.html>`_
+
+ * `ppb_graphics_2d.h <ppb__graphics__2d_8h.html>`_
+
+ * `ppb_graphics_3d.h <ppb__graphics__3d_8h.html>`_
+
+ * `ppb_host_resolver.h <ppb__host__resolver_8h.html>`_
+
+ * `ppb_image_data.h <ppb__image__data_8h.html>`_
+
+ * `ppb_input_event.h <ppb__input__event_8h.html>`_
+
+ * `ppb_instance.h <ppb__instance_8h.html>`_
+
+ * `ppb_message_loop.h <ppb__message__loop_8h.html>`_
+
+ * `ppb_messaging.h <ppb__messaging_8h.html>`_
+
+ * `ppb_mouse_cursor.h <ppb__mouse__cursor_8h.html>`_
+
+ * `ppb_mouse_lock.h <ppb__mouse__lock_8h.html>`_
+
+ * `ppb_net_address.h <ppb__net__address_8h.html>`_
+
+ * `ppb_network_list.h <ppb__network__list_8h.html>`_
+
+ * `ppb_network_monitor.h <ppb__network__monitor_8h.html>`_
+
+ * `ppb_network_proxy.h <ppb__network__proxy_8h.html>`_
+
+ * `ppb_tcp_socket.h <ppb__tcp__socket_8h.html>`_
+
+ * `ppb_text_input_controller.h <ppb__text__input__controller_8h.html>`_
+
+ * `ppb_udp_socket.h <ppb__udp__socket_8h.html>`_
+
+ * `ppb_url_loader.h <ppb__url__loader_8h.html>`_
+
+ * `ppb_url_request_info.h <ppb__url__request__info_8h.html>`_
+
+ * `ppb_url_response_info.h <ppb__url__response__info_8h.html>`_
+
+ * `ppb_var.h <ppb__var_8h.html>`_
+
+ * `ppb_var_array.h <ppb__var__array_8h.html>`_
+
+ * `ppb_var_array_buffer.h <ppb__var__array__buffer_8h.html>`_
+
+ * `ppb_var_dictionary.h <ppb__var__dictionary_8h.html>`_
+
+ * `ppb_view.h <ppb__view_8h.html>`_
+
+ * `ppb_websocket.h <ppb__websocket_8h.html>`_
+
+ * `ppp.h <ppp_8h.html>`_
+
+ * `ppp_graphics_3d.h <ppp__graphics__3d_8h.html>`_
+
+ * `ppp_input_event.h <ppp__input__event_8h.html>`_
+
+ * `ppp_instance.h <ppp__instance_8h.html>`_
+
+ * `ppp_messaging.h <ppp__messaging_8h.html>`_
+
+ * `ppp_mouse_lock.h <ppp__mouse__lock_8h.html>`_
+
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/pp__array__output_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/pp__array__output_8h.html
new file mode 100644
index 0000000..949fb8e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/pp__array__output_8h.html
@@ -0,0 +1,43 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/pp_array_output.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for pp_array_output.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="pp__array__output_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2pp__array__output_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2pp__array__output_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2pp__array__output_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___array_output.html">PP_ArrayOutput</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A structure that defines a way for the browser to return arrays of data to the plugin. <a href="struct_p_p___array_output.html#details">More...</a><br /></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef void *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#gaa363de651fad7342a37ec58375276af7">PP_ArrayOutput_GetDataBuffer</a> )(void *user_data, uint32_t element_count, uint32_t element_size)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>PP_ArrayOutput_GetDataBuffer is a callback function to allocate plugin memory for an array. </p>
+<p>It returns the allocated memory or null on failure.</p>
+<p>This function will be called reentrantly. This means that if you call a function PPB_Foo.GetData(&array_output), GetData will call your GetDataBuffer function before it returns.</p>
+<p>This function will be called even when returning 0-length arrays, so be sure your implementation can support that. You can return NULL for 0 length arrays and it will not be treated as a failure.</p>
+<p>You should not perform any processing in this callback, including calling other PPAPI functions, outside of allocating memory. You should not throw any exceptions. In C++, this means using "new (nothrow)" or being sure to catch any exceptions before returning.</p>
+<p>The C++ wrapper provides a convenient templatized implementation around std::vector which you should generally use instead of coding this specifically.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramname">user_data</td><td>The pointer provided in the <a class="el" href="struct_p_p___array_output.html" title="A structure that defines a way for the browser to return arrays of data to the plugin.">PP_ArrayOutput</a> structure. This has no meaning to the browser, it is intended to be used by the implementation to figure out where to put the data.</td></tr>
+<tr><td class="paramname">element_count</td><td>The number of elements in the array. This will be 0 if there is no data to return.</td></tr>
+<tr><td class="paramname">element_size</td><td>The size of each element in bytes.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns a pointer to the allocated memory. On failure, returns null. You can also return null if the element_count is 0. When a non-null value is returned, the buffer must remain valid until after the callback runs. If used with a blocking callback, the buffer must remain valid until after the function returns. The plugin can then free any memory that it allocated. </dd></dl>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/pp__array__output_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/pp__array__output_8h__incl.png
new file mode 100644
index 0000000..2d528cd3
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/pp__array__output_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/pp__bool_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/pp__bool_8h.html
new file mode 100644
index 0000000..a336658
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/pp__bool_8h.html
@@ -0,0 +1,30 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/pp_bool.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for pp_bool.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="pp__bool_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2pp__bool_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2pp__bool_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2pp__bool_8h">
+</map>
+</div>
+</div><h2>
+Enumerations</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> { <a class="el" href="group___enums.html#gga4f272d99be14aacafe08dfd4ef830918aeb6cdb899071a9ea4695a184bfdc3e81">PP_FALSE</a> = 0,
+<a class="el" href="group___enums.html#gga4f272d99be14aacafe08dfd4ef830918a177ce110df585fe2b468dba9a0eefda5">PP_TRUE</a> = 1
+ }</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PP_Bool</code> enumeration for use in PPAPI C headers. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/pp__bool_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/pp__bool_8h__incl.png
new file mode 100644
index 0000000..92c1003
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/pp__bool_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/pp__completion__callback_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/pp__completion__callback_8h.html
new file mode 100644
index 0000000..aeb90ef31
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/pp__completion__callback_8h.html
@@ -0,0 +1,44 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/pp_completion_callback.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for pp_completion_callback.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="pp__completion__callback_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2pp__completion__callback_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2pp__completion__callback_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2pp__completion__callback_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> is a common mechanism for supporting potentially asynchronous calls in browser interfaces. <a href="struct_p_p___completion_callback.html#details">More...</a><br /></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#ga6fe12e1a41df5e10103a811036d4d8d2">PP_CompletionCallback_Func</a> )(void *user_data, int32_t result)</td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga7610f0fba2396d46384859caa4d91798">PP_CompletionCallback_Flag</a> { <a class="el" href="group___enums.html#gga7610f0fba2396d46384859caa4d91798a6eedc0f315784a4cb47c5806b828c7cc">PP_COMPLETIONCALLBACK_FLAG_NONE</a> = 0 << 0,
+<a class="el" href="group___enums.html#gga7610f0fba2396d46384859caa4d91798aebb176d8930b14219b7966fd93a2e967">PP_COMPLETIONCALLBACK_FLAG_OPTIONAL</a> = 1 << 0
+ }</td></tr>
+</table><h2>
+Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga8691f15edad9b391c3644064ac57f191">PP_MakeCompletionCallback</a> (<a class="el" href="group___typedefs.html#ga6fe12e1a41df5e10103a811036d4d8d2">PP_CompletionCallback_Func</a> func, void *user_data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#gabd6bf83f4c787477631c37d44418c4db">PP_MakeOptionalCompletionCallback</a> (<a class="el" href="group___typedefs.html#ga6fe12e1a41df5e10103a811036d4d8d2">PP_CompletionCallback_Func</a> func, void *user_data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#gaffce49266a735f9ee8d149b14477404f">PP_RunCompletionCallback</a> (struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> *cc, int32_t result)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga340e452b4931d17bd44928769490e282">PP_BlockUntilComplete</a> (void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga8dac45aa496bbb1f97a15e2833d3ed02">PP_RunAndClearCompletionCallback</a> (struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> *cc, int32_t res)</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga7610f0fba2396d46384859caa4d91798">PP_CompletionCallback_Flag</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API to create and run a callback. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/pp__completion__callback_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/pp__completion__callback_8h__incl.png
new file mode 100644
index 0000000..89a098d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/pp__completion__callback_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/pp__directory__entry_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/pp__directory__entry_8h.html
new file mode 100644
index 0000000..89dfc76
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/pp__directory__entry_8h.html
@@ -0,0 +1,28 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/pp_directory_entry.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for pp_directory_entry.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="pp__directory__entry_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2pp__directory__entry_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2pp__directory__entry_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2pp__directory__entry_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___directory_entry.html">PP_DirectoryEntry</a></td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#gad0a3a59c8cb2fb74717c8d23a5d56295">PP_DirectoryEntry</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code><a class="el" href="struct_p_p___directory_entry.html">PP_DirectoryEntry</a></code> struct. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/pp__directory__entry_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/pp__directory__entry_8h__incl.png
new file mode 100644
index 0000000..3b98cea
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/pp__directory__entry_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/pp__errors_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/pp__errors_8h.html
new file mode 100644
index 0000000..dc2a093
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/pp__errors_8h.html
@@ -0,0 +1,71 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/pp_errors.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for pp_errors.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="pp__errors_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2pp__errors_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2pp__errors_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2pp__errors_8h">
+</map>
+</div>
+</div><h2>
+Enumerations</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom">{ <br />
+  <a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba5c394615cfa8eaceba77ecedb65dc9cb">PP_OK</a> = 0,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55baa5f7aa5667dc3eb61dd4f822d1163b29">PP_OK_COMPLETIONPENDING</a> = -1,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba06a8964482e41bf50c45c0d9dd281830">PP_ERROR_FAILED</a> = -2,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba8389cb348aeba81a94b058622f5914af">PP_ERROR_ABORTED</a> = -3,
+<br />
+  <a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba02f23038858b2b1a3c95f1593332503f">PP_ERROR_BADARGUMENT</a> = -4,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba55448d3b2c42d96c7b347a5833df7e76">PP_ERROR_BADRESOURCE</a> = -5,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba7bc23fde1d7408a2d5e0c02fda77a157">PP_ERROR_NOINTERFACE</a> = -6,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55baccd33fd6aa1c9a64b692a615b8099f10">PP_ERROR_NOACCESS</a> = -7,
+<br />
+  <a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba77543198f33b4da09f5431f61be0fdfe">PP_ERROR_NOMEMORY</a> = -8,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55baa52e024aa5d86ea5c2d0e9fe4d4223b1">PP_ERROR_NOSPACE</a> = -9,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba32f8a2ecfc27357c36e8cab62f5f8b60">PP_ERROR_NOQUOTA</a> = -10,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba2eb423e9cc9c19a6a7150b342a0b383a">PP_ERROR_INPROGRESS</a> = -11,
+<br />
+  <a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55babb8fa3e1cb15627f433a049d68e49d5b">PP_ERROR_NOTSUPPORTED</a> = -12,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba282ee581bafd4579a8982a5141793de4">PP_ERROR_BLOCKS_MAIN_THREAD</a> = -13,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba6c1c35f64dd233fc0a46151a82915960">PP_ERROR_FILENOTFOUND</a> = -20,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba325aca7c7d73483de41998329b342ef0">PP_ERROR_FILEEXISTS</a> = -21,
+<br />
+  <a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55bac0eab80ff249433a206cd93e34d1e965">PP_ERROR_FILETOOBIG</a> = -22,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55baa2e274f5a24c62f7ebf50ef2e2dd98a6">PP_ERROR_FILECHANGED</a> = -23,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55baf216de52da5770d56ba7e483974ec209">PP_ERROR_NOTAFILE</a> = -24,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba53382f01745b691ba6f91c65b6059953">PP_ERROR_TIMEDOUT</a> = -30,
+<br />
+  <a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba3f20bb850c408a7e05fbc9ce42a8e999">PP_ERROR_USERCANCEL</a> = -40,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba8c428198d142124ef0c99eb8e8572491">PP_ERROR_NO_USER_GESTURE</a> = -41,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba7469b76adbd5e8e931314160093a9e1a">PP_ERROR_CONTEXT_LOST</a> = -50,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55baf907cc8f39ca083a5cad188fb808fc0f">PP_ERROR_NO_MESSAGE_LOOP</a> = -51,
+<br />
+  <a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55bae18e92e98e2dd0d106b49387af13c997">PP_ERROR_WRONG_THREAD</a> = -52,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55babbc1f7cf46e1746ce232e4655191630e">PP_ERROR_CONNECTION_CLOSED</a> = -100,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55bac7e0cbefef9315c63c0d7858d0fc4c01">PP_ERROR_CONNECTION_RESET</a> = -101,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55bab3873811c2f684a437a2efa3133d3452">PP_ERROR_CONNECTION_REFUSED</a> = -102,
+<br />
+  <a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55baf86ee9c96af9f4c315ac6458b6638f27">PP_ERROR_CONNECTION_ABORTED</a> = -103,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55bacd6d028056cb3596b966682edb6effcf">PP_ERROR_CONNECTION_FAILED</a> = -104,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba49150f7eacf465fc552e751ac521b4ae">PP_ERROR_CONNECTION_TIMEDOUT</a> = -105,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55baa13c10929736aa23a8056ee33dcd23e5">PP_ERROR_ADDRESS_INVALID</a> = -106,
+<br />
+  <a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba4304630fb13c40107ed6da9e5b764003">PP_ERROR_ADDRESS_UNREACHABLE</a> = -107,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55bafb9e232a63a5787ec0445ee9cc7fc7c2">PP_ERROR_ADDRESS_IN_USE</a> = -108,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba679d405ff44d259db51dfc6f312b465f">PP_ERROR_MESSAGE_TOO_BIG</a> = -109,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba74c1a24f06288fc63221631ba6a2a7b6">PP_ERROR_NAME_NOT_RESOLVED</a> = -110
+<br />
+ }</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines an enumeration of all PPAPI error codes. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/pp__errors_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/pp__errors_8h__incl.png
new file mode 100644
index 0000000..1a89b82
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/pp__errors_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/pp__file__info_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/pp__file__info_8h.html
new file mode 100644
index 0000000..b4bbd1f
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/pp__file__info_8h.html
@@ -0,0 +1,46 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/pp_file_info.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for pp_file_info.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="pp__file__info_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2pp__file__info_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2pp__file__info_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2pp__file__info_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___file_info.html">PP_FileInfo</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="struct_p_p___file_info.html" title="The PP_FileInfo struct represents all information about a file, such as size, type, and creation time.">PP_FileInfo</a></code> struct represents all information about a file, such as size, type, and creation time. <a href="struct_p_p___file_info.html#details">More...</a><br /></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga36f6dfbe9c1e98540c5247f790746427">PP_FileType</a> { <a class="el" href="group___enums.html#gga36f6dfbe9c1e98540c5247f790746427acd0d93632365573bba7774b7fe0c62fd">PP_FILETYPE_REGULAR</a> = 0,
+<a class="el" href="group___enums.html#gga36f6dfbe9c1e98540c5247f790746427a81b606e1444df5fb838a692f891fbde9">PP_FILETYPE_DIRECTORY</a> = 1,
+<a class="el" href="group___enums.html#gga36f6dfbe9c1e98540c5247f790746427a9e3863ab973d8643dcc96708f55df880">PP_FILETYPE_OTHER</a> = 2
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga87b353f2ec8935c9c3294daff612c145">PP_FileSystemType</a> { <br />
+  <a class="el" href="group___enums.html#gga87b353f2ec8935c9c3294daff612c145a48e7bd0df8bd086812085be972e963a0">PP_FILESYSTEMTYPE_INVALID</a> = 0,
+<a class="el" href="group___enums.html#gga87b353f2ec8935c9c3294daff612c145aa21f18053ba5b3594a0b5373074742c2">PP_FILESYSTEMTYPE_EXTERNAL</a> = 1,
+<a class="el" href="group___enums.html#gga87b353f2ec8935c9c3294daff612c145a4c51625a4c977d3fab0c4dd28127603c">PP_FILESYSTEMTYPE_LOCALPERSISTENT</a> = 2,
+<a class="el" href="group___enums.html#gga87b353f2ec8935c9c3294daff612c145abefda8d47a5cd9b8918f012c34496ca9">PP_FILESYSTEMTYPE_LOCALTEMPORARY</a> = 3,
+<br />
+  <a class="el" href="group___enums.html#gga87b353f2ec8935c9c3294daff612c145aeceec88ea91ee70c499ff39119dd33b5">PP_FILESYSTEMTYPE_ISOLATED</a> = 4
+<br />
+ }</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga36f6dfbe9c1e98540c5247f790746427">PP_FileType</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga87b353f2ec8935c9c3294daff612c145">PP_FileSystemType</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#gad224cb61c5859f6655b274eff7328664">PP_FileInfo</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines three enumerations for use in the PPAPI C file IO APIs. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/pp__file__info_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/pp__file__info_8h__incl.png
new file mode 100644
index 0000000..e5f3aea
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/pp__file__info_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/pp__graphics__3d_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/pp__graphics__3d_8h.html
new file mode 100644
index 0000000..e4fa0c4
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/pp__graphics__3d_8h.html
@@ -0,0 +1,51 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/pp_graphics_3d.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for pp_graphics_3d.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="pp__graphics__3d_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2pp__graphics__3d_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2pp__graphics__3d_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2pp__graphics__3d_8h">
+</map>
+</div>
+</div><h2>
+Enumerations</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga7df48e1c55f6401beea2a1b9c07967e8">PP_Graphics3DAttrib</a> { <br />
+  <a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8aac0fc60be37c86f193fb535bedb09458">PP_GRAPHICS3DATTRIB_ALPHA_SIZE</a> = 0x3021,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a519cd199423721033780ee13ecb0e60b">PP_GRAPHICS3DATTRIB_BLUE_SIZE</a> = 0x3022,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8ade95a6e685ca23522da80c1703d294a7">PP_GRAPHICS3DATTRIB_GREEN_SIZE</a> = 0x3023,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a7caad99c8c857fdb804c6755551398f5">PP_GRAPHICS3DATTRIB_RED_SIZE</a> = 0x3024,
+<br />
+  <a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8ab594f7ae52f23b7b0609797c06cf7cf8">PP_GRAPHICS3DATTRIB_DEPTH_SIZE</a> = 0x3025,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8acc0e34bee390933357c7386391faeac0">PP_GRAPHICS3DATTRIB_STENCIL_SIZE</a> = 0x3026,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a98c1bf99b329be847d53f4eb651b4a63">PP_GRAPHICS3DATTRIB_SAMPLES</a> = 0x3031,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a8bccea594213dbdd1750f97f3b187047">PP_GRAPHICS3DATTRIB_SAMPLE_BUFFERS</a> = 0x3032,
+<br />
+  <a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a66b15e43e8159f71751be033d44fda21">PP_GRAPHICS3DATTRIB_NONE</a> = 0x3038,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8ac37b92e8426753d7a24d0cf193a5923d">PP_GRAPHICS3DATTRIB_HEIGHT</a> = 0x3056,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a378f15587369cdefbcf565bc8f15db2c">PP_GRAPHICS3DATTRIB_WIDTH</a> = 0x3057,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a03d8a647ddb24105718bcb91b8f972fd">PP_GRAPHICS3DATTRIB_SWAP_BEHAVIOR</a> = 0x3093,
+<br />
+  <a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a46b174aaf7b91e26cc2a014268e65512">PP_GRAPHICS3DATTRIB_BUFFER_PRESERVED</a> = 0x3094,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a8aa6eff69c6b613b0a65803fa75d48fb">PP_GRAPHICS3DATTRIB_BUFFER_DESTROYED</a> = 0x3095,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a48ed49219981a01405e97eb414c89fec">PP_GRAPHICS3DATTRIB_GPU_PREFERENCE</a> = 0x11000,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a4295d8750ae536c3aed03d794429e336">PP_GRAPHICS3DATTRIB_GPU_PREFERENCE_LOW_POWER</a> = 0x11001,
+<br />
+  <a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a1a7563ae755ca52d429302a35930201a">PP_GRAPHICS3DATTRIB_GPU_PREFERENCE_PERFORMANCE</a> = 0x11002
+<br />
+ }</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga7df48e1c55f6401beea2a1b9c07967e8">PP_Graphics3DAttrib</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PP_Graphics3DAttrib</code> enumeration for use in PPAPI C headers. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/pp__graphics__3d_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/pp__graphics__3d_8h__incl.png
new file mode 100644
index 0000000..01aa7ac
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/pp__graphics__3d_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/pp__input__event_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/pp__input__event_8h.html
new file mode 100644
index 0000000..0b31239
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/pp__input__event_8h.html
@@ -0,0 +1,38 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/pp_input_event.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for pp_input_event.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="pp__input__event_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2pp__input__event_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2pp__input__event_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2pp__input__event_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___key.html">PP_InputEvent_Key</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="struct_p_p___input_event___key.html" title="The PP_InputEvent_Key struct represents a key up or key down event.">PP_InputEvent_Key</a></code> struct represents a key up or key down event. <a href="struct_p_p___input_event___key.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___character.html">PP_InputEvent_Character</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="struct_p_p___input_event___character.html" title="The PP_InputEvent_Character struct represents a typed character event.">PP_InputEvent_Character</a></code> struct represents a typed character event. <a href="struct_p_p___input_event___character.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___mouse.html">PP_InputEvent_Mouse</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="struct_p_p___input_event___mouse.html" title="The PP_InputEvent_Mouse struct represents all mouse events except mouse wheel events.">PP_InputEvent_Mouse</a></code> struct represents all mouse events except mouse wheel events. <a href="struct_p_p___input_event___mouse.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___wheel.html">PP_InputEvent_Wheel</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="struct_p_p___input_event___wheel.html" title="The PP_InputEvent_Wheel struct represents all mouse wheel events.">PP_InputEvent_Wheel</a></code> struct represents all mouse wheel events. <a href="struct_p_p___input_event___wheel.html#details">More...</a><br /></td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga91c5483306ded19bced2063169de99f8">PP_InputEvent_Key</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga6d1b875e2ae53ba8ee90e10505df6b7e">PP_InputEvent_Character</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga26c37abe55715f606e0a2c91867d051c">PP_InputEvent_Mouse</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga3fe74ccc6894bb133b39df77f96322cf">PP_InputEvent_Wheel</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API used to handle mouse and keyboard input events. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/pp__input__event_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/pp__input__event_8h__incl.png
new file mode 100644
index 0000000..2e50323
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/pp__input__event_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/pp__instance_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/pp__instance_8h.html
new file mode 100644
index 0000000..1a6c11e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/pp__instance_8h.html
@@ -0,0 +1,25 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/pp_instance.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for pp_instance.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="pp__instance_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2pp__instance_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2pp__instance_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2pp__instance_8h">
+</map>
+</div>
+</div><h2>
+Typedefs</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">typedef int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the PP_Instance type which uniquely identifies one module instance. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/pp__instance_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/pp__instance_8h__incl.png
new file mode 100644
index 0000000..2a0831e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/pp__instance_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/pp__module_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/pp__module_8h.html
new file mode 100644
index 0000000..d598e5e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/pp__module_8h.html
@@ -0,0 +1,25 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/pp_module.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for pp_module.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="pp__module_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2pp__module_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2pp__module_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2pp__module_8h">
+</map>
+</div>
+</div><h2>
+Typedefs</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">typedef int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#gab780dd451cd7f51284cb752edd88f9a0">PP_Module</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the PP_Module type which uniquely identifies the module or .nexe. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/pp__module_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/pp__module_8h__incl.png
new file mode 100644
index 0000000..776bc26
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/pp__module_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/pp__point_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/pp__point_8h.html
new file mode 100644
index 0000000..0af5dae
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/pp__point_8h.html
@@ -0,0 +1,37 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/pp_point.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for pp_point.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="pp__point_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2pp__point_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2pp__point_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2pp__point_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___point.html">PP_Point</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="struct_p_p___point.html" title="The PP_Point structure defines the integer x and y coordinates of a point.">PP_Point</a> structure defines the integer x and y coordinates of a point. <a href="struct_p_p___point.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___float_point.html">PP_FloatPoint</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="struct_p_p___float_point.html" title="The PP_FloatPoint structure defines the floating-point x and y coordinates of a point.">PP_FloatPoint</a> structure defines the floating-point x and y coordinates of a point. <a href="struct_p_p___float_point.html#details">More...</a><br /></td></tr>
+</table><h2>
+Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___point.html">PP_Point</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga15880e8085178758053cc521af33b250">PP_MakePoint</a> (int32_t x, int32_t y)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___float_point.html">PP_FloatPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga0aca79088546fe91d13c97db9033e709">PP_MakeFloatPoint</a> (float x, float y)</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga501da0561777e3fef2c08aa9b7400cc0">PP_Point</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga2bfb71399c8dac2aba417b75459100bd">PP_FloatPoint</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API to create a 2 dimensional point. </p>
+<p>0,0 is the upper-left starting coordinate. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/pp__point_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/pp__point_8h__incl.png
new file mode 100644
index 0000000..2b19eeb
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/pp__point_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/pp__rect_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/pp__rect_8h.html
new file mode 100644
index 0000000..8e6f0969
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/pp__rect_8h.html
@@ -0,0 +1,32 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/pp_rect.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for pp_rect.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="pp__rect_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2pp__rect_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2pp__rect_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2pp__rect_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___rect.html">PP_Rect</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="struct_p_p___rect.html" title="The PP_Rect struct contains the size and location of a 2D rectangle.">PP_Rect</a></code> struct contains the size and location of a 2D rectangle. <a href="struct_p_p___rect.html#details">More...</a><br /></td></tr>
+</table><h2>
+Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___rect.html">PP_Rect</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#gaf868e2929269ef195241b79a015fcf61">PP_MakeRectFromXYWH</a> (int32_t x, int32_t y, int32_t w, int32_t h)</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#gaa91d0179e9f1f1bd3b6f3415f75c9ff1">PP_Rect</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the APIs for creating a 2 dimensional rectangle. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/pp__rect_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/pp__rect_8h__incl.png
new file mode 100644
index 0000000..28843ecd
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/pp__rect_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/pp__resource_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/pp__resource_8h.html
new file mode 100644
index 0000000..72a87c7
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/pp__resource_8h.html
@@ -0,0 +1,25 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/pp_resource.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for pp_resource.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="pp__resource_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2pp__resource_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2pp__resource_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2pp__resource_8h">
+</map>
+</div>
+</div><h2>
+Typedefs</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">typedef int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PP_Resource</code> type which represents data associated with the module. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/pp__resource_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/pp__resource_8h__incl.png
new file mode 100644
index 0000000..73a6904e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/pp__resource_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/pp__size_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/pp__size_8h.html
new file mode 100644
index 0000000..867116d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/pp__size_8h.html
@@ -0,0 +1,32 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/pp_size.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for pp_size.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="pp__size_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2pp__size_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2pp__size_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2pp__size_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___size.html">PP_Size</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="struct_p_p___size.html" title="The PP_Size struct contains the size of a 2D rectangle.">PP_Size</a></code> struct contains the size of a 2D rectangle. <a href="struct_p_p___size.html#details">More...</a><br /></td></tr>
+</table><h2>
+Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___size.html">PP_Size</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga35a97e64d18402d8feff46722b98beb0">PP_MakeSize</a> (int32_t w, int32_t h)</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#gafd4a54f9a36c0825eef612e150b50421">PP_Size</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the width and height of a 2D rectangle. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/pp__size_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/pp__size_8h__incl.png
new file mode 100644
index 0000000..116d3a2
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/pp__size_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/pp__stdint_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/pp__stdint_8h.html
new file mode 100644
index 0000000..b3c028a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/pp__stdint_8h.html
@@ -0,0 +1,21 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/pp_stdint.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for pp_stdint.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="pp__stdint_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2pp__stdint_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2pp__stdint_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2pp__stdint_8h">
+</map>
+</div>
+</div><hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file provides a definition of C99 sized types for Microsoft compilers. </p>
+<p>These definitions only apply for trusted modules. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/pp__stdint_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/pp__stdint_8h__incl.png
new file mode 100644
index 0000000..f0ca2e5b
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/pp__stdint_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/pp__time_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/pp__time_8h.html
new file mode 100644
index 0000000..f7536b4
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/pp__time_8h.html
@@ -0,0 +1,27 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/pp_time.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for pp_time.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="pp__time_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2pp__time_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2pp__time_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2pp__time_8h">
+</map>
+</div>
+</div><h2>
+Typedefs</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">typedef double </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef double </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#ga71cb1042cdeb38d7881b121f3b09ce94">PP_TimeTicks</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef double </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#ga3962a5355895925a757f613567e422fa">PP_TimeDelta</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines time, time ticks and time delta types. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/pp__time_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/pp__time_8h__incl.png
new file mode 100644
index 0000000..0d7c25b
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/pp__time_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/pp__touch__point_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/pp__touch__point_8h.html
new file mode 100644
index 0000000..f884267
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/pp__touch__point_8h.html
@@ -0,0 +1,32 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/pp_touch_point.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for pp_touch_point.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="pp__touch__point_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2pp__touch__point_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2pp__touch__point_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2pp__touch__point_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___touch_point.html">PP_TouchPoint</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="struct_p_p___touch_point.html" title="The PP_TouchPoint struct represents all information about a single touch point, such as position...">PP_TouchPoint</a></code> struct represents all information about a single touch point, such as position, id, rotation angle, and pressure. <a href="struct_p_p___touch_point.html#details">More...</a><br /></td></tr>
+</table><h2>
+Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___touch_point.html">PP_TouchPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#gae7f6d41cbb173c12f474242c2a3bf5e7">PP_MakeTouchPoint</a> (void)</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#gafa28da9c7da0da3d7c5cdd57b4485436">PP_TouchPoint</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API to create a touch point or position where fingers makes contact with touch screen device. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/pp__touch__point_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/pp__touch__point_8h__incl.png
new file mode 100644
index 0000000..9a3133d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/pp__touch__point_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/pp__var_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/pp__var_8h.html
new file mode 100644
index 0000000..9d3f1a5
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/pp__var_8h.html
@@ -0,0 +1,57 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/pp_var.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for pp_var.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="pp__var_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2pp__var_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2pp__var_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2pp__var_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">union  </td><td class="memItemRight" valign="bottom"><a class="el" href="union_p_p___var_value.html">PP_VarValue</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="union_p_p___var_value.html" title="The PP_VarValue union stores the data for any one of the types listed in the PP_VarType enum...">PP_VarValue</a> union stores the data for any one of the types listed in the PP_VarType enum. <a href="union_p_p___var_value.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___var.html">PP_Var</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PP_VAR</code> struct is a variant data type and can contain any value of one of the types named in the <code>PP_VarType</code> enum. <a href="struct_p_p___var.html#details">More...</a><br /></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga9815041477d810724e44da862f9852ed">PP_VarType</a> { <br />
+  <a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852eda499cc75cc2a3a16632b6f0e38172fce7">PP_VARTYPE_UNDEFINED</a> = 0,
+<a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852edabfa22cf2659270ee5d4c1ff4eabf6e67">PP_VARTYPE_NULL</a> = 1,
+<a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852edad1a70cd8b8b8b815687c3234f40513b5">PP_VARTYPE_BOOL</a> = 2,
+<a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852eda40a4a8c45ec7629e3093eb93b9ff1556">PP_VARTYPE_INT32</a> = 3,
+<br />
+  <a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852eda26caea042c1cb14ff640f7aec3f2af90">PP_VARTYPE_DOUBLE</a> = 4,
+<a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852eda079c1c085b9b0f1b076807a0eb5ba6bd">PP_VARTYPE_STRING</a> = 5,
+<a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852eda7060b95352ff46ed2f0144e08cc949cc">PP_VARTYPE_OBJECT</a> = 6,
+<a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852eda50df125d91ade69f5b2de4d08427508c">PP_VARTYPE_ARRAY</a> = 7,
+<br />
+  <a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852edae44188e85906d83c2f52f34aa5b38687">PP_VARTYPE_DICTIONARY</a> = 8,
+<a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852eda363024b8067811f2f2f42f969be44529">PP_VARTYPE_ARRAY_BUFFER</a> = 9,
+<a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852eda898e69540595e8b95681d850ddecc7f1">PP_VARTYPE_RESOURCE</a> = 10
+<br />
+ }</td></tr>
+</table><h2>
+Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga0edc8314fc1a92f93dd3d0eab286cb5d">PP_MakeUndefined</a> (void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga75f83ac65ccbf57866d52d45cd5792e7">PP_MakeNull</a> (void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga0fba11ae90d57086064d41b0af710253">PP_MakeBool</a> (<a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> value)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#gad14a59fa681d4cc532b3d49c0438f0ca">PP_MakeInt32</a> (int32_t value)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#gafbebaae212cb7e737efc56eea0e785b5">PP_MakeDouble</a> (double value)</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga9815041477d810724e44da862f9852ed">PP_VarType</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga7c0f59e0d0c137b8390435582dc8e54d">PP_Var</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API for handling the passing of data types between your module and the page. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/pp__var_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/pp__var_8h__incl.png
new file mode 100644
index 0000000..31b43d1
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/pp__var_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/ppb_8h.html
new file mode 100644
index 0000000..0670fc73
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb_8h.html
@@ -0,0 +1,25 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/ppb.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb_8h">
+</map>
+</div>
+</div><h2>
+Typedefs</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">typedef const void *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#ga68ad7c927b86e0c29d890603edd33154">PPB_GetInterface</a> )(const char *interface_name)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines a function pointer type for the <code>PPB_GetInterface</code> function. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/ppb_8h__incl.png
new file mode 100644
index 0000000..9d86b9b
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__audio_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/ppb__audio_8h.html
new file mode 100644
index 0000000..e944456
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__audio_8h.html
@@ -0,0 +1,59 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/ppb_audio.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_audio.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__audio_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__audio_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__audio_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__audio_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio__1__1.html">PPB_Audio</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_Audio</code> interface contains pointers to several functions for handling audio resources. <a href="struct_p_p_b___audio__1__1.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__audio_8h.html#a05e57cf808f3ccd4467019e20832f28d">PPB_AUDIO_INTERFACE</a>   "PPB_Audio;1.1"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__audio_8h.html#a7d9614327b9f7d6e145eabd5bf2c4ad1">PPB_AUDIO_INTERFACE</a>   <a class="el" href="ppb__audio_8h.html#a05e57cf808f3ccd4467019e20832f28d">PPB_AUDIO_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#ga2ec91970f3cb75769ce631b3b732803e">PPB_Audio_Callback</a> )(void *sample_buffer, uint32_t buffer_size_in_bytes, <a class="el" href="group___typedefs.html#ga3962a5355895925a757f613567e422fa">PP_TimeDelta</a> latency, void *user_data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___audio__1__1.html">PPB_Audio</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaa420ab6e5eec1d780700bb505fe7d7f5">PPB_Audio</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_Audio</code> interface, which provides realtime stereo audio streaming capabilities. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a7d9614327b9f7d6e145eabd5bf2c4ad1"></a><!-- doxytag: member="ppb_audio.h::PPB_AUDIO_INTERFACE" ref="a7d9614327b9f7d6e145eabd5bf2c4ad1" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__audio_8h.html#a7d9614327b9f7d6e145eabd5bf2c4ad1">PPB_AUDIO_INTERFACE</a>   <a class="el" href="ppb__audio_8h.html#a05e57cf808f3ccd4467019e20832f28d">PPB_AUDIO_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a05e57cf808f3ccd4467019e20832f28d"></a><!-- doxytag: member="ppb_audio.h::PPB_AUDIO_INTERFACE" ref="a05e57cf808f3ccd4467019e20832f28d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__audio_8h.html#a05e57cf808f3ccd4467019e20832f28d">PPB_AUDIO_INTERFACE</a>   "PPB_Audio;1.1"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__audio_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/ppb__audio_8h__incl.png
new file mode 100644
index 0000000..8a1f8b5
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__audio_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__audio__config_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/ppb__audio__config_8h.html
new file mode 100644
index 0000000..91b47a8
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__audio__config_8h.html
@@ -0,0 +1,70 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/ppb_audio_config.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_audio_config.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__audio__config_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__audio__config_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__audio__config_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__audio__config_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio_config__1__1.html">PPB_AudioConfig</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_AudioConfig</code> interface contains pointers to several functions for establishing your audio configuration within the browser. <a href="struct_p_p_b___audio_config__1__1.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__audio__config_8h.html#ae25decba5eb6b3f71b9e36bd8dcdcda7">PPB_AUDIO_CONFIG_INTERFACE</a>   "PPB_AudioConfig;1.1"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__audio__config_8h.html#a96fc67cc118c99f3c685f9fcc79d88ac">PPB_AUDIO_CONFIG_INTERFACE</a>   <a class="el" href="ppb__audio__config_8h.html#ae25decba5eb6b3f71b9e36bd8dcdcda7">PPB_AUDIO_CONFIG_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___audio_config__1__1.html">PPB_AudioConfig</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga6c784ebe92dee70d03a685298a8b8345">PPB_AudioConfig</a></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___enums.html#ggadf764cbdea00d65edcd07bb9953ad2b7a9bf932735e301eeecf183a9defc378b3">PP_AUDIOMINSAMPLEFRAMECOUNT</a> = 64,
+<a class="el" href="group___enums.html#ggadf764cbdea00d65edcd07bb9953ad2b7a335c882fde010a0515ec5678a7003ce4">PP_AUDIOMAXSAMPLEFRAMECOUNT</a> = 32768
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gaee750c350655f2fb0fe04c04029e0ff8">PP_AudioSampleRate</a> { <a class="el" href="group___enums.html#ggaee750c350655f2fb0fe04c04029e0ff8a3028e109c6005f2e9ffd635f92ef3324">PP_AUDIOSAMPLERATE_NONE</a> = 0,
+<a class="el" href="group___enums.html#ggaee750c350655f2fb0fe04c04029e0ff8ac6d1056f50ebe082622d3250def41a54">PP_AUDIOSAMPLERATE_44100</a> = 44100,
+<a class="el" href="group___enums.html#ggaee750c350655f2fb0fe04c04029e0ff8a0a3ddad3c00d75e1c57a245e599727cd">PP_AUDIOSAMPLERATE_48000</a> = 48000
+ }</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gaee750c350655f2fb0fe04c04029e0ff8">PP_AudioSampleRate</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the PPB_AudioConfig interface for establishing an audio configuration resource within the browser. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a96fc67cc118c99f3c685f9fcc79d88ac"></a><!-- doxytag: member="ppb_audio_config.h::PPB_AUDIO_CONFIG_INTERFACE" ref="a96fc67cc118c99f3c685f9fcc79d88ac" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__audio__config_8h.html#a96fc67cc118c99f3c685f9fcc79d88ac">PPB_AUDIO_CONFIG_INTERFACE</a>   <a class="el" href="ppb__audio__config_8h.html#ae25decba5eb6b3f71b9e36bd8dcdcda7">PPB_AUDIO_CONFIG_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ae25decba5eb6b3f71b9e36bd8dcdcda7"></a><!-- doxytag: member="ppb_audio_config.h::PPB_AUDIO_CONFIG_INTERFACE" ref="ae25decba5eb6b3f71b9e36bd8dcdcda7" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__audio__config_8h.html#ae25decba5eb6b3f71b9e36bd8dcdcda7">PPB_AUDIO_CONFIG_INTERFACE</a>   "PPB_AudioConfig;1.1"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__audio__config_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/ppb__audio__config_8h__incl.png
new file mode 100644
index 0000000..3abb952f
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__audio__config_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__console_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/ppb__console_8h.html
new file mode 100644
index 0000000..9d91bca
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__console_8h.html
@@ -0,0 +1,67 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/ppb_console.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_console.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__console_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__console_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__console_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__console_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___console__1__0.html">PPB_Console</a></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__console_8h.html#af944896c561ac6200f2170a9060b4d3e">PPB_CONSOLE_INTERFACE</a>   "PPB_Console;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__console_8h.html#aeb04d0356a4ddc1488162c9512d318dd">PPB_CONSOLE_INTERFACE</a>   <a class="el" href="ppb__console_8h.html#af944896c561ac6200f2170a9060b4d3e">PPB_CONSOLE_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___console__1__0.html">PPB_Console</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gab38f2ca92926b53d58d1cf2ce6320ebb">PPB_Console</a></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gac39067c0883ec80b94290dd2a3bae440">PP_LogLevel</a> { <a class="el" href="group___enums.html#ggac39067c0883ec80b94290dd2a3bae440afe7444b89be7688e17bd6e4f0b1d3b34">PP_LOGLEVEL_TIP</a> = 0,
+<a class="el" href="group___enums.html#ggac39067c0883ec80b94290dd2a3bae440a8c6fdcc8aa698af314fe72ebd08db32a">PP_LOGLEVEL_LOG</a> = 1,
+<a class="el" href="group___enums.html#ggac39067c0883ec80b94290dd2a3bae440a66a3c4f684827eb994093dea14284aaf">PP_LOGLEVEL_WARNING</a> = 2,
+<a class="el" href="group___enums.html#ggac39067c0883ec80b94290dd2a3bae440a5854926dface39f205d138d9e47c37eb">PP_LOGLEVEL_ERROR</a> = 3
+ }</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gac39067c0883ec80b94290dd2a3bae440">PP_LogLevel</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_Console</code> interface. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="aeb04d0356a4ddc1488162c9512d318dd"></a><!-- doxytag: member="ppb_console.h::PPB_CONSOLE_INTERFACE" ref="aeb04d0356a4ddc1488162c9512d318dd" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__console_8h.html#aeb04d0356a4ddc1488162c9512d318dd">PPB_CONSOLE_INTERFACE</a>   <a class="el" href="ppb__console_8h.html#af944896c561ac6200f2170a9060b4d3e">PPB_CONSOLE_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="af944896c561ac6200f2170a9060b4d3e"></a><!-- doxytag: member="ppb_console.h::PPB_CONSOLE_INTERFACE" ref="af944896c561ac6200f2170a9060b4d3e" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__console_8h.html#af944896c561ac6200f2170a9060b4d3e">PPB_CONSOLE_INTERFACE</a>   "PPB_Console;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__console_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/ppb__console_8h__incl.png
new file mode 100644
index 0000000..4921126a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__console_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__core_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/ppb__core_8h.html
new file mode 100644
index 0000000..127d024c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__core_8h.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/ppb_core.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_core.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__core_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__core_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__core_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__core_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___core__1__0.html">PPB_Core</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_Core</code> interface contains pointers to functions related to memory management, time, and threads on the browser. <a href="struct_p_p_b___core__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__core_8h.html#acdd54c61a74a494eedba88bff5fef3e5">PPB_CORE_INTERFACE</a>   "PPB_Core;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__core_8h.html#ab634737b105d529729cc926ee6dee212">PPB_CORE_INTERFACE</a>   <a class="el" href="ppb__core_8h.html#acdd54c61a74a494eedba88bff5fef3e5">PPB_CORE_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___core__1__0.html">PPB_Core</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga34a986157c49afcad3537479bc5361e9">PPB_Core</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_Core</code> interface defined by the browser and containing pointers to functions related to memory management, time, and threads. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="ab634737b105d529729cc926ee6dee212"></a><!-- doxytag: member="ppb_core.h::PPB_CORE_INTERFACE" ref="ab634737b105d529729cc926ee6dee212" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__core_8h.html#ab634737b105d529729cc926ee6dee212">PPB_CORE_INTERFACE</a>   <a class="el" href="ppb__core_8h.html#acdd54c61a74a494eedba88bff5fef3e5">PPB_CORE_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="acdd54c61a74a494eedba88bff5fef3e5"></a><!-- doxytag: member="ppb_core.h::PPB_CORE_INTERFACE" ref="acdd54c61a74a494eedba88bff5fef3e5" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__core_8h.html#acdd54c61a74a494eedba88bff5fef3e5">PPB_CORE_INTERFACE</a>   "PPB_Core;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__core_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/ppb__core_8h__incl.png
new file mode 100644
index 0000000..da6b1d8
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__core_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__file__io_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/ppb__file__io_8h.html
new file mode 100644
index 0000000..a8731cf
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__file__io_8h.html
@@ -0,0 +1,73 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/ppb_file_io.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_file_io.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__file__io_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__file__io_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__file__io_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__file__io_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_i_o__1__1.html">PPB_FileIO</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_FileIO</code> struct is used to operate on a regular file (PP_FileType_Regular). <a href="struct_p_p_b___file_i_o__1__1.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__file__io_8h.html#aee417de3562daef62dbf68ddc16a8477">PPB_FILEIO_INTERFACE</a>   "PPB_FileIO;1.1"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__file__io_8h.html#af7e4bdd4e8dbe17acf89068130f60660">PPB_FILEIO_INTERFACE</a>   <a class="el" href="ppb__file__io_8h.html#aee417de3562daef62dbf68ddc16a8477">PPB_FILEIO_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___file_i_o__1__1.html">PPB_FileIO</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga7b7a4f4317a5af9982ba79d60f04db69">PPB_FileIO</a></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga4c87e6dd19c1d49b66a9b37136a82e82">PP_FileOpenFlags</a> { <br />
+  <a class="el" href="group___enums.html#gga4c87e6dd19c1d49b66a9b37136a82e82a9d409b8a19e1a1c90b6c01f45cea8468">PP_FILEOPENFLAG_READ</a> = 1 << 0,
+<a class="el" href="group___enums.html#gga4c87e6dd19c1d49b66a9b37136a82e82ad43adf355739f7a82d0f1a884531afbd">PP_FILEOPENFLAG_WRITE</a> = 1 << 1,
+<a class="el" href="group___enums.html#gga4c87e6dd19c1d49b66a9b37136a82e82adc826ab2826a482ee2b15cc25d0d9ba2">PP_FILEOPENFLAG_CREATE</a> = 1 << 2,
+<a class="el" href="group___enums.html#gga4c87e6dd19c1d49b66a9b37136a82e82afc54dddff300e46f1ea644855abfd3e5">PP_FILEOPENFLAG_TRUNCATE</a> = 1 << 3,
+<br />
+  <a class="el" href="group___enums.html#gga4c87e6dd19c1d49b66a9b37136a82e82a3ffa615692f3b3a2da0f1e04903eefce">PP_FILEOPENFLAG_EXCLUSIVE</a> = 1 << 4,
+<a class="el" href="group___enums.html#gga4c87e6dd19c1d49b66a9b37136a82e82a78c13cbbccebfa9c2b8b2f758397795c">PP_FILEOPENFLAG_APPEND</a> = 1 << 5
+<br />
+ }</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga4c87e6dd19c1d49b66a9b37136a82e82">PP_FileOpenFlags</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API to create a file i/o object. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="af7e4bdd4e8dbe17acf89068130f60660"></a><!-- doxytag: member="ppb_file_io.h::PPB_FILEIO_INTERFACE" ref="af7e4bdd4e8dbe17acf89068130f60660" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__file__io_8h.html#af7e4bdd4e8dbe17acf89068130f60660">PPB_FILEIO_INTERFACE</a>   <a class="el" href="ppb__file__io_8h.html#aee417de3562daef62dbf68ddc16a8477">PPB_FILEIO_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="aee417de3562daef62dbf68ddc16a8477"></a><!-- doxytag: member="ppb_file_io.h::PPB_FILEIO_INTERFACE" ref="aee417de3562daef62dbf68ddc16a8477" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__file__io_8h.html#aee417de3562daef62dbf68ddc16a8477">PPB_FILEIO_INTERFACE</a>   "PPB_FileIO;1.1"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__file__io_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/ppb__file__io_8h__incl.png
new file mode 100644
index 0000000..95a421a4
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__file__io_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__file__ref_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/ppb__file__ref_8h.html
new file mode 100644
index 0000000..3342cce
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__file__ref_8h.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/ppb_file_ref.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_file_ref.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__file__ref_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__file__ref_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__file__ref_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__file__ref_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_ref__1__1.html">PPB_FileRef</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_FileRef</code> struct represents a "weak pointer" to a file in a file system. <a href="struct_p_p_b___file_ref__1__1.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__file__ref_8h.html#a153d480ed8be5b5c1e918f8b234c1c22">PPB_FILEREF_INTERFACE</a>   "PPB_FileRef;1.1"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__file__ref_8h.html#a00615ce99f7d6774b0fc5c8f0326f0ba">PPB_FILEREF_INTERFACE</a>   <a class="el" href="ppb__file__ref_8h.html#a153d480ed8be5b5c1e918f8b234c1c22">PPB_FILEREF_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___file_ref__1__1.html">PPB_FileRef</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga5b136f4f49e5e5ee175eae61d86fcb34">PPB_FileRef</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API to create a file reference or "weak pointer" to a file in a file system. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a00615ce99f7d6774b0fc5c8f0326f0ba"></a><!-- doxytag: member="ppb_file_ref.h::PPB_FILEREF_INTERFACE" ref="a00615ce99f7d6774b0fc5c8f0326f0ba" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__file__ref_8h.html#a00615ce99f7d6774b0fc5c8f0326f0ba">PPB_FILEREF_INTERFACE</a>   <a class="el" href="ppb__file__ref_8h.html#a153d480ed8be5b5c1e918f8b234c1c22">PPB_FILEREF_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a153d480ed8be5b5c1e918f8b234c1c22"></a><!-- doxytag: member="ppb_file_ref.h::PPB_FILEREF_INTERFACE" ref="a153d480ed8be5b5c1e918f8b234c1c22" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__file__ref_8h.html#a153d480ed8be5b5c1e918f8b234c1c22">PPB_FILEREF_INTERFACE</a>   "PPB_FileRef;1.1"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__file__ref_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/ppb__file__ref_8h__incl.png
new file mode 100644
index 0000000..e34cfb4
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__file__ref_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__file__system_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/ppb__file__system_8h.html
new file mode 100644
index 0000000..dad5057
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__file__system_8h.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/ppb_file_system.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_file_system.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__file__system_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__file__system_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__file__system_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__file__system_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_system__1__0.html">PPB_FileSystem</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_FileSystem</code> struct identifies the file system type associated with a file. <a href="struct_p_p_b___file_system__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__file__system_8h.html#a856262c69fb3460f83a1b1fa3630c7c9">PPB_FILESYSTEM_INTERFACE</a>   "PPB_FileSystem;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__file__system_8h.html#a492a8ab8ba84394c44cca88c45852f2c">PPB_FILESYSTEM_INTERFACE</a>   <a class="el" href="ppb__file__system_8h.html#a856262c69fb3460f83a1b1fa3630c7c9">PPB_FILESYSTEM_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___file_system__1__0.html">PPB_FileSystem</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gae5ad593b6aff864c6bd0acc09d6cc5e9">PPB_FileSystem</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API to create a file system associated with a file. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a492a8ab8ba84394c44cca88c45852f2c"></a><!-- doxytag: member="ppb_file_system.h::PPB_FILESYSTEM_INTERFACE" ref="a492a8ab8ba84394c44cca88c45852f2c" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__file__system_8h.html#a492a8ab8ba84394c44cca88c45852f2c">PPB_FILESYSTEM_INTERFACE</a>   <a class="el" href="ppb__file__system_8h.html#a856262c69fb3460f83a1b1fa3630c7c9">PPB_FILESYSTEM_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a856262c69fb3460f83a1b1fa3630c7c9"></a><!-- doxytag: member="ppb_file_system.h::PPB_FILESYSTEM_INTERFACE" ref="a856262c69fb3460f83a1b1fa3630c7c9" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__file__system_8h.html#a856262c69fb3460f83a1b1fa3630c7c9">PPB_FILESYSTEM_INTERFACE</a>   "PPB_FileSystem;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__file__system_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/ppb__file__system_8h__incl.png
new file mode 100644
index 0000000..413b40ab
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__file__system_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__fullscreen_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/ppb__fullscreen_8h.html
new file mode 100644
index 0000000..939da74
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__fullscreen_8h.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/ppb_fullscreen.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_fullscreen.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__fullscreen_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__fullscreen_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__fullscreen_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__fullscreen_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___fullscreen__1__0.html">PPB_Fullscreen</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_Fullscreen</code> interface is implemented by the browser. <a href="struct_p_p_b___fullscreen__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__fullscreen_8h.html#a4c01a722d680c2ddb2acb8eb84567b96">PPB_FULLSCREEN_INTERFACE</a>   "PPB_Fullscreen;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__fullscreen_8h.html#ac9eade8043cf2d61bf195d9fa880fb34">PPB_FULLSCREEN_INTERFACE</a>   <a class="el" href="ppb__fullscreen_8h.html#a4c01a722d680c2ddb2acb8eb84567b96">PPB_FULLSCREEN_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___fullscreen__1__0.html">PPB_Fullscreen</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga965dcf552ef79d1a41e0c24db2cf5c3c">PPB_Fullscreen</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_Fullscreen</code> interface for handling transitions of a module instance to and from fullscreen mode. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="ac9eade8043cf2d61bf195d9fa880fb34"></a><!-- doxytag: member="ppb_fullscreen.h::PPB_FULLSCREEN_INTERFACE" ref="ac9eade8043cf2d61bf195d9fa880fb34" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__fullscreen_8h.html#ac9eade8043cf2d61bf195d9fa880fb34">PPB_FULLSCREEN_INTERFACE</a>   <a class="el" href="ppb__fullscreen_8h.html#a4c01a722d680c2ddb2acb8eb84567b96">PPB_FULLSCREEN_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a4c01a722d680c2ddb2acb8eb84567b96"></a><!-- doxytag: member="ppb_fullscreen.h::PPB_FULLSCREEN_INTERFACE" ref="a4c01a722d680c2ddb2acb8eb84567b96" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__fullscreen_8h.html#a4c01a722d680c2ddb2acb8eb84567b96">PPB_FULLSCREEN_INTERFACE</a>   "PPB_Fullscreen;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__fullscreen_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/ppb__fullscreen_8h__incl.png
new file mode 100644
index 0000000..f65a478
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__fullscreen_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__gamepad_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/ppb__gamepad_8h.html
new file mode 100644
index 0000000..c01ca9e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__gamepad_8h.html
@@ -0,0 +1,66 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/ppb_gamepad.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_gamepad.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__gamepad_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__gamepad_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__gamepad_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__gamepad_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___gamepad_sample_data.html">PP_GamepadSampleData</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The data for one gamepad device. <a href="struct_p_p___gamepad_sample_data.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___gamepads_sample_data.html">PP_GamepadsSampleData</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The data for all gamepads connected to the system. <a href="struct_p_p___gamepads_sample_data.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___gamepad__1__0.html">PPB_Gamepad</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_Gamepad</code> interface allows retrieving data from gamepad/joystick devices that are connected to the system. <a href="struct_p_p_b___gamepad__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__gamepad_8h.html#ae18db8da1163096b8ea10071317305b2">PPB_GAMEPAD_INTERFACE</a>   "PPB_Gamepad;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__gamepad_8h.html#aca090c38021f6dcef779de7a255313f3">PPB_GAMEPAD_INTERFACE</a>   <a class="el" href="ppb__gamepad_8h.html#ae18db8da1163096b8ea10071317305b2">PPB_GAMEPAD_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___gamepad__1__0.html">PPB_Gamepad</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga57baea75086a666a92489da807f16f2a">PPB_Gamepad</a></td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga525d88c6ef789fe645908c30bae38e7c">PP_GamepadSampleData</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#gacc3e9ccca109cc93c2fbeea317b7b004">PP_GamepadsSampleData</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_Gamepad</code> interface, which provides access to gamepad devices. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="aca090c38021f6dcef779de7a255313f3"></a><!-- doxytag: member="ppb_gamepad.h::PPB_GAMEPAD_INTERFACE" ref="aca090c38021f6dcef779de7a255313f3" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__gamepad_8h.html#aca090c38021f6dcef779de7a255313f3">PPB_GAMEPAD_INTERFACE</a>   <a class="el" href="ppb__gamepad_8h.html#ae18db8da1163096b8ea10071317305b2">PPB_GAMEPAD_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ae18db8da1163096b8ea10071317305b2"></a><!-- doxytag: member="ppb_gamepad.h::PPB_GAMEPAD_INTERFACE" ref="ae18db8da1163096b8ea10071317305b2" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__gamepad_8h.html#ae18db8da1163096b8ea10071317305b2">PPB_GAMEPAD_INTERFACE</a>   "PPB_Gamepad;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__gamepad_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/ppb__gamepad_8h__incl.png
new file mode 100644
index 0000000..c42ace3b
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__gamepad_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__graphics__2d_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/ppb__graphics__2d_8h.html
new file mode 100644
index 0000000..2b1b90d5
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__graphics__2d_8h.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/ppb_graphics_2d.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_graphics_2d.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__graphics__2d_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__graphics__2d_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__graphics__2d_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__graphics__2d_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics2_d__1__1.html">PPB_Graphics2D</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><code>PPB_Graphics2D</code> defines the interface for a 2D graphics context. <a href="struct_p_p_b___graphics2_d__1__1.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__graphics__2d_8h.html#ad9792b60ca6ce77f3925be8d60e06640">PPB_GRAPHICS_2D_INTERFACE</a>   "PPB_Graphics2D;1.1"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__graphics__2d_8h.html#ab4930fe7aea6b403503d5cc748824b0d">PPB_GRAPHICS_2D_INTERFACE</a>   <a class="el" href="ppb__graphics__2d_8h.html#ad9792b60ca6ce77f3925be8d60e06640">PPB_GRAPHICS_2D_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___graphics2_d__1__1.html">PPB_Graphics2D</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaf9f8348d3315d8bb014b401f733ebdb6">PPB_Graphics2D</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Defines the <code>PPB_Graphics2D</code> struct representing a 2D graphics context within the browser. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="ab4930fe7aea6b403503d5cc748824b0d"></a><!-- doxytag: member="ppb_graphics_2d.h::PPB_GRAPHICS_2D_INTERFACE" ref="ab4930fe7aea6b403503d5cc748824b0d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__graphics__2d_8h.html#ab4930fe7aea6b403503d5cc748824b0d">PPB_GRAPHICS_2D_INTERFACE</a>   <a class="el" href="ppb__graphics__2d_8h.html#ad9792b60ca6ce77f3925be8d60e06640">PPB_GRAPHICS_2D_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ad9792b60ca6ce77f3925be8d60e06640"></a><!-- doxytag: member="ppb_graphics_2d.h::PPB_GRAPHICS_2D_INTERFACE" ref="ad9792b60ca6ce77f3925be8d60e06640" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__graphics__2d_8h.html#ad9792b60ca6ce77f3925be8d60e06640">PPB_GRAPHICS_2D_INTERFACE</a>   "PPB_Graphics2D;1.1"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__graphics__2d_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/ppb__graphics__2d_8h__incl.png
new file mode 100644
index 0000000..12a6a79c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__graphics__2d_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__graphics__3d_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/ppb__graphics__3d_8h.html
new file mode 100644
index 0000000..5b99703
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__graphics__3d_8h.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/ppb_graphics_3d.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_graphics_3d.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__graphics__3d_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__graphics__3d_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__graphics__3d_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__graphics__3d_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics3_d__1__0.html">PPB_Graphics3D</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><code>PPB_Graphics3D</code> defines the interface for a 3D graphics context. <a href="struct_p_p_b___graphics3_d__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__graphics__3d_8h.html#a2619e373c7a32f9b0a763330c39ee282">PPB_GRAPHICS_3D_INTERFACE</a>   "PPB_Graphics3D;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__graphics__3d_8h.html#a3ba3c80f5959aca6bdef2584a2ceb55e">PPB_GRAPHICS_3D_INTERFACE</a>   <a class="el" href="ppb__graphics__3d_8h.html#a2619e373c7a32f9b0a763330c39ee282">PPB_GRAPHICS_3D_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___graphics3_d__1__0.html">PPB_Graphics3D</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga2865870b49481aae8ed416c06c58a7c0">PPB_Graphics3D</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Defines the <code>PPB_Graphics3D</code> struct representing a 3D graphics context within the browser. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a3ba3c80f5959aca6bdef2584a2ceb55e"></a><!-- doxytag: member="ppb_graphics_3d.h::PPB_GRAPHICS_3D_INTERFACE" ref="a3ba3c80f5959aca6bdef2584a2ceb55e" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__graphics__3d_8h.html#a3ba3c80f5959aca6bdef2584a2ceb55e">PPB_GRAPHICS_3D_INTERFACE</a>   <a class="el" href="ppb__graphics__3d_8h.html#a2619e373c7a32f9b0a763330c39ee282">PPB_GRAPHICS_3D_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a2619e373c7a32f9b0a763330c39ee282"></a><!-- doxytag: member="ppb_graphics_3d.h::PPB_GRAPHICS_3D_INTERFACE" ref="a2619e373c7a32f9b0a763330c39ee282" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__graphics__3d_8h.html#a2619e373c7a32f9b0a763330c39ee282">PPB_GRAPHICS_3D_INTERFACE</a>   "PPB_Graphics3D;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__graphics__3d_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/ppb__graphics__3d_8h__incl.png
new file mode 100644
index 0000000..1bcce64
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__graphics__3d_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__host__resolver_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/ppb__host__resolver_8h.html
new file mode 100644
index 0000000..b2776f20
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__host__resolver_8h.html
@@ -0,0 +1,68 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/ppb_host_resolver.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_host_resolver.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__host__resolver_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__host__resolver_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__host__resolver_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__host__resolver_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___host_resolver___hint.html">PP_HostResolver_Hint</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><code><a class="el" href="struct_p_p___host_resolver___hint.html" title="PP_HostResolver_Hint represents hints for host resolution.">PP_HostResolver_Hint</a></code> represents hints for host resolution. <a href="struct_p_p___host_resolver___hint.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___host_resolver__1__0.html">PPB_HostResolver</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_HostResolver</code> interface supports host name resolution. <a href="struct_p_p_b___host_resolver__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__host__resolver_8h.html#af02d4ce7194c9c440c0bd42e81ab7731">PPB_HOSTRESOLVER_INTERFACE</a>   "PPB_HostResolver;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__host__resolver_8h.html#a92db0e0376e1dd64b24f1e107b277d71">PPB_HOSTRESOLVER_INTERFACE</a>   <a class="el" href="ppb__host__resolver_8h.html#af02d4ce7194c9c440c0bd42e81ab7731">PPB_HOSTRESOLVER_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___host_resolver__1__0.html">PPB_HostResolver</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga72b9bd04eeace0c69f4e454b7cc4e440">PPB_HostResolver</a></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gadb4b8db19266831040fc604f73c83a25">PP_HostResolver_Flag</a> { <a class="el" href="group___enums.html#ggadb4b8db19266831040fc604f73c83a25a1fc5655c5b292459d24dc035e930e75e">PP_HOSTRESOLVER_FLAG_CANONNAME</a> = 1 << 0
+ }</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gadb4b8db19266831040fc604f73c83a25">PP_HostResolver_Flag</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga6e27cf6541423cdee5fc2cf5b2d67853">PP_HostResolver_Hint</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_HostResolver</code> interface. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a92db0e0376e1dd64b24f1e107b277d71"></a><!-- doxytag: member="ppb_host_resolver.h::PPB_HOSTRESOLVER_INTERFACE" ref="a92db0e0376e1dd64b24f1e107b277d71" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__host__resolver_8h.html#a92db0e0376e1dd64b24f1e107b277d71">PPB_HOSTRESOLVER_INTERFACE</a>   <a class="el" href="ppb__host__resolver_8h.html#af02d4ce7194c9c440c0bd42e81ab7731">PPB_HOSTRESOLVER_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="af02d4ce7194c9c440c0bd42e81ab7731"></a><!-- doxytag: member="ppb_host_resolver.h::PPB_HOSTRESOLVER_INTERFACE" ref="af02d4ce7194c9c440c0bd42e81ab7731" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__host__resolver_8h.html#af02d4ce7194c9c440c0bd42e81ab7731">PPB_HOSTRESOLVER_INTERFACE</a>   "PPB_HostResolver;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__host__resolver_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/ppb__host__resolver_8h__incl.png
new file mode 100644
index 0000000..82bb3b67
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__host__resolver_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__image__data_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/ppb__image__data_8h.html
new file mode 100644
index 0000000..73ebdec
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__image__data_8h.html
@@ -0,0 +1,69 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/ppb_image_data.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_image_data.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__image__data_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__image__data_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__image__data_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__image__data_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___image_data_desc.html">PP_ImageDataDesc</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="struct_p_p___image_data_desc.html" title="The PP_ImageDataDesc structure represents a description of image data.">PP_ImageDataDesc</a></code> structure represents a description of image data. <a href="struct_p_p___image_data_desc.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___image_data__1__0.html">PPB_ImageData</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_ImageData</code> interface contains pointers to several functions for determining the browser's treatment of image data. <a href="struct_p_p_b___image_data__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__image__data_8h.html#ab08ef8c9002eec0102a71d9c766f0893">PPB_IMAGEDATA_INTERFACE</a>   "PPB_ImageData;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__image__data_8h.html#a706a4eb837834aefe135ccbfb3ebe21d">PPB_IMAGEDATA_INTERFACE</a>   <a class="el" href="ppb__image__data_8h.html#ab08ef8c9002eec0102a71d9c766f0893">PPB_IMAGEDATA_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___image_data__1__0.html">PPB_ImageData</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga17e05bbe7da0d6d7b61b6f78c5913c37">PPB_ImageData</a></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga2ee7ad01799553e5f17bdaa35dd952ee">PP_ImageDataFormat</a> { <a class="el" href="group___enums.html#gga2ee7ad01799553e5f17bdaa35dd952eea8685611ba2e85347f5f6bb0043940358">PP_IMAGEDATAFORMAT_BGRA_PREMUL</a>,
+<a class="el" href="group___enums.html#gga2ee7ad01799553e5f17bdaa35dd952eeab291a13cd5f4728eab3c207938916622">PP_IMAGEDATAFORMAT_RGBA_PREMUL</a>
+ }</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga2ee7ad01799553e5f17bdaa35dd952ee">PP_ImageDataFormat</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#gae0f2df62c9fe8b622336fa44ad897470">PP_ImageDataDesc</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_ImageData</code> struct for determining how a browser handles image data. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a706a4eb837834aefe135ccbfb3ebe21d"></a><!-- doxytag: member="ppb_image_data.h::PPB_IMAGEDATA_INTERFACE" ref="a706a4eb837834aefe135ccbfb3ebe21d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__image__data_8h.html#a706a4eb837834aefe135ccbfb3ebe21d">PPB_IMAGEDATA_INTERFACE</a>   <a class="el" href="ppb__image__data_8h.html#ab08ef8c9002eec0102a71d9c766f0893">PPB_IMAGEDATA_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ab08ef8c9002eec0102a71d9c766f0893"></a><!-- doxytag: member="ppb_image_data.h::PPB_IMAGEDATA_INTERFACE" ref="ab08ef8c9002eec0102a71d9c766f0893" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__image__data_8h.html#ab08ef8c9002eec0102a71d9c766f0893">PPB_IMAGEDATA_INTERFACE</a>   "PPB_ImageData;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__image__data_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/ppb__image__data_8h__incl.png
new file mode 100644
index 0000000..d98247c0
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__image__data_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__input__event_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/ppb__input__event_8h.html
new file mode 100644
index 0000000..c8f8f32d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__input__event_8h.html
@@ -0,0 +1,280 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/ppb_input_event.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_input_event.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__input__event_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__input__event_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__input__event_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__input__event_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___input_event__1__0.html">PPB_InputEvent</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_InputEvent</code> interface contains pointers to several functions related to generic input events on the browser. <a href="struct_p_p_b___input_event__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___mouse_input_event__1__1.html">PPB_MouseInputEvent</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_MouseInputEvent</code> interface contains pointers to several functions related to mouse input events. <a href="struct_p_p_b___mouse_input_event__1__1.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___wheel_input_event__1__0.html">PPB_WheelInputEvent</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_WheelIputEvent</code> interface contains pointers to several functions related to wheel input events. <a href="struct_p_p_b___wheel_input_event__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___keyboard_input_event__1__0.html">PPB_KeyboardInputEvent</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_KeyboardInputEvent</code> interface contains pointers to several functions related to keyboard input events. <a href="struct_p_p_b___keyboard_input_event__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___touch_input_event__1__0.html">PPB_TouchInputEvent</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_TouchInputEvent</code> interface contains pointers to several functions related to touch events. <a href="struct_p_p_b___touch_input_event__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html">PPB_IMEInputEvent</a></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__input__event_8h.html#af4e5b597aea9864e7d9aa81c71e781d2">PPB_INPUT_EVENT_INTERFACE</a>   "PPB_InputEvent;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__input__event_8h.html#a40fd5bca277483a37c2713b8961b5117">PPB_INPUT_EVENT_INTERFACE</a>   <a class="el" href="ppb__input__event_8h.html#af4e5b597aea9864e7d9aa81c71e781d2">PPB_INPUT_EVENT_INTERFACE</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__input__event_8h.html#a9887382b4700999b639a2f2de497e104">PPB_MOUSE_INPUT_EVENT_INTERFACE</a>   "PPB_MouseInputEvent;1.1"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__input__event_8h.html#a761fcf6df555946b6c2e1a0b6cd01c5e">PPB_MOUSE_INPUT_EVENT_INTERFACE</a>   <a class="el" href="ppb__input__event_8h.html#a9887382b4700999b639a2f2de497e104">PPB_MOUSE_INPUT_EVENT_INTERFACE</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__input__event_8h.html#a0a7bcd124b8e7677b629b236eabfb563">PPB_WHEEL_INPUT_EVENT_INTERFACE</a>   "PPB_WheelInputEvent;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__input__event_8h.html#a2e592782e919e590dd393d421af8850f">PPB_WHEEL_INPUT_EVENT_INTERFACE</a>   <a class="el" href="ppb__input__event_8h.html#a0a7bcd124b8e7677b629b236eabfb563">PPB_WHEEL_INPUT_EVENT_INTERFACE</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__input__event_8h.html#a0d5e2d948d5a25cd3194a59c21ad992e">PPB_KEYBOARD_INPUT_EVENT_INTERFACE</a>   "PPB_KeyboardInputEvent;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__input__event_8h.html#a969f9e171a3202249e8dfabaef33c288">PPB_KEYBOARD_INPUT_EVENT_INTERFACE</a>   <a class="el" href="ppb__input__event_8h.html#a0d5e2d948d5a25cd3194a59c21ad992e">PPB_KEYBOARD_INPUT_EVENT_INTERFACE</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__input__event_8h.html#a36b8536215a705ecc3fd4cd366b0f975">PPB_TOUCH_INPUT_EVENT_INTERFACE</a>   "PPB_TouchInputEvent;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__input__event_8h.html#a9ef6ad6634a1d1912b83006862a0e57b">PPB_TOUCH_INPUT_EVENT_INTERFACE</a>   <a class="el" href="ppb__input__event_8h.html#a36b8536215a705ecc3fd4cd366b0f975">PPB_TOUCH_INPUT_EVENT_INTERFACE</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__input__event_8h.html#ad911c1aed763c2f362037995ffca801a">PPB_IME_INPUT_EVENT_INTERFACE</a>   "PPB_IMEInputEvent;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__input__event_8h.html#ac7e4bf41f38afcb87e0a75c8f27ca33f">PPB_IME_INPUT_EVENT_INTERFACE</a>   <a class="el" href="ppb__input__event_8h.html#ad911c1aed763c2f362037995ffca801a">PPB_IME_INPUT_EVENT_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___input_event__1__0.html">PPB_InputEvent</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gac221fa16a0d0daa0bf171a477b465396">PPB_InputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___mouse_input_event__1__1.html">PPB_MouseInputEvent</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga3fcedb0e992eebaf7d9b1b60aacceafc">PPB_MouseInputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___wheel_input_event__1__0.html">PPB_WheelInputEvent</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaaefb7f24240d14faa56dfdba8c116889">PPB_WheelInputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___keyboard_input_event__1__0.html">PPB_KeyboardInputEvent</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gad245b3100fef75b215d6ba60cccd626e">PPB_KeyboardInputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___touch_input_event__1__0.html">PPB_TouchInputEvent</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga3d25b1582fc1e6b94f53ecfb21422d6c">PPB_TouchInputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html">PPB_IMEInputEvent</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaaa0c327650de77066ea8e2ec8f5589c5">PPB_IMEInputEvent</a></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gaca7296cfec99fcb6646b7144d1d6a0c5">PP_InputEvent_Type</a> { <br />
+  <a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a9b6d5489f328f0b902da4a1f5836b4cb">PP_INPUTEVENT_TYPE_UNDEFINED</a> = -1,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a4309eee5fb8284b6be7c258090b21e77">PP_INPUTEVENT_TYPE_MOUSEDOWN</a> = 0,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a9f0a8196670b1da0e9c3cf081329c3ca">PP_INPUTEVENT_TYPE_MOUSEUP</a> = 1,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a9d3a09d7fb33663f3a7d920fd2e3208d">PP_INPUTEVENT_TYPE_MOUSEMOVE</a> = 2,
+<br />
+  <a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5ad240947fd6d67f23b679be4806947e2a">PP_INPUTEVENT_TYPE_MOUSEENTER</a> = 3,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a0870576010613081518c9c6683abd2e8">PP_INPUTEVENT_TYPE_MOUSELEAVE</a> = 4,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a2eedbec689780077aa98188805a559f6">PP_INPUTEVENT_TYPE_WHEEL</a> = 5,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a05c7f50eb36e606a3e5a0065b337d96c">PP_INPUTEVENT_TYPE_RAWKEYDOWN</a> = 6,
+<br />
+  <a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a4064a5f6ce10c7e5a0834aff7cd7e474">PP_INPUTEVENT_TYPE_KEYDOWN</a> = 7,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5af57c2b682b29f7b03f27519f98febdea">PP_INPUTEVENT_TYPE_KEYUP</a> = 8,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a0d547efbed42c655264b96a51954e0dd">PP_INPUTEVENT_TYPE_CHAR</a> = 9,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a0cf7525c015c97ded19afab9d7d9afee">PP_INPUTEVENT_TYPE_CONTEXTMENU</a> = 10,
+<br />
+  <a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a90668acda261e23721f3dd757f557031">PP_INPUTEVENT_TYPE_IME_COMPOSITION_START</a> = 11,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a1eff5df3bb41546046f97993376607c2">PP_INPUTEVENT_TYPE_IME_COMPOSITION_UPDATE</a> = 12,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a5c009302410ac6f55da4df618b2d85d5">PP_INPUTEVENT_TYPE_IME_COMPOSITION_END</a> = 13,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a5826ba18e40265a7b74e4b3ae1fe3772">PP_INPUTEVENT_TYPE_IME_TEXT</a> = 14,
+<br />
+  <a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5ac604f0e894f8f9e660d36e30db16b52d">PP_INPUTEVENT_TYPE_TOUCHSTART</a> = 15,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a43888c9c671ac5973f5bcea7eabcc889">PP_INPUTEVENT_TYPE_TOUCHMOVE</a> = 16,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5ae1c312aafaf4caeddb1afc09e81c9655">PP_INPUTEVENT_TYPE_TOUCHEND</a> = 17,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a78266e75562e546005eb8098f455ce91">PP_INPUTEVENT_TYPE_TOUCHCANCEL</a> = 18
+<br />
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga21b811ac0484a214a8751aa3e1c959d9">PP_InputEvent_Modifier</a> { <br />
+  <a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9a7506fd613b0e3055b37700eddcc04c8e">PP_INPUTEVENT_MODIFIER_SHIFTKEY</a> = 1 << 0,
+<a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9aeb4a9ad52cbfbfab9dea7cf2429c52f7">PP_INPUTEVENT_MODIFIER_CONTROLKEY</a> = 1 << 1,
+<a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9ab30d756ab410e7155deef8c48568fc95">PP_INPUTEVENT_MODIFIER_ALTKEY</a> = 1 << 2,
+<a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9ab3b68a7fb23fa33be297b30a2d3f27d7">PP_INPUTEVENT_MODIFIER_METAKEY</a> = 1 << 3,
+<br />
+  <a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9a24f5d73cf82a01116f52b57410e64c9d">PP_INPUTEVENT_MODIFIER_ISKEYPAD</a> = 1 << 4,
+<a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9a0d6141a7a3498af2020093469358472f">PP_INPUTEVENT_MODIFIER_ISAUTOREPEAT</a> = 1 << 5,
+<a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9a31e52901313720fd0e431976228f2153">PP_INPUTEVENT_MODIFIER_LEFTBUTTONDOWN</a> = 1 << 6,
+<a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9aa2369bf6eb5309a43d608ef83d747a04">PP_INPUTEVENT_MODIFIER_MIDDLEBUTTONDOWN</a> = 1 << 7,
+<br />
+  <a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9aee3e5083c83130d4368b79878fd574fe">PP_INPUTEVENT_MODIFIER_RIGHTBUTTONDOWN</a> = 1 << 8,
+<a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9a99a27b5dab8360eb08189439b85b8781">PP_INPUTEVENT_MODIFIER_CAPSLOCKKEY</a> = 1 << 9,
+<a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9a493ca598187014e2356cd7a5ba8cdffd">PP_INPUTEVENT_MODIFIER_NUMLOCKKEY</a> = 1 << 10,
+<a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9a8295bfc8067c06a17ccfc5fb6a992e17">PP_INPUTEVENT_MODIFIER_ISLEFT</a> = 1 << 11,
+<br />
+  <a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9a348f43efaf61edbefd83346428c5b122">PP_INPUTEVENT_MODIFIER_ISRIGHT</a> = 1 << 12
+<br />
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga25113f3c8d33e863fd38b3f70f8a5e6e">PP_InputEvent_MouseButton</a> { <a class="el" href="group___enums.html#gga25113f3c8d33e863fd38b3f70f8a5e6eaa2d4e499d6c23ef45381a89612e654d9">PP_INPUTEVENT_MOUSEBUTTON_NONE</a> = -1,
+<a class="el" href="group___enums.html#gga25113f3c8d33e863fd38b3f70f8a5e6eaa44f4ea3c7759e4fce6150f349909f63">PP_INPUTEVENT_MOUSEBUTTON_LEFT</a> = 0,
+<a class="el" href="group___enums.html#gga25113f3c8d33e863fd38b3f70f8a5e6ea3f8a2698990ec1e36943651ca600e3be">PP_INPUTEVENT_MOUSEBUTTON_MIDDLE</a> = 1,
+<a class="el" href="group___enums.html#gga25113f3c8d33e863fd38b3f70f8a5e6ea681614da50d511b516d0a88fbaa6eb5b">PP_INPUTEVENT_MOUSEBUTTON_RIGHT</a> = 2
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gafe68e3c1031daa4a6496845ff47649cd">PP_InputEvent_Class</a> { <br />
+  <a class="el" href="group___enums.html#ggafe68e3c1031daa4a6496845ff47649cda79ccc5180eb39c52ab3207f0c876dd52">PP_INPUTEVENT_CLASS_MOUSE</a> = 1 << 0,
+<a class="el" href="group___enums.html#ggafe68e3c1031daa4a6496845ff47649cda2c3341eacc3a459713ce334b9af0cda8">PP_INPUTEVENT_CLASS_KEYBOARD</a> = 1 << 1,
+<a class="el" href="group___enums.html#ggafe68e3c1031daa4a6496845ff47649cda59d6686dbce1f0dc092cb88a451bb3a6">PP_INPUTEVENT_CLASS_WHEEL</a> = 1 << 2,
+<a class="el" href="group___enums.html#ggafe68e3c1031daa4a6496845ff47649cda19b05264fa31d7e975eba297f9f146af">PP_INPUTEVENT_CLASS_TOUCH</a> = 1 << 3,
+<br />
+  <a class="el" href="group___enums.html#ggafe68e3c1031daa4a6496845ff47649cda1280fe9a85edf74e20e4d503a345ab7d">PP_INPUTEVENT_CLASS_IME</a> = 1 << 4
+<br />
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gad5885a239d04166c8777432c81e39d0a">PP_TouchListType</a> { <a class="el" href="group___enums.html#ggad5885a239d04166c8777432c81e39d0aa739dfd65f4cd719996f20bdd2e7db4ca">PP_TOUCHLIST_TYPE_TOUCHES</a> = 0,
+<a class="el" href="group___enums.html#ggad5885a239d04166c8777432c81e39d0aa89d31d55d67fa0746d1f3bf4050eafff">PP_TOUCHLIST_TYPE_CHANGEDTOUCHES</a> = 1,
+<a class="el" href="group___enums.html#ggad5885a239d04166c8777432c81e39d0aa0682e6c428fed9b900e3d9e56aaa8fca">PP_TOUCHLIST_TYPE_TARGETTOUCHES</a> = 2
+ }</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gaca7296cfec99fcb6646b7144d1d6a0c5">PP_InputEvent_Type</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga21b811ac0484a214a8751aa3e1c959d9">PP_InputEvent_Modifier</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga25113f3c8d33e863fd38b3f70f8a5e6e">PP_InputEvent_MouseButton</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gafe68e3c1031daa4a6496845ff47649cd">PP_InputEvent_Class</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gad5885a239d04166c8777432c81e39d0a">PP_TouchListType</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the Input Event interfaces. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="ac7e4bf41f38afcb87e0a75c8f27ca33f"></a><!-- doxytag: member="ppb_input_event.h::PPB_IME_INPUT_EVENT_INTERFACE" ref="ac7e4bf41f38afcb87e0a75c8f27ca33f" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__input__event_8h.html#ac7e4bf41f38afcb87e0a75c8f27ca33f">PPB_IME_INPUT_EVENT_INTERFACE</a>   <a class="el" href="ppb__input__event_8h.html#ad911c1aed763c2f362037995ffca801a">PPB_IME_INPUT_EVENT_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ad911c1aed763c2f362037995ffca801a"></a><!-- doxytag: member="ppb_input_event.h::PPB_IME_INPUT_EVENT_INTERFACE" ref="ad911c1aed763c2f362037995ffca801a" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__input__event_8h.html#ad911c1aed763c2f362037995ffca801a">PPB_IME_INPUT_EVENT_INTERFACE</a>   "PPB_IMEInputEvent;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a40fd5bca277483a37c2713b8961b5117"></a><!-- doxytag: member="ppb_input_event.h::PPB_INPUT_EVENT_INTERFACE" ref="a40fd5bca277483a37c2713b8961b5117" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__input__event_8h.html#a40fd5bca277483a37c2713b8961b5117">PPB_INPUT_EVENT_INTERFACE</a>   <a class="el" href="ppb__input__event_8h.html#af4e5b597aea9864e7d9aa81c71e781d2">PPB_INPUT_EVENT_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="af4e5b597aea9864e7d9aa81c71e781d2"></a><!-- doxytag: member="ppb_input_event.h::PPB_INPUT_EVENT_INTERFACE" ref="af4e5b597aea9864e7d9aa81c71e781d2" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__input__event_8h.html#af4e5b597aea9864e7d9aa81c71e781d2">PPB_INPUT_EVENT_INTERFACE</a>   "PPB_InputEvent;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a969f9e171a3202249e8dfabaef33c288"></a><!-- doxytag: member="ppb_input_event.h::PPB_KEYBOARD_INPUT_EVENT_INTERFACE" ref="a969f9e171a3202249e8dfabaef33c288" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__input__event_8h.html#a969f9e171a3202249e8dfabaef33c288">PPB_KEYBOARD_INPUT_EVENT_INTERFACE</a>   <a class="el" href="ppb__input__event_8h.html#a0d5e2d948d5a25cd3194a59c21ad992e">PPB_KEYBOARD_INPUT_EVENT_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a0d5e2d948d5a25cd3194a59c21ad992e"></a><!-- doxytag: member="ppb_input_event.h::PPB_KEYBOARD_INPUT_EVENT_INTERFACE" ref="a0d5e2d948d5a25cd3194a59c21ad992e" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__input__event_8h.html#a0d5e2d948d5a25cd3194a59c21ad992e">PPB_KEYBOARD_INPUT_EVENT_INTERFACE</a>   "PPB_KeyboardInputEvent;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a761fcf6df555946b6c2e1a0b6cd01c5e"></a><!-- doxytag: member="ppb_input_event.h::PPB_MOUSE_INPUT_EVENT_INTERFACE" ref="a761fcf6df555946b6c2e1a0b6cd01c5e" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__input__event_8h.html#a761fcf6df555946b6c2e1a0b6cd01c5e">PPB_MOUSE_INPUT_EVENT_INTERFACE</a>   <a class="el" href="ppb__input__event_8h.html#a9887382b4700999b639a2f2de497e104">PPB_MOUSE_INPUT_EVENT_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a9887382b4700999b639a2f2de497e104"></a><!-- doxytag: member="ppb_input_event.h::PPB_MOUSE_INPUT_EVENT_INTERFACE" ref="a9887382b4700999b639a2f2de497e104" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__input__event_8h.html#a9887382b4700999b639a2f2de497e104">PPB_MOUSE_INPUT_EVENT_INTERFACE</a>   "PPB_MouseInputEvent;1.1"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a9ef6ad6634a1d1912b83006862a0e57b"></a><!-- doxytag: member="ppb_input_event.h::PPB_TOUCH_INPUT_EVENT_INTERFACE" ref="a9ef6ad6634a1d1912b83006862a0e57b" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__input__event_8h.html#a9ef6ad6634a1d1912b83006862a0e57b">PPB_TOUCH_INPUT_EVENT_INTERFACE</a>   <a class="el" href="ppb__input__event_8h.html#a36b8536215a705ecc3fd4cd366b0f975">PPB_TOUCH_INPUT_EVENT_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a36b8536215a705ecc3fd4cd366b0f975"></a><!-- doxytag: member="ppb_input_event.h::PPB_TOUCH_INPUT_EVENT_INTERFACE" ref="a36b8536215a705ecc3fd4cd366b0f975" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__input__event_8h.html#a36b8536215a705ecc3fd4cd366b0f975">PPB_TOUCH_INPUT_EVENT_INTERFACE</a>   "PPB_TouchInputEvent;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a2e592782e919e590dd393d421af8850f"></a><!-- doxytag: member="ppb_input_event.h::PPB_WHEEL_INPUT_EVENT_INTERFACE" ref="a2e592782e919e590dd393d421af8850f" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__input__event_8h.html#a2e592782e919e590dd393d421af8850f">PPB_WHEEL_INPUT_EVENT_INTERFACE</a>   <a class="el" href="ppb__input__event_8h.html#a0a7bcd124b8e7677b629b236eabfb563">PPB_WHEEL_INPUT_EVENT_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a0a7bcd124b8e7677b629b236eabfb563"></a><!-- doxytag: member="ppb_input_event.h::PPB_WHEEL_INPUT_EVENT_INTERFACE" ref="a0a7bcd124b8e7677b629b236eabfb563" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__input__event_8h.html#a0a7bcd124b8e7677b629b236eabfb563">PPB_WHEEL_INPUT_EVENT_INTERFACE</a>   "PPB_WheelInputEvent;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__input__event_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/ppb__input__event_8h__incl.png
new file mode 100644
index 0000000..5dcad56
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__input__event_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__instance_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/ppb__instance_8h.html
new file mode 100644
index 0000000..7c3cac4
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__instance_8h.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/ppb_instance.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_instance.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__instance_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__instance_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__instance_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__instance_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___instance__1__0.html">PPB_Instance</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The PPB_Instance interface contains pointers to functions related to the module instance on a web page. <a href="struct_p_p_b___instance__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__instance_8h.html#ad3b639018921516cd4d2d3adcffdbc8f">PPB_INSTANCE_INTERFACE</a>   "PPB_Instance;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__instance_8h.html#ab707353c04e78fe57eba3783692a0eed">PPB_INSTANCE_INTERFACE</a>   <a class="el" href="ppb__instance_8h.html#ad3b639018921516cd4d2d3adcffdbc8f">PPB_INSTANCE_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___instance__1__0.html">PPB_Instance</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaf2ed3cc24968d8681b52cf70eae066ca">PPB_Instance</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_Instance</code> interface implemented by the browser and containing pointers to functions related to the module instance on a web page. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="ab707353c04e78fe57eba3783692a0eed"></a><!-- doxytag: member="ppb_instance.h::PPB_INSTANCE_INTERFACE" ref="ab707353c04e78fe57eba3783692a0eed" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__instance_8h.html#ab707353c04e78fe57eba3783692a0eed">PPB_INSTANCE_INTERFACE</a>   <a class="el" href="ppb__instance_8h.html#ad3b639018921516cd4d2d3adcffdbc8f">PPB_INSTANCE_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ad3b639018921516cd4d2d3adcffdbc8f"></a><!-- doxytag: member="ppb_instance.h::PPB_INSTANCE_INTERFACE" ref="ad3b639018921516cd4d2d3adcffdbc8f" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__instance_8h.html#ad3b639018921516cd4d2d3adcffdbc8f">PPB_INSTANCE_INTERFACE</a>   "PPB_Instance;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__instance_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/ppb__instance_8h__incl.png
new file mode 100644
index 0000000..b3ca00d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__instance_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__message__loop_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/ppb__message__loop_8h.html
new file mode 100644
index 0000000..1389a4fa
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__message__loop_8h.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/ppb_message_loop.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_message_loop.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__message__loop_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__message__loop_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__message__loop_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__message__loop_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___message_loop__1__0.html">PPB_MessageLoop</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A message loop allows PPAPI calls to be issued on a thread. <a href="struct_p_p_b___message_loop__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__message__loop_8h.html#a9b1fcf10002ff75d323617f920de4468">PPB_MESSAGELOOP_INTERFACE</a>   "PPB_MessageLoop;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__message__loop_8h.html#ae810c1f641977db5a6497704d7b0f4b0">PPB_MESSAGELOOP_INTERFACE</a>   <a class="el" href="ppb__message__loop_8h.html#a9b1fcf10002ff75d323617f920de4468">PPB_MESSAGELOOP_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___message_loop__1__0.html">PPB_MessageLoop</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gae3eb3482b0fb57fb6a4eb05c07908788">PPB_MessageLoop</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Defines the PPB_MessageLoop interface. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="ae810c1f641977db5a6497704d7b0f4b0"></a><!-- doxytag: member="ppb_message_loop.h::PPB_MESSAGELOOP_INTERFACE" ref="ae810c1f641977db5a6497704d7b0f4b0" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__message__loop_8h.html#ae810c1f641977db5a6497704d7b0f4b0">PPB_MESSAGELOOP_INTERFACE</a>   <a class="el" href="ppb__message__loop_8h.html#a9b1fcf10002ff75d323617f920de4468">PPB_MESSAGELOOP_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a9b1fcf10002ff75d323617f920de4468"></a><!-- doxytag: member="ppb_message_loop.h::PPB_MESSAGELOOP_INTERFACE" ref="a9b1fcf10002ff75d323617f920de4468" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__message__loop_8h.html#a9b1fcf10002ff75d323617f920de4468">PPB_MESSAGELOOP_INTERFACE</a>   "PPB_MessageLoop;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__message__loop_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/ppb__message__loop_8h__incl.png
new file mode 100644
index 0000000..1d0b741
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__message__loop_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__messaging_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/ppb__messaging_8h.html
new file mode 100644
index 0000000..a050356
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__messaging_8h.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/ppb_messaging.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_messaging.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__messaging_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__messaging_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__messaging_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__messaging_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___messaging__1__0.html">PPB_Messaging</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_Messaging</code> interface is implemented by the browser and is related to sending messages to JavaScript message event listeners on the DOM element associated with specific module instance. <a href="struct_p_p_b___messaging__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__messaging_8h.html#afc64e56f770d45a4556b32cd6568cc77">PPB_MESSAGING_INTERFACE</a>   "PPB_Messaging;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__messaging_8h.html#a558ca32dad39a710cd217aaa09921d92">PPB_MESSAGING_INTERFACE</a>   <a class="el" href="ppb__messaging_8h.html#afc64e56f770d45a4556b32cd6568cc77">PPB_MESSAGING_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___messaging__1__0.html">PPB_Messaging</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gac53fe3a3b5941f8b3608349f58ee24f0">PPB_Messaging</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_Messaging</code> interface implemented by the browser for sending messages to DOM elements associated with a specific module instance. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a558ca32dad39a710cd217aaa09921d92"></a><!-- doxytag: member="ppb_messaging.h::PPB_MESSAGING_INTERFACE" ref="a558ca32dad39a710cd217aaa09921d92" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__messaging_8h.html#a558ca32dad39a710cd217aaa09921d92">PPB_MESSAGING_INTERFACE</a>   <a class="el" href="ppb__messaging_8h.html#afc64e56f770d45a4556b32cd6568cc77">PPB_MESSAGING_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="afc64e56f770d45a4556b32cd6568cc77"></a><!-- doxytag: member="ppb_messaging.h::PPB_MESSAGING_INTERFACE" ref="afc64e56f770d45a4556b32cd6568cc77" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__messaging_8h.html#afc64e56f770d45a4556b32cd6568cc77">PPB_MESSAGING_INTERFACE</a>   "PPB_Messaging;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__messaging_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/ppb__messaging_8h__incl.png
new file mode 100644
index 0000000..86fc6ea
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__messaging_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__mouse__cursor_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/ppb__mouse__cursor_8h.html
new file mode 100644
index 0000000..621fd5b
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__mouse__cursor_8h.html
@@ -0,0 +1,120 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/ppb_mouse_cursor.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_mouse_cursor.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__mouse__cursor_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__mouse__cursor_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__mouse__cursor_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__mouse__cursor_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___mouse_cursor__1__0.html">PPB_MouseCursor</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_MouseCursor</code> allows setting the mouse cursor. <a href="struct_p_p_b___mouse_cursor__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__mouse__cursor_8h.html#a5108cd274942fbb6aa1726d32b7b82eb">PPB_MOUSECURSOR_INTERFACE</a>   "PPB_MouseCursor;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__mouse__cursor_8h.html#a9f058eab16725eb940b802f90acb11a9">PPB_MOUSECURSOR_INTERFACE</a>   <a class="el" href="ppb__mouse__cursor_8h.html#a5108cd274942fbb6aa1726d32b7b82eb">PPB_MOUSECURSOR_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___mouse_cursor__1__0.html">PPB_MouseCursor</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gae583d9ea6381e1e4cb7b462c35c5d1de">PPB_MouseCursor</a></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gac53273018386c1db9542d2a06bbe118b">PP_MouseCursor_Type</a> { <br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba1360614abe2d2c3838a42238f75e9ec1">PP_MOUSECURSOR_TYPE_CUSTOM</a> = -1,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba7c0a8b04f51fbf8e12abd4240fb24a9f">PP_MOUSECURSOR_TYPE_POINTER</a> = 0,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba7ee7ede873ec3158179a1ea648bfe677">PP_MOUSECURSOR_TYPE_CROSS</a> = 1,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba5cf81326a94c1150ce98cc15924dee69">PP_MOUSECURSOR_TYPE_HAND</a> = 2,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba705545fdbd4088bf4522b32aa5815877">PP_MOUSECURSOR_TYPE_IBEAM</a> = 3,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118babf8c49b2fc9ee7208b20e7e1f96e2930">PP_MOUSECURSOR_TYPE_WAIT</a> = 4,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bacea1ebe2038e33bb649bcf8ed32f0e7e">PP_MOUSECURSOR_TYPE_HELP</a> = 5,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba3efb608fc10dd3979d4bc0c41654f14b">PP_MOUSECURSOR_TYPE_EASTRESIZE</a> = 6,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba02b638a93841e0f51d234b6643cffcd0">PP_MOUSECURSOR_TYPE_NORTHRESIZE</a> = 7,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118baceb2b9888eed1ef5fe8c5dbc94195b3a">PP_MOUSECURSOR_TYPE_NORTHEASTRESIZE</a> = 8,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bab95b486b6772a79a599c4287f966cd19">PP_MOUSECURSOR_TYPE_NORTHWESTRESIZE</a> = 9,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bac39262939712092e11cc4569b6cab626">PP_MOUSECURSOR_TYPE_SOUTHRESIZE</a> = 10,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba0d7f8011aba0f13ceda6688585b725af">PP_MOUSECURSOR_TYPE_SOUTHEASTRESIZE</a> = 11,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba54f482730eba910a940e1c975f14e2a2">PP_MOUSECURSOR_TYPE_SOUTHWESTRESIZE</a> = 12,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba0c8edb786c8193ef657716a358e327b6">PP_MOUSECURSOR_TYPE_WESTRESIZE</a> = 13,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118babf7026dfaea82565f2527ddbb0383053">PP_MOUSECURSOR_TYPE_NORTHSOUTHRESIZE</a> = 14,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba98177b2980fa939ed33d41c531f06310">PP_MOUSECURSOR_TYPE_EASTWESTRESIZE</a> = 15,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118baf01a2e620b481daeb42b6344843e9e38">PP_MOUSECURSOR_TYPE_NORTHEASTSOUTHWESTRESIZE</a> = 16,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba05d35a31c8af640a6cf2295790e933ee">PP_MOUSECURSOR_TYPE_NORTHWESTSOUTHEASTRESIZE</a> = 17,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bab163a58c75a983ac943d39827c0976cd">PP_MOUSECURSOR_TYPE_COLUMNRESIZE</a> = 18,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bac4d90e13c8d17e32ee9498b795d2f4ca">PP_MOUSECURSOR_TYPE_ROWRESIZE</a> = 19,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba6dbf3de573762e2322d6e8a2392b19fb">PP_MOUSECURSOR_TYPE_MIDDLEPANNING</a> = 20,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba9fec33093306cea2ea6bb6810e8f9040">PP_MOUSECURSOR_TYPE_EASTPANNING</a> = 21,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba0805b4d3a42bb560a656247a57ed6fe0">PP_MOUSECURSOR_TYPE_NORTHPANNING</a> = 22,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118babeaeb782ba084c45e0d12f2bf428a9c3">PP_MOUSECURSOR_TYPE_NORTHEASTPANNING</a> = 23,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba2590e0dc133a8b4534c475abd60c2e1d">PP_MOUSECURSOR_TYPE_NORTHWESTPANNING</a> = 24,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bac9ab4fdcaccb7dcf3a9e0c5edf056e92">PP_MOUSECURSOR_TYPE_SOUTHPANNING</a> = 25,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bacf7c5132070bb6fd8e86ffcafb1dd8b6">PP_MOUSECURSOR_TYPE_SOUTHEASTPANNING</a> = 26,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118baebe615cd19bad5b076b2dd9d86dcd825">PP_MOUSECURSOR_TYPE_SOUTHWESTPANNING</a> = 27,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba8c357f06fc1fc96c091b378d10cc4f02">PP_MOUSECURSOR_TYPE_WESTPANNING</a> = 28,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bab6757be35df5a1e246b3ce8b80c92fbd">PP_MOUSECURSOR_TYPE_MOVE</a> = 29,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba52c5c4259a391557c045b0b82cc0a1fa">PP_MOUSECURSOR_TYPE_VERTICALTEXT</a> = 30,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba62afaa44930d75f750fdf28199511194">PP_MOUSECURSOR_TYPE_CELL</a> = 31,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bad73cecab74f94844438e494ff1439b9f">PP_MOUSECURSOR_TYPE_CONTEXTMENU</a> = 32,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118baca9b4bef41f4c4bd90e81573357b137c">PP_MOUSECURSOR_TYPE_ALIAS</a> = 33,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118babda91fe9ce56b304d95a1ce01fbe8084">PP_MOUSECURSOR_TYPE_PROGRESS</a> = 34,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba1c6cb6e16ac90b8829175e8af9a4a72d">PP_MOUSECURSOR_TYPE_NODROP</a> = 35,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bacee11626427a6fa36653243c4d551608">PP_MOUSECURSOR_TYPE_COPY</a> = 36,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba7a9b1b3187b0bd011b5e19380d4fd698">PP_MOUSECURSOR_TYPE_NONE</a> = 37,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba7d10d5fcc4d9e6aaed4af83246de15a0">PP_MOUSECURSOR_TYPE_NOTALLOWED</a> = 38,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba203b038de96b903e253e29aea5a66460">PP_MOUSECURSOR_TYPE_ZOOMIN</a> = 39,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba797321d4cad9a863a5338318912f3a98">PP_MOUSECURSOR_TYPE_ZOOMOUT</a> = 40,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bafc45b71a6185639e12ac2827a641bdaa">PP_MOUSECURSOR_TYPE_GRAB</a> = 41,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118baa242aeb17b35d8e44e449786a2cbcd1c">PP_MOUSECURSOR_TYPE_GRABBING</a> = 42
+<br />
+ }</td></tr>
+</table><h2>
+Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga9b1b55c2ccaa49d084206619c9034dde">PP_COMPILE_ASSERT_ENUM_SIZE_IN_BYTES</a> (<a class="el" href="group___enums.html#gac53273018386c1db9542d2a06bbe118b">PP_MouseCursor_Type</a>, 4)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_MouseCursor</code> interface for setting the mouse cursor. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a9f058eab16725eb940b802f90acb11a9"></a><!-- doxytag: member="ppb_mouse_cursor.h::PPB_MOUSECURSOR_INTERFACE" ref="a9f058eab16725eb940b802f90acb11a9" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__mouse__cursor_8h.html#a9f058eab16725eb940b802f90acb11a9">PPB_MOUSECURSOR_INTERFACE</a>   <a class="el" href="ppb__mouse__cursor_8h.html#a5108cd274942fbb6aa1726d32b7b82eb">PPB_MOUSECURSOR_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a5108cd274942fbb6aa1726d32b7b82eb"></a><!-- doxytag: member="ppb_mouse_cursor.h::PPB_MOUSECURSOR_INTERFACE" ref="a5108cd274942fbb6aa1726d32b7b82eb" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__mouse__cursor_8h.html#a5108cd274942fbb6aa1726d32b7b82eb">PPB_MOUSECURSOR_INTERFACE</a>   "PPB_MouseCursor;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__mouse__cursor_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/ppb__mouse__cursor_8h__incl.png
new file mode 100644
index 0000000..6ea4094
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__mouse__cursor_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__mouse__lock_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/ppb__mouse__lock_8h.html
new file mode 100644
index 0000000..a1f31e6
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__mouse__lock_8h.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/ppb_mouse_lock.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_mouse_lock.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__mouse__lock_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__mouse__lock_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__mouse__lock_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__mouse__lock_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___mouse_lock__1__0.html">PPB_MouseLock</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_MouseLock</code> interface is implemented by the browser. <a href="struct_p_p_b___mouse_lock__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__mouse__lock_8h.html#a87c8b1ae0950bb6de205bbec68545edd">PPB_MOUSELOCK_INTERFACE</a>   "PPB_MouseLock;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__mouse__lock_8h.html#a61bbe5bd4a3ec739ecd5daf65192db7d">PPB_MOUSELOCK_INTERFACE</a>   <a class="el" href="ppb__mouse__lock_8h.html#a87c8b1ae0950bb6de205bbec68545edd">PPB_MOUSELOCK_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___mouse_lock__1__0.html">PPB_MouseLock</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga9d5fa32b9c90b100400161025fda2617">PPB_MouseLock</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_MouseLock</code> interface for locking the target of mouse events to a specific module instance. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a61bbe5bd4a3ec739ecd5daf65192db7d"></a><!-- doxytag: member="ppb_mouse_lock.h::PPB_MOUSELOCK_INTERFACE" ref="a61bbe5bd4a3ec739ecd5daf65192db7d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__mouse__lock_8h.html#a61bbe5bd4a3ec739ecd5daf65192db7d">PPB_MOUSELOCK_INTERFACE</a>   <a class="el" href="ppb__mouse__lock_8h.html#a87c8b1ae0950bb6de205bbec68545edd">PPB_MOUSELOCK_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a87c8b1ae0950bb6de205bbec68545edd"></a><!-- doxytag: member="ppb_mouse_lock.h::PPB_MOUSELOCK_INTERFACE" ref="a87c8b1ae0950bb6de205bbec68545edd" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__mouse__lock_8h.html#a87c8b1ae0950bb6de205bbec68545edd">PPB_MOUSELOCK_INTERFACE</a>   "PPB_MouseLock;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__mouse__lock_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/ppb__mouse__lock_8h__incl.png
new file mode 100644
index 0000000..44c3379
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__mouse__lock_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__net__address_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/ppb__net__address_8h.html
new file mode 100644
index 0000000..80a21ea
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__net__address_8h.html
@@ -0,0 +1,73 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/ppb_net_address.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_net_address.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__net__address_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__net__address_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__net__address_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__net__address_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___net_address___i_pv4.html">PP_NetAddress_IPv4</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">All members are expressed in network byte order. <a href="struct_p_p___net_address___i_pv4.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___net_address___i_pv6.html">PP_NetAddress_IPv6</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">All members are expressed in network byte order. <a href="struct_p_p___net_address___i_pv6.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___net_address__1__0.html">PPB_NetAddress</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_NetAddress</code> interface provides operations on network addresses. <a href="struct_p_p_b___net_address__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__net__address_8h.html#aa487d14ecdf0f4ce95f95f429599b940">PPB_NETADDRESS_INTERFACE</a>   "PPB_NetAddress;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__net__address_8h.html#a4797048cd8b1d0ab96d600d0f2003f88">PPB_NETADDRESS_INTERFACE</a>   <a class="el" href="ppb__net__address_8h.html#aa487d14ecdf0f4ce95f95f429599b940">PPB_NETADDRESS_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___net_address__1__0.html">PPB_NetAddress</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gad6c325ff5a0a74f318a680971d0a7c52">PPB_NetAddress</a></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga43636bcadf9aa312a4c345d210ae6c55">PP_NetAddress_Family</a> { <a class="el" href="group___enums.html#gga43636bcadf9aa312a4c345d210ae6c55a2aef50ef77ad0122b649f0b9ac4c41bc">PP_NETADDRESS_FAMILY_UNSPECIFIED</a> = 0,
+<a class="el" href="group___enums.html#gga43636bcadf9aa312a4c345d210ae6c55a054684e064e8d819f8b2d80640196585">PP_NETADDRESS_FAMILY_IPV4</a> = 1,
+<a class="el" href="group___enums.html#gga43636bcadf9aa312a4c345d210ae6c55aa70bb3acced932eb4fe7df3aae85c27a">PP_NETADDRESS_FAMILY_IPV6</a> = 2
+ }</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga43636bcadf9aa312a4c345d210ae6c55">PP_NetAddress_Family</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga34eaf167d3bf1a00281de167719ca604">PP_NetAddress_IPv4</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga1301bb0d95a4b2e8907002b3bdc8f6d9">PP_NetAddress_IPv6</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_NetAddress</code> interface. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a4797048cd8b1d0ab96d600d0f2003f88"></a><!-- doxytag: member="ppb_net_address.h::PPB_NETADDRESS_INTERFACE" ref="a4797048cd8b1d0ab96d600d0f2003f88" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__net__address_8h.html#a4797048cd8b1d0ab96d600d0f2003f88">PPB_NETADDRESS_INTERFACE</a>   <a class="el" href="ppb__net__address_8h.html#aa487d14ecdf0f4ce95f95f429599b940">PPB_NETADDRESS_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="aa487d14ecdf0f4ce95f95f429599b940"></a><!-- doxytag: member="ppb_net_address.h::PPB_NETADDRESS_INTERFACE" ref="aa487d14ecdf0f4ce95f95f429599b940" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__net__address_8h.html#aa487d14ecdf0f4ce95f95f429599b940">PPB_NETADDRESS_INTERFACE</a>   "PPB_NetAddress;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__net__address_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/ppb__net__address_8h__incl.png
new file mode 100644
index 0000000..037b6176
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__net__address_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__network__list_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/ppb__network__list_8h.html
new file mode 100644
index 0000000..2a8ff42
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__network__list_8h.html
@@ -0,0 +1,72 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/ppb_network_list.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_network_list.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__network__list_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__network__list_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__network__list_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__network__list_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_list__1__0.html">PPB_NetworkList</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_NetworkList</code> is used to represent a list of network interfaces and their configuration. <a href="struct_p_p_b___network_list__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__network__list_8h.html#ac0b7e69aedfaf3e0dd033d17634b0747">PPB_NETWORKLIST_INTERFACE</a>   "PPB_NetworkList;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__network__list_8h.html#a9d022e173e890387820ddb636a8eedfe">PPB_NETWORKLIST_INTERFACE</a>   <a class="el" href="ppb__network__list_8h.html#ac0b7e69aedfaf3e0dd033d17634b0747">PPB_NETWORKLIST_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___network_list__1__0.html">PPB_NetworkList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga675af1709086b2a750d28da442c41f8a">PPB_NetworkList</a></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga1c967cb753eb468493b3bf72e6733983">PP_NetworkList_Type</a> { <a class="el" href="group___enums.html#gga1c967cb753eb468493b3bf72e6733983a6d8ddd32de577965df0d44df0e0acfdd">PP_NETWORKLIST_TYPE_UNKNOWN</a> = 0,
+<a class="el" href="group___enums.html#gga1c967cb753eb468493b3bf72e6733983a6eaef40fe1d62ca5bcfcc1974adc29f9">PP_NETWORKLIST_TYPE_ETHERNET</a> = 1,
+<a class="el" href="group___enums.html#gga1c967cb753eb468493b3bf72e6733983a9a47925bee0d3bd71739475b4c5654ed">PP_NETWORKLIST_TYPE_WIFI</a> = 2,
+<a class="el" href="group___enums.html#gga1c967cb753eb468493b3bf72e6733983ab1c83c6942b208101789971522b3a8c9">PP_NETWORKLIST_TYPE_CELLULAR</a> = 3
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga9188881b5d3346626db0ea8e6aaecf1f">PP_NetworkList_State</a> { <a class="el" href="group___enums.html#gga9188881b5d3346626db0ea8e6aaecf1fa561469f97b38b69868d1cce1142722b6">PP_NETWORKLIST_STATE_DOWN</a> = 0,
+<a class="el" href="group___enums.html#gga9188881b5d3346626db0ea8e6aaecf1fa3b4b789d490cd2d3119a188a79eca0f6">PP_NETWORKLIST_STATE_UP</a> = 1
+ }</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga1c967cb753eb468493b3bf72e6733983">PP_NetworkList_Type</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga9188881b5d3346626db0ea8e6aaecf1f">PP_NetworkList_State</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_NetworkList</code> interface. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a9d022e173e890387820ddb636a8eedfe"></a><!-- doxytag: member="ppb_network_list.h::PPB_NETWORKLIST_INTERFACE" ref="a9d022e173e890387820ddb636a8eedfe" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__network__list_8h.html#a9d022e173e890387820ddb636a8eedfe">PPB_NETWORKLIST_INTERFACE</a>   <a class="el" href="ppb__network__list_8h.html#ac0b7e69aedfaf3e0dd033d17634b0747">PPB_NETWORKLIST_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ac0b7e69aedfaf3e0dd033d17634b0747"></a><!-- doxytag: member="ppb_network_list.h::PPB_NETWORKLIST_INTERFACE" ref="ac0b7e69aedfaf3e0dd033d17634b0747" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__network__list_8h.html#ac0b7e69aedfaf3e0dd033d17634b0747">PPB_NETWORKLIST_INTERFACE</a>   "PPB_NetworkList;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__network__list_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/ppb__network__list_8h__incl.png
new file mode 100644
index 0000000..da802aab
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__network__list_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__network__monitor_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/ppb__network__monitor_8h.html
new file mode 100644
index 0000000..709dc2e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__network__monitor_8h.html
@@ -0,0 +1,59 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/ppb_network_monitor.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_network_monitor.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__network__monitor_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__network__monitor_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__network__monitor_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__network__monitor_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_monitor__1__0.html">PPB_NetworkMonitor</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_NetworkMonitor</code> allows to get network interfaces configuration and monitor network configuration changes. <a href="struct_p_p_b___network_monitor__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__network__monitor_8h.html#aa1c835159cc390a53f853281e62a969f">PPB_NETWORKMONITOR_INTERFACE</a>   "PPB_NetworkMonitor;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__network__monitor_8h.html#a1a8be64663de54d6d189673531f93008">PPB_NETWORKMONITOR_INTERFACE</a>   <a class="el" href="ppb__network__monitor_8h.html#aa1c835159cc390a53f853281e62a969f">PPB_NETWORKMONITOR_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___network_monitor__1__0.html">PPB_NetworkMonitor</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga873d8c5cd49f7b3c8ad5b4caabd1e8e6">PPB_NetworkMonitor</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_NetworkMonitor</code> interface. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a1a8be64663de54d6d189673531f93008"></a><!-- doxytag: member="ppb_network_monitor.h::PPB_NETWORKMONITOR_INTERFACE" ref="a1a8be64663de54d6d189673531f93008" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__network__monitor_8h.html#a1a8be64663de54d6d189673531f93008">PPB_NETWORKMONITOR_INTERFACE</a>   <a class="el" href="ppb__network__monitor_8h.html#aa1c835159cc390a53f853281e62a969f">PPB_NETWORKMONITOR_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="aa1c835159cc390a53f853281e62a969f"></a><!-- doxytag: member="ppb_network_monitor.h::PPB_NETWORKMONITOR_INTERFACE" ref="aa1c835159cc390a53f853281e62a969f" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__network__monitor_8h.html#aa1c835159cc390a53f853281e62a969f">PPB_NETWORKMONITOR_INTERFACE</a>   "PPB_NetworkMonitor;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__network__monitor_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/ppb__network__monitor_8h__incl.png
new file mode 100644
index 0000000..d2b987c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__network__monitor_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__network__proxy_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/ppb__network__proxy_8h.html
new file mode 100644
index 0000000..0e035ed
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__network__proxy_8h.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/ppb_network_proxy.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_network_proxy.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__network__proxy_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__network__proxy_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__network__proxy_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__network__proxy_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_proxy__1__0.html">PPB_NetworkProxy</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This interface provides a way to determine the appropriate proxy settings for a given URL. <a href="struct_p_p_b___network_proxy__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__network__proxy_8h.html#a51bdbe7e4706cc8c5e455ceb47a34472">PPB_NETWORKPROXY_INTERFACE</a>   "PPB_NetworkProxy;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__network__proxy_8h.html#aa951f1e83ded5d77558f770127d5765b">PPB_NETWORKPROXY_INTERFACE</a>   <a class="el" href="ppb__network__proxy_8h.html#a51bdbe7e4706cc8c5e455ceb47a34472">PPB_NETWORKPROXY_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___network_proxy__1__0.html">PPB_NetworkProxy</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaf8338a682417267c8525446ef1de85b1">PPB_NetworkProxy</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_NetworkProxy</code> interface. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="aa951f1e83ded5d77558f770127d5765b"></a><!-- doxytag: member="ppb_network_proxy.h::PPB_NETWORKPROXY_INTERFACE" ref="aa951f1e83ded5d77558f770127d5765b" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__network__proxy_8h.html#aa951f1e83ded5d77558f770127d5765b">PPB_NETWORKPROXY_INTERFACE</a>   <a class="el" href="ppb__network__proxy_8h.html#a51bdbe7e4706cc8c5e455ceb47a34472">PPB_NETWORKPROXY_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a51bdbe7e4706cc8c5e455ceb47a34472"></a><!-- doxytag: member="ppb_network_proxy.h::PPB_NETWORKPROXY_INTERFACE" ref="a51bdbe7e4706cc8c5e455ceb47a34472" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__network__proxy_8h.html#a51bdbe7e4706cc8c5e455ceb47a34472">PPB_NETWORKPROXY_INTERFACE</a>   "PPB_NetworkProxy;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__network__proxy_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/ppb__network__proxy_8h__incl.png
new file mode 100644
index 0000000..56b1a30
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__network__proxy_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__tcp__socket_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/ppb__tcp__socket_8h.html
new file mode 100644
index 0000000..ed2ed7c5
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__tcp__socket_8h.html
@@ -0,0 +1,67 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/ppb_tcp_socket.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_tcp_socket.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__tcp__socket_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__tcp__socket_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__tcp__socket_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__tcp__socket_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html">PPB_TCPSocket</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_TCPSocket</code> interface provides TCP socket operations. <a href="struct_p_p_b___t_c_p_socket__1__1.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__tcp__socket_8h.html#a12b0fabc454cb99a6d4c8352c6f22d71">PPB_TCPSOCKET_INTERFACE</a>   "PPB_TCPSocket;1.1"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__tcp__socket_8h.html#a29ecaef1552f19b223e6c93475d8788c">PPB_TCPSOCKET_INTERFACE</a>   <a class="el" href="ppb__tcp__socket_8h.html#a12b0fabc454cb99a6d4c8352c6f22d71">PPB_TCPSOCKET_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html">PPB_TCPSocket</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga0f72e14a6cf9631bd733ded1f8ba4d9f">PPB_TCPSocket</a></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga1557c0bbce8739a3418e6027a9c44e12">PP_TCPSocket_Option</a> { <a class="el" href="group___enums.html#gga1557c0bbce8739a3418e6027a9c44e12a4b17558654d1df4452aa98f7d2609a10">PP_TCPSOCKET_OPTION_NO_DELAY</a> = 0,
+<a class="el" href="group___enums.html#gga1557c0bbce8739a3418e6027a9c44e12a61ce27ba7853d05f7af51be1bed5d1a6">PP_TCPSOCKET_OPTION_SEND_BUFFER_SIZE</a> = 1,
+<a class="el" href="group___enums.html#gga1557c0bbce8739a3418e6027a9c44e12aef57736e294acb30fb7b3b2f4a425f72">PP_TCPSOCKET_OPTION_RECV_BUFFER_SIZE</a> = 2
+ }</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga1557c0bbce8739a3418e6027a9c44e12">PP_TCPSocket_Option</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_TCPSocket</code> interface. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a29ecaef1552f19b223e6c93475d8788c"></a><!-- doxytag: member="ppb_tcp_socket.h::PPB_TCPSOCKET_INTERFACE" ref="a29ecaef1552f19b223e6c93475d8788c" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__tcp__socket_8h.html#a29ecaef1552f19b223e6c93475d8788c">PPB_TCPSOCKET_INTERFACE</a>   <a class="el" href="ppb__tcp__socket_8h.html#a12b0fabc454cb99a6d4c8352c6f22d71">PPB_TCPSOCKET_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a12b0fabc454cb99a6d4c8352c6f22d71"></a><!-- doxytag: member="ppb_tcp_socket.h::PPB_TCPSOCKET_INTERFACE" ref="a12b0fabc454cb99a6d4c8352c6f22d71" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__tcp__socket_8h.html#a12b0fabc454cb99a6d4c8352c6f22d71">PPB_TCPSOCKET_INTERFACE</a>   "PPB_TCPSocket;1.1"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__tcp__socket_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/ppb__tcp__socket_8h__incl.png
new file mode 100644
index 0000000..4ff3069
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__tcp__socket_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__text__input__controller_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/ppb__text__input__controller_8h.html
new file mode 100644
index 0000000..4c636e8
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__text__input__controller_8h.html
@@ -0,0 +1,76 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/ppb_text_input_controller.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_text_input_controller.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__text__input__controller_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__text__input__controller_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__text__input__controller_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__text__input__controller_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___text_input_controller__1__0.html">PPB_TextInputController</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><code>PPB_TextInputController</code> provides a set of functions for giving hints to the browser about the text input status of plugins, and functions for controlling input method editors (IMEs). <a href="struct_p_p_b___text_input_controller__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__text__input__controller_8h.html#a6ca7f2ae09c011c13d12c79ba155e12a">PPB_TEXTINPUTCONTROLLER_INTERFACE</a>   "PPB_TextInputController;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__text__input__controller_8h.html#a9a28f7fd2db84c2cd550ed272070c0ee">PPB_TEXTINPUTCONTROLLER_INTERFACE</a>   <a class="el" href="ppb__text__input__controller_8h.html#a6ca7f2ae09c011c13d12c79ba155e12a">PPB_TEXTINPUTCONTROLLER_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___text_input_controller__1__0.html">PPB_TextInputController</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gab387085f6044f3a0b1631d119d22a942">PPB_TextInputController</a></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga5fef49ee4c2cc6dcead825340da0f116">PP_TextInput_Type</a> { <br />
+  <a class="el" href="group___enums.html#gga5fef49ee4c2cc6dcead825340da0f116a0d75c884156553959d65252e65aa0916">PP_TEXTINPUT_TYPE_NONE</a> = 0,
+<a class="el" href="group___enums.html#gga5fef49ee4c2cc6dcead825340da0f116a0e5e4072fce915eca7e4dfd7c639626c">PP_TEXTINPUT_TYPE_TEXT</a> = 1,
+<a class="el" href="group___enums.html#gga5fef49ee4c2cc6dcead825340da0f116a00f508676278dd45e0335a8d5d715114">PP_TEXTINPUT_TYPE_PASSWORD</a> = 2,
+<a class="el" href="group___enums.html#gga5fef49ee4c2cc6dcead825340da0f116a0d7975532097315f198617ad5e59bc32">PP_TEXTINPUT_TYPE_SEARCH</a> = 3,
+<br />
+  <a class="el" href="group___enums.html#gga5fef49ee4c2cc6dcead825340da0f116a027963b61eb55438f92662e72e939cf8">PP_TEXTINPUT_TYPE_EMAIL</a> = 4,
+<a class="el" href="group___enums.html#gga5fef49ee4c2cc6dcead825340da0f116af71a3fb3f651ad5b417592433278fd1e">PP_TEXTINPUT_TYPE_NUMBER</a> = 5,
+<a class="el" href="group___enums.html#gga5fef49ee4c2cc6dcead825340da0f116a181e9bd71e6a97acd6c5dace9f0b5fb3">PP_TEXTINPUT_TYPE_TELEPHONE</a> = 6,
+<a class="el" href="group___enums.html#gga5fef49ee4c2cc6dcead825340da0f116ad4371ecdd1a6631a78d4721d83062394">PP_TEXTINPUT_TYPE_URL</a> = 7
+<br />
+ }</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga5fef49ee4c2cc6dcead825340da0f116">PP_TextInput_Type</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_TextInputController</code> interface. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a9a28f7fd2db84c2cd550ed272070c0ee"></a><!-- doxytag: member="ppb_text_input_controller.h::PPB_TEXTINPUTCONTROLLER_INTERFACE" ref="a9a28f7fd2db84c2cd550ed272070c0ee" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__text__input__controller_8h.html#a9a28f7fd2db84c2cd550ed272070c0ee">PPB_TEXTINPUTCONTROLLER_INTERFACE</a>   <a class="el" href="ppb__text__input__controller_8h.html#a6ca7f2ae09c011c13d12c79ba155e12a">PPB_TEXTINPUTCONTROLLER_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a6ca7f2ae09c011c13d12c79ba155e12a"></a><!-- doxytag: member="ppb_text_input_controller.h::PPB_TEXTINPUTCONTROLLER_INTERFACE" ref="a6ca7f2ae09c011c13d12c79ba155e12a" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__text__input__controller_8h.html#a6ca7f2ae09c011c13d12c79ba155e12a">PPB_TEXTINPUTCONTROLLER_INTERFACE</a>   "PPB_TextInputController;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__text__input__controller_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/ppb__text__input__controller_8h__incl.png
new file mode 100644
index 0000000..64ff587
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__text__input__controller_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__udp__socket_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/ppb__udp__socket_8h.html
new file mode 100644
index 0000000..9b4fa0f
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__udp__socket_8h.html
@@ -0,0 +1,68 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/ppb_udp_socket.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_udp_socket.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__udp__socket_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__udp__socket_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__udp__socket_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__udp__socket_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html">PPB_UDPSocket</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_UDPSocket</code> interface provides UDP socket operations. <a href="struct_p_p_b___u_d_p_socket__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__udp__socket_8h.html#aafc1aecb9a8f2c3f8eed80a93a77763c">PPB_UDPSOCKET_INTERFACE</a>   "PPB_UDPSocket;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__udp__socket_8h.html#a673aeb3fceb5ed977b7b8683f674cbfd">PPB_UDPSOCKET_INTERFACE</a>   <a class="el" href="ppb__udp__socket_8h.html#aafc1aecb9a8f2c3f8eed80a93a77763c">PPB_UDPSOCKET_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html">PPB_UDPSocket</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaf04d893ccf01c5d1cfcadee5fcc869d1">PPB_UDPSocket</a></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga1a8472fa3e7150615c45c38fa8c12ce2">PP_UDPSocket_Option</a> { <a class="el" href="group___enums.html#gga1a8472fa3e7150615c45c38fa8c12ce2a79568403b8927bf98bea0f2d38469984">PP_UDPSOCKET_OPTION_ADDRESS_REUSE</a> = 0,
+<a class="el" href="group___enums.html#gga1a8472fa3e7150615c45c38fa8c12ce2aeceda8fe978a52382b96939de7707c00">PP_UDPSOCKET_OPTION_BROADCAST</a> = 1,
+<a class="el" href="group___enums.html#gga1a8472fa3e7150615c45c38fa8c12ce2a905f0adde2912a5db26883d45fb75d57">PP_UDPSOCKET_OPTION_SEND_BUFFER_SIZE</a> = 2,
+<a class="el" href="group___enums.html#gga1a8472fa3e7150615c45c38fa8c12ce2a1264eb1d6d16eb3a074ee3d21ebb3b64">PP_UDPSOCKET_OPTION_RECV_BUFFER_SIZE</a> = 3
+ }</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga1a8472fa3e7150615c45c38fa8c12ce2">PP_UDPSocket_Option</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_UDPSocket</code> interface. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a673aeb3fceb5ed977b7b8683f674cbfd"></a><!-- doxytag: member="ppb_udp_socket.h::PPB_UDPSOCKET_INTERFACE" ref="a673aeb3fceb5ed977b7b8683f674cbfd" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__udp__socket_8h.html#a673aeb3fceb5ed977b7b8683f674cbfd">PPB_UDPSOCKET_INTERFACE</a>   <a class="el" href="ppb__udp__socket_8h.html#aafc1aecb9a8f2c3f8eed80a93a77763c">PPB_UDPSOCKET_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="aafc1aecb9a8f2c3f8eed80a93a77763c"></a><!-- doxytag: member="ppb_udp_socket.h::PPB_UDPSOCKET_INTERFACE" ref="aafc1aecb9a8f2c3f8eed80a93a77763c" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__udp__socket_8h.html#aafc1aecb9a8f2c3f8eed80a93a77763c">PPB_UDPSOCKET_INTERFACE</a>   "PPB_UDPSocket;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__udp__socket_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/ppb__udp__socket_8h__incl.png
new file mode 100644
index 0000000..9e87254
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__udp__socket_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__url__loader_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/ppb__url__loader_8h.html
new file mode 100644
index 0000000..1c9ad20
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__url__loader_8h.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/ppb_url_loader.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_url_loader.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__url__loader_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__url__loader_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__url__loader_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__url__loader_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html">PPB_URLLoader</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <b>PPB_URLLoader</b> interface contains pointers to functions for loading URLs. <a href="struct_p_p_b___u_r_l_loader__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__url__loader_8h.html#adebf43440c53ea088f68ae376a7c7bbb">PPB_URLLOADER_INTERFACE</a>   "PPB_URLLoader;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__url__loader_8h.html#ae1fa8c5cdfccb7ea67e184b1e5e1009e">PPB_URLLOADER_INTERFACE</a>   <a class="el" href="ppb__url__loader_8h.html#adebf43440c53ea088f68ae376a7c7bbb">PPB_URLLOADER_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html">PPB_URLLoader</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga307f562a9e41991de7c80b75cd7f379c">PPB_URLLoader</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <b>PPB_URLLoader</b> interface for loading URLs. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="ae1fa8c5cdfccb7ea67e184b1e5e1009e"></a><!-- doxytag: member="ppb_url_loader.h::PPB_URLLOADER_INTERFACE" ref="ae1fa8c5cdfccb7ea67e184b1e5e1009e" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__url__loader_8h.html#ae1fa8c5cdfccb7ea67e184b1e5e1009e">PPB_URLLOADER_INTERFACE</a>   <a class="el" href="ppb__url__loader_8h.html#adebf43440c53ea088f68ae376a7c7bbb">PPB_URLLOADER_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="adebf43440c53ea088f68ae376a7c7bbb"></a><!-- doxytag: member="ppb_url_loader.h::PPB_URLLOADER_INTERFACE" ref="adebf43440c53ea088f68ae376a7c7bbb" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__url__loader_8h.html#adebf43440c53ea088f68ae376a7c7bbb">PPB_URLLOADER_INTERFACE</a>   "PPB_URLLoader;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__url__loader_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/ppb__url__loader_8h__incl.png
new file mode 100644
index 0000000..6a59d51b
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__url__loader_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__url__request__info_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/ppb__url__request__info_8h.html
new file mode 100644
index 0000000..4e51f3f
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__url__request__info_8h.html
@@ -0,0 +1,84 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/ppb_url_request_info.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_url_request_info.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__url__request__info_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__url__request__info_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__url__request__info_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__url__request__info_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html">PPB_URLRequestInfo</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_URLRequestInfo</code> interface is used to create and handle URL requests. <a href="struct_p_p_b___u_r_l_request_info__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__url__request__info_8h.html#a1624264dba578e2c15b257f7680a43de">PPB_URLREQUESTINFO_INTERFACE</a>   "PPB_URLRequestInfo;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__url__request__info_8h.html#a61dc8b05683833153b9368eabebc5441">PPB_URLREQUESTINFO_INTERFACE</a>   <a class="el" href="ppb__url__request__info_8h.html#a1624264dba578e2c15b257f7680a43de">PPB_URLREQUESTINFO_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html">PPB_URLRequestInfo</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gad60387934d9e235d3d145ee5a1fb4e74">PPB_URLRequestInfo</a></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga41975630f0a4c49e47d4a21754f8402d">PP_URLRequestProperty</a> { <br />
+  <a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da89e44812e771fed9df0ff8994690e44d">PP_URLREQUESTPROPERTY_URL</a> = 0,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da9cb5229069aac201622dbaa9cbca592c">PP_URLREQUESTPROPERTY_METHOD</a> = 1,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402dac4b3809e34561a77c75b31eac1589e8d">PP_URLREQUESTPROPERTY_HEADERS</a> = 2,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402dac43d267f888233c994bd1ca2b5b6b249">PP_URLREQUESTPROPERTY_STREAMTOFILE</a> = 3,
+<br />
+  <a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da5f1270ecf041c6c0a6ef351eb0c12127">PP_URLREQUESTPROPERTY_FOLLOWREDIRECTS</a> = 4,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da6846ea1e9c4ef7e09ea0f330a90cb7a6">PP_URLREQUESTPROPERTY_RECORDDOWNLOADPROGRESS</a> = 5,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da9202c5a8c6afdc6fa9808ab21b95376c">PP_URLREQUESTPROPERTY_RECORDUPLOADPROGRESS</a> = 6,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da6130d3b9dc8ae434752612ef155e3a38">PP_URLREQUESTPROPERTY_CUSTOMREFERRERURL</a> = 7,
+<br />
+  <a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da23f6523485b5bedf17882fb7a8796c03">PP_URLREQUESTPROPERTY_ALLOWCROSSORIGINREQUESTS</a> = 8,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da7da4140fde998f227f82d8064e9f5460">PP_URLREQUESTPROPERTY_ALLOWCREDENTIALS</a> = 9,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da094e978814d887d1888a2652aa91fc8b">PP_URLREQUESTPROPERTY_CUSTOMCONTENTTRANSFERENCODING</a> = 10,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da69ab9c81542c755313fc906d27396a9e">PP_URLREQUESTPROPERTY_PREFETCHBUFFERUPPERTHRESHOLD</a> = 11,
+<br />
+  <a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da8529403a539c1f604f8b0507078d804d">PP_URLREQUESTPROPERTY_PREFETCHBUFFERLOWERTHRESHOLD</a> = 12,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402dacf34504e827fdce2895f2b504cdd0653">PP_URLREQUESTPROPERTY_CUSTOMUSERAGENT</a> = 13
+<br />
+ }</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga41975630f0a4c49e47d4a21754f8402d">PP_URLRequestProperty</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_URLRequestInfo</code> API for creating and manipulating URL requests. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a61dc8b05683833153b9368eabebc5441"></a><!-- doxytag: member="ppb_url_request_info.h::PPB_URLREQUESTINFO_INTERFACE" ref="a61dc8b05683833153b9368eabebc5441" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__url__request__info_8h.html#a61dc8b05683833153b9368eabebc5441">PPB_URLREQUESTINFO_INTERFACE</a>   <a class="el" href="ppb__url__request__info_8h.html#a1624264dba578e2c15b257f7680a43de">PPB_URLREQUESTINFO_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a1624264dba578e2c15b257f7680a43de"></a><!-- doxytag: member="ppb_url_request_info.h::PPB_URLREQUESTINFO_INTERFACE" ref="a1624264dba578e2c15b257f7680a43de" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__url__request__info_8h.html#a1624264dba578e2c15b257f7680a43de">PPB_URLREQUESTINFO_INTERFACE</a>   "PPB_URLRequestInfo;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__url__request__info_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/ppb__url__request__info_8h__incl.png
new file mode 100644
index 0000000..588f2c62
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__url__request__info_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__url__response__info_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/ppb__url__response__info_8h.html
new file mode 100644
index 0000000..5784838
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__url__response__info_8h.html
@@ -0,0 +1,74 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/ppb_url_response_info.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_url_response_info.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__url__response__info_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__url__response__info_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__url__response__info_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__url__response__info_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_response_info__1__0.html">PPB_URLResponseInfo</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The PPB_URLResponseInfo interface contains APIs for examining URL responses. <a href="struct_p_p_b___u_r_l_response_info__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__url__response__info_8h.html#a3703eb2a16b1386517bcd3d7074e94ff">PPB_URLRESPONSEINFO_INTERFACE</a>   "PPB_URLResponseInfo;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__url__response__info_8h.html#a788cf0f4f93d8cbfbc834b5921188f35">PPB_URLRESPONSEINFO_INTERFACE</a>   <a class="el" href="ppb__url__response__info_8h.html#a3703eb2a16b1386517bcd3d7074e94ff">PPB_URLRESPONSEINFO_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___u_r_l_response_info__1__0.html">PPB_URLResponseInfo</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gad63e57584aea115126b6922b141cf745">PPB_URLResponseInfo</a></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga642e6199b27df69aad84aff5597041e0">PP_URLResponseProperty</a> { <br />
+  <a class="el" href="group___enums.html#gga642e6199b27df69aad84aff5597041e0a805e0970808bd8d36cb02171dca7a734">PP_URLRESPONSEPROPERTY_URL</a> = 0,
+<a class="el" href="group___enums.html#gga642e6199b27df69aad84aff5597041e0aaaba524cc005207e2f226400e6a14d8e">PP_URLRESPONSEPROPERTY_REDIRECTURL</a> = 1,
+<a class="el" href="group___enums.html#gga642e6199b27df69aad84aff5597041e0abc45cd41ad54d2350626651b34db6927">PP_URLRESPONSEPROPERTY_REDIRECTMETHOD</a> = 2,
+<a class="el" href="group___enums.html#gga642e6199b27df69aad84aff5597041e0abc04191395637d0a4858657f2edd1ce3">PP_URLRESPONSEPROPERTY_STATUSCODE</a> = 3,
+<br />
+  <a class="el" href="group___enums.html#gga642e6199b27df69aad84aff5597041e0a0224e3907e7efc9ff8d916b0cb7b3287">PP_URLRESPONSEPROPERTY_STATUSLINE</a> = 4,
+<a class="el" href="group___enums.html#gga642e6199b27df69aad84aff5597041e0a45c014f3cb40e884677387855c3d977b">PP_URLRESPONSEPROPERTY_HEADERS</a> = 5
+<br />
+ }</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga642e6199b27df69aad84aff5597041e0">PP_URLResponseProperty</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_URLResponseInfo</code> API for examining URL responses. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a788cf0f4f93d8cbfbc834b5921188f35"></a><!-- doxytag: member="ppb_url_response_info.h::PPB_URLRESPONSEINFO_INTERFACE" ref="a788cf0f4f93d8cbfbc834b5921188f35" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__url__response__info_8h.html#a788cf0f4f93d8cbfbc834b5921188f35">PPB_URLRESPONSEINFO_INTERFACE</a>   <a class="el" href="ppb__url__response__info_8h.html#a3703eb2a16b1386517bcd3d7074e94ff">PPB_URLRESPONSEINFO_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a3703eb2a16b1386517bcd3d7074e94ff"></a><!-- doxytag: member="ppb_url_response_info.h::PPB_URLRESPONSEINFO_INTERFACE" ref="a3703eb2a16b1386517bcd3d7074e94ff" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__url__response__info_8h.html#a3703eb2a16b1386517bcd3d7074e94ff">PPB_URLRESPONSEINFO_INTERFACE</a>   "PPB_URLResponseInfo;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__url__response__info_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/ppb__url__response__info_8h__incl.png
new file mode 100644
index 0000000..6436a73
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__url__response__info_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__var_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/ppb__var_8h.html
new file mode 100644
index 0000000..c2c2e80
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__var_8h.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/ppb_var.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_var.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__var_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__var_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__var_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__var_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var__1__1.html">PPB_Var</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">PPB_Var API. <a href="struct_p_p_b___var__1__1.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__var_8h.html#acc1cbb0daac02e06063221b751084502">PPB_VAR_INTERFACE</a>   "PPB_Var;1.1"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__var_8h.html#a0d345a2704bcdbc588c4227b46747041">PPB_VAR_INTERFACE</a>   <a class="el" href="ppb__var_8h.html#acc1cbb0daac02e06063221b751084502">PPB_VAR_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___var__1__1.html">PPB_Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga7363a88a6e5058841915641c1b2923ad">PPB_Var</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_Var</code> struct. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a0d345a2704bcdbc588c4227b46747041"></a><!-- doxytag: member="ppb_var.h::PPB_VAR_INTERFACE" ref="a0d345a2704bcdbc588c4227b46747041" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__var_8h.html#a0d345a2704bcdbc588c4227b46747041">PPB_VAR_INTERFACE</a>   <a class="el" href="ppb__var_8h.html#acc1cbb0daac02e06063221b751084502">PPB_VAR_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="acc1cbb0daac02e06063221b751084502"></a><!-- doxytag: member="ppb_var.h::PPB_VAR_INTERFACE" ref="acc1cbb0daac02e06063221b751084502" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__var_8h.html#acc1cbb0daac02e06063221b751084502">PPB_VAR_INTERFACE</a>   "PPB_Var;1.1"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__var_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/ppb__var_8h__incl.png
new file mode 100644
index 0000000..c84cbec
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__var_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__var__array_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/ppb__var__array_8h.html
new file mode 100644
index 0000000..6f12a17
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__var__array_8h.html
@@ -0,0 +1,57 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/ppb_var_array.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_var_array.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__var__array_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__var__array_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__var__array_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__var__array_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_array__1__0.html">PPB_VarArray</a></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__var__array_8h.html#a244ad07738d77a4d11d8009a7d69a5aa">PPB_VAR_ARRAY_INTERFACE</a>   "PPB_VarArray;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__var__array_8h.html#a45d67f25be216695420b237b1deeca3f">PPB_VAR_ARRAY_INTERFACE</a>   <a class="el" href="ppb__var__array_8h.html#a244ad07738d77a4d11d8009a7d69a5aa">PPB_VAR_ARRAY_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___var_array__1__0.html">PPB_VarArray</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaad75327f1ecc75e58c2805fc4740d3c6">PPB_VarArray</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_VarArray</code> struct providing a way to interact with array vars. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a45d67f25be216695420b237b1deeca3f"></a><!-- doxytag: member="ppb_var_array.h::PPB_VAR_ARRAY_INTERFACE" ref="a45d67f25be216695420b237b1deeca3f" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__var__array_8h.html#a45d67f25be216695420b237b1deeca3f">PPB_VAR_ARRAY_INTERFACE</a>   <a class="el" href="ppb__var__array_8h.html#a244ad07738d77a4d11d8009a7d69a5aa">PPB_VAR_ARRAY_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a244ad07738d77a4d11d8009a7d69a5aa"></a><!-- doxytag: member="ppb_var_array.h::PPB_VAR_ARRAY_INTERFACE" ref="a244ad07738d77a4d11d8009a7d69a5aa" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__var__array_8h.html#a244ad07738d77a4d11d8009a7d69a5aa">PPB_VAR_ARRAY_INTERFACE</a>   "PPB_VarArray;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__var__array_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/ppb__var__array_8h__incl.png
new file mode 100644
index 0000000..f9a34ff8
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__var__array_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__var__array__buffer_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/ppb__var__array__buffer_8h.html
new file mode 100644
index 0000000..4ea1ffa7
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__var__array__buffer_8h.html
@@ -0,0 +1,59 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/ppb_var_array_buffer.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_var_array_buffer.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__var__array__buffer_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__var__array__buffer_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__var__array__buffer_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__var__array__buffer_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_array_buffer__1__0.html">PPB_VarArrayBuffer</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_VarArrayBuffer</code> interface provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous sequence of bytes. <a href="struct_p_p_b___var_array_buffer__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__var__array__buffer_8h.html#aacd03d05467e3a617c0a1c068fa422c7">PPB_VAR_ARRAY_BUFFER_INTERFACE</a>   "PPB_VarArrayBuffer;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__var__array__buffer_8h.html#a2b7e1cca43218ed9eb3c92b24089ecac">PPB_VAR_ARRAY_BUFFER_INTERFACE</a>   <a class="el" href="ppb__var__array__buffer_8h.html#aacd03d05467e3a617c0a1c068fa422c7">PPB_VAR_ARRAY_BUFFER_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___var_array_buffer__1__0.html">PPB_VarArrayBuffer</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gab26d5bb032f5438d02faf5bdf7b208cb">PPB_VarArrayBuffer</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_VarArrayBuffer</code> struct providing a way to interact with JavaScript ArrayBuffers. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a2b7e1cca43218ed9eb3c92b24089ecac"></a><!-- doxytag: member="ppb_var_array_buffer.h::PPB_VAR_ARRAY_BUFFER_INTERFACE" ref="a2b7e1cca43218ed9eb3c92b24089ecac" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__var__array__buffer_8h.html#a2b7e1cca43218ed9eb3c92b24089ecac">PPB_VAR_ARRAY_BUFFER_INTERFACE</a>   <a class="el" href="ppb__var__array__buffer_8h.html#aacd03d05467e3a617c0a1c068fa422c7">PPB_VAR_ARRAY_BUFFER_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="aacd03d05467e3a617c0a1c068fa422c7"></a><!-- doxytag: member="ppb_var_array_buffer.h::PPB_VAR_ARRAY_BUFFER_INTERFACE" ref="aacd03d05467e3a617c0a1c068fa422c7" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__var__array__buffer_8h.html#aacd03d05467e3a617c0a1c068fa422c7">PPB_VAR_ARRAY_BUFFER_INTERFACE</a>   "PPB_VarArrayBuffer;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__var__array__buffer_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/ppb__var__array__buffer_8h__incl.png
new file mode 100644
index 0000000..194ea20
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__var__array__buffer_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__var__dictionary_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/ppb__var__dictionary_8h.html
new file mode 100644
index 0000000..153e8c5
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__var__dictionary_8h.html
@@ -0,0 +1,59 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/ppb_var_dictionary.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_var_dictionary.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__var__dictionary_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__var__dictionary_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__var__dictionary_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__var__dictionary_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_dictionary__1__0.html">PPB_VarDictionary</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A dictionary var contains key-value pairs with unique keys. <a href="struct_p_p_b___var_dictionary__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__var__dictionary_8h.html#a33d58f4be531cacb629c9eb33ab8cdc2">PPB_VAR_DICTIONARY_INTERFACE</a>   "PPB_VarDictionary;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__var__dictionary_8h.html#ac9d41ef2449d860ee3b429c148bd6be9">PPB_VAR_DICTIONARY_INTERFACE</a>   <a class="el" href="ppb__var__dictionary_8h.html#a33d58f4be531cacb629c9eb33ab8cdc2">PPB_VAR_DICTIONARY_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___var_dictionary__1__0.html">PPB_VarDictionary</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga69826004b5c32232c9639090f3e1db2e">PPB_VarDictionary</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_VarDictionary</code> struct providing a way to interact with dictionary vars. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="ac9d41ef2449d860ee3b429c148bd6be9"></a><!-- doxytag: member="ppb_var_dictionary.h::PPB_VAR_DICTIONARY_INTERFACE" ref="ac9d41ef2449d860ee3b429c148bd6be9" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__var__dictionary_8h.html#ac9d41ef2449d860ee3b429c148bd6be9">PPB_VAR_DICTIONARY_INTERFACE</a>   <a class="el" href="ppb__var__dictionary_8h.html#a33d58f4be531cacb629c9eb33ab8cdc2">PPB_VAR_DICTIONARY_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a33d58f4be531cacb629c9eb33ab8cdc2"></a><!-- doxytag: member="ppb_var_dictionary.h::PPB_VAR_DICTIONARY_INTERFACE" ref="a33d58f4be531cacb629c9eb33ab8cdc2" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__var__dictionary_8h.html#a33d58f4be531cacb629c9eb33ab8cdc2">PPB_VAR_DICTIONARY_INTERFACE</a>   "PPB_VarDictionary;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__var__dictionary_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/ppb__var__dictionary_8h__incl.png
new file mode 100644
index 0000000..924d71a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__var__dictionary_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__view_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/ppb__view_8h.html
new file mode 100644
index 0000000..a35f28c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__view_8h.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/ppb_view.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_view.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__view_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__view_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__view_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__view_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___view__1__1.html">PPB_View</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><code>PPB_View</code> represents the state of the view of an instance. <a href="struct_p_p_b___view__1__1.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__view_8h.html#a0aa91bef3e37c8a98b77417dcf9a7a6a">PPB_VIEW_INTERFACE</a>   "PPB_View;1.1"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__view_8h.html#a3597f47b815dffc7e9cf250a107e7d3e">PPB_VIEW_INTERFACE</a>   <a class="el" href="ppb__view_8h.html#a0aa91bef3e37c8a98b77417dcf9a7a6a">PPB_VIEW_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___view__1__1.html">PPB_View</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaccc39c5c499011d13be37e23868a04f3">PPB_View</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_View</code> struct representing the state of the view of an instance. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a3597f47b815dffc7e9cf250a107e7d3e"></a><!-- doxytag: member="ppb_view.h::PPB_VIEW_INTERFACE" ref="a3597f47b815dffc7e9cf250a107e7d3e" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__view_8h.html#a3597f47b815dffc7e9cf250a107e7d3e">PPB_VIEW_INTERFACE</a>   <a class="el" href="ppb__view_8h.html#a0aa91bef3e37c8a98b77417dcf9a7a6a">PPB_VIEW_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a0aa91bef3e37c8a98b77417dcf9a7a6a"></a><!-- doxytag: member="ppb_view.h::PPB_VIEW_INTERFACE" ref="a0aa91bef3e37c8a98b77417dcf9a7a6a" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__view_8h.html#a0aa91bef3e37c8a98b77417dcf9a7a6a">PPB_VIEW_INTERFACE</a>   "PPB_View;1.1"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__view_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/ppb__view_8h__incl.png
new file mode 100644
index 0000000..a476d43c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__view_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__websocket_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/ppb__websocket_8h.html
new file mode 100644
index 0000000..39d90c4
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__websocket_8h.html
@@ -0,0 +1,97 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/ppb_websocket.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_websocket.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__websocket_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__websocket_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__websocket_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppb__websocket_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___web_socket__1__0.html">PPB_WebSocket</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_WebSocket</code> interface provides bi-directional, full-duplex, communications over a single TCP socket. <a href="struct_p_p_b___web_socket__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__websocket_8h.html#ad613dc4aff545f9e9885c415f1673107">PPB_WEBSOCKET_INTERFACE</a>   "PPB_WebSocket;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__websocket_8h.html#a6d56a012c9350b4cc4e55b668d3fbe75">PPB_WEBSOCKET_INTERFACE</a>   <a class="el" href="ppb__websocket_8h.html#ad613dc4aff545f9e9885c415f1673107">PPB_WEBSOCKET_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___web_socket__1__0.html">PPB_WebSocket</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gad0e152d14cefb0b480228f3fc7070faf">PPB_WebSocket</a></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gade61cdf6a7470769b571925694d91a89">PP_WebSocketReadyState</a> { <br />
+  <a class="el" href="group___enums.html#ggade61cdf6a7470769b571925694d91a89a6c603b9df214e22d8b8202431866b26b">PP_WEBSOCKETREADYSTATE_INVALID</a> = -1,
+<a class="el" href="group___enums.html#ggade61cdf6a7470769b571925694d91a89a9ad491ea639e22b598d4e8cab463acd9">PP_WEBSOCKETREADYSTATE_CONNECTING</a> = 0,
+<a class="el" href="group___enums.html#ggade61cdf6a7470769b571925694d91a89a60f99e31f237d57df167d70e7c1ada7d">PP_WEBSOCKETREADYSTATE_OPEN</a> = 1,
+<a class="el" href="group___enums.html#ggade61cdf6a7470769b571925694d91a89a45ce2585ba8b200c6c02112098df6447">PP_WEBSOCKETREADYSTATE_CLOSING</a> = 2,
+<br />
+  <a class="el" href="group___enums.html#ggade61cdf6a7470769b571925694d91a89a43865a04fac402be4f589d2c7f9f02f4">PP_WEBSOCKETREADYSTATE_CLOSED</a> = 3
+<br />
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga8458f33f09ecc56fcf486c60b844678d">PP_WebSocketCloseCode</a> { <br />
+  <a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678dace8b6cbd5ab6bdecc5762b8753702d47">PP_WEBSOCKETSTATUSCODE_NOT_SPECIFIED</a> = 1005,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678daff82b3d825f09240d64479d5ae0a2e00">PP_WEBSOCKETSTATUSCODE_NORMAL_CLOSURE</a> = 1000,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da9d8d5c41a6592a609324249950468fb4">PP_WEBSOCKETSTATUSCODE_GOING_AWAY</a> = 1001,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678daf20b614979599d2a2ed79543618d6ef4">PP_WEBSOCKETSTATUSCODE_PROTOCOL_ERROR</a> = 1002,
+<br />
+  <a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da4c63e46fd3e2a3b03fdcc577431f85ba">PP_WEBSOCKETSTATUSCODE_UNSUPPORTED_DATA</a> = 1003,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da75580d49b265525d2f8591be2aa02fe6">PP_WEBSOCKETSTATUSCODE_NO_STATUS_RECEIVED</a> = 1005,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678dad80b864c592819db0cb640d2b6e74a3f">PP_WEBSOCKETSTATUSCODE_ABNORMAL_CLOSURE</a> = 1006,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678daea768048eaff4826bf06550d8da0dd42">PP_WEBSOCKETSTATUSCODE_INVALID_FRAME_PAYLOAD_DATA</a> = 1007,
+<br />
+  <a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da4d4405b66c4b436c9bb31dfa4fa71523">PP_WEBSOCKETSTATUSCODE_POLICY_VIOLATION</a> = 1008,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da7c8d17601c982c62a933a3f721c049ef">PP_WEBSOCKETSTATUSCODE_MESSAGE_TOO_BIG</a> = 1009,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da5fae5457554a0cad877ccfa1d5636b8d">PP_WEBSOCKETSTATUSCODE_MANDATORY_EXTENSION</a> = 1010,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da7318b30a65ea442445e754453a73be81">PP_WEBSOCKETSTATUSCODE_INTERNAL_SERVER_ERROR</a> = 1011,
+<br />
+  <a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da8aef76170a2836b651922555aa26348d">PP_WEBSOCKETSTATUSCODE_TLS_HANDSHAKE</a> = 1015,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da3a87714e399ce00177f60f85c9a993ba">PP_WEBSOCKETSTATUSCODE_USER_REGISTERED_MIN</a> = 3000,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da08c67e1fcd33b07c350be618d7d72403">PP_WEBSOCKETSTATUSCODE_USER_REGISTERED_MAX</a> = 3999,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da491bd1d7c9ada2c129062beb9eaeded1">PP_WEBSOCKETSTATUSCODE_USER_PRIVATE_MIN</a> = 4000,
+<br />
+  <a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da242327b17ab568d625627236de721e5b">PP_WEBSOCKETSTATUSCODE_USER_PRIVATE_MAX</a> = 4999
+<br />
+ }</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gade61cdf6a7470769b571925694d91a89">PP_WebSocketReadyState</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga8458f33f09ecc56fcf486c60b844678d">PP_WebSocketCloseCode</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_WebSocket</code> interface providing bi-directional, full-duplex, communications over a single TCP socket. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a6d56a012c9350b4cc4e55b668d3fbe75"></a><!-- doxytag: member="ppb_websocket.h::PPB_WEBSOCKET_INTERFACE" ref="a6d56a012c9350b4cc4e55b668d3fbe75" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__websocket_8h.html#a6d56a012c9350b4cc4e55b668d3fbe75">PPB_WEBSOCKET_INTERFACE</a>   <a class="el" href="ppb__websocket_8h.html#ad613dc4aff545f9e9885c415f1673107">PPB_WEBSOCKET_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ad613dc4aff545f9e9885c415f1673107"></a><!-- doxytag: member="ppb_websocket.h::PPB_WEBSOCKET_INTERFACE" ref="ad613dc4aff545f9e9885c415f1673107" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__websocket_8h.html#ad613dc4aff545f9e9885c415f1673107">PPB_WEBSOCKET_INTERFACE</a>   "PPB_WebSocket;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppb__websocket_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/ppb__websocket_8h__incl.png
new file mode 100644
index 0000000..f4bec930
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppb__websocket_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppp_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/ppp_8h.html
new file mode 100644
index 0000000..6d3e0d1
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppp_8h.html
@@ -0,0 +1,32 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/ppp.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppp.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppp_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2ppp_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppp_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppp_8h">
+</map>
+</div>
+</div><h2>
+Typedefs</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">typedef int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#gae33224cdac15cf8596127fe7b5f08325">PP_InitializeModule_Func</a> )(<a class="el" href="group___typedefs.html#gab780dd451cd7f51284cb752edd88f9a0">PP_Module</a> module, <a class="el" href="group___typedefs.html#ga68ad7c927b86e0c29d890603edd33154">PPB_GetInterface</a> get_browser_interface)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#gad2b49167bcbf6c2c895ffb1a61bc720c">PP_ShutdownModule_Func</a> )(void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef const void *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#ga893cfdc559fdf7ae3004816357c3d7e9">PP_GetInterface_Func</a> )(const char *interface_name)</td></tr>
+</table><h2>
+Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga2fc7b396531c19417d8d7171d56da8b6">PPP_InitializeModule</a> (<a class="el" href="group___typedefs.html#gab780dd451cd7f51284cb752edd88f9a0">PP_Module</a> module, <a class="el" href="group___typedefs.html#ga68ad7c927b86e0c29d890603edd33154">PPB_GetInterface</a> get_browser_interface)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#gaa3021aba7ddc17a8cecb4bc4f8374e98">PPP_ShutdownModule</a> (void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const void * </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga4127b148b2bd0f3bc2c078dd38cbe4cf">PPP_GetInterface</a> (const char *interface_name)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines three functions that your module must implement to interact with the browser. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppp_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/ppp_8h__incl.png
new file mode 100644
index 0000000..b89a1e5
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppp_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppp__graphics__3d_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/ppp__graphics__3d_8h.html
new file mode 100644
index 0000000..52d5b8c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppp__graphics__3d_8h.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/ppp_graphics_3d.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppp_graphics_3d.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppp__graphics__3d_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2ppp__graphics__3d_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppp__graphics__3d_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppp__graphics__3d_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___graphics3_d__1__0.html">PPP_Graphics3D</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><code>PPP_Graphics3D</code> defines the notification interface for a 3D graphics context. <a href="struct_p_p_p___graphics3_d__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppp__graphics__3d_8h.html#a24bc6750e56195c99461408d10a3e184">PPP_GRAPHICS_3D_INTERFACE</a>   "PPP_Graphics_3D;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppp__graphics__3d_8h.html#a127a18c58f8a81afc706963ce70ba1a0">PPP_GRAPHICS_3D_INTERFACE</a>   <a class="el" href="ppp__graphics__3d_8h.html#a24bc6750e56195c99461408d10a3e184">PPP_GRAPHICS_3D_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_p___graphics3_d__1__0.html">PPP_Graphics3D</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gab9b763d2ae6ef08a8f18069728f418eb">PPP_Graphics3D</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Defines the <code>PPP_Graphics3D</code> struct representing a 3D graphics context within the browser. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a127a18c58f8a81afc706963ce70ba1a0"></a><!-- doxytag: member="ppp_graphics_3d.h::PPP_GRAPHICS_3D_INTERFACE" ref="a127a18c58f8a81afc706963ce70ba1a0" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppp__graphics__3d_8h.html#a127a18c58f8a81afc706963ce70ba1a0">PPP_GRAPHICS_3D_INTERFACE</a>   <a class="el" href="ppp__graphics__3d_8h.html#a24bc6750e56195c99461408d10a3e184">PPP_GRAPHICS_3D_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a24bc6750e56195c99461408d10a3e184"></a><!-- doxytag: member="ppp_graphics_3d.h::PPP_GRAPHICS_3D_INTERFACE" ref="a24bc6750e56195c99461408d10a3e184" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppp__graphics__3d_8h.html#a24bc6750e56195c99461408d10a3e184">PPP_GRAPHICS_3D_INTERFACE</a>   "PPP_Graphics_3D;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppp__graphics__3d_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/ppp__graphics__3d_8h__incl.png
new file mode 100644
index 0000000..f1c98ffa
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppp__graphics__3d_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppp__input__event_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/ppp__input__event_8h.html
new file mode 100644
index 0000000..5aaf689
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppp__input__event_8h.html
@@ -0,0 +1,57 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/ppp_input_event.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppp_input_event.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppp__input__event_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2ppp__input__event_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppp__input__event_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppp__input__event_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___input_event__0__1.html">PPP_InputEvent</a></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppp__input__event_8h.html#afcc2e3ed6316bc950b7668d24f1c0476">PPP_INPUT_EVENT_INTERFACE</a>   "PPP_InputEvent;0.1"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppp__input__event_8h.html#a6e94d8b829723cdeff16b7433c87bbea">PPP_INPUT_EVENT_INTERFACE</a>   <a class="el" href="ppp__input__event_8h.html#afcc2e3ed6316bc950b7668d24f1c0476">PPP_INPUT_EVENT_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_p___input_event__0__1.html">PPP_InputEvent</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga9c2577b1c089f77e1e467d74bd97a940">PPP_InputEvent</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API for receiving input events from the browser. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a6e94d8b829723cdeff16b7433c87bbea"></a><!-- doxytag: member="ppp_input_event.h::PPP_INPUT_EVENT_INTERFACE" ref="a6e94d8b829723cdeff16b7433c87bbea" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppp__input__event_8h.html#a6e94d8b829723cdeff16b7433c87bbea">PPP_INPUT_EVENT_INTERFACE</a>   <a class="el" href="ppp__input__event_8h.html#afcc2e3ed6316bc950b7668d24f1c0476">PPP_INPUT_EVENT_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="afcc2e3ed6316bc950b7668d24f1c0476"></a><!-- doxytag: member="ppp_input_event.h::PPP_INPUT_EVENT_INTERFACE" ref="afcc2e3ed6316bc950b7668d24f1c0476" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppp__input__event_8h.html#afcc2e3ed6316bc950b7668d24f1c0476">PPP_INPUT_EVENT_INTERFACE</a>   "PPP_InputEvent;0.1"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppp__input__event_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/ppp__input__event_8h__incl.png
new file mode 100644
index 0000000..10828a2
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppp__input__event_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppp__instance_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/ppp__instance_8h.html
new file mode 100644
index 0000000..0255dce3
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppp__instance_8h.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/ppp_instance.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppp_instance.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppp__instance_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2ppp__instance_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppp__instance_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppp__instance_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___instance__1__1.html">PPP_Instance</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPP_Instance</code> interface contains pointers to a series of functions that you must implement in your module. <a href="struct_p_p_p___instance__1__1.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppp__instance_8h.html#a0e284783d75d3b9a3c84a0feb39d7024">PPP_INSTANCE_INTERFACE</a>   "PPP_Instance;1.1"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppp__instance_8h.html#ae1a0f9616b76b6b42649565ed1081fc1">PPP_INSTANCE_INTERFACE</a>   <a class="el" href="ppp__instance_8h.html#a0e284783d75d3b9a3c84a0feb39d7024">PPP_INSTANCE_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_p___instance__1__1.html">PPP_Instance</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga3397638d116e4171368bf18fcb91ef11">PPP_Instance</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPP_Instance</code> structure - a series of pointers to methods that you must implement in your module. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="ae1a0f9616b76b6b42649565ed1081fc1"></a><!-- doxytag: member="ppp_instance.h::PPP_INSTANCE_INTERFACE" ref="ae1a0f9616b76b6b42649565ed1081fc1" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppp__instance_8h.html#ae1a0f9616b76b6b42649565ed1081fc1">PPP_INSTANCE_INTERFACE</a>   <a class="el" href="ppp__instance_8h.html#a0e284783d75d3b9a3c84a0feb39d7024">PPP_INSTANCE_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a0e284783d75d3b9a3c84a0feb39d7024"></a><!-- doxytag: member="ppp_instance.h::PPP_INSTANCE_INTERFACE" ref="a0e284783d75d3b9a3c84a0feb39d7024" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppp__instance_8h.html#a0e284783d75d3b9a3c84a0feb39d7024">PPP_INSTANCE_INTERFACE</a>   "PPP_Instance;1.1"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppp__instance_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/ppp__instance_8h__incl.png
new file mode 100644
index 0000000..4c873d0f
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppp__instance_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppp__messaging_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/ppp__messaging_8h.html
new file mode 100644
index 0000000..f074128
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppp__messaging_8h.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/ppp_messaging.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppp_messaging.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppp__messaging_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2ppp__messaging_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppp__messaging_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppp__messaging_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___messaging__1__0.html">PPP_Messaging</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPP_Messaging</code> interface contains pointers to functions that you must implement to handle postMessage events on the associated DOM element. <a href="struct_p_p_p___messaging__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppp__messaging_8h.html#a2b15920cef3b0b108e4e08ae39ba0b2b">PPP_MESSAGING_INTERFACE</a>   "PPP_Messaging;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppp__messaging_8h.html#a7ea9cbd07fe30bc0d6e3a71a02d7adbb">PPP_MESSAGING_INTERFACE</a>   <a class="el" href="ppp__messaging_8h.html#a2b15920cef3b0b108e4e08ae39ba0b2b">PPP_MESSAGING_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_p___messaging__1__0.html">PPP_Messaging</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga1b4374f30360ab34679a159083db7e4d">PPP_Messaging</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the PPP_Messaging interface containing pointers to functions that you must implement to handle postMessage messages on the associated DOM element. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a7ea9cbd07fe30bc0d6e3a71a02d7adbb"></a><!-- doxytag: member="ppp_messaging.h::PPP_MESSAGING_INTERFACE" ref="a7ea9cbd07fe30bc0d6e3a71a02d7adbb" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppp__messaging_8h.html#a7ea9cbd07fe30bc0d6e3a71a02d7adbb">PPP_MESSAGING_INTERFACE</a>   <a class="el" href="ppp__messaging_8h.html#a2b15920cef3b0b108e4e08ae39ba0b2b">PPP_MESSAGING_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a2b15920cef3b0b108e4e08ae39ba0b2b"></a><!-- doxytag: member="ppp_messaging.h::PPP_MESSAGING_INTERFACE" ref="a2b15920cef3b0b108e4e08ae39ba0b2b" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppp__messaging_8h.html#a2b15920cef3b0b108e4e08ae39ba0b2b">PPP_MESSAGING_INTERFACE</a>   "PPP_Messaging;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppp__messaging_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/ppp__messaging_8h__incl.png
new file mode 100644
index 0000000..811cf67
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppp__messaging_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppp__mouse__lock_8h.html b/native_client_sdk/doc_generated/pepper_beta/c/ppp__mouse__lock_8h.html
new file mode 100644
index 0000000..1044665
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppp__mouse__lock_8h.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/c/ppp_mouse_lock.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppp_mouse_lock.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppp__mouse__lock_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2c_2ppp__mouse__lock_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppp__mouse__lock_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2c_2ppp__mouse__lock_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___mouse_lock__1__0.html">PPP_MouseLock</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPP_MouseLock</code> interface contains a function that you must implement to receive mouse lock events from the browser. <a href="struct_p_p_p___mouse_lock__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppp__mouse__lock_8h.html#a71f74bf4d04a8ac6901b473452f4d7e6">PPP_MOUSELOCK_INTERFACE</a>   "PPP_MouseLock;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppp__mouse__lock_8h.html#a2ce52a0566f0ee91721052673ca521ec">PPP_MOUSELOCK_INTERFACE</a>   <a class="el" href="ppp__mouse__lock_8h.html#a71f74bf4d04a8ac6901b473452f4d7e6">PPP_MOUSELOCK_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_p___mouse_lock__1__0.html">PPP_MouseLock</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gae600e8f5b6005b02378e6eb9f51b11cb">PPP_MouseLock</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPP_MouseLock</code> interface containing a function that you must implement to receive mouse lock events from the browser. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a2ce52a0566f0ee91721052673ca521ec"></a><!-- doxytag: member="ppp_mouse_lock.h::PPP_MOUSELOCK_INTERFACE" ref="a2ce52a0566f0ee91721052673ca521ec" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppp__mouse__lock_8h.html#a2ce52a0566f0ee91721052673ca521ec">PPP_MOUSELOCK_INTERFACE</a>   <a class="el" href="ppp__mouse__lock_8h.html#a71f74bf4d04a8ac6901b473452f4d7e6">PPP_MOUSELOCK_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a71f74bf4d04a8ac6901b473452f4d7e6"></a><!-- doxytag: member="ppp_mouse_lock.h::PPP_MOUSELOCK_INTERFACE" ref="a71f74bf4d04a8ac6901b473452f4d7e6" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppp__mouse__lock_8h.html#a71f74bf4d04a8ac6901b473452f4d7e6">PPP_MOUSELOCK_INTERFACE</a>   "PPP_MouseLock;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/ppp__mouse__lock_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/c/ppp__mouse__lock_8h__incl.png
new file mode 100644
index 0000000..7355ec85
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/ppp__mouse__lock_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___array_output.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___array_output.html
new file mode 100644
index 0000000..58eabe3c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___array_output.html
@@ -0,0 +1,74 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_ArrayOutput Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_ArrayOutput" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gaa363de651fad7342a37ec58375276af7">PP_ArrayOutput_GetDataBuffer</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___array_output.html#acfd88c0475e6518cc9ed058c85744c58">GetDataBuffer</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___array_output.html#a6323083ee2b06f902c9c334c6b10a6d0">user_data</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>A structure that defines a way for the browser to return arrays of data to the plugin. </p>
+<p>The browser can not allocate memory on behalf of the plugin because the plugin and browser may have different allocators.</p>
+<p>Array output works by having the browser call to the plugin to allocate a buffer, and then the browser will copy the contents of the array into that buffer.</p>
+<p>In C, you would typically implement this as follows:</p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">struct </span>MyArrayOutput {
+ <span class="keywordtype">void</span>* data;
+ <span class="keywordtype">int</span> element_count;
+ };
+ <span class="keywordtype">void</span>* MyGetDataBuffer(<span class="keywordtype">void</span>* <a class="code" href="struct_p_p___array_output.html#a6323083ee2b06f902c9c334c6b10a6d0" title="Data that is passed to the allocation function.">user_data</a>, uint32_t count, uint32_t size) {
+ MyArrayOutput* output = (MyArrayOutput*)user_data;
+ output->element_count = count;
+ <span class="keywordflow">if</span> (size) {
+ output->data = malloc(count * size);
+ <span class="keywordflow">if</span> (!output->data) <span class="comment">// Be careful to set size properly on malloc failure.</span>
+ output->element_count = 0;
+ } <span class="keywordflow">else</span> {
+ output->data = NULL;
+ }
+ <span class="keywordflow">return</span> output->data;
+ }
+ <span class="keywordtype">void</span> MyFunction() {
+ MyArrayOutput array = { NULL, 0 };
+ <a class="code" href="struct_p_p___array_output.html" title="A structure that defines a way for the browser to return arrays of data to the plugin.">PP_ArrayOutput</a> output = { &MyGetDataBuffer, &array };
+ ppb_foo->GetData(&output);
+ }
+</pre></div> </div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="acfd88c0475e6518cc9ed058c85744c58"></a><!-- doxytag: member="PP_ArrayOutput::GetDataBuffer" ref="acfd88c0475e6518cc9ed058c85744c58" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gaa363de651fad7342a37ec58375276af7">PP_ArrayOutput_GetDataBuffer</a> <a class="el" href="struct_p_p___array_output.html#acfd88c0475e6518cc9ed058c85744c58">PP_ArrayOutput::GetDataBuffer</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A pointer to the allocation function that the browser will call. </p>
+</div>
+</div>
+<a class="anchor" id="a6323083ee2b06f902c9c334c6b10a6d0"></a><!-- doxytag: member="PP_ArrayOutput::user_data" ref="a6323083ee2b06f902c9c334c6b10a6d0" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void* <a class="el" href="struct_p_p___array_output.html#a6323083ee2b06f902c9c334c6b10a6d0">PP_ArrayOutput::user_data</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Data that is passed to the allocation function. </p>
+<p>Typically, this is used to communicate how the data should be stored. </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="pp__array__output_8h.html">pp_array_output.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___completion_callback.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___completion_callback.html
new file mode 100644
index 0000000..96e2029
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___completion_callback.html
@@ -0,0 +1,80 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_CompletionCallback Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_CompletionCallback" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#ga6fe12e1a41df5e10103a811036d4d8d2">PP_CompletionCallback_Func</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___completion_callback.html#ac8919fd5c44ffdde5e659b51bc696ed4">func</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___completion_callback.html#a7a35a0fdb8e1c49c738e29bbc93066cb">user_data</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___completion_callback.html#a4bd2d9440bc8dc18eeeca2d464156a38">flags</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p><code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> is a common mechanism for supporting potentially asynchronous calls in browser interfaces. </p>
+<p>Any method that takes a <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> can be used in one of three different ways:</p>
+<ul>
+<li>Required: The callback will always be invoked asynchronously on the thread where the associated PPB method was invoked. The method will always return PP_OK_COMPLETIONPENDING when a required callback, and the callback will be invoked later (barring system or thread shutdown; see PPB_MessageLoop for details). Required callbacks are the default. <br />
+<br />
+ NOTE: If you use a required callback on a background thread, you must have created and attached a PPB_MessageLoop. Otherwise, the system can not run your callback on that thread, and will instead emit a log message and crash your plugin to make the problem more obvious.</li>
+</ul>
+<ul>
+<li>Optional: The callback may be invoked asynchronously, or the PPB method may complete synchronously if it can do so without blocking. If the method will complete asynchronously, it will return PP_OK_COMPLETIONPENDING. Otherwise, it will complete synchronously and return an appropriate code (see below for more information on the return code). Optional callbacks are generally more difficult to use correctly than Required callbacks, but can provide better performance for some APIs (especially APIs with buffered reads, such as PPB_URLLoader or PPB_FileIO). <br />
+<br />
+ NOTE: If you use an optional callback on a background thread, and you have not created and attached a PPB_MessageLoop, then the method you invoke will fail without running and return PP_ERROR_NO_MESSAGE_LOOP.</li>
+</ul>
+<ul>
+<li>Blocking: In this case, the callback's function pointer is NULL, and the invoked method must complete synchronously. The method will run to completion and return an appropriate code when finished (see below for more information). Blocking completion callbacks are only supported on background threads. <br />
+<br />
+<code><a class="el" href="group___functions.html#ga340e452b4931d17bd44928769490e282" title="PP_BlockUntilComplete() is used in place of an actual completion callback to request blocking behavio...">PP_BlockUntilComplete()</a></code> provides a convenient way to specify blocking behavior. Refer to <code>PP_BlockUntilComplete</code> for more information.</li>
+</ul>
+<p>When the callback is run asynchronously, the result parameter passed to <code>func</code> is an int32_t that, if negative indicates an error code whose meaning is specific to the calling method (refer to <code>pp_error.h</code> for further information). A positive or 0 value is a return result indicating success whose meaning depends on the calling method (e.g. number of bytes read). </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a4bd2d9440bc8dc18eeeca2d464156a38"></a><!-- doxytag: member="PP_CompletionCallback::flags" ref="a4bd2d9440bc8dc18eeeca2d464156a38" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="struct_p_p___completion_callback.html#a4bd2d9440bc8dc18eeeca2d464156a38">PP_CompletionCallback::flags</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Flags used to control how non-NULL callbacks are scheduled by asynchronous methods. </p>
+</div>
+</div>
+<a class="anchor" id="ac8919fd5c44ffdde5e659b51bc696ed4"></a><!-- doxytag: member="PP_CompletionCallback::func" ref="ac8919fd5c44ffdde5e659b51bc696ed4" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#ga6fe12e1a41df5e10103a811036d4d8d2">PP_CompletionCallback_Func</a> <a class="el" href="struct_p_p___completion_callback.html#ac8919fd5c44ffdde5e659b51bc696ed4">PP_CompletionCallback::func</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value is a callback function that will be called, or NULL if this is a blocking completion callback. </p>
+</div>
+</div>
+<a class="anchor" id="a7a35a0fdb8e1c49c738e29bbc93066cb"></a><!-- doxytag: member="PP_CompletionCallback::user_data" ref="a7a35a0fdb8e1c49c738e29bbc93066cb" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void* <a class="el" href="struct_p_p___completion_callback.html#a7a35a0fdb8e1c49c738e29bbc93066cb">PP_CompletionCallback::user_data</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value is a pointer to user data passed to a callback function. </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="pp__completion__callback_8h.html">pp_completion_callback.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___directory_entry.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___directory_entry.html
new file mode 100644
index 0000000..81cd708
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___directory_entry.html
@@ -0,0 +1,45 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_DirectoryEntry Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_DirectoryEntry" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___directory_entry.html#ada81c580e377562d3e5090a6fd7ed994">file_ref</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga36f6dfbe9c1e98540c5247f790746427">PP_FileType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___directory_entry.html#aed7b550aee67d58a321e0ca57a59333d">file_type</a></td></tr>
+</table>
+<hr /><h2>Field Documentation</h2>
+<a class="anchor" id="ada81c580e377562d3e5090a6fd7ed994"></a><!-- doxytag: member="PP_DirectoryEntry::file_ref" ref="ada81c580e377562d3e5090a6fd7ed994" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> <a class="el" href="struct_p_p___directory_entry.html#ada81c580e377562d3e5090a6fd7ed994">PP_DirectoryEntry::file_ref</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="aed7b550aee67d58a321e0ca57a59333d"></a><!-- doxytag: member="PP_DirectoryEntry::file_type" ref="aed7b550aee67d58a321e0ca57a59333d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga36f6dfbe9c1e98540c5247f790746427">PP_FileType</a> <a class="el" href="struct_p_p___directory_entry.html#aed7b550aee67d58a321e0ca57a59333d">PP_DirectoryEntry::file_type</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="pp__directory__entry_8h.html">pp_directory_entry.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___file_info.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___file_info.html
new file mode 100644
index 0000000..2add262
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___file_info.html
@@ -0,0 +1,105 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_FileInfo Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_FileInfo" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___file_info.html#a8e477e77e1938f657ae282139f628368">size</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga36f6dfbe9c1e98540c5247f790746427">PP_FileType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___file_info.html#a2b38985af2a482ddd196cd40b13378f5">type</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga87b353f2ec8935c9c3294daff612c145">PP_FileSystemType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___file_info.html#a02a26955ced1a31ba23806c7cc22676a">system_type</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___file_info.html#ae440d0229864ae7eed164cce2e517c1c">creation_time</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___file_info.html#aa28b1c96d04220ed40f711126032ad20">last_access_time</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___file_info.html#a08c89b213b808c573fbe98079bab7a56">last_modified_time</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="struct_p_p___file_info.html" title="The PP_FileInfo struct represents all information about a file, such as size, type, and creation time.">PP_FileInfo</a></code> struct represents all information about a file, such as size, type, and creation time. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="ae440d0229864ae7eed164cce2e517c1c"></a><!-- doxytag: member="PP_FileInfo::creation_time" ref="ae440d0229864ae7eed164cce2e517c1c" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a> <a class="el" href="struct_p_p___file_info.html#ae440d0229864ae7eed164cce2e517c1c">PP_FileInfo::creation_time</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the creation time of the file. </p>
+</div>
+</div>
+<a class="anchor" id="aa28b1c96d04220ed40f711126032ad20"></a><!-- doxytag: member="PP_FileInfo::last_access_time" ref="aa28b1c96d04220ed40f711126032ad20" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a> <a class="el" href="struct_p_p___file_info.html#aa28b1c96d04220ed40f711126032ad20">PP_FileInfo::last_access_time</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the last time the file was accessed. </p>
+</div>
+</div>
+<a class="anchor" id="a08c89b213b808c573fbe98079bab7a56"></a><!-- doxytag: member="PP_FileInfo::last_modified_time" ref="a08c89b213b808c573fbe98079bab7a56" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a> <a class="el" href="struct_p_p___file_info.html#a08c89b213b808c573fbe98079bab7a56">PP_FileInfo::last_modified_time</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the last time the file was modified. </p>
+</div>
+</div>
+<a class="anchor" id="a8e477e77e1938f657ae282139f628368"></a><!-- doxytag: member="PP_FileInfo::size" ref="a8e477e77e1938f657ae282139f628368" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int64_t <a class="el" href="struct_p_p___file_info.html#a8e477e77e1938f657ae282139f628368">PP_FileInfo::size</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the size of the file measured in bytes. </p>
+</div>
+</div>
+<a class="anchor" id="a02a26955ced1a31ba23806c7cc22676a"></a><!-- doxytag: member="PP_FileInfo::system_type" ref="a02a26955ced1a31ba23806c7cc22676a" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga87b353f2ec8935c9c3294daff612c145">PP_FileSystemType</a> <a class="el" href="struct_p_p___file_info.html#a02a26955ced1a31ba23806c7cc22676a">PP_FileInfo::system_type</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the file system type of the file as defined by the <code>PP_FileSystemType</code> enum. </p>
+</div>
+</div>
+<a class="anchor" id="a2b38985af2a482ddd196cd40b13378f5"></a><!-- doxytag: member="PP_FileInfo::type" ref="a2b38985af2a482ddd196cd40b13378f5" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga36f6dfbe9c1e98540c5247f790746427">PP_FileType</a> <a class="el" href="struct_p_p___file_info.html#a2b38985af2a482ddd196cd40b13378f5">PP_FileInfo::type</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the type of file as defined by the <code>PP_FileType</code> enum. </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="pp__file__info_8h.html">pp_file_info.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___float_point.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___float_point.html
new file mode 100644
index 0000000..b80f4ee
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___float_point.html
@@ -0,0 +1,47 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_FloatPoint Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_FloatPoint" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___float_point.html#a40405bdfc98bbc0fe7aa8c065d971947">x</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___float_point.html#a9662ff4361457b92ef5bab02b3850521">y</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <a class="el" href="struct_p_p___float_point.html" title="The PP_FloatPoint structure defines the floating-point x and y coordinates of a point.">PP_FloatPoint</a> structure defines the floating-point x and y coordinates of a point. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a40405bdfc98bbc0fe7aa8c065d971947"></a><!-- doxytag: member="PP_FloatPoint::x" ref="a40405bdfc98bbc0fe7aa8c065d971947" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="struct_p_p___float_point.html#a40405bdfc98bbc0fe7aa8c065d971947">PP_FloatPoint::x</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a9662ff4361457b92ef5bab02b3850521"></a><!-- doxytag: member="PP_FloatPoint::y" ref="a9662ff4361457b92ef5bab02b3850521" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="struct_p_p___float_point.html#a9662ff4361457b92ef5bab02b3850521">PP_FloatPoint::y</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="pp__point_8h.html">pp_point.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___gamepad_sample_data.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___gamepad_sample_data.html
new file mode 100644
index 0000000..a1820f8
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___gamepad_sample_data.html
@@ -0,0 +1,136 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_GamepadSampleData Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_GamepadSampleData" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___gamepad_sample_data.html#a27e25af2c4d7278951c71d5a71821db5">axes_length</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___gamepad_sample_data.html#a044a97b221c1e87e26ecbd39b584b416">axes</a> [16]</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___gamepad_sample_data.html#ae58bc687fc618e4a957dda7cd087bd58">buttons_length</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___gamepad_sample_data.html#ac9b7def0b695e6009e685b79d883a9a2">buttons</a> [32]</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___gamepad_sample_data.html#af832f6af0964f9023d712712a6e3afc7">timestamp</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___gamepad_sample_data.html#a0a4d0498f6beecb54628a4f1919c48e3">id</a> [128]</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___gamepad_sample_data.html#ae955efce5fcd9de08ab8d4c7f52d0af7">connected</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">char </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___gamepad_sample_data.html#aad71d81059bd5880ebd79bc3b9e55cd5">unused_pad_</a> [4]</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The data for one gamepad device. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a044a97b221c1e87e26ecbd39b584b416"></a><!-- doxytag: member="PP_GamepadSampleData::axes" ref="a044a97b221c1e87e26ecbd39b584b416" args="[16]" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="struct_p_p___gamepad_sample_data.html#a044a97b221c1e87e26ecbd39b584b416">PP_GamepadSampleData::axes</a>[16]</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Normalized values for the axes, indices valid up to |axes_length|-1. </p>
+<p>Axis values range from -1..1, and are in order of "importance". </p>
+</div>
+</div>
+<a class="anchor" id="a27e25af2c4d7278951c71d5a71821db5"></a><!-- doxytag: member="PP_GamepadSampleData::axes_length" ref="a27e25af2c4d7278951c71d5a71821db5" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="struct_p_p___gamepad_sample_data.html#a27e25af2c4d7278951c71d5a71821db5">PP_GamepadSampleData::axes_length</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Number of valid elements in the |axes| array. </p>
+</div>
+</div>
+<a class="anchor" id="ac9b7def0b695e6009e685b79d883a9a2"></a><!-- doxytag: member="PP_GamepadSampleData::buttons" ref="ac9b7def0b695e6009e685b79d883a9a2" args="[32]" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="struct_p_p___gamepad_sample_data.html#ac9b7def0b695e6009e685b79d883a9a2">PP_GamepadSampleData::buttons</a>[32]</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Normalized values for the buttons, indices valid up to |buttons_length|. </p>
+<ul>
+<li>1. Button values range from 0..1, and are in order of importance. </li>
+</ul>
+</div>
+</div>
+<a class="anchor" id="ae58bc687fc618e4a957dda7cd087bd58"></a><!-- doxytag: member="PP_GamepadSampleData::buttons_length" ref="ae58bc687fc618e4a957dda7cd087bd58" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="struct_p_p___gamepad_sample_data.html#ae58bc687fc618e4a957dda7cd087bd58">PP_GamepadSampleData::buttons_length</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Number of valid elements in the |buttons| array. </p>
+</div>
+</div>
+<a class="anchor" id="ae955efce5fcd9de08ab8d4c7f52d0af7"></a><!-- doxytag: member="PP_GamepadSampleData::connected" ref="ae955efce5fcd9de08ab8d4c7f52d0af7" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> <a class="el" href="struct_p_p___gamepad_sample_data.html#ae955efce5fcd9de08ab8d4c7f52d0af7">PP_GamepadSampleData::connected</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Is there a gamepad connected at this index? If this is false, no other data in this structure is valid. </p>
+</div>
+</div>
+<a class="anchor" id="a0a4d0498f6beecb54628a4f1919c48e3"></a><!-- doxytag: member="PP_GamepadSampleData::id" ref="a0a4d0498f6beecb54628a4f1919c48e3" args="[128]" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint16_t <a class="el" href="struct_p_p___gamepad_sample_data.html#a0a4d0498f6beecb54628a4f1919c48e3">PP_GamepadSampleData::id</a>[128]</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Identifier for the type of device/manufacturer. </p>
+</div>
+</div>
+<a class="anchor" id="af832f6af0964f9023d712712a6e3afc7"></a><!-- doxytag: member="PP_GamepadSampleData::timestamp" ref="af832f6af0964f9023d712712a6e3afc7" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">double <a class="el" href="struct_p_p___gamepad_sample_data.html#af832f6af0964f9023d712712a6e3afc7">PP_GamepadSampleData::timestamp</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Monotonically increasing value that is incremented when the data have been updated. </p>
+</div>
+</div>
+<a class="anchor" id="aad71d81059bd5880ebd79bc3b9e55cd5"></a><!-- doxytag: member="PP_GamepadSampleData::unused_pad_" ref="aad71d81059bd5880ebd79bc3b9e55cd5" args="[4]" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">char <a class="el" href="struct_p_p___gamepad_sample_data.html#aad71d81059bd5880ebd79bc3b9e55cd5">PP_GamepadSampleData::unused_pad_</a>[4]</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="ppb__gamepad_8h.html">ppb_gamepad.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___gamepads_sample_data.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___gamepads_sample_data.html
new file mode 100644
index 0000000..6163ae6
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___gamepads_sample_data.html
@@ -0,0 +1,62 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_GamepadsSampleData Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_GamepadsSampleData" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___gamepads_sample_data.html#abc9c0c8b20cfe0219a5ab4e38dd5a800">length</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">char </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___gamepads_sample_data.html#a0664781b0f25af5206d134cb04543235">unused_pad_</a> [4]</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___gamepad_sample_data.html">PP_GamepadSampleData</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___gamepads_sample_data.html#ab0fa87f088fef743ba879a2f91363bfe">items</a> [4]</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The data for all gamepads connected to the system. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="ab0fa87f088fef743ba879a2f91363bfe"></a><!-- doxytag: member="PP_GamepadsSampleData::items" ref="ab0fa87f088fef743ba879a2f91363bfe" args="[4]" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___gamepad_sample_data.html">PP_GamepadSampleData</a> <a class="el" href="struct_p_p___gamepads_sample_data.html#ab0fa87f088fef743ba879a2f91363bfe">PP_GamepadsSampleData::items</a>[4]</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Data for an individual gamepad device connected to the system. </p>
+</div>
+</div>
+<a class="anchor" id="abc9c0c8b20cfe0219a5ab4e38dd5a800"></a><!-- doxytag: member="PP_GamepadsSampleData::length" ref="abc9c0c8b20cfe0219a5ab4e38dd5a800" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="struct_p_p___gamepads_sample_data.html#abc9c0c8b20cfe0219a5ab4e38dd5a800">PP_GamepadsSampleData::length</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Number of valid elements in the |items| array. </p>
+</div>
+</div>
+<a class="anchor" id="a0664781b0f25af5206d134cb04543235"></a><!-- doxytag: member="PP_GamepadsSampleData::unused_pad_" ref="a0664781b0f25af5206d134cb04543235" args="[4]" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">char <a class="el" href="struct_p_p___gamepads_sample_data.html#a0664781b0f25af5206d134cb04543235">PP_GamepadsSampleData::unused_pad_</a>[4]</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="ppb__gamepad_8h.html">ppb_gamepad.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___host_resolver___hint.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___host_resolver___hint.html
new file mode 100644
index 0000000..fbc8cc0
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___host_resolver___hint.html
@@ -0,0 +1,49 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_HostResolver_Hint Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_HostResolver_Hint" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga43636bcadf9aa312a4c345d210ae6c55">PP_NetAddress_Family</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___host_resolver___hint.html#a22e79f1dd67a5a618fcb4d26adda5734">family</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___host_resolver___hint.html#a9feab0c247ac0011f6f3dbed28eeae1e">flags</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p><code><a class="el" href="struct_p_p___host_resolver___hint.html" title="PP_HostResolver_Hint represents hints for host resolution.">PP_HostResolver_Hint</a></code> represents hints for host resolution. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a22e79f1dd67a5a618fcb4d26adda5734"></a><!-- doxytag: member="PP_HostResolver_Hint::family" ref="a22e79f1dd67a5a618fcb4d26adda5734" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga43636bcadf9aa312a4c345d210ae6c55">PP_NetAddress_Family</a> <a class="el" href="struct_p_p___host_resolver___hint.html#a22e79f1dd67a5a618fcb4d26adda5734">PP_HostResolver_Hint::family</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Network address family. </p>
+</div>
+</div>
+<a class="anchor" id="a9feab0c247ac0011f6f3dbed28eeae1e"></a><!-- doxytag: member="PP_HostResolver_Hint::flags" ref="a9feab0c247ac0011f6f3dbed28eeae1e" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="struct_p_p___host_resolver___hint.html#a9feab0c247ac0011f6f3dbed28eeae1e">PP_HostResolver_Hint::flags</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Combination of flags from <code>PP_HostResolver_Flag</code>. </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="ppb__host__resolver_8h.html">ppb_host_resolver.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___image_data_desc.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___image_data_desc.html
new file mode 100644
index 0000000..75e57d36c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___image_data_desc.html
@@ -0,0 +1,64 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_ImageDataDesc Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_ImageDataDesc" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga2ee7ad01799553e5f17bdaa35dd952ee">PP_ImageDataFormat</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___image_data_desc.html#a0a621fd3704227310f14ba47323a80e1">format</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___size.html">PP_Size</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___image_data_desc.html#ad5b1dc56bf041929e1b54c7c96d1bd85">size</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___image_data_desc.html#a27f743f8f59a611853815865681bead6">stride</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="struct_p_p___image_data_desc.html" title="The PP_ImageDataDesc structure represents a description of image data.">PP_ImageDataDesc</a></code> structure represents a description of image data. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a0a621fd3704227310f14ba47323a80e1"></a><!-- doxytag: member="PP_ImageDataDesc::format" ref="a0a621fd3704227310f14ba47323a80e1" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga2ee7ad01799553e5f17bdaa35dd952ee">PP_ImageDataFormat</a> <a class="el" href="struct_p_p___image_data_desc.html#a0a621fd3704227310f14ba47323a80e1">PP_ImageDataDesc::format</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents one of the image data types in the <code>PP_ImageDataFormat</code> enum. </p>
+</div>
+</div>
+<a class="anchor" id="ad5b1dc56bf041929e1b54c7c96d1bd85"></a><!-- doxytag: member="PP_ImageDataDesc::size" ref="ad5b1dc56bf041929e1b54c7c96d1bd85" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___size.html">PP_Size</a> <a class="el" href="struct_p_p___image_data_desc.html#ad5b1dc56bf041929e1b54c7c96d1bd85">PP_ImageDataDesc::size</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the size of the bitmap in pixels. </p>
+</div>
+</div>
+<a class="anchor" id="a27f743f8f59a611853815865681bead6"></a><!-- doxytag: member="PP_ImageDataDesc::stride" ref="a27f743f8f59a611853815865681bead6" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="struct_p_p___image_data_desc.html#a27f743f8f59a611853815865681bead6">PP_ImageDataDesc::stride</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the row width in bytes. </p>
+<p>This may be different than width * 4 since there may be padding at the end of the lines. </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="ppb__image__data_8h.html">ppb_image_data.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___input_event___character.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___input_event___character.html
new file mode 100644
index 0000000..b2f80d2
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___input_event___character.html
@@ -0,0 +1,52 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_InputEvent_Character Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_InputEvent_Character" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___character.html#a6505d006cdb0e52d39e94b540b923b9a">modifier</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">char </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___character.html#ac5e8c1dbf5c8ae33f22b8781ff5f1760">text</a> [5]</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="struct_p_p___input_event___character.html" title="The PP_InputEvent_Character struct represents a typed character event.">PP_InputEvent_Character</a></code> struct represents a typed character event. </p>
+<p>Normally, the program will receive a key down event, followed by a character event, followed by a key up event. The character event will have any modifier keys applied. Obvious examples are symbols, where Shift-5 gives you a ''. The key down and up events will give you the scan code for the "5" key, and the character event will give you the '' character.</p>
+<p>You may not get a character event for all key down events if the key doesn't generate a character. Likewise, you may actually get multiple character events in a row. For example, some locales have an accent key that modifies the next character typed. You might get this stream of events: accent down, accent up (it didn't generate a character), letter key down, letter with accent character event (it was modified by the previous accent key), letter key up. If the letter can't be combined with the accent, like an umlaut and an 'R', the system might send umlaut down, umlaut up, 'R' key down, umlaut character (can't combine it with 'R', so just send the raw umlaut so it isn't lost"), 'R' character event, 'R' key up. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a6505d006cdb0e52d39e94b540b923b9a"></a><!-- doxytag: member="PP_InputEvent_Character::modifier" ref="a6505d006cdb0e52d39e94b540b923b9a" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="struct_p_p___input_event___character.html#a6505d006cdb0e52d39e94b540b923b9a">PP_InputEvent_Character::modifier</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A combination of the <code>PP_InputEvent_Modifier</code> flags. </p>
+</div>
+</div>
+<a class="anchor" id="ac5e8c1dbf5c8ae33f22b8781ff5f1760"></a><!-- doxytag: member="PP_InputEvent_Character::text" ref="ac5e8c1dbf5c8ae33f22b8781ff5f1760" args="[5]" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">char <a class="el" href="struct_p_p___input_event___character.html#ac5e8c1dbf5c8ae33f22b8781ff5f1760">PP_InputEvent_Character::text</a>[5]</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the typed character as a single null-terminated UTF-8 character. </p>
+<p>Any unused bytes will be filled with null bytes. Since the maximum UTF-8 character is 4 bytes, there will always be at least one null at the end so you can treat this as a null-terminated UTF-8 string. </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="pp__input__event_8h.html">pp_input_event.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___input_event___key.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___input_event___key.html
new file mode 100644
index 0000000..f63a99b
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___input_event___key.html
@@ -0,0 +1,53 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_InputEvent_Key Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_InputEvent_Key" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___key.html#a13f50c267c45d439f009094515c75c10">modifier</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___key.html#ad7b017ab264c307ce846d5df8a8bf867">key_code</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="struct_p_p___input_event___key.html" title="The PP_InputEvent_Key struct represents a key up or key down event.">PP_InputEvent_Key</a></code> struct represents a key up or key down event. </p>
+<p>Key up and key down events correspond to physical keys on the keyboard. The actual character that the user typed (if any) will be delivered in a "character" event.</p>
+<p>If the user loses focus on the module while a key is down, a key up event might not occur. For example, if the module has focus and the user presses and holds the shift key, the module will see a "shift down" message. Then if the user clicks elsewhere on the web page, the module's focus will be lost and no more input events will be delivered.</p>
+<p>If your module depends on receiving key up events, it should also handle "lost focus" as the equivalent of "all keys up." </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="ad7b017ab264c307ce846d5df8a8bf867"></a><!-- doxytag: member="PP_InputEvent_Key::key_code" ref="ad7b017ab264c307ce846d5df8a8bf867" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="struct_p_p___input_event___key.html#ad7b017ab264c307ce846d5df8a8bf867">PP_InputEvent_Key::key_code</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value reflects the DOM KeyboardEvent <code>keyCode</code> field. </p>
+<p>Chrome populates this with the Windows-style Virtual Key code of the key. </p>
+</div>
+</div>
+<a class="anchor" id="a13f50c267c45d439f009094515c75c10"></a><!-- doxytag: member="PP_InputEvent_Key::modifier" ref="a13f50c267c45d439f009094515c75c10" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="struct_p_p___input_event___key.html#a13f50c267c45d439f009094515c75c10">PP_InputEvent_Key::modifier</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value is a bit field combination of the EVENT_MODIFIER flags. </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="pp__input__event_8h.html">pp_input_event.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___input_event___mouse.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___input_event___mouse.html
new file mode 100644
index 0000000..32551d9
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___input_event___mouse.html
@@ -0,0 +1,93 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_InputEvent_Mouse Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_InputEvent_Mouse" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___mouse.html#ade5934096b842e08d4a2b5361efde0ba">modifier</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga25113f3c8d33e863fd38b3f70f8a5e6e">PP_InputEvent_MouseButton</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___mouse.html#a09969e4a48363691517970cd8b374e84">button</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___mouse.html#a12569a7a8bff2107c2a2d67376d26c07">x</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___mouse.html#a19be12e2e7b9007209594ce85912b398">y</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___mouse.html#ad608b42b29ff4f93f63e7dee287ad1d9">click_count</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="struct_p_p___input_event___mouse.html" title="The PP_InputEvent_Mouse struct represents all mouse events except mouse wheel events.">PP_InputEvent_Mouse</a></code> struct represents all mouse events except mouse wheel events. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a09969e4a48363691517970cd8b374e84"></a><!-- doxytag: member="PP_InputEvent_Mouse::button" ref="a09969e4a48363691517970cd8b374e84" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga25113f3c8d33e863fd38b3f70f8a5e6e">PP_InputEvent_MouseButton</a> <a class="el" href="struct_p_p___input_event___mouse.html#a09969e4a48363691517970cd8b374e84">PP_InputEvent_Mouse::button</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the button that changed for mouse down or up events. </p>
+<p>This value will be <code>PP_EVENT_MOUSEBUTTON_NONE</code> for mouse move, enter, and leave events. </p>
+</div>
+</div>
+<a class="anchor" id="ad608b42b29ff4f93f63e7dee287ad1d9"></a><!-- doxytag: member="PP_InputEvent_Mouse::click_count" ref="ad608b42b29ff4f93f63e7dee287ad1d9" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="struct_p_p___input_event___mouse.html#ad608b42b29ff4f93f63e7dee287ad1d9">PP_InputEvent_Mouse::click_count</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ade5934096b842e08d4a2b5361efde0ba"></a><!-- doxytag: member="PP_InputEvent_Mouse::modifier" ref="ade5934096b842e08d4a2b5361efde0ba" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="struct_p_p___input_event___mouse.html#ade5934096b842e08d4a2b5361efde0ba">PP_InputEvent_Mouse::modifier</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value is a bit field combination of the <code>PP_InputEvent_Modifier</code> flags. </p>
+</div>
+</div>
+<a class="anchor" id="a12569a7a8bff2107c2a2d67376d26c07"></a><!-- doxytag: member="PP_InputEvent_Mouse::x" ref="a12569a7a8bff2107c2a2d67376d26c07" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="struct_p_p___input_event___mouse.html#a12569a7a8bff2107c2a2d67376d26c07">PP_InputEvent_Mouse::x</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This values represents the x coordinate of the mouse when the event occurred. </p>
+<p>In most, but not all, cases these coordinates will just be integers. For example, the plugin element might be arbitrarily scaled or transformed in the DOM, and translating a mouse event into the coordinate space of the plugin will give non-integer values. </p>
+</div>
+</div>
+<a class="anchor" id="a19be12e2e7b9007209594ce85912b398"></a><!-- doxytag: member="PP_InputEvent_Mouse::y" ref="a19be12e2e7b9007209594ce85912b398" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="struct_p_p___input_event___mouse.html#a19be12e2e7b9007209594ce85912b398">PP_InputEvent_Mouse::y</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This values represents the y coordinate of the mouse when the event occurred. </p>
+<p>In most, but not all, cases these coordinates will just be integers. For example, the plugin element might be arbitrarily scaled or transformed in the DOM, and translating a mouse event into the coordinate space of the plugin will give non-integer values. </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="pp__input__event_8h.html">pp_input_event.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___input_event___wheel.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___input_event___wheel.html
new file mode 100644
index 0000000..e0acf813
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___input_event___wheel.html
@@ -0,0 +1,117 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_InputEvent_Wheel Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_InputEvent_Wheel" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___wheel.html#ad4af418584f964e9191e78be05bbb3f7">modifier</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___wheel.html#aed0a1a8148ecfb7efe2443c412b8904d">delta_x</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___wheel.html#a51339c7b39cce3073f98f8a7f048f69d">delta_y</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___wheel.html#a0ebc9809d9333e68b63ad7dc7c421775">wheel_ticks_x</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___wheel.html#af39e6e81fc7166e745e3fdb4b4d3ff4e">wheel_ticks_y</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___wheel.html#ad51a5319a1eb82706371d495e397e909">scroll_by_page</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="struct_p_p___input_event___wheel.html" title="The PP_InputEvent_Wheel struct represents all mouse wheel events.">PP_InputEvent_Wheel</a></code> struct represents all mouse wheel events. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="aed0a1a8148ecfb7efe2443c412b8904d"></a><!-- doxytag: member="PP_InputEvent_Wheel::delta_x" ref="aed0a1a8148ecfb7efe2443c412b8904d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="struct_p_p___input_event___wheel.html#aed0a1a8148ecfb7efe2443c412b8904d">PP_InputEvent_Wheel::delta_x</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The mouse wheel's horizontal scroll amount. </p>
+<p>A scroll to the right (where the content moves left) is represented as positive values, and a scroll to the left (where the content moves right) is represented as negative values.</p>
+<p>The units are either in pixels (when scroll_by_page is false) or pages (when scroll_by_page is true). For example, delta_y = -3 means scroll up 3 pixels when scroll_by_page is false, and scroll up 3 pages when scroll_by_page is true.</p>
+<p>This amount is system dependent and will take into account the user's preferred scroll sensitivity and potentially also nonlinear acceleration based on the speed of the scrolling.</p>
+<p>Devices will be of varying resolution. Some mice with large detents will only generate integer scroll amounts. But fractional values are also possible, for example, on some trackpads and newer mice that don't have "clicks". </p>
+</div>
+</div>
+<a class="anchor" id="a51339c7b39cce3073f98f8a7f048f69d"></a><!-- doxytag: member="PP_InputEvent_Wheel::delta_y" ref="a51339c7b39cce3073f98f8a7f048f69d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="struct_p_p___input_event___wheel.html#a51339c7b39cce3073f98f8a7f048f69d">PP_InputEvent_Wheel::delta_y</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The mouse wheel's vertical scroll amount. </p>
+<p>A scroll down (where the content moves up) is represented as positive values, and a scroll up (where the content moves down) is represented as negative values.</p>
+<p>The units are either in pixels (when scroll_by_page is false) or pages (when scroll_by_page is true). For example, delta_y = -3 means scroll up 3 pixels when scroll_by_page is false, and scroll up 3 pages when scroll_by_page is true.</p>
+<p>This amount is system dependent and will take into account the user's preferred scroll sensitivity and potentially also nonlinear acceleration based on the speed of the scrolling.</p>
+<p>Devices will be of varying resolution. Some mice with large detents will only generate integer scroll amounts. But fractional values are also possible, for example, on some trackpads and newer mice that don't have "clicks". </p>
+</div>
+</div>
+<a class="anchor" id="ad4af418584f964e9191e78be05bbb3f7"></a><!-- doxytag: member="PP_InputEvent_Wheel::modifier" ref="ad4af418584f964e9191e78be05bbb3f7" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="struct_p_p___input_event___wheel.html#ad4af418584f964e9191e78be05bbb3f7">PP_InputEvent_Wheel::modifier</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents a combination of the <code>EVENT_MODIFIER</code> flags. </p>
+</div>
+</div>
+<a class="anchor" id="ad51a5319a1eb82706371d495e397e909"></a><!-- doxytag: member="PP_InputEvent_Wheel::scroll_by_page" ref="ad51a5319a1eb82706371d495e397e909" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> <a class="el" href="struct_p_p___input_event___wheel.html#ad51a5319a1eb82706371d495e397e909">PP_InputEvent_Wheel::scroll_by_page</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Indicates if the scroll <code>delta_x</code>/<code>delta_y</code> indicates pages or lines to scroll by. </p>
+<p>When true, the user is requesting to scroll by pages. </p>
+</div>
+</div>
+<a class="anchor" id="a0ebc9809d9333e68b63ad7dc7c421775"></a><!-- doxytag: member="PP_InputEvent_Wheel::wheel_ticks_x" ref="a0ebc9809d9333e68b63ad7dc7c421775" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="struct_p_p___input_event___wheel.html#a0ebc9809d9333e68b63ad7dc7c421775">PP_InputEvent_Wheel::wheel_ticks_x</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The number of "clicks" of the scroll wheel that have produced the event. </p>
+<p>The value may have system-specific acceleration applied to it, depending on the device. The positive and negative meanings are the same as for <code>delta_x</code> and <code>delta_y</code>.</p>
+<p>If you are scrolling, you probably want to use the delta values above. These tick events can be useful if you aren't doing actual scrolling and don't want or pixel values. An example may be cycling between different items in a game.</p>
+<p>You may receive fractional values for the wheel ticks if the mouse wheel is high resolution or doesn't have "clicks". If your program wants discrete events (as in the "picking items" example) you should accumulate fractional click values from multiple messages until the total value reaches positive or negative one. This should represent a similar amount of scrolling as for a mouse that has a discrete mouse wheel. </p>
+</div>
+</div>
+<a class="anchor" id="af39e6e81fc7166e745e3fdb4b4d3ff4e"></a><!-- doxytag: member="PP_InputEvent_Wheel::wheel_ticks_y" ref="af39e6e81fc7166e745e3fdb4b4d3ff4e" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="struct_p_p___input_event___wheel.html#af39e6e81fc7166e745e3fdb4b4d3ff4e">PP_InputEvent_Wheel::wheel_ticks_y</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents. </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="pp__input__event_8h.html">pp_input_event.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___net_address___i_pv4.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___net_address___i_pv4.html
new file mode 100644
index 0000000..ae123fa
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___net_address___i_pv4.html
@@ -0,0 +1,49 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_NetAddress_IPv4 Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_NetAddress_IPv4" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___net_address___i_pv4.html#a2357e390da5fdf3d57239b5af50a184d">port</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___net_address___i_pv4.html#a075897f0f5212cce73a114ab4c96775d">addr</a> [4]</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>All members are expressed in network byte order. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a075897f0f5212cce73a114ab4c96775d"></a><!-- doxytag: member="PP_NetAddress_IPv4::addr" ref="a075897f0f5212cce73a114ab4c96775d" args="[4]" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint8_t <a class="el" href="struct_p_p___net_address___i_pv4.html#a075897f0f5212cce73a114ab4c96775d">PP_NetAddress_IPv4::addr</a>[4]</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>IPv4 address. </p>
+</div>
+</div>
+<a class="anchor" id="a2357e390da5fdf3d57239b5af50a184d"></a><!-- doxytag: member="PP_NetAddress_IPv4::port" ref="a2357e390da5fdf3d57239b5af50a184d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint16_t <a class="el" href="struct_p_p___net_address___i_pv4.html#a2357e390da5fdf3d57239b5af50a184d">PP_NetAddress_IPv4::port</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Port number. </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="ppb__net__address_8h.html">ppb_net_address.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___net_address___i_pv6.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___net_address___i_pv6.html
new file mode 100644
index 0000000..9b35914
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___net_address___i_pv6.html
@@ -0,0 +1,49 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_NetAddress_IPv6 Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_NetAddress_IPv6" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___net_address___i_pv6.html#a33221e899ef2126330c7ff53218ea63d">port</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___net_address___i_pv6.html#a11e248d3d3063f4a2fc351efadf93783">addr</a> [16]</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>All members are expressed in network byte order. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a11e248d3d3063f4a2fc351efadf93783"></a><!-- doxytag: member="PP_NetAddress_IPv6::addr" ref="a11e248d3d3063f4a2fc351efadf93783" args="[16]" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint8_t <a class="el" href="struct_p_p___net_address___i_pv6.html#a11e248d3d3063f4a2fc351efadf93783">PP_NetAddress_IPv6::addr</a>[16]</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>IPv6 address. </p>
+</div>
+</div>
+<a class="anchor" id="a33221e899ef2126330c7ff53218ea63d"></a><!-- doxytag: member="PP_NetAddress_IPv6::port" ref="a33221e899ef2126330c7ff53218ea63d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint16_t <a class="el" href="struct_p_p___net_address___i_pv6.html#a33221e899ef2126330c7ff53218ea63d">PP_NetAddress_IPv6::port</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Port number. </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="ppb__net__address_8h.html">ppb_net_address.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___point.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___point.html
new file mode 100644
index 0000000..1e899c8
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___point.html
@@ -0,0 +1,49 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_Point Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_Point" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___point.html#a563cc77d7d3154cbb60bc95f0607a5e4">x</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___point.html#a93087f8866bb309f9d69e1ae5d40e852">y</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <a class="el" href="struct_p_p___point.html" title="The PP_Point structure defines the integer x and y coordinates of a point.">PP_Point</a> structure defines the integer x and y coordinates of a point. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a563cc77d7d3154cbb60bc95f0607a5e4"></a><!-- doxytag: member="PP_Point::x" ref="a563cc77d7d3154cbb60bc95f0607a5e4" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="struct_p_p___point.html#a563cc77d7d3154cbb60bc95f0607a5e4">PP_Point::x</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the horizontal coordinate of a point, starting with 0 as the left-most coordinate. </p>
+</div>
+</div>
+<a class="anchor" id="a93087f8866bb309f9d69e1ae5d40e852"></a><!-- doxytag: member="PP_Point::y" ref="a93087f8866bb309f9d69e1ae5d40e852" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="struct_p_p___point.html#a93087f8866bb309f9d69e1ae5d40e852">PP_Point::y</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the vertical coordinate of a point, starting with 0 as the top-most coordinate. </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="pp__point_8h.html">pp_point.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___rect.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___rect.html
new file mode 100644
index 0000000..96b1497
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___rect.html
@@ -0,0 +1,49 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_Rect Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_Rect" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___point.html">PP_Point</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___rect.html#a9c0921483c30057de10cf63c8832dfd3">point</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___size.html">PP_Size</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___rect.html#a25ce3087fc0893c518d907ba04b8e10b">size</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="struct_p_p___rect.html" title="The PP_Rect struct contains the size and location of a 2D rectangle.">PP_Rect</a></code> struct contains the size and location of a 2D rectangle. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a9c0921483c30057de10cf63c8832dfd3"></a><!-- doxytag: member="PP_Rect::point" ref="a9c0921483c30057de10cf63c8832dfd3" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___point.html">PP_Point</a> <a class="el" href="struct_p_p___rect.html#a9c0921483c30057de10cf63c8832dfd3">PP_Rect::point</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the x and y coordinates of the upper-left corner of the rectangle. </p>
+</div>
+</div>
+<a class="anchor" id="a25ce3087fc0893c518d907ba04b8e10b"></a><!-- doxytag: member="PP_Rect::size" ref="a25ce3087fc0893c518d907ba04b8e10b" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___size.html">PP_Size</a> <a class="el" href="struct_p_p___rect.html#a25ce3087fc0893c518d907ba04b8e10b">PP_Rect::size</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the width and height of the rectangle. </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="pp__rect_8h.html">pp_rect.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___size.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___size.html
new file mode 100644
index 0000000..afaa54e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___size.html
@@ -0,0 +1,49 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_Size Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_Size" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___size.html#ae90a3149307a54902cd3a146592353cd">width</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___size.html#ae6eec60ae0ac7e860744eaf0fbab8690">height</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="struct_p_p___size.html" title="The PP_Size struct contains the size of a 2D rectangle.">PP_Size</a></code> struct contains the size of a 2D rectangle. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="ae6eec60ae0ac7e860744eaf0fbab8690"></a><!-- doxytag: member="PP_Size::height" ref="ae6eec60ae0ac7e860744eaf0fbab8690" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="struct_p_p___size.html#ae6eec60ae0ac7e860744eaf0fbab8690">PP_Size::height</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the height of the rectangle. </p>
+</div>
+</div>
+<a class="anchor" id="ae90a3149307a54902cd3a146592353cd"></a><!-- doxytag: member="PP_Size::width" ref="ae90a3149307a54902cd3a146592353cd" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="struct_p_p___size.html#ae90a3149307a54902cd3a146592353cd">PP_Size::width</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the width of the rectangle. </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="pp__size_8h.html">pp_size.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___touch_point.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___touch_point.html
new file mode 100644
index 0000000..e9c18ad1
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___touch_point.html
@@ -0,0 +1,93 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_TouchPoint Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_TouchPoint" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___touch_point.html#a27542ca67fc89c4fe41050750b80fc3b">id</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___float_point.html">PP_FloatPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___touch_point.html#a5c2dfab481eaafbd40c9b837fc6f9106">position</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___float_point.html">PP_FloatPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___touch_point.html#abcf813398210aaeaa587858f90139292">radius</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___touch_point.html#a8861a485f64399c787093d7fbf609b89">rotation_angle</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___touch_point.html#a3af90cd7d4415434a1f18a23eb28b2d9">pressure</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="struct_p_p___touch_point.html" title="The PP_TouchPoint struct represents all information about a single touch point, such as position...">PP_TouchPoint</a></code> struct represents all information about a single touch point, such as position, id, rotation angle, and pressure. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a27542ca67fc89c4fe41050750b80fc3b"></a><!-- doxytag: member="PP_TouchPoint::id" ref="a27542ca67fc89c4fe41050750b80fc3b" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="struct_p_p___touch_point.html#a27542ca67fc89c4fe41050750b80fc3b">PP_TouchPoint::id</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the identifier for this TouchPoint. </p>
+<p>The id corresponds to the order in which the points were pressed. For example, the first point to be pressed has an id of 0, the second has an id of 1, and so on. An id can be reused when a touch point is released. For example, if two fingers are down, with id 0 and 1, and finger 0 releases, the next finger to be pressed can be assigned to id 0. </p>
+</div>
+</div>
+<a class="anchor" id="a5c2dfab481eaafbd40c9b837fc6f9106"></a><!-- doxytag: member="PP_TouchPoint::position" ref="a5c2dfab481eaafbd40c9b837fc6f9106" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___float_point.html">PP_FloatPoint</a> <a class="el" href="struct_p_p___touch_point.html#a5c2dfab481eaafbd40c9b837fc6f9106">PP_TouchPoint::position</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the x and y pixel position of this TouchPoint relative to the upper-left of the module instance receiving the event. </p>
+</div>
+</div>
+<a class="anchor" id="a3af90cd7d4415434a1f18a23eb28b2d9"></a><!-- doxytag: member="PP_TouchPoint::pressure" ref="a3af90cd7d4415434a1f18a23eb28b2d9" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="struct_p_p___touch_point.html#a3af90cd7d4415434a1f18a23eb28b2d9">PP_TouchPoint::pressure</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the pressure applied to this TouchPoint. </p>
+<p>This value is typically between 0 and 1, with 0 indicating no pressure and 1 indicating some maximum pressure. Scaling differs depending on the hardware and the value is not guaranteed to stay within that range. </p>
+</div>
+</div>
+<a class="anchor" id="abcf813398210aaeaa587858f90139292"></a><!-- doxytag: member="PP_TouchPoint::radius" ref="abcf813398210aaeaa587858f90139292" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___float_point.html">PP_FloatPoint</a> <a class="el" href="struct_p_p___touch_point.html#abcf813398210aaeaa587858f90139292">PP_TouchPoint::radius</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the elliptical radii, in screen pixels, in the x and y direction of this TouchPoint. </p>
+</div>
+</div>
+<a class="anchor" id="a8861a485f64399c787093d7fbf609b89"></a><!-- doxytag: member="PP_TouchPoint::rotation_angle" ref="a8861a485f64399c787093d7fbf609b89" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="struct_p_p___touch_point.html#a8861a485f64399c787093d7fbf609b89">PP_TouchPoint::rotation_angle</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the angle of rotation in degrees of the elliptical model of this TouchPoint clockwise from "up.". </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="pp__touch__point_8h.html">pp_touch_point.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___var.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___var.html
new file mode 100644
index 0000000..5d76765
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p___var.html
@@ -0,0 +1,66 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_Var Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_Var" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga9815041477d810724e44da862f9852ed">PP_VarType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___var.html#a80a9be8f342e8d849d4911e5585a8123">type</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___var.html#aa0b507acd514bb2644341721b838b870">padding</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">union <a class="el" href="union_p_p___var_value.html">PP_VarValue</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___var.html#ada122d12bf6da5cf78699a170d188542">value</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PP_VAR</code> struct is a variant data type and can contain any value of one of the types named in the <code>PP_VarType</code> enum. </p>
+<p>This structure is for passing data between native code which can be strongly typed and the browser (JavaScript) which isn't strongly typed.</p>
+<p>JavaScript has a "number" type for holding a number, and does not differentiate between floating point and integer numbers. The JavaScript operations will try to optimize operations by using integers when possible, but could end up with doubles. Therefore, you can't assume a numeric <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> will be the type you expect. Your code should be capable of handling either int32_t or double for numeric PP_Vars sent from JavaScript. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="aa0b507acd514bb2644341721b838b870"></a><!-- doxytag: member="PP_Var::padding" ref="aa0b507acd514bb2644341721b838b870" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="struct_p_p___var.html#aa0b507acd514bb2644341721b838b870">PP_Var::padding</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <code>padding</code> ensures <code>value</code> is aligned on an 8-byte boundary relative to the start of the struct. </p>
+<p>Some compilers align doubles on 8-byte boundaries for 32-bit x86, and some align on 4-byte boundaries. </p>
+</div>
+</div>
+<a class="anchor" id="a80a9be8f342e8d849d4911e5585a8123"></a><!-- doxytag: member="PP_Var::type" ref="a80a9be8f342e8d849d4911e5585a8123" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga9815041477d810724e44da862f9852ed">PP_VarType</a> <a class="el" href="struct_p_p___var.html#a80a9be8f342e8d849d4911e5585a8123">PP_Var::type</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ada122d12bf6da5cf78699a170d188542"></a><!-- doxytag: member="PP_Var::value" ref="ada122d12bf6da5cf78699a170d188542" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">union <a class="el" href="union_p_p___var_value.html">PP_VarValue</a> <a class="el" href="struct_p_p___var.html#ada122d12bf6da5cf78699a170d188542">PP_Var::value</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This <code>value</code> represents the contents of the <a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a>. </p>
+<p>Only one of the fields of <code>value</code> is valid at a time based upon <code>type</code>. </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="pp__var_8h.html">pp_var.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___audio__1__1.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___audio__1__1.html
new file mode 100644
index 0000000..2b2eb05
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___audio__1__1.html
@@ -0,0 +1,151 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_Audio Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_Audio" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio__1__1.html#a9714ecad5eeefae9d5d98c5ea29ac5ce">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> config, <a class="el" href="group___typedefs.html#ga2ec91970f3cb75769ce631b3b732803e">PPB_Audio_Callback</a> audio_callback, void *user_data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio__1__1.html#af516cae7c19f1439d630fd58049db85b">IsAudio</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio__1__1.html#a85615368f68e629eaeef6507e6b5f8b3">GetCurrentConfig</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> audio)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio__1__1.html#a764b5ba357af0f781839c4f696615a23">StartPlayback</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> audio)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio__1__1.html#a82049c2fbe4f151839fd13f8d10e8395">StopPlayback</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> audio)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_Audio</code> interface contains pointers to several functions for handling audio resources. </p>
+<p>Refer to the <a href="/native-client/{{pepperversion}}/devguide/coding/audio">Audio</a> chapter in the Developer's Guide for information on using this interface. Please see descriptions for each <code>PPB_Audio</code> and <code>PPB_AudioConfig</code> function for more details. A C example using <code>PPB_Audio</code> and <code>PPB_AudioConfig</code> follows.</p>
+<p><b>Example: </b></p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">void</span> audio_callback(<span class="keywordtype">void</span>* sample_buffer,
+ uint32_t buffer_size_in_bytes,
+ <span class="keywordtype">void</span>* user_data) {
+ ... quickly fill in the buffer with samples and <span class="keywordflow">return</span> to caller ...
+ }
+
+ ...Assume the application has cached the audio configuration <span class="keyword">interface </span>in
+ audio_config_interface and the audio interface in
+ audio_interface...
+
+ uint32_t count = audio_config_interface->RecommendSampleFrameCount(
+ <a class="code" href="group___enums.html#ggaee750c350655f2fb0fe04c04029e0ff8ac6d1056f50ebe082622d3250def41a54">PP_AUDIOSAMPLERATE_44100</a>, 4096);
+ <a class="code" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7" title="This typedef represents an opaque handle assigned by the browser to the resource.">PP_Resource</a> pp_audio_config = audio_config_interface->CreateStereo16Bit(
+ pp_instance, <a class="code" href="group___enums.html#ggaee750c350655f2fb0fe04c04029e0ff8ac6d1056f50ebe082622d3250def41a54">PP_AUDIOSAMPLERATE_44100</a>, count);
+ <a class="code" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7" title="This typedef represents an opaque handle assigned by the browser to the resource.">PP_Resource</a> pp_audio = audio_interface->Create(pp_instance, pp_audio_config,
+ audio_callback, NULL);
+ audio_interface->StartPlayback(pp_audio);
+
+ ...audio_callback() will now be periodically invoked on a separate thread...
+</pre></div> </div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a9714ecad5eeefae9d5d98c5ea29ac5ce"></a><!-- doxytag: member="PPB_Audio::Create" ref="a9714ecad5eeefae9d5d98c5ea29ac5ce" args=")(PP_Instance instance, PP_Resource config, PPB_Audio_Callback audio_callback, void *user_data)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___audio__1__1.html#a9714ecad5eeefae9d5d98c5ea29ac5ce">PPB_Audio::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> config, <a class="el" href="group___typedefs.html#ga2ec91970f3cb75769ce631b3b732803e">PPB_Audio_Callback</a> audio_callback, void *user_data)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___audio__1__1.html#a9714ecad5eeefae9d5d98c5ea29ac5ce" title="Create() creates an audio resource.">Create()</a> creates an audio resource. </p>
+<p>No sound will be heard until <a class="el" href="struct_p_p_b___audio__1__1.html#a764b5ba357af0f781839c4f696615a23" title="StartPlayback() starts the playback of the audio resource and begins periodically calling the callbac...">StartPlayback()</a> is called. The callback is called with the buffer address and given user data whenever the buffer needs to be filled. From within the callback, you should not call <code>PPB_Audio</code> functions. The callback will be called on a different thread than the one which created the interface. For performance-critical applications (i.e. low-latency audio), the callback should avoid blocking or calling functions that can obtain locks, such as malloc. The layout and the size of the buffer passed to the audio callback will be determined by the device configuration and is specified in the <code>AudioConfig</code> documentation.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">config</td><td>A <code>PP_Resource</code> corresponding to an audio config resource. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">audio_callback</td><td>A <code>PPB_Audio_Callback</code> callback function that the browser calls when it needs more samples to play. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">user_data</td><td>A pointer to user data used in the callback function.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> containing the audio resource if successful or 0 if the configuration cannot be honored or the callback is null. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a85615368f68e629eaeef6507e6b5f8b3"></a><!-- doxytag: member="PPB_Audio::GetCurrentConfig" ref="a85615368f68e629eaeef6507e6b5f8b3" args=")(PP_Resource audio)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___audio__1__1.html#a85615368f68e629eaeef6507e6b5f8b3">PPB_Audio::GetCurrentConfig</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> audio)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>GetCurrrentConfig() returns an audio config resource for the given audio resource. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">config</td><td>A <code>PP_Resource</code> corresponding to an audio resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> containing the audio config resource if successful. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="af516cae7c19f1439d630fd58049db85b"></a><!-- doxytag: member="PPB_Audio::IsAudio" ref="af516cae7c19f1439d630fd58049db85b" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___audio__1__1.html#af516cae7c19f1439d630fd58049db85b">PPB_Audio::IsAudio</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___audio__1__1.html#af516cae7c19f1439d630fd58049db85b" title="IsAudio() determines if the provided resource is an audio resource.">IsAudio()</a> determines if the provided resource is an audio resource. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a generic resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> containing containing <code>PP_TRUE</code> if the given resource is an Audio resource, otherwise <code>PP_FALSE</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a764b5ba357af0f781839c4f696615a23"></a><!-- doxytag: member="PPB_Audio::StartPlayback" ref="a764b5ba357af0f781839c4f696615a23" args=")(PP_Resource audio)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___audio__1__1.html#a764b5ba357af0f781839c4f696615a23">PPB_Audio::StartPlayback</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> audio)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___audio__1__1.html#a764b5ba357af0f781839c4f696615a23" title="StartPlayback() starts the playback of the audio resource and begins periodically calling the callbac...">StartPlayback()</a> starts the playback of the audio resource and begins periodically calling the callback. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">config</td><td>A <code>PP_Resource</code> corresponding to an audio resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> containing <code>PP_TRUE</code> if successful, otherwise <code>PP_FALSE</code>. Also returns <code>PP_TRUE</code> (and be a no-op) if called while playback is already in progress. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a82049c2fbe4f151839fd13f8d10e8395"></a><!-- doxytag: member="PPB_Audio::StopPlayback" ref="a82049c2fbe4f151839fd13f8d10e8395" args=")(PP_Resource audio)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___audio__1__1.html#a82049c2fbe4f151839fd13f8d10e8395">PPB_Audio::StopPlayback</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> audio)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___audio__1__1.html#a82049c2fbe4f151839fd13f8d10e8395" title="StopPlayback() stops the playback of the audio resource.">StopPlayback()</a> stops the playback of the audio resource. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">config</td><td>A <code>PP_Resource</code> corresponding to an audio resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> containing <code>PP_TRUE</code> if successful, otherwise <code>PP_FALSE</code>. Also returns <code>PP_TRUE</code> (and is a no-op) if called while playback is already stopped. If a callback is in progress, <a class="el" href="struct_p_p_b___audio__1__1.html#a82049c2fbe4f151839fd13f8d10e8395" title="StopPlayback() stops the playback of the audio resource.">StopPlayback()</a> will block until the callback completes. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="ppb__audio_8h.html">ppb_audio.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___audio_config__1__1.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___audio_config__1__1.html
new file mode 100644
index 0000000..9157742
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___audio_config__1__1.html
@@ -0,0 +1,160 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_AudioConfig Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_AudioConfig" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio_config__1__1.html#a541f636cd6818dbf09ff3680701753ae">CreateStereo16Bit</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#gaee750c350655f2fb0fe04c04029e0ff8">PP_AudioSampleRate</a> sample_rate, uint32_t sample_frame_count)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio_config__1__1.html#ad8e61c620a5b2081302e741c94aef921">RecommendSampleFrameCount</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#gaee750c350655f2fb0fe04c04029e0ff8">PP_AudioSampleRate</a> sample_rate, uint32_t requested_sample_frame_count)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio_config__1__1.html#a51282d6afa187ef1fc3a3a559735e209">IsAudioConfig</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#gaee750c350655f2fb0fe04c04029e0ff8">PP_AudioSampleRate</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio_config__1__1.html#a3e9e2d57f89f78d5373f09e9a6bcac72">GetSampleRate</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> config)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio_config__1__1.html#a743a6033adee1e3e8e4822d72e0ccc68">GetSampleFrameCount</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> config)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#gaee750c350655f2fb0fe04c04029e0ff8">PP_AudioSampleRate</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio_config__1__1.html#a7c6808dbbfba59c85facd85548a0199c">RecommendSampleRate</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_AudioConfig</code> interface contains pointers to several functions for establishing your audio configuration within the browser. </p>
+<p>This interface only supports 16-bit stereo output.</p>
+<p>Refer to the <a href="/native-client/{{pepperversion}}/devguide/coding/audio">Audio </a> chapter in the Developer's Guide for information on using this interface. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a541f636cd6818dbf09ff3680701753ae"></a><!-- doxytag: member="PPB_AudioConfig::CreateStereo16Bit" ref="a541f636cd6818dbf09ff3680701753ae" args=")(PP_Instance instance, PP_AudioSampleRate sample_rate, uint32_t sample_frame_count)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___audio_config__1__1.html#a541f636cd6818dbf09ff3680701753ae">PPB_AudioConfig::CreateStereo16Bit</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#gaee750c350655f2fb0fe04c04029e0ff8">PP_AudioSampleRate</a> sample_rate, uint32_t sample_frame_count)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>CreateStereo16bit() creates a 16 bit audio configuration resource. </p>
+<p>The <code>sample_rate</code> should be the result of calling <code>RecommendSampleRate</code> and <code>sample_frame_count</code> should be the result of calling <code>RecommendSampleFrameCount</code>. If the sample frame count or bit rate isn't supported, this function will fail and return a null resource.</p>
+<p>A single sample frame on a stereo device means one value for the left channel and one value for the right channel.</p>
+<p>Buffer layout for a stereo int16 configuration: <code>int16_t *buffer16;</code> <code>buffer16[0]</code> is the first left channel sample. <code>buffer16[1]</code> is the first right channel sample. <code>buffer16[2]</code> is the second left channel sample. <code>buffer16[3]</code> is the second right channel sample. ... <code>buffer16[2 * (sample_frame_count - 1)]</code> is the last left channel sample. <code>buffer16[2 * (sample_frame_count - 1) + 1]</code> is the last right channel sample. Data will always be in the native endian format of the platform.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">sample_rate</td><td>A <code>PP_AudioSampleRate</code> which is either <code>PP_AUDIOSAMPLERATE_44100</code> or <code>PP_AUDIOSAMPLERATE_48000</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">sample_frame_count</td><td>A <code>uint32_t</code> frame count returned from the <code>RecommendSampleFrameCount</code> function.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> containing the <code>PPB_Audio_Config</code> if successful or a null resource if the sample frame count or bit rate are not supported. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a743a6033adee1e3e8e4822d72e0ccc68"></a><!-- doxytag: member="PPB_AudioConfig::GetSampleFrameCount" ref="a743a6033adee1e3e8e4822d72e0ccc68" args=")(PP_Resource config)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t(* <a class="el" href="struct_p_p_b___audio_config__1__1.html#a743a6033adee1e3e8e4822d72e0ccc68">PPB_AudioConfig::GetSampleFrameCount</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> config)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___audio_config__1__1.html#a743a6033adee1e3e8e4822d72e0ccc68" title="GetSampleFrameCount() returns the sample frame count for the given PPB_Audio_Config.">GetSampleFrameCount()</a> returns the sample frame count for the given <code>PPB_Audio_Config</code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">config</td><td>A <code>PP_Resource</code> corresponding to an audio config resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>uint32_t</code> containing sample frame count or 0 if the resource is invalid. Refer to <a class="el" href="struct_p_p_b___audio_config__1__1.html#ad8e61c620a5b2081302e741c94aef921" title="RecommendSampleFrameCount() returns the supported sample frame count closest to the requested count...">RecommendSampleFrameCount()</a> for more on sample frame counts. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a3e9e2d57f89f78d5373f09e9a6bcac72"></a><!-- doxytag: member="PPB_AudioConfig::GetSampleRate" ref="a3e9e2d57f89f78d5373f09e9a6bcac72" args=")(PP_Resource config)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#gaee750c350655f2fb0fe04c04029e0ff8">PP_AudioSampleRate</a>(* <a class="el" href="struct_p_p_b___audio_config__1__1.html#a3e9e2d57f89f78d5373f09e9a6bcac72">PPB_AudioConfig::GetSampleRate</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> config)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___audio_config__1__1.html#a3e9e2d57f89f78d5373f09e9a6bcac72" title="GetSampleRate() returns the sample rate for the given PPB_Audio_Config.">GetSampleRate()</a> returns the sample rate for the given <code>PPB_Audio_Config</code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">config</td><td>A <code>PP_Resource</code> corresponding to a <code>PPB_Audio_Config</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_AudioSampleRate</code> containing sample rate or <code>PP_AUDIOSAMPLERATE_NONE</code> if the resource is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a51282d6afa187ef1fc3a3a559735e209"></a><!-- doxytag: member="PPB_AudioConfig::IsAudioConfig" ref="a51282d6afa187ef1fc3a3a559735e209" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___audio_config__1__1.html#a51282d6afa187ef1fc3a3a559735e209">PPB_AudioConfig::IsAudioConfig</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___audio_config__1__1.html#a51282d6afa187ef1fc3a3a559735e209" title="IsAudioConfig() determines if the given resource is a PPB_Audio_Config.">IsAudioConfig()</a> determines if the given resource is a <code>PPB_Audio_Config</code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to an audio config resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> containing <code>PP_TRUE</code> if the given resource is an <code>AudioConfig</code> resource, otherwise <code>PP_FALSE</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ad8e61c620a5b2081302e741c94aef921"></a><!-- doxytag: member="PPB_AudioConfig::RecommendSampleFrameCount" ref="ad8e61c620a5b2081302e741c94aef921" args=")(PP_Instance instance, PP_AudioSampleRate sample_rate, uint32_t requested_sample_frame_count)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t(* <a class="el" href="struct_p_p_b___audio_config__1__1.html#ad8e61c620a5b2081302e741c94aef921">PPB_AudioConfig::RecommendSampleFrameCount</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#gaee750c350655f2fb0fe04c04029e0ff8">PP_AudioSampleRate</a> sample_rate, uint32_t requested_sample_frame_count)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___audio_config__1__1.html#ad8e61c620a5b2081302e741c94aef921" title="RecommendSampleFrameCount() returns the supported sample frame count closest to the requested count...">RecommendSampleFrameCount()</a> returns the supported sample frame count closest to the requested count. </p>
+<p>The sample frame count determines the overall latency of audio. Since one "frame" is always buffered in advance, smaller frame counts will yield lower latency, but higher CPU utilization.</p>
+<p>Supported sample frame counts will vary by hardware and system (consider that the local system might be anywhere from a cell phone or a high-end audio workstation). Sample counts less than <code>PP_AUDIOMINSAMPLEFRAMECOUNT</code> and greater than <code>PP_AUDIOMAXSAMPLEFRAMECOUNT</code> are never supported on any system, but values in between aren't necessarily valid. This function will return a supported count closest to the requested frame count.</p>
+<p><a class="el" href="struct_p_p_b___audio_config__1__1.html#ad8e61c620a5b2081302e741c94aef921" title="RecommendSampleFrameCount() returns the supported sample frame count closest to the requested count...">RecommendSampleFrameCount()</a> result is intended for audio output devices.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td></td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">sample_rate</td><td>A <code>PP_AudioSampleRate</code> which is either <code>PP_AUDIOSAMPLERATE_44100</code> or <code>PP_AUDIOSAMPLERATE_48000.</code> </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">requested_sample_frame_count</td><td>A <code>uint_32t</code> requested frame count.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>uint32_t</code> containing the recommended sample frame count if successful. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a7c6808dbbfba59c85facd85548a0199c"></a><!-- doxytag: member="PPB_AudioConfig::RecommendSampleRate" ref="a7c6808dbbfba59c85facd85548a0199c" args=")(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#gaee750c350655f2fb0fe04c04029e0ff8">PP_AudioSampleRate</a>(* <a class="el" href="struct_p_p_b___audio_config__1__1.html#a7c6808dbbfba59c85facd85548a0199c">PPB_AudioConfig::RecommendSampleRate</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___audio_config__1__1.html#a7c6808dbbfba59c85facd85548a0199c" title="RecommendSampleRate() returns the native sample rate that the browser is using in the backend...">RecommendSampleRate()</a> returns the native sample rate that the browser is using in the backend. </p>
+<p>Applications that use the recommended sample rate will have potentially better latency and fidelity. The return value is intended for audio output devices. If the output sample rate cannot be determined, this function can return PP_AUDIOSAMPLERATE_NONE.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td></td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>uint32_t</code> containing the recommended sample frame count if successful. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="ppb__audio__config_8h.html">ppb_audio_config.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___console__1__0.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___console__1__0.html
new file mode 100644
index 0000000..19c781c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___console__1__0.html
@@ -0,0 +1,50 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_Console Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_Console" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___console__1__0.html#ae54272123735f49c8d7eb09cb2e1e368">Log</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#gac39067c0883ec80b94290dd2a3bae440">PP_LogLevel</a> level, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> value)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___console__1__0.html#a87a75566f5b86ebb6e2b7bf529d6ade1">LogWithSource</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#gac39067c0883ec80b94290dd2a3bae440">PP_LogLevel</a> level, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> source, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> value)</td></tr>
+</table>
+<hr /><h2>Field Documentation</h2>
+<a class="anchor" id="ae54272123735f49c8d7eb09cb2e1e368"></a><!-- doxytag: member="PPB_Console::Log" ref="ae54272123735f49c8d7eb09cb2e1e368" args=")(PP_Instance instance, PP_LogLevel level, struct PP_Var value)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___console__1__0.html#ae54272123735f49c8d7eb09cb2e1e368">PPB_Console::Log</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#gac39067c0883ec80b94290dd2a3bae440">PP_LogLevel</a> level, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> value)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Logs the given message to the JavaScript console associated with the given plugin instance with the given logging level. </p>
+<p>The name of the plugin issuing the log message will be automatically prepended to the message. The value may be any type of Var. </p>
+</div>
+</div>
+<a class="anchor" id="a87a75566f5b86ebb6e2b7bf529d6ade1"></a><!-- doxytag: member="PPB_Console::LogWithSource" ref="a87a75566f5b86ebb6e2b7bf529d6ade1" args=")(PP_Instance instance, PP_LogLevel level, struct PP_Var source, struct PP_Var value)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___console__1__0.html#a87a75566f5b86ebb6e2b7bf529d6ade1">PPB_Console::LogWithSource</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#gac39067c0883ec80b94290dd2a3bae440">PP_LogLevel</a> level, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> source, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> value)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Logs a message to the console with the given source information rather than using the internal PPAPI plugin name. </p>
+<p>The name must be a string var.</p>
+<p>The regular log function will automatically prepend the name of your plugin to the message as the "source" of the message. Some plugins may wish to override this. For example, if your plugin is a Python interpreter, you would want log messages to contain the source .py file doing the log statement rather than have "python" show up in the console. </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="ppb__console_8h.html">ppb_console.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___core__1__0.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___core__1__0.html
new file mode 100644
index 0000000..f9523e6b
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___core__1__0.html
@@ -0,0 +1,134 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_Core Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_Core" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___core__1__0.html#a63ea7047ef5278cc3735dbfd60bd5b81">AddRefResource</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___core__1__0.html#af3163aefc33071af39cd085a0a2d44fe">ReleaseResource</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___core__1__0.html#abae0871b4efc729f4658c37543242857">GetTime</a> )(void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#ga71cb1042cdeb38d7881b121f3b09ce94">PP_TimeTicks</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___core__1__0.html#ad6b66e732c6a592605b7b83c7bddd97d">GetTimeTicks</a> )(void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___core__1__0.html#ad23da4428f462f9f387bab423e93d1f4">CallOnMainThread</a> )(int32_t delay_in_milliseconds, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback, int32_t result)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___core__1__0.html#a2f784682b530b66ed3de692154298e17">IsMainThread</a> )(void)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_Core</code> interface contains pointers to functions related to memory management, time, and threads on the browser. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a63ea7047ef5278cc3735dbfd60bd5b81"></a><!-- doxytag: member="PPB_Core::AddRefResource" ref="a63ea7047ef5278cc3735dbfd60bd5b81" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___core__1__0.html#a63ea7047ef5278cc3735dbfd60bd5b81">PPB_Core::AddRefResource</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___core__1__0.html#a63ea7047ef5278cc3735dbfd60bd5b81" title="AddRefResource() adds a reference to a resource.">AddRefResource()</a> adds a reference to a resource. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">config</td><td>A <code>PP_Resource</code> corresponding to a resource. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ad23da4428f462f9f387bab423e93d1f4"></a><!-- doxytag: member="PPB_Core::CallOnMainThread" ref="ad23da4428f462f9f387bab423e93d1f4" args=")(int32_t delay_in_milliseconds, struct PP_CompletionCallback callback, int32_t result)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___core__1__0.html#ad23da4428f462f9f387bab423e93d1f4">PPB_Core::CallOnMainThread</a>)(int32_t delay_in_milliseconds, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback, int32_t result)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___core__1__0.html#ad23da4428f462f9f387bab423e93d1f4" title="CallOnMainThread() schedules work to be executed on the main module thread after the specified delay...">CallOnMainThread()</a> schedules work to be executed on the main module thread after the specified delay. </p>
+<p>The delay may be 0 to specify a call back as soon as possible.</p>
+<p>The <code>result</code> parameter will just be passed as the second argument to the callback. Many applications won't need this, but it allows a module to emulate calls of some callbacks which do use this value.</p>
+<p><b>Note:</b> CallOnMainThread, even when used from the main thread with a delay of 0 milliseconds, will never directly invoke the callback. Even in this case, the callback will be scheduled asynchronously.</p>
+<p><b>Note:</b> If the browser is shutting down or if the module has no instances, then the callback function may not be called.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">delay_in_milliseconds</td><td>An int32_t delay in milliseconds. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> callback function that the browser will call after the specified delay. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">result</td><td>An int32_t that the browser will pass to the given <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="abae0871b4efc729f4658c37543242857"></a><!-- doxytag: member="PPB_Core::GetTime" ref="abae0871b4efc729f4658c37543242857" args=")(void)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a>(* <a class="el" href="struct_p_p_b___core__1__0.html#abae0871b4efc729f4658c37543242857">PPB_Core::GetTime</a>)(void)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___core__1__0.html#abae0871b4efc729f4658c37543242857" title='GetTime() returns the "wall clock time" according to the browser.'>GetTime()</a> returns the "wall clock time" according to the browser. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Time</code> containing the "wall clock time" according to the browser. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ad6b66e732c6a592605b7b83c7bddd97d"></a><!-- doxytag: member="PPB_Core::GetTimeTicks" ref="ad6b66e732c6a592605b7b83c7bddd97d" args=")(void)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#ga71cb1042cdeb38d7881b121f3b09ce94">PP_TimeTicks</a>(* <a class="el" href="struct_p_p_b___core__1__0.html#ad6b66e732c6a592605b7b83c7bddd97d">PPB_Core::GetTimeTicks</a>)(void)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___core__1__0.html#ad6b66e732c6a592605b7b83c7bddd97d" title='GetTimeTicks() returns the "tick time" according to the browser.'>GetTimeTicks()</a> returns the "tick time" according to the browser. </p>
+<p>This clock is used by the browser when passing some event times to the module (e.g. using the <code>PP_InputEvent::time_stamp_seconds</code> field). It is not correlated to any actual wall clock time (like <a class="el" href="struct_p_p_b___core__1__0.html#abae0871b4efc729f4658c37543242857" title='GetTime() returns the "wall clock time" according to the browser.'>GetTime()</a>). Because of this, it will not run change if the user changes their computer clock.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_TimeTicks</code> containing the "tick time" according to the browser. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2f784682b530b66ed3de692154298e17"></a><!-- doxytag: member="PPB_Core::IsMainThread" ref="a2f784682b530b66ed3de692154298e17" args=")(void)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___core__1__0.html#a2f784682b530b66ed3de692154298e17">PPB_Core::IsMainThread</a>)(void)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___core__1__0.html#a2f784682b530b66ed3de692154298e17" title="IsMainThread() returns true if the current thread is the main pepper thread.">IsMainThread()</a> returns true if the current thread is the main pepper thread. </p>
+<p>This function is useful for implementing sanity checks, and deciding if dispatching using <a class="el" href="struct_p_p_b___core__1__0.html#ad23da4428f462f9f387bab423e93d1f4" title="CallOnMainThread() schedules work to be executed on the main module thread after the specified delay...">CallOnMainThread()</a> is required.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> containing <code>PP_TRUE</code> if the current thread is the main pepper thread, otherwise <code>PP_FALSE</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="af3163aefc33071af39cd085a0a2d44fe"></a><!-- doxytag: member="PPB_Core::ReleaseResource" ref="af3163aefc33071af39cd085a0a2d44fe" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___core__1__0.html#af3163aefc33071af39cd085a0a2d44fe">PPB_Core::ReleaseResource</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___core__1__0.html#af3163aefc33071af39cd085a0a2d44fe" title="ReleaseResource() removes a reference from a resource.">ReleaseResource()</a> removes a reference from a resource. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">config</td><td>A <code>PP_Resource</code> corresponding to a resource. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="ppb__core_8h.html">ppb_core.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___file_i_o__1__1.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___file_i_o__1__1.html
new file mode 100644
index 0000000..0ad34e3
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___file_i_o__1__1.html
@@ -0,0 +1,284 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_FileIO Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_FileIO" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_i_o__1__1.html#aedb8773ba67e4c2a1ed3f3a249bb5e30">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_i_o__1__1.html#a09429d1ccad3a300cdc459f2ae4816e7">IsFileIO</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_i_o__1__1.html#a860b24adbb67188de3fd66db44ff961e">Open</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_io, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref, int32_t open_flags, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_i_o__1__1.html#acf7c4d3f2712e5aa436b2ac1588ada02">Query</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_io, struct <a class="el" href="struct_p_p___file_info.html">PP_FileInfo</a> *info, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_i_o__1__1.html#a9f680131d9df0129d79492eb1b41edfc">Touch</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_io, <a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a> last_access_time, <a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a> last_modified_time, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_i_o__1__1.html#ad9295a1eb59a2b31df2e522ec7794f0d">Read</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_io, int64_t offset, char *buffer, int32_t bytes_to_read, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_i_o__1__1.html#a4cbaeff3318200d3913127553ad90aad">Write</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_io, int64_t offset, const char *buffer, int32_t bytes_to_write, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_i_o__1__1.html#aea6686b51ee5a9ef40c2442a7faa652f">SetLength</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_io, int64_t length, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_i_o__1__1.html#acf97d8e09d27253b6eb0b9ca9e7b20b1">Flush</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_io, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_i_o__1__1.html#af321f0590ecd269b728106235e260e26">Close</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_io)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_i_o__1__1.html#a85f0de223c9011c79df5b063ecd4a89f">ReadToArray</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_io, int64_t offset, int32_t max_read_length, struct <a class="el" href="struct_p_p___array_output.html">PP_ArrayOutput</a> *output, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_FileIO</code> struct is used to operate on a regular file (PP_FileType_Regular). </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="af321f0590ecd269b728106235e260e26"></a><!-- doxytag: member="PPB_FileIO::Close" ref="af321f0590ecd269b728106235e260e26" args=")(PP_Resource file_io)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___file_i_o__1__1.html#af321f0590ecd269b728106235e260e26">PPB_FileIO::Close</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_io)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_i_o__1__1.html#af321f0590ecd269b728106235e260e26" title="Close() cancels any IO that may be pending, and closes the FileIO object.">Close()</a> cancels any IO that may be pending, and closes the FileIO object. </p>
+<p>Any pending callbacks will still run, reporting <code>PP_ERROR_ABORTED</code> if pending IO was interrupted. It is not valid to call <a class="el" href="struct_p_p_b___file_i_o__1__1.html#a860b24adbb67188de3fd66db44ff961e" title="Open() opens the specified regular file for I/O according to the given open flags, which is a bit-mask of the PP_FileOpenFlags values.">Open()</a> again after a call to this method. <b>Note:</b> If the FileIO object is destroyed, and it is still open, then it will be implicitly closed, so you are not required to call <a class="el" href="struct_p_p_b___file_i_o__1__1.html#af321f0590ecd269b728106235e260e26" title="Close() cancels any IO that may be pending, and closes the FileIO object.">Close()</a>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_io</td><td>A <code>PP_Resource</code> corresponding to a file FileIO. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="aedb8773ba67e4c2a1ed3f3a249bb5e30"></a><!-- doxytag: member="PPB_FileIO::Create" ref="aedb8773ba67e4c2a1ed3f3a249bb5e30" args=")(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___file_i_o__1__1.html#aedb8773ba67e4c2a1ed3f3a249bb5e30">PPB_FileIO::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_i_o__1__1.html#aedb8773ba67e4c2a1ed3f3a249bb5e30" title="Create() creates a new FileIO object.">Create()</a> creates a new FileIO object. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying the instance with the file.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> corresponding to a FileIO if successful or 0 if the module is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="acf97d8e09d27253b6eb0b9ca9e7b20b1"></a><!-- doxytag: member="PPB_FileIO::Flush" ref="acf97d8e09d27253b6eb0b9ca9e7b20b1" args=")(PP_Resource file_io, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___file_i_o__1__1.html#acf97d8e09d27253b6eb0b9ca9e7b20b1">PPB_FileIO::Flush</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_io, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_i_o__1__1.html#acf97d8e09d27253b6eb0b9ca9e7b20b1" title="Flush() flushes changes to disk.">Flush()</a> flushes changes to disk. </p>
+<p>This call can be very expensive! The FileIO object must have been opened with write access and there must be no other operations pending.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_io</td><td>A <code>PP_Resource</code> corresponding to a file FileIO. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion of <a class="el" href="struct_p_p_b___file_i_o__1__1.html#acf97d8e09d27253b6eb0b9ca9e7b20b1" title="Flush() flushes changes to disk.">Flush()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. PP_ERROR_FAILED will be returned if the file isn't opened, and PP_ERROR_INPROGRESS will be returned if there is another operation pending. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a09429d1ccad3a300cdc459f2ae4816e7"></a><!-- doxytag: member="PPB_FileIO::IsFileIO" ref="a09429d1ccad3a300cdc459f2ae4816e7" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___file_i_o__1__1.html#a09429d1ccad3a300cdc459f2ae4816e7">PPB_FileIO::IsFileIO</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_i_o__1__1.html#a09429d1ccad3a300cdc459f2ae4816e7" title="IsFileIO() determines if the provided resource is a FileIO.">IsFileIO()</a> determines if the provided resource is a FileIO. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a FileIO.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the resource is a <code>PPB_FileIO</code>, <code>PP_FALSE</code> if the resource is invalid or some type other than <code>PPB_FileIO</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a860b24adbb67188de3fd66db44ff961e"></a><!-- doxytag: member="PPB_FileIO::Open" ref="a860b24adbb67188de3fd66db44ff961e" args=")(PP_Resource file_io, PP_Resource file_ref, int32_t open_flags, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___file_i_o__1__1.html#a860b24adbb67188de3fd66db44ff961e">PPB_FileIO::Open</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_io, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref, int32_t open_flags, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_i_o__1__1.html#a860b24adbb67188de3fd66db44ff961e" title="Open() opens the specified regular file for I/O according to the given open flags, which is a bit-mask of the PP_FileOpenFlags values.">Open()</a> opens the specified regular file for I/O according to the given open flags, which is a bit-mask of the <code>PP_FileOpenFlags</code> values. </p>
+<p>Upon success, the corresponding file is classified as "in use" by this FileIO object until such time as the FileIO object is closed or destroyed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_io</td><td>A <code>PP_Resource</code> corresponding to a FileIO. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">file_ref</td><td>A <code>PP_Resource</code> corresponding to a file reference. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">open_flags</td><td>A bit-mask of the <code>PP_FileOpenFlags</code> values. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion of <a class="el" href="struct_p_p_b___file_i_o__1__1.html#a860b24adbb67188de3fd66db44ff961e" title="Open() opens the specified regular file for I/O according to the given open flags, which is a bit-mask of the PP_FileOpenFlags values.">Open()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="acf7c4d3f2712e5aa436b2ac1588ada02"></a><!-- doxytag: member="PPB_FileIO::Query" ref="acf7c4d3f2712e5aa436b2ac1588ada02" args=")(PP_Resource file_io, struct PP_FileInfo *info, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___file_i_o__1__1.html#acf7c4d3f2712e5aa436b2ac1588ada02">PPB_FileIO::Query</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_io, struct <a class="el" href="struct_p_p___file_info.html">PP_FileInfo</a> *info, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_i_o__1__1.html#acf7c4d3f2712e5aa436b2ac1588ada02" title="Query() queries info about the file opened by this FileIO object.">Query()</a> queries info about the file opened by this FileIO object. </p>
+<p>The FileIO object must be opened, and there must be no other operations pending.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_io</td><td>A <code>PP_Resource</code> corresponding to a FileIO. </td></tr>
+<tr><td class="paramdir">[out]</td><td class="paramname">info</td><td>The <code><a class="el" href="struct_p_p___file_info.html" title="The PP_FileInfo struct represents all information about a file, such as size, type, and creation time.">PP_FileInfo</a></code> structure representing all information about the file. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion of <a class="el" href="struct_p_p_b___file_i_o__1__1.html#acf7c4d3f2712e5aa436b2ac1588ada02" title="Query() queries info about the file opened by this FileIO object.">Query()</a>. <code>info</code> must remain valid until after the callback runs. If you pass a blocking callback, <code>info</code> must remain valid until after <a class="el" href="struct_p_p_b___file_i_o__1__1.html#acf7c4d3f2712e5aa436b2ac1588ada02" title="Query() queries info about the file opened by this FileIO object.">Query()</a> returns.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. PP_ERROR_FAILED will be returned if the file isn't opened, and PP_ERROR_INPROGRESS will be returned if there is another operation pending. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ad9295a1eb59a2b31df2e522ec7794f0d"></a><!-- doxytag: member="PPB_FileIO::Read" ref="ad9295a1eb59a2b31df2e522ec7794f0d" args=")(PP_Resource file_io, int64_t offset, char *buffer, int32_t bytes_to_read, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___file_i_o__1__1.html#ad9295a1eb59a2b31df2e522ec7794f0d">PPB_FileIO::Read</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_io, int64_t offset, char *buffer, int32_t bytes_to_read, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_i_o__1__1.html#ad9295a1eb59a2b31df2e522ec7794f0d" title="Read() reads from an offset in the file.">Read()</a> reads from an offset in the file. </p>
+<p>The size of the buffer must be large enough to hold the specified number of bytes to read. This function might perform a partial read, meaning all the requested bytes might not be returned, even if the end of the file has not been reached. The FileIO object must have been opened with read access.</p>
+<p><a class="el" href="struct_p_p_b___file_i_o__1__1.html#a85f0de223c9011c79df5b063ecd4a89f" title="ReadToArray() reads from an offset in the file.">ReadToArray()</a> is preferred to <a class="el" href="struct_p_p_b___file_i_o__1__1.html#ad9295a1eb59a2b31df2e522ec7794f0d" title="Read() reads from an offset in the file.">Read()</a> when doing asynchronous operations.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_io</td><td>A <code>PP_Resource</code> corresponding to a file FileIO. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">offset</td><td>The offset into the file. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">buffer</td><td>The buffer to hold the specified number of bytes read. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">bytes_to_read</td><td>The number of bytes to read from <code>offset</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion of <a class="el" href="struct_p_p_b___file_i_o__1__1.html#ad9295a1eb59a2b31df2e522ec7794f0d" title="Read() reads from an offset in the file.">Read()</a>. <code>buffer</code> must remain valid until after the callback runs. If you pass a blocking callback, <code>buffer</code> must remain valid until after <a class="el" href="struct_p_p_b___file_i_o__1__1.html#ad9295a1eb59a2b31df2e522ec7794f0d" title="Read() reads from an offset in the file.">Read()</a> returns.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The number of bytes read or an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. If the return value is 0, then end-of-file was reached. It is valid to call <a class="el" href="struct_p_p_b___file_i_o__1__1.html#ad9295a1eb59a2b31df2e522ec7794f0d" title="Read() reads from an offset in the file.">Read()</a> multiple times with a completion callback to queue up parallel reads from the file, but pending reads cannot be interleaved with other operations. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a85f0de223c9011c79df5b063ecd4a89f"></a><!-- doxytag: member="PPB_FileIO::ReadToArray" ref="a85f0de223c9011c79df5b063ecd4a89f" args=")(PP_Resource file_io, int64_t offset, int32_t max_read_length, struct PP_ArrayOutput *output, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___file_i_o__1__1.html#a85f0de223c9011c79df5b063ecd4a89f">PPB_FileIO::ReadToArray</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_io, int64_t offset, int32_t max_read_length, struct <a class="el" href="struct_p_p___array_output.html">PP_ArrayOutput</a> *output, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_i_o__1__1.html#a85f0de223c9011c79df5b063ecd4a89f" title="ReadToArray() reads from an offset in the file.">ReadToArray()</a> reads from an offset in the file. </p>
+<p>A <a class="el" href="struct_p_p___array_output.html" title="A structure that defines a way for the browser to return arrays of data to the plugin.">PP_ArrayOutput</a> must be provided so that output will be stored in its allocated buffer. This function might perform a partial read. The FileIO object must have been opened with read access.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_io</td><td>A <code>PP_Resource</code> corresponding to a file FileIO. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">offset</td><td>The offset into the file. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">max_read_length</td><td>The maximum number of bytes to read from <code>offset</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">output</td><td>A <code><a class="el" href="struct_p_p___array_output.html" title="A structure that defines a way for the browser to return arrays of data to the plugin.">PP_ArrayOutput</a></code> to hold the output data. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion of <a class="el" href="struct_p_p_b___file_i_o__1__1.html#a85f0de223c9011c79df5b063ecd4a89f" title="ReadToArray() reads from an offset in the file.">ReadToArray()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The number of bytes read or an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. If the return value is 0, then end-of-file was reached. It is valid to call <a class="el" href="struct_p_p_b___file_i_o__1__1.html#a85f0de223c9011c79df5b063ecd4a89f" title="ReadToArray() reads from an offset in the file.">ReadToArray()</a> multiple times with a completion callback to queue up parallel reads from the file, but pending reads cannot be interleaved with other operations. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aea6686b51ee5a9ef40c2442a7faa652f"></a><!-- doxytag: member="PPB_FileIO::SetLength" ref="aea6686b51ee5a9ef40c2442a7faa652f" args=")(PP_Resource file_io, int64_t length, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___file_i_o__1__1.html#aea6686b51ee5a9ef40c2442a7faa652f">PPB_FileIO::SetLength</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_io, int64_t length, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_i_o__1__1.html#aea6686b51ee5a9ef40c2442a7faa652f" title="SetLength() sets the length of the file.">SetLength()</a> sets the length of the file. </p>
+<p>If the file size is extended, then the extended area of the file is zero-filled. The FileIO object must have been opened with write access and there must be no other operations pending.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_io</td><td>A <code>PP_Resource</code> corresponding to a file FileIO. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>The length of the file to be set. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion of <a class="el" href="struct_p_p_b___file_i_o__1__1.html#aea6686b51ee5a9ef40c2442a7faa652f" title="SetLength() sets the length of the file.">SetLength()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. PP_ERROR_FAILED will be returned if the file isn't opened, and PP_ERROR_INPROGRESS will be returned if there is another operation pending. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a9f680131d9df0129d79492eb1b41edfc"></a><!-- doxytag: member="PPB_FileIO::Touch" ref="a9f680131d9df0129d79492eb1b41edfc" args=")(PP_Resource file_io, PP_Time last_access_time, PP_Time last_modified_time, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___file_i_o__1__1.html#a9f680131d9df0129d79492eb1b41edfc">PPB_FileIO::Touch</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_io, <a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a> last_access_time, <a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a> last_modified_time, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_i_o__1__1.html#a9f680131d9df0129d79492eb1b41edfc" title="Touch() Updates time stamps for the file opened by this FileIO object.">Touch()</a> Updates time stamps for the file opened by this FileIO object. </p>
+<p>This function will fail if the FileIO object has not been opened. The FileIO object must be opened, and there must be no other operations pending.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_io</td><td>A <code>PP_Resource</code> corresponding to a file FileIO. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">last_access_time</td><td>The last time the FileIO was accessed. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">last_modified_time</td><td>The last time the FileIO was modified. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion of <a class="el" href="struct_p_p_b___file_i_o__1__1.html#a9f680131d9df0129d79492eb1b41edfc" title="Touch() Updates time stamps for the file opened by this FileIO object.">Touch()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. PP_ERROR_FAILED will be returned if the file isn't opened, and PP_ERROR_INPROGRESS will be returned if there is another operation pending. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a4cbaeff3318200d3913127553ad90aad"></a><!-- doxytag: member="PPB_FileIO::Write" ref="a4cbaeff3318200d3913127553ad90aad" args=")(PP_Resource file_io, int64_t offset, const char *buffer, int32_t bytes_to_write, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___file_i_o__1__1.html#a4cbaeff3318200d3913127553ad90aad">PPB_FileIO::Write</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_io, int64_t offset, const char *buffer, int32_t bytes_to_write, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_i_o__1__1.html#a4cbaeff3318200d3913127553ad90aad" title="Write() writes to an offset in the file.">Write()</a> writes to an offset in the file. </p>
+<p>This function might perform a partial write. The FileIO object must have been opened with write access.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_io</td><td>A <code>PP_Resource</code> corresponding to a file FileIO. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">offset</td><td>The offset into the file. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">buffer</td><td>The buffer to hold the specified number of bytes read. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">bytes_to_write</td><td>The number of bytes to write to <code>offset</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion of <a class="el" href="struct_p_p_b___file_i_o__1__1.html#a4cbaeff3318200d3913127553ad90aad" title="Write() writes to an offset in the file.">Write()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The number of bytes written or an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. If the return value is 0, then end-of-file was reached. It is valid to call <a class="el" href="struct_p_p_b___file_i_o__1__1.html#a4cbaeff3318200d3913127553ad90aad" title="Write() writes to an offset in the file.">Write()</a> multiple times with a completion callback to queue up parallel writes to the file, but pending writes cannot be interleaved with other operations. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="ppb__file__io_8h.html">ppb_file_io.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___file_ref__1__1.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___file_ref__1__1.html
new file mode 100644
index 0000000..9f8f97e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___file_ref__1__1.html
@@ -0,0 +1,293 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_FileRef Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_FileRef" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_ref__1__1.html#a1a0c44abc2871da16a90981c43868779">Create</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_system, const char *path)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_ref__1__1.html#ae998d21192bd40cace066525b9c3e9c6">IsFileRef</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga87b353f2ec8935c9c3294daff612c145">PP_FileSystemType</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_ref__1__1.html#a128273a294c91f89c7fdf28fa1e5bfd4">GetFileSystemType</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_ref__1__1.html#a9e3287e2ff3c3bd0c98d862331208946">GetName</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_ref__1__1.html#acfdb265af3374482f5001bbcb5cdc72b">GetPath</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_ref__1__1.html#adf4183623ba385624897c5e00bbd566e">GetParent</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_ref__1__1.html#a394ba9ea353c5c3e8d67aa6b3c4cfffc">MakeDirectory</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> directory_ref, <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> make_ancestors, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_ref__1__1.html#aaf322e4e78cf8d831517e1d8cf103753">Touch</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref, <a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a> last_access_time, <a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a> last_modified_time, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_ref__1__1.html#ab4e0802884972c2703575256705e5d5c">Delete</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_ref__1__1.html#a0366164d2c3161ad9e6c307b054e6893">Rename</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> new_file_ref, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_ref__1__1.html#ab03ff579771224526c6ff10ae79cdd5a">Query</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref, struct <a class="el" href="struct_p_p___file_info.html">PP_FileInfo</a> *info, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_ref__1__1.html#a57ae7af1f217a56d9bae1a120de94ea7">ReadDirectoryEntries</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref, struct <a class="el" href="struct_p_p___array_output.html">PP_ArrayOutput</a> output, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_FileRef</code> struct represents a "weak pointer" to a file in a file system. </p>
+<p>This struct contains a <code>PP_FileSystemType</code> identifier and a file path string. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a1a0c44abc2871da16a90981c43868779"></a><!-- doxytag: member="PPB_FileRef::Create" ref="a1a0c44abc2871da16a90981c43868779" args=")(PP_Resource file_system, const char *path)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___file_ref__1__1.html#a1a0c44abc2871da16a90981c43868779">PPB_FileRef::Create</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_system, const char *path)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_ref__1__1.html#a1a0c44abc2871da16a90981c43868779" title="Create() creates a weak pointer to a file in the given file system.">Create()</a> creates a weak pointer to a file in the given file system. </p>
+<p>File paths are POSIX style.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a file system. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">path</td><td>A path to the file. Must begin with a '/' character.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> corresponding to a file reference if successful or 0 if the path is malformed. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab4e0802884972c2703575256705e5d5c"></a><!-- doxytag: member="PPB_FileRef::Delete" ref="ab4e0802884972c2703575256705e5d5c" args=")(PP_Resource file_ref, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___file_ref__1__1.html#ab4e0802884972c2703575256705e5d5c">PPB_FileRef::Delete</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_ref__1__1.html#ab4e0802884972c2703575256705e5d5c" title="Delete() deletes a file or directory.">Delete()</a> deletes a file or directory. </p>
+<p>If <code>file_ref</code> refers to a directory, then the directory must be empty. It is an error to delete a file or directory that is in use. It is not valid to delete a file in the external file system.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_ref</td><td>A <code>PP_Resource</code> corresponding to a file reference. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion of <a class="el" href="struct_p_p_b___file_ref__1__1.html#ab4e0802884972c2703575256705e5d5c" title="Delete() deletes a file or directory.">Delete()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a128273a294c91f89c7fdf28fa1e5bfd4"></a><!-- doxytag: member="PPB_FileRef::GetFileSystemType" ref="a128273a294c91f89c7fdf28fa1e5bfd4" args=")(PP_Resource file_ref)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga87b353f2ec8935c9c3294daff612c145">PP_FileSystemType</a>(* <a class="el" href="struct_p_p_b___file_ref__1__1.html#a128273a294c91f89c7fdf28fa1e5bfd4">PPB_FileRef::GetFileSystemType</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_ref__1__1.html#a128273a294c91f89c7fdf28fa1e5bfd4" title="GetFileSystemType() returns the type of the file system.">GetFileSystemType()</a> returns the type of the file system. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_ref</td><td>A <code>PP_Resource</code> corresponding to a file reference.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_FileSystemType</code> with the file system type if valid or <code>PP_FILESYSTEMTYPE_INVALID</code> if the provided resource is not a valid file reference. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a9e3287e2ff3c3bd0c98d862331208946"></a><!-- doxytag: member="PPB_FileRef::GetName" ref="a9e3287e2ff3c3bd0c98d862331208946" args=")(PP_Resource file_ref)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___file_ref__1__1.html#a9e3287e2ff3c3bd0c98d862331208946">PPB_FileRef::GetName</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_ref__1__1.html#a9e3287e2ff3c3bd0c98d862331208946" title="GetName() returns the name of the file.">GetName()</a> returns the name of the file. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_ref</td><td>A <code>PP_Resource</code> corresponding to a file reference.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> containing the name of the file. The value returned by this function does not include any path components (such as the name of the parent directory, for example). It is just the name of the file. Use <a class="el" href="struct_p_p_b___file_ref__1__1.html#acfdb265af3374482f5001bbcb5cdc72b" title="GetPath() returns the absolute path of the file.">GetPath()</a> to get the full file path. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="adf4183623ba385624897c5e00bbd566e"></a><!-- doxytag: member="PPB_FileRef::GetParent" ref="adf4183623ba385624897c5e00bbd566e" args=")(PP_Resource file_ref)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___file_ref__1__1.html#adf4183623ba385624897c5e00bbd566e">PPB_FileRef::GetParent</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_ref__1__1.html#adf4183623ba385624897c5e00bbd566e" title="GetParent() returns the parent directory of this file.">GetParent()</a> returns the parent directory of this file. </p>
+<p>If <code>file_ref</code> points to the root of the filesystem, then the root is returned.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_ref</td><td>A <code>PP_Resource</code> corresponding to a file reference.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> containing the parent directory of the file. This function fails if the file system type is <code>PP_FileSystemType_External</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="acfdb265af3374482f5001bbcb5cdc72b"></a><!-- doxytag: member="PPB_FileRef::GetPath" ref="acfdb265af3374482f5001bbcb5cdc72b" args=")(PP_Resource file_ref)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___file_ref__1__1.html#acfdb265af3374482f5001bbcb5cdc72b">PPB_FileRef::GetPath</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_ref__1__1.html#acfdb265af3374482f5001bbcb5cdc72b" title="GetPath() returns the absolute path of the file.">GetPath()</a> returns the absolute path of the file. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_ref</td><td>A <code>PP_Resource</code> corresponding to a file reference.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> containing the absolute path of the file. This function fails if the file system type is <code>PP_FileSystemType_External</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ae998d21192bd40cace066525b9c3e9c6"></a><!-- doxytag: member="PPB_FileRef::IsFileRef" ref="ae998d21192bd40cace066525b9c3e9c6" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___file_ref__1__1.html#ae998d21192bd40cace066525b9c3e9c6">PPB_FileRef::IsFileRef</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_ref__1__1.html#ae998d21192bd40cace066525b9c3e9c6" title="IsFileRef() determines if the provided resource is a file reference.">IsFileRef()</a> determines if the provided resource is a file reference. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a file reference.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the resource is a <code>PPB_FileRef</code>, <code>PP_FALSE</code> if the resource is invalid or some type other than <code>PPB_FileRef</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a394ba9ea353c5c3e8d67aa6b3c4cfffc"></a><!-- doxytag: member="PPB_FileRef::MakeDirectory" ref="a394ba9ea353c5c3e8d67aa6b3c4cfffc" args=")(PP_Resource directory_ref, PP_Bool make_ancestors, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___file_ref__1__1.html#a394ba9ea353c5c3e8d67aa6b3c4cfffc">PPB_FileRef::MakeDirectory</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> directory_ref, <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> make_ancestors, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_ref__1__1.html#a394ba9ea353c5c3e8d67aa6b3c4cfffc" title="MakeDirectory() makes a new directory in the file system as well as any parent directories if the mak...">MakeDirectory()</a> makes a new directory in the file system as well as any parent directories if the <code>make_ancestors</code> argument is <code>PP_TRUE</code>. </p>
+<p>It is not valid to make a directory in the external file system.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_ref</td><td>A <code>PP_Resource</code> corresponding to a file reference. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">make_ancestors</td><td>A <code>PP_Bool</code> set to <code>PP_TRUE</code> to make ancestor directories or <code>PP_FALSE</code> if ancestor directories are not needed.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. Succeeds if the directory already exists. Fails if ancestor directories do not exist and <code>make_ancestors</code> was passed as <code>PP_FALSE</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab03ff579771224526c6ff10ae79cdd5a"></a><!-- doxytag: member="PPB_FileRef::Query" ref="ab03ff579771224526c6ff10ae79cdd5a" args=")(PP_Resource file_ref, struct PP_FileInfo *info, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___file_ref__1__1.html#ab03ff579771224526c6ff10ae79cdd5a">PPB_FileRef::Query</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref, struct <a class="el" href="struct_p_p___file_info.html">PP_FileInfo</a> *info, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_ref__1__1.html#ab03ff579771224526c6ff10ae79cdd5a" title="Query() queries info about a file or directory.">Query()</a> queries info about a file or directory. </p>
+<p>You must have access to read this file or directory if it exists in the external filesystem.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_ref</td><td>A <code>PP_Resource</code> corresponding to a file reference. </td></tr>
+<tr><td class="paramdir">[out]</td><td class="paramname">info</td><td>A pointer to a <code><a class="el" href="struct_p_p___file_info.html" title="The PP_FileInfo struct represents all information about a file, such as size, type, and creation time.">PP_FileInfo</a></code> which will be populated with information about the file or directory. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion of <a class="el" href="struct_p_p_b___file_ref__1__1.html#ab03ff579771224526c6ff10ae79cdd5a" title="Query() queries info about a file or directory.">Query()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a57ae7af1f217a56d9bae1a120de94ea7"></a><!-- doxytag: member="PPB_FileRef::ReadDirectoryEntries" ref="a57ae7af1f217a56d9bae1a120de94ea7" args=")(PP_Resource file_ref, struct PP_ArrayOutput output, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___file_ref__1__1.html#a57ae7af1f217a56d9bae1a120de94ea7">PPB_FileRef::ReadDirectoryEntries</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref, struct <a class="el" href="struct_p_p___array_output.html">PP_ArrayOutput</a> output, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_ref__1__1.html#a57ae7af1f217a56d9bae1a120de94ea7" title="ReadDirectoryEntries() reads all entries in a directory.">ReadDirectoryEntries()</a> reads all entries in a directory. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_ref</td><td>A <code>PP_Resource</code> corresponding to a directory reference. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">output</td><td>An output array which will receive <code><a class="el" href="struct_p_p___directory_entry.html">PP_DirectoryEntry</a></code> objects on success. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to run on completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a0366164d2c3161ad9e6c307b054e6893"></a><!-- doxytag: member="PPB_FileRef::Rename" ref="a0366164d2c3161ad9e6c307b054e6893" args=")(PP_Resource file_ref, PP_Resource new_file_ref, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___file_ref__1__1.html#a0366164d2c3161ad9e6c307b054e6893">PPB_FileRef::Rename</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> new_file_ref, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_ref__1__1.html#a0366164d2c3161ad9e6c307b054e6893" title="Rename() renames a file or directory.">Rename()</a> renames a file or directory. </p>
+<p>Arguments <code>file_ref</code> and <code>new_file_ref</code> must both refer to files in the same file system. It is an error to rename a file or directory that is in use. It is not valid to rename a file in the external file system.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_ref</td><td>A <code>PP_Resource</code> corresponding to a file reference. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">new_file_ref</td><td>A <code>PP_Resource</code> corresponding to a new file reference. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion of <a class="el" href="struct_p_p_b___file_ref__1__1.html#a0366164d2c3161ad9e6c307b054e6893" title="Rename() renames a file or directory.">Rename()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aaf322e4e78cf8d831517e1d8cf103753"></a><!-- doxytag: member="PPB_FileRef::Touch" ref="aaf322e4e78cf8d831517e1d8cf103753" args=")(PP_Resource file_ref, PP_Time last_access_time, PP_Time last_modified_time, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___file_ref__1__1.html#aaf322e4e78cf8d831517e1d8cf103753">PPB_FileRef::Touch</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref, <a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a> last_access_time, <a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a> last_modified_time, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_ref__1__1.html#aaf322e4e78cf8d831517e1d8cf103753" title="Touch() Updates time stamps for a file.">Touch()</a> Updates time stamps for a file. </p>
+<p>You must have write access to the file if it exists in the external filesystem.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_ref</td><td>A <code>PP_Resource</code> corresponding to a file reference. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">last_access_time</td><td>The last time the file was accessed. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">last_modified_time</td><td>The last time the file was modified. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion of <a class="el" href="struct_p_p_b___file_ref__1__1.html#aaf322e4e78cf8d831517e1d8cf103753" title="Touch() Updates time stamps for a file.">Touch()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="ppb__file__ref_8h.html">ppb_file_ref.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___file_system__1__0.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___file_system__1__0.html
new file mode 100644
index 0000000..0b3db81
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___file_system__1__0.html
@@ -0,0 +1,109 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_FileSystem Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_FileSystem" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_system__1__0.html#a14946dd216cfe9cf786b2c1442588083">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#ga87b353f2ec8935c9c3294daff612c145">PP_FileSystemType</a> type)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_system__1__0.html#a4d65860ba1d916f2488bab25e89d2dba">IsFileSystem</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_system__1__0.html#a9add9cdffaa742c8d19c33a73bca9e3a">Open</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_system, int64_t expected_size, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga87b353f2ec8935c9c3294daff612c145">PP_FileSystemType</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_system__1__0.html#a59a9fed00deae5bfbc9480184232ab68">GetType</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_system)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_FileSystem</code> struct identifies the file system type associated with a file. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a14946dd216cfe9cf786b2c1442588083"></a><!-- doxytag: member="PPB_FileSystem::Create" ref="a14946dd216cfe9cf786b2c1442588083" args=")(PP_Instance instance, PP_FileSystemType type)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___file_system__1__0.html#a14946dd216cfe9cf786b2c1442588083">PPB_FileSystem::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#ga87b353f2ec8935c9c3294daff612c145">PP_FileSystemType</a> type)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_system__1__0.html#a14946dd216cfe9cf786b2c1442588083" title="Create() creates a file system object of the given type.">Create()</a> creates a file system object of the given type. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying the instance with the file. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>A file system type as defined by <code>PP_FileSystemType</code> enum (except PP_FILESYSTEMTYPE_ISOLATED, which is currently not supported). </td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> corresponding to a file system if successful. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a59a9fed00deae5bfbc9480184232ab68"></a><!-- doxytag: member="PPB_FileSystem::GetType" ref="a59a9fed00deae5bfbc9480184232ab68" args=")(PP_Resource file_system)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga87b353f2ec8935c9c3294daff612c145">PP_FileSystemType</a>(* <a class="el" href="struct_p_p_b___file_system__1__0.html#a59a9fed00deae5bfbc9480184232ab68">PPB_FileSystem::GetType</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_system)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_system__1__0.html#a59a9fed00deae5bfbc9480184232ab68" title="GetType() returns the type of the provided file system.">GetType()</a> returns the type of the provided file system. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_system</td><td>A <code>PP_Resource</code> corresponding to a file system.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_FileSystemType</code> with the file system type if valid or <code>PP_FILESYSTEMTYPE_INVALID</code> if the provided resource is not a valid file system. It is valid to call this function even before <a class="el" href="struct_p_p_b___file_system__1__0.html#a9add9cdffaa742c8d19c33a73bca9e3a" title="Open() opens the file system.">Open()</a> completes. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a4d65860ba1d916f2488bab25e89d2dba"></a><!-- doxytag: member="PPB_FileSystem::IsFileSystem" ref="a4d65860ba1d916f2488bab25e89d2dba" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___file_system__1__0.html#a4d65860ba1d916f2488bab25e89d2dba">PPB_FileSystem::IsFileSystem</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_system__1__0.html#a4d65860ba1d916f2488bab25e89d2dba" title="IsFileSystem() determines if the provided resource is a file system.">IsFileSystem()</a> determines if the provided resource is a file system. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a file system.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the resource is a <code>PPB_FileSystem</code>, <code>PP_FALSE</code> if the resource is invalid or some type other than <code>PPB_FileSystem</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a9add9cdffaa742c8d19c33a73bca9e3a"></a><!-- doxytag: member="PPB_FileSystem::Open" ref="a9add9cdffaa742c8d19c33a73bca9e3a" args=")(PP_Resource file_system, int64_t expected_size, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___file_system__1__0.html#a9add9cdffaa742c8d19c33a73bca9e3a">PPB_FileSystem::Open</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_system, int64_t expected_size, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_system__1__0.html#a9add9cdffaa742c8d19c33a73bca9e3a" title="Open() opens the file system.">Open()</a> opens the file system. </p>
+<p>A file system must be opened before running any other operation on it.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_system</td><td>A <code>PP_Resource</code> corresponding to a file system.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">expected_size</td><td>The expected size of the file system. Note that this does not request quota; to do that, you must either invoke requestQuota from JavaScript: <a href="http://www.html5rocks.com/en/tutorials/file/filesystem/#toc-requesting-quota">http://www.html5rocks.com/en/tutorials/file/filesystem/#toc-requesting-quota</a> or set the unlimitedStorage permission for Chrome Web Store apps: <a href="http://code.google.com/chrome/extensions/manifest.html#permissions">http://code.google.com/chrome/extensions/manifest.html#permissions</a></td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion of <a class="el" href="struct_p_p_b___file_system__1__0.html#a9add9cdffaa742c8d19c33a73bca9e3a" title="Open() opens the file system.">Open()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="ppb__file__system_8h.html">ppb_file_system.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___fullscreen__1__0.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___fullscreen__1__0.html
new file mode 100644
index 0000000..45b8de724
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___fullscreen__1__0.html
@@ -0,0 +1,90 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_Fullscreen Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_Fullscreen" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___fullscreen__1__0.html#a8b6a560d3a57b6df9395b5dcf138cd1d">IsFullscreen</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___fullscreen__1__0.html#a1074f98a5800667313de626b0ed8ad27">SetFullscreen</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> fullscreen)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___fullscreen__1__0.html#afc4e416a40c4bf0ed1dd0cae74547c86">GetScreenSize</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, struct <a class="el" href="struct_p_p___size.html">PP_Size</a> *size)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_Fullscreen</code> interface is implemented by the browser. </p>
+<p>This interface provides a way of checking the current screen mode and toggling fullscreen mode. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="afc4e416a40c4bf0ed1dd0cae74547c86"></a><!-- doxytag: member="PPB_Fullscreen::GetScreenSize" ref="afc4e416a40c4bf0ed1dd0cae74547c86" args=")(PP_Instance instance, struct PP_Size *size)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___fullscreen__1__0.html#afc4e416a40c4bf0ed1dd0cae74547c86">PPB_Fullscreen::GetScreenSize</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, struct <a class="el" href="struct_p_p___size.html">PP_Size</a> *size)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___fullscreen__1__0.html#afc4e416a40c4bf0ed1dd0cae74547c86" title="GetScreenSize() gets the size of the screen in pixels.">GetScreenSize()</a> gets the size of the screen in pixels. </p>
+<p>The module instance will be resized to this size when <a class="el" href="struct_p_p_b___fullscreen__1__0.html#a1074f98a5800667313de626b0ed8ad27" title="SetFullscreen() switches the module instance to and from fullscreen mode.">SetFullscreen()</a> is called to enter fullscreen mode.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module. </td></tr>
+<tr><td class="paramdir">[out]</td><td class="paramname">size</td><td>The size of the entire screen in pixels.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> on success or <code>PP_FALSE</code> on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a8b6a560d3a57b6df9395b5dcf138cd1d"></a><!-- doxytag: member="PPB_Fullscreen::IsFullscreen" ref="a8b6a560d3a57b6df9395b5dcf138cd1d" args=")(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___fullscreen__1__0.html#a8b6a560d3a57b6df9395b5dcf138cd1d">PPB_Fullscreen::IsFullscreen</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___fullscreen__1__0.html#a8b6a560d3a57b6df9395b5dcf138cd1d" title="IsFullscreen() checks whether the module instance is currently in fullscreen mode.">IsFullscreen()</a> checks whether the module instance is currently in fullscreen mode. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the module instance is in fullscreen mode, <code>PP_FALSE</code> if the module instance is not in fullscreen mode. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a1074f98a5800667313de626b0ed8ad27"></a><!-- doxytag: member="PPB_Fullscreen::SetFullscreen" ref="a1074f98a5800667313de626b0ed8ad27" args=")(PP_Instance instance, PP_Bool fullscreen)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___fullscreen__1__0.html#a1074f98a5800667313de626b0ed8ad27">PPB_Fullscreen::SetFullscreen</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> fullscreen)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___fullscreen__1__0.html#a1074f98a5800667313de626b0ed8ad27" title="SetFullscreen() switches the module instance to and from fullscreen mode.">SetFullscreen()</a> switches the module instance to and from fullscreen mode. </p>
+<p>The transition to and from fullscreen mode is asynchronous. During the transition, <a class="el" href="struct_p_p_b___fullscreen__1__0.html#a8b6a560d3a57b6df9395b5dcf138cd1d" title="IsFullscreen() checks whether the module instance is currently in fullscreen mode.">IsFullscreen()</a> will return the previous value and no 2D or 3D device can be bound. The transition ends at DidChangeView() when <a class="el" href="struct_p_p_b___fullscreen__1__0.html#a8b6a560d3a57b6df9395b5dcf138cd1d" title="IsFullscreen() checks whether the module instance is currently in fullscreen mode.">IsFullscreen()</a> returns the new value. You might receive other DidChangeView() calls while in transition.</p>
+<p>The transition to fullscreen mode can only occur while the browser is processing a user gesture, even if <code>PP_TRUE</code> is returned.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">fullscreen</td><td><code>PP_TRUE</code> to enter fullscreen mode, or <code>PP_FALSE</code> to exit fullscreen mode.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> on success or <code>PP_FALSE</code> on failure. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="ppb__fullscreen_8h.html">ppb_fullscreen.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___gamepad__1__0.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___gamepad__1__0.html
new file mode 100644
index 0000000..0406410
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___gamepad__1__0.html
@@ -0,0 +1,35 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_Gamepad Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_Gamepad" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___gamepad__1__0.html#a0245687e881a8bc182f9c0641046277a">Sample</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, struct <a class="el" href="struct_p_p___gamepads_sample_data.html">PP_GamepadsSampleData</a> *data)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_Gamepad</code> interface allows retrieving data from gamepad/joystick devices that are connected to the system. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a0245687e881a8bc182f9c0641046277a"></a><!-- doxytag: member="PPB_Gamepad::Sample" ref="a0245687e881a8bc182f9c0641046277a" args=")(PP_Instance instance, struct PP_GamepadsSampleData *data)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___gamepad__1__0.html#a0245687e881a8bc182f9c0641046277a">PPB_Gamepad::Sample</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, struct <a class="el" href="struct_p_p___gamepads_sample_data.html">PP_GamepadsSampleData</a> *data)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Samples the current state of the available gamepads. </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="ppb__gamepad_8h.html">ppb_gamepad.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___graphics2_d__1__1.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___graphics2_d__1__1.html
new file mode 100644
index 0000000..f475398
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___graphics2_d__1__1.html
@@ -0,0 +1,235 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_Graphics2D Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_Graphics2D" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a034e6a3df2bccb119a087874e7cf18ed">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, const struct <a class="el" href="struct_p_p___size.html">PP_Size</a> *size, <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> is_always_opaque)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a8d634407f71b52367901e8c807f3bb15">IsGraphics2D</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics2_d__1__1.html#ae9aae546a51e35ee85688e0f80907fc3">Describe</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> graphics_2d, struct <a class="el" href="struct_p_p___size.html">PP_Size</a> *size, <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> *is_always_opaque)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a912e5704c150c4228ee4ec326e7cb1bb">PaintImageData</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> graphics_2d, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> image_data, const struct <a class="el" href="struct_p_p___point.html">PP_Point</a> *top_left, const struct <a class="el" href="struct_p_p___rect.html">PP_Rect</a> *src_rect)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a2242719819a82b11b0e3f71c4a19f461">Scroll</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> graphics_2d, const struct <a class="el" href="struct_p_p___rect.html">PP_Rect</a> *clip_rect, const struct <a class="el" href="struct_p_p___point.html">PP_Point</a> *amount)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics2_d__1__1.html#ae5cfb7616fe383d9fedee88131f4b9ff">ReplaceContents</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> graphics_2d, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> image_data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a46607be26d07e4af31b56ef0791022fa">Flush</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> graphics_2d, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics2_d__1__1.html#ad809f5d73448def11577d54147fa268e">SetScale</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, float scale)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a9e284dc50e55e87c5367e9f081f44045">GetScale</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p><code>PPB_Graphics2D</code> defines the interface for a 2D graphics context. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a034e6a3df2bccb119a087874e7cf18ed"></a><!-- doxytag: member="PPB_Graphics2D::Create" ref="a034e6a3df2bccb119a087874e7cf18ed" args=")(PP_Instance instance, const struct PP_Size *size, PP_Bool is_always_opaque)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a034e6a3df2bccb119a087874e7cf18ed">PPB_Graphics2D::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, const struct <a class="el" href="struct_p_p___size.html">PP_Size</a> *size, <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> is_always_opaque)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a034e6a3df2bccb119a087874e7cf18ed" title="Create() creates a 2D graphics context.">Create()</a> creates a 2D graphics context. </p>
+<p>The returned graphics context will not be bound to the module instance on creation (call BindGraphics() on the module instance to bind the returned graphics context to the module instance).</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The module instance. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>The size of the graphic context. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">is_always_opaque</td><td>Set the <code>is_always_opaque</code> flag to <code>PP_TRUE</code> if you know that you will be painting only opaque data to this context. This option will disable blending when compositing the module with the web page, which might give higher performance on some computers.</td></tr>
+</table>
+</dd>
+</dl>
+<p>If you set <code>is_always_opaque</code>, your alpha channel should always be set to 0xFF or there may be painting artifacts. The alpha values overwrite the destination alpha values without blending when <code>is_always_opaque</code> is true.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> containing the 2D graphics context if successful or 0 if unsuccessful. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ae9aae546a51e35ee85688e0f80907fc3"></a><!-- doxytag: member="PPB_Graphics2D::Describe" ref="ae9aae546a51e35ee85688e0f80907fc3" args=")(PP_Resource graphics_2d, struct PP_Size *size, PP_Bool *is_always_opaque)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___graphics2_d__1__1.html#ae9aae546a51e35ee85688e0f80907fc3">PPB_Graphics2D::Describe</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> graphics_2d, struct <a class="el" href="struct_p_p___size.html">PP_Size</a> *size, <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> *is_always_opaque)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___graphics2_d__1__1.html#ae9aae546a51e35ee85688e0f80907fc3" title="Describe() retrieves the configuration for the given graphics context, filling the given values (whic...">Describe()</a> retrieves the configuration for the given graphics context, filling the given values (which must not be <code>NULL</code>). </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>The 2D Graphics resource. </td></tr>
+<tr><td class="paramdir">[in,out]</td><td class="paramname">size</td><td>The size of the 2D graphics context in the browser. </td></tr>
+<tr><td class="paramdir">[in,out]</td><td class="paramname">is_always_opaque</td><td>Identifies whether only opaque data will be painted.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>PP_TRUE</code> on success or <code>PP_FALSE</code> if the resource is invalid. The output parameters will be set to 0 on a <code>PP_FALSE</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a46607be26d07e4af31b56ef0791022fa"></a><!-- doxytag: member="PPB_Graphics2D::Flush" ref="a46607be26d07e4af31b56ef0791022fa" args=")(PP_Resource graphics_2d, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a46607be26d07e4af31b56ef0791022fa">PPB_Graphics2D::Flush</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> graphics_2d, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a46607be26d07e4af31b56ef0791022fa" title="Flush() flushes any enqueued paint, scroll, and replace commands to the backing store.">Flush()</a> flushes any enqueued paint, scroll, and replace commands to the backing store. </p>
+<p>This function actually executes the updates, and causes a repaint of the webpage, assuming this graphics context is bound to a module instance.</p>
+<p><a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a46607be26d07e4af31b56ef0791022fa" title="Flush() flushes any enqueued paint, scroll, and replace commands to the backing store.">Flush()</a> runs in asynchronous mode. Specify a callback function and the argument for that callback function. The callback function will be executed on the calling thread when the image has been painted to the screen. While you are waiting for a flush callback, additional calls to <a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a46607be26d07e4af31b56ef0791022fa" title="Flush() flushes any enqueued paint, scroll, and replace commands to the backing store.">Flush()</a> will fail.</p>
+<p>Because the callback is executed (or thread unblocked) only when the instance's image is actually on the screen, this function provides a way to rate limit animations. By waiting until the image is on the screen before painting the next frame, you can ensure you're not flushing 2D graphics faster than the screen can be updated.</p>
+<p><b>Unbound contexts</b> If the context is not bound to a module instance, you will still get a callback. The callback will execute after <a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a46607be26d07e4af31b56ef0791022fa" title="Flush() flushes any enqueued paint, scroll, and replace commands to the backing store.">Flush()</a> returns to avoid reentrancy. The callback will not wait until anything is painted to the screen because there will be nothing on the screen. The timing of this callback is not guaranteed and may be deprioritized by the browser because it is not affecting the user experience.</p>
+<p><b>Off-screen instances</b> If the context is bound to an instance that is currently not visible (for example, scrolled out of view) it will behave like the "unbound context" case.</p>
+<p><b>Detaching a context</b> If you detach a context from a module instance, any pending flush callbacks will be converted into the "unbound context" case.</p>
+<p><b>Released contexts</b> A callback may or may not get called even if you have released all of your references to the context. This scenario can occur if there are internal references to the context suggesting it has not been internally destroyed (for example, if it is still bound to an instance) or due to other implementation details. As a result, you should be careful to check that flush callbacks are for the context you expect and that you're capable of handling callbacks for unreferenced contexts.</p>
+<p><b>Shutdown</b> If a module instance is removed when a flush is pending, the callback will not be executed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">graphics_2d</td><td>The 2D Graphics resource. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code>CompletionCallback</code> to be called when the image has been painted on the screen.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>PP_OK</code> on success or <code>PP_ERROR_BADRESOURCE</code> if the graphics context is invalid, <code>PP_ERROR_BADARGUMENT</code> if the callback is null and flush is being called from the main thread of the module, or <code>PP_ERROR_INPROGRESS</code> if a flush is already pending that has not issued its callback yet. In the failure case, nothing will be updated and no callback will be scheduled. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a9e284dc50e55e87c5367e9f081f44045"></a><!-- doxytag: member="PPB_Graphics2D::GetScale" ref="a9e284dc50e55e87c5367e9f081f44045" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float(* <a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a9e284dc50e55e87c5367e9f081f44045">PPB_Graphics2D::GetScale</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a8d634407f71b52367901e8c807f3bb15"></a><!-- doxytag: member="PPB_Graphics2D::IsGraphics2D" ref="a8d634407f71b52367901e8c807f3bb15" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a8d634407f71b52367901e8c807f3bb15">PPB_Graphics2D::IsGraphics2D</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a8d634407f71b52367901e8c807f3bb15" title="IsGraphics2D() determines if the given resource is a valid Graphics2D.">IsGraphics2D()</a> determines if the given resource is a valid <code>Graphics2D</code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>Graphics2D</code> context resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>PP_TRUE if the given resource is a valid <code>Graphics2D</code>, <code>PP_FALSE</code> if it is an invalid resource or is a resource of another type. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a912e5704c150c4228ee4ec326e7cb1bb"></a><!-- doxytag: member="PPB_Graphics2D::PaintImageData" ref="a912e5704c150c4228ee4ec326e7cb1bb" args=")(PP_Resource graphics_2d, PP_Resource image_data, const struct PP_Point *top_left, const struct PP_Rect *src_rect)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a912e5704c150c4228ee4ec326e7cb1bb">PPB_Graphics2D::PaintImageData</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> graphics_2d, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> image_data, const struct <a class="el" href="struct_p_p___point.html">PP_Point</a> *top_left, const struct <a class="el" href="struct_p_p___rect.html">PP_Rect</a> *src_rect)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a912e5704c150c4228ee4ec326e7cb1bb" title="PaintImageData() enqueues a paint of the given image into the context.">PaintImageData()</a> enqueues a paint of the given image into the context. </p>
+<p>This function has no effect until you call <a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a46607be26d07e4af31b56ef0791022fa" title="Flush() flushes any enqueued paint, scroll, and replace commands to the backing store.">Flush()</a> As a result, what counts is the contents of the bitmap when you call <a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a46607be26d07e4af31b56ef0791022fa" title="Flush() flushes any enqueued paint, scroll, and replace commands to the backing store.">Flush()</a>, not when you call this function.</p>
+<p>The provided image will be placed at <code>top_left</code> from the top left of the context's internal backing store. Then the pixels contained in <code>src_rect</code> will be copied into the backing store. This means that the rectangle being painted will be at <code>src_rect</code> offset by <code>top_left</code>.</p>
+<p>The <code>src_rect</code> is specified in the coordinate system of the image being painted, not the context. For the common case of copying the entire image, you may specify an empty <code>src_rect</code>.</p>
+<p>The painted area of the source bitmap must fall entirely within the context. Attempting to paint outside of the context will result in an error. However, the source bitmap may fall outside the context, as long as the <code>src_rect</code> subset of it falls entirely within the context.</p>
+<p>There are two methods most modules will use for painting. The first method is to generate a new <code>ImageData</code> and then paint it. In this case, you'll set the location of your painting to <code>top_left</code> and set <code>src_rect</code> to <code>NULL</code>. The second is that you're generating small invalid regions out of a larger bitmap representing your entire instance. In this case, you would set the location of your image to (0,0) and then set <code>src_rect</code> to the pixels you changed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>The 2D Graphics resource. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">image</td><td>The <code>ImageData</code> to be painted. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">top_left</td><td>A <code>Point</code> representing the <code>top_left</code> location where the <code>ImageData</code> will be painted. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">src_rect</td><td>The rectangular area where the <code>ImageData</code> will be painted. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ae5cfb7616fe383d9fedee88131f4b9ff"></a><!-- doxytag: member="PPB_Graphics2D::ReplaceContents" ref="ae5cfb7616fe383d9fedee88131f4b9ff" args=")(PP_Resource graphics_2d, PP_Resource image_data)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___graphics2_d__1__1.html#ae5cfb7616fe383d9fedee88131f4b9ff">PPB_Graphics2D::ReplaceContents</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> graphics_2d, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> image_data)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___graphics2_d__1__1.html#ae5cfb7616fe383d9fedee88131f4b9ff" title="ReplaceContents() provides a slightly more efficient way to paint the entire module's image...">ReplaceContents()</a> provides a slightly more efficient way to paint the entire module's image. </p>
+<p>Normally, calling <a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a912e5704c150c4228ee4ec326e7cb1bb" title="PaintImageData() enqueues a paint of the given image into the context.">PaintImageData()</a> requires that the browser copy the pixels out of the image and into the graphics context's backing store. This function replaces the graphics context's backing store with the given image, avoiding the copy.</p>
+<p>The new image must be the exact same size as this graphics context. If the new image uses a different image format than the browser's native bitmap format (use <code><a class="el" href="struct_p_p_b___image_data__1__0.html#adba78e8f9e623809b6b23419dbce4d65" title="GetNativeImageDataFormat() returns the browser's preferred format for image data.">PPB_ImageData.GetNativeImageDataFormat()</a></code> to retrieve the format), then a conversion will be done inside the browser which may slow the performance a little bit.</p>
+<p><b>Note:</b> The new image will not be painted until you call <a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a46607be26d07e4af31b56ef0791022fa" title="Flush() flushes any enqueued paint, scroll, and replace commands to the backing store.">Flush()</a>.</p>
+<p>After this call, you should take care to release your references to the image. If you paint to the image after <a class="el" href="struct_p_p_b___graphics2_d__1__1.html#ae5cfb7616fe383d9fedee88131f4b9ff" title="ReplaceContents() provides a slightly more efficient way to paint the entire module's image...">ReplaceContents()</a>, there is the possibility of significant painting artifacts because the page might use partially-rendered data when copying out of the backing store.</p>
+<p>In the case of an animation, you will want to allocate a new image for the next frame. It is best if you wait until the flush callback has executed before allocating this bitmap. This gives the browser the option of caching the previous backing store and handing it back to you (assuming the sizes match). In the optimal case, this means no bitmaps are allocated during the animation, and the backing store and "front buffer" (which the plugin is painting into) are just being swapped back and forth.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">graphics_2d</td><td>The 2D Graphics resource. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">image</td><td>The <code>ImageData</code> to be painted. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a2242719819a82b11b0e3f71c4a19f461"></a><!-- doxytag: member="PPB_Graphics2D::Scroll" ref="a2242719819a82b11b0e3f71c4a19f461" args=")(PP_Resource graphics_2d, const struct PP_Rect *clip_rect, const struct PP_Point *amount)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a2242719819a82b11b0e3f71c4a19f461">PPB_Graphics2D::Scroll</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> graphics_2d, const struct <a class="el" href="struct_p_p___rect.html">PP_Rect</a> *clip_rect, const struct <a class="el" href="struct_p_p___point.html">PP_Point</a> *amount)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a2242719819a82b11b0e3f71c4a19f461" title="Scroll() enqueues a scroll of the context's backing store.">Scroll()</a> enqueues a scroll of the context's backing store. </p>
+<p>This function has no effect until you call <a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a46607be26d07e4af31b56ef0791022fa" title="Flush() flushes any enqueued paint, scroll, and replace commands to the backing store.">Flush()</a>. The data within the provided clipping rectangle will be shifted by (dx, dy) pixels.</p>
+<p>This function will result in some exposed region which will have undefined contents. The module should call <a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a912e5704c150c4228ee4ec326e7cb1bb" title="PaintImageData() enqueues a paint of the given image into the context.">PaintImageData()</a> on these exposed regions to give the correct contents.</p>
+<p>The scroll can be larger than the area of the clipping rectangle, which means the current image will be scrolled out of the rectangle. This scenario is not an error but will result in a no-op.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">graphics_2d</td><td>The 2D Graphics resource. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">clip</td><td>The clipping rectangle. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">amount</td><td>The amount the area in the clipping rectangle will shifted. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ad809f5d73448def11577d54147fa268e"></a><!-- doxytag: member="PPB_Graphics2D::SetScale" ref="ad809f5d73448def11577d54147fa268e" args=")(PP_Resource resource, float scale)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___graphics2_d__1__1.html#ad809f5d73448def11577d54147fa268e">PPB_Graphics2D::SetScale</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, float scale)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___graphics2_d__1__1.html#ad809f5d73448def11577d54147fa268e" title="SetScale() sets the scale factor that will be applied when painting the graphics context onto the out...">SetScale()</a> sets the scale factor that will be applied when painting the graphics context onto the output device. </p>
+<p>Typically, if rendering at device resolution is desired, the context would be created with the width and height scaled up by the view's GetDeviceScale and SetScale called with a scale of 1.0 / GetDeviceScale(). For example, if the view resource passed to DidChangeView has a rectangle of (w=200, h=100) and a device scale of 2.0, one would call Create with a size of (w=400, h=200) and then call SetScale with 0.5. One would then treat each pixel in the context as a single device pixel.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>Graphics2D</code> context resource. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">scale</td><td>The scale to apply when painting.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>PP_TRUE</code> on success or <code>PP_FALSE</code> if the resource is invalid or the scale factor is 0 or less. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="ppb__graphics__2d_8h.html">ppb_graphics_2d.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___graphics3_d__1__0.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___graphics3_d__1__0.html
new file mode 100644
index 0000000..6806fad14
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___graphics3_d__1__0.html
@@ -0,0 +1,297 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_Graphics3D Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_Graphics3D" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#a80698c6d8c8b04e07d08c4595e0e977b">GetAttribMaxValue</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> instance, int32_t attribute, int32_t *value)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#a818bc5829aac77215321b30f85e26e01">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> share_context, const int32_t attrib_list[])</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#af59ffbcc71e08386f66594a138ab4ea5">IsGraphics3D</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#aae3be34b7308c4510a3952b06fb7d6d9">GetAttribs</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> context, int32_t attrib_list[])</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#a093c4674cef82a08f5726bed8361d49d">SetAttribs</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> context, const int32_t attrib_list[])</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#ae6e9764a94663000dcb2aa610fac724c">GetError</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> context)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#a3bea5a6f3fc77df73c1cf4f02d32b4ec">ResizeBuffers</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> context, int32_t width, int32_t height)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#a293c6941c0da084267ffba3954793497">SwapBuffers</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> context, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p><code>PPB_Graphics3D</code> defines the interface for a 3D graphics context. </p>
+<p><b>Example usage from plugin code:</b></p>
+<p><b>Setup:</b> </p>
+<div class="fragment"><pre class="fragment"> <a class="code" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7" title="This typedef represents an opaque handle assigned by the browser to the resource.">PP_Resource</a> context;
+ int32_t attribs[] = {<a class="code" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a378f15587369cdefbcf565bc8f15db2c" title="Width of surface in pixels.">PP_GRAPHICS3DATTRIB_WIDTH</a>, 800,
+ <a class="code" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8ac37b92e8426753d7a24d0cf193a5923d" title="Height of surface in pixels.">PP_GRAPHICS3DATTRIB_HEIGHT</a>, 800,
+ <a class="code" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a66b15e43e8159f71751be033d44fda21" title="Attrib list terminator.">PP_GRAPHICS3DATTRIB_NONE</a>};
+ context = g3d->Create(instance, 0, attribs);
+ inst->BindGraphics(instance, context);
+</pre></div><p><b>Present one frame:</b> </p>
+<div class="fragment"><pre class="fragment"> <a class="code" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a> callback = {
+ DidFinishSwappingBuffers, 0, <a class="code" href="group___enums.html#gga7610f0fba2396d46384859caa4d91798a6eedc0f315784a4cb47c5806b828c7cc" title="By default any non-NULL callback will always invoked asynchronously, on success or error...">PP_COMPLETIONCALLBACK_FLAG_NONE</a>,
+ };
+ gles2->Clear(context, GL_COLOR_BUFFER_BIT);
+ g3d->SwapBuffers(context, callback);
+</pre></div><p><b>Shutdown:</b> </p>
+<div class="fragment"><pre class="fragment"> core->ReleaseResource(context);
+</pre></div> </div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a818bc5829aac77215321b30f85e26e01"></a><!-- doxytag: member="PPB_Graphics3D::Create" ref="a818bc5829aac77215321b30f85e26e01" args=")(PP_Instance instance, PP_Resource share_context, const int32_t attrib_list[])" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___graphics3_d__1__0.html#a818bc5829aac77215321b30f85e26e01">PPB_Graphics3D::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> share_context, const int32_t attrib_list[])</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#a818bc5829aac77215321b30f85e26e01" title="Create() creates and initializes a 3D rendering context.">Create()</a> creates and initializes a 3D rendering context. </p>
+<p>The returned context is off-screen to start with. It must be attached to a plugin instance using <code><a class="el" href="struct_p_p_b___instance__1__0.html#ae5b0da2fc0975c82213f687d96434625" title="BindGraphics() binds the given graphics as the current display surface.">PPB_Instance::BindGraphics</a></code> to draw on the web page.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The module instance.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">share_context</td><td>The 3D context with which the created context would share resources. If <code>share_context</code> is not 0, then all shareable data, as defined by the client API (note that for OpenGL and OpenGL ES, shareable data excludes texture objects named 0) will be shared by <code>share_context</code><code>, all other contexts </code><code>share_context</code> already shares with, and the newly created context. An arbitrary number of <code>PPB_Graphics3D</code> can share data in this fashion.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">attrib_list</td><td><code></code><code>specifies a list of attributes for the context. It is a list of attribute name-value pairs in which each attribute is immediately followed by the corresponding desired value. The list is terminated with </code><code>PP_GRAPHICS3DATTRIB_NONE</code>. The <code>attrib_list</code><code> may be 0 or empty (first attribute is </code><code>PP_GRAPHICS3DATTRIB_NONE</code>). If an attribute is not specified in <code>attrib_list</code>, then the default value is used (it is said to be specified implicitly). Attributes for the context are chosen according to an attribute-specific criteria. Attributes can be classified into two categories:<ul>
+<li>AtLeast: The attribute value in the returned context meets or exceeds the value specified in <code>attrib_list</code>.</li>
+<li>Exact: The attribute value in the returned context is equal to the value specified in <code>attrib_list</code>.</li>
+</ul>
+</td></tr>
+</table>
+</dd>
+</dl>
+<p>Attributes that can be specified in <code>attrib_list</code> include:</p>
+<ul>
+<li><code></code><code></code><code></code><code></code><code>PP_GRAPHICS3DATTRIB_ALPHA_SIZE</code>: Category: AtLeast Default: 0.</li>
+<li><code></code><code></code><code></code><code></code><code>PP_GRAPHICS3DATTRIB_BLUE_SIZE</code>: Category: AtLeast Default: 0.</li>
+<li><code></code><code></code><code></code><code></code><code>PP_GRAPHICS3DATTRIB_GREEN_SIZE</code>: Category: AtLeast Default: 0.</li>
+<li><code></code><code></code><code></code><code></code><code>PP_GRAPHICS3DATTRIB_RED_SIZE</code>: Category: AtLeast Default: 0.</li>
+<li><code></code><code></code><code></code><code></code><code>PP_GRAPHICS3DATTRIB_DEPTH_SIZE</code>: Category: AtLeast Default: 0.</li>
+<li><code></code><code></code><code></code><code></code><code>PP_GRAPHICS3DATTRIB_STENCIL_SIZE</code>: Category: AtLeast Default: 0.</li>
+<li><code></code><code></code><code></code><code></code><code>PP_GRAPHICS3DATTRIB_SAMPLES</code>: Category: AtLeast Default: 0.</li>
+<li><code></code><code></code><code></code><code></code><code>PP_GRAPHICS3DATTRIB_SAMPLE_BUFFERS</code>: Category: AtLeast Default: 0.</li>
+<li><code></code><code></code><code></code><code></code><code>PP_GRAPHICS3DATTRIB_WIDTH</code>: Category: Exact Default: 0.</li>
+<li><code></code><code></code><code></code><code></code><code>PP_GRAPHICS3DATTRIB_HEIGHT</code>: Category: Exact Default: 0.</li>
+<li><code></code><code></code><code></code><code></code><code>PP_GRAPHICS3DATTRIB_SWAP_BEHAVIOR</code>: Category: Exact Default: Implementation defined.</li>
+</ul>
+<p><code></code><code></code><code></code><code> </code></p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> containing the 3D graphics context if successful or 0 if unsuccessful. </dd></dl>
+<p></p>
+</div>
+</div>
+<a class="anchor" id="a80698c6d8c8b04e07d08c4595e0e977b"></a><!-- doxytag: member="PPB_Graphics3D::GetAttribMaxValue" ref="a80698c6d8c8b04e07d08c4595e0e977b" args=")(PP_Resource instance, int32_t attribute, int32_t *value)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___graphics3_d__1__0.html#a80698c6d8c8b04e07d08c4595e0e977b">PPB_Graphics3D::GetAttribMaxValue</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> instance, int32_t attribute, int32_t *value)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#a80698c6d8c8b04e07d08c4595e0e977b" title="GetAttribMaxValue() retrieves the maximum supported value for the given attribute.">GetAttribMaxValue()</a> retrieves the maximum supported value for the given attribute. </p>
+<p>This function may be used to check if a particular attribute value is supported before attempting to create a context.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The module instance. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">attribute</td><td>The attribute for which maximum value is queried. Attributes that can be queried for include:<ul>
+<li><code>PP_GRAPHICS3DATTRIB_ALPHA_SIZE</code></li>
+<li><code>PP_GRAPHICS3DATTRIB_BLUE_SIZE</code></li>
+<li><code>PP_GRAPHICS3DATTRIB_GREEN_SIZE</code></li>
+<li><code>PP_GRAPHICS3DATTRIB_RED_SIZE</code></li>
+<li><code>PP_GRAPHICS3DATTRIB_DEPTH_SIZE</code></li>
+<li><code>PP_GRAPHICS3DATTRIB_STENCIL_SIZE</code></li>
+<li><code>PP_GRAPHICS3DATTRIB_SAMPLES</code></li>
+<li><code>PP_GRAPHICS3DATTRIB_SAMPLE_BUFFERS</code></li>
+<li><code>PP_GRAPHICS3DATTRIB_WIDTH</code></li>
+<li><code>PP_GRAPHICS3DATTRIB_HEIGHT</code> </li>
+</ul>
+</td></tr>
+<tr><td class="paramdir">[out]</td><td class="paramname">value</td><td>The maximum supported value for <code>attribute</code></td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>PP_TRUE</code> on success or the following on error:<ul>
+<li><code>PP_ERROR_BADRESOURCE</code> if <code>instance</code> is invalid</li>
+<li><code>PP_ERROR_BADARGUMENT</code> if <code>attribute</code> is invalid or <code>value</code> is 0 </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<a class="anchor" id="aae3be34b7308c4510a3952b06fb7d6d9"></a><!-- doxytag: member="PPB_Graphics3D::GetAttribs" ref="aae3be34b7308c4510a3952b06fb7d6d9" args=")(PP_Resource context, int32_t attrib_list[])" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___graphics3_d__1__0.html#aae3be34b7308c4510a3952b06fb7d6d9">PPB_Graphics3D::GetAttribs</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> context, int32_t attrib_list[])</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#aae3be34b7308c4510a3952b06fb7d6d9" title="GetAttribs() retrieves the value for each attribute in attrib_list.">GetAttribs()</a> retrieves the value for each attribute in <code>attrib_list</code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>The 3D graphics context. </td></tr>
+<tr><td class="paramdir">[in,out]</td><td class="paramname">attrib_list</td><td>The list of attributes that are queried. <code>attrib_list</code> has the same structure as described for <code><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#a818bc5829aac77215321b30f85e26e01" title="Create() creates and initializes a 3D rendering context.">PPB_Graphics3D::Create</a></code>. It is both input and output structure for this function. All attributes specified in <code><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#a818bc5829aac77215321b30f85e26e01" title="Create() creates and initializes a 3D rendering context.">PPB_Graphics3D::Create</a></code> can be queried for.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>PP_OK</code> on success or:<ul>
+<li><code>PP_ERROR_BADRESOURCE</code> if context is invalid</li>
+<li><code>PP_ERROR_BADARGUMENT</code> if attrib_list is 0 or any attribute in the <code>attrib_list</code> is not a valid attribute.</li>
+</ul>
+</dd></dl>
+<p><b>Example usage:</b> To get the values for rgb bits in the color buffer, this function must be called as following: </p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">int</span> attrib_list[] = {<a class="code" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a7caad99c8c857fdb804c6755551398f5" title="Bits of Red in the color buffer.">PP_GRAPHICS3DATTRIB_RED_SIZE</a>, 0,
+ <a class="code" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8ade95a6e685ca23522da80c1703d294a7" title="Bits of Green in the color buffer.">PP_GRAPHICS3DATTRIB_GREEN_SIZE</a>, 0,
+ <a class="code" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a519cd199423721033780ee13ecb0e60b" title="Bits of Blue in the color buffer.">PP_GRAPHICS3DATTRIB_BLUE_SIZE</a>, 0,
+ <a class="code" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a66b15e43e8159f71751be033d44fda21" title="Attrib list terminator.">PP_GRAPHICS3DATTRIB_NONE</a>};
+ <a class="code" href="struct_p_p_b___graphics3_d__1__0.html#aae3be34b7308c4510a3952b06fb7d6d9" title="GetAttribs() retrieves the value for each attribute in attrib_list.">GetAttribs</a>(context, attrib_list);
+ <span class="keywordtype">int</span> red_bits = attrib_list[1];
+ <span class="keywordtype">int</span> green_bits = attrib_list[3];
+ <span class="keywordtype">int</span> blue_bits = attrib_list[5];
+</pre></div>
+</div>
+</div>
+<a class="anchor" id="ae6e9764a94663000dcb2aa610fac724c"></a><!-- doxytag: member="PPB_Graphics3D::GetError" ref="ae6e9764a94663000dcb2aa610fac724c" args=")(PP_Resource context)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___graphics3_d__1__0.html#ae6e9764a94663000dcb2aa610fac724c">PPB_Graphics3D::GetError</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> context)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#ae6e9764a94663000dcb2aa610fac724c" title="GetError() returns the current state of the given 3D context.">GetError()</a> returns the current state of the given 3D context. </p>
+<p>The recoverable error conditions that have no side effect are detected and returned immediately by all functions in this interface. In addition the implementation may get into a fatal state while processing a command. In this case the application must destroy the context and reinitialize client API state and objects to continue rendering.</p>
+<p>Note that the same error code is also returned in the SwapBuffers callback. It is recommended to handle error in the SwapBuffers callback because GetError is synchronous. This function may be useful in rare cases where drawing a frame is expensive and you want to verify the result of ResizeBuffers before attempting to draw a frame.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">The</td><td>3D graphics context. </td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns:<ul>
+<li><code>PP_OK</code> if no error</li>
+<li><code>PP_ERROR_NOMEMORY</code></li>
+<li><code>PP_ERROR_CONTEXT_LOST</code> </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<a class="anchor" id="af59ffbcc71e08386f66594a138ab4ea5"></a><!-- doxytag: member="PPB_Graphics3D::IsGraphics3D" ref="af59ffbcc71e08386f66594a138ab4ea5" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___graphics3_d__1__0.html#af59ffbcc71e08386f66594a138ab4ea5">PPB_Graphics3D::IsGraphics3D</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#af59ffbcc71e08386f66594a138ab4ea5" title="IsGraphics3D() determines if the given resource is a valid Graphics3D context.">IsGraphics3D()</a> determines if the given resource is a valid <code>Graphics3D</code> context. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>Graphics3D</code> context resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>PP_TRUE if the given resource is a valid <code>Graphics3D</code>, <code>PP_FALSE</code> if it is an invalid resource or is a resource of another type. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a3bea5a6f3fc77df73c1cf4f02d32b4ec"></a><!-- doxytag: member="PPB_Graphics3D::ResizeBuffers" ref="a3bea5a6f3fc77df73c1cf4f02d32b4ec" args=")(PP_Resource context, int32_t width, int32_t height)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___graphics3_d__1__0.html#a3bea5a6f3fc77df73c1cf4f02d32b4ec">PPB_Graphics3D::ResizeBuffers</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> context, int32_t width, int32_t height)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#a3bea5a6f3fc77df73c1cf4f02d32b4ec" title="ResizeBuffers() resizes the backing surface for context.">ResizeBuffers()</a> resizes the backing surface for context. </p>
+<p>If the surface could not be resized due to insufficient resources, <code>PP_ERROR_NOMEMORY</code> error is returned on the next <code>SwapBuffers</code> callback.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>The 3D graphics context. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">width</td><td>The width of the backing surface. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">height</td><td>The height of the backing surface. </td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>PP_OK</code> on success or:<ul>
+<li><code>PP_ERROR_BADRESOURCE</code> if context is invalid.</li>
+<li><code>PP_ERROR_BADARGUMENT</code> if the value specified for <code>width</code> or <code>height</code> is less than zero. </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<a class="anchor" id="a093c4674cef82a08f5726bed8361d49d"></a><!-- doxytag: member="PPB_Graphics3D::SetAttribs" ref="a093c4674cef82a08f5726bed8361d49d" args=")(PP_Resource context, const int32_t attrib_list[])" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___graphics3_d__1__0.html#a093c4674cef82a08f5726bed8361d49d">PPB_Graphics3D::SetAttribs</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> context, const int32_t attrib_list[])</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#a093c4674cef82a08f5726bed8361d49d" title="SetAttribs() sets the values for each attribute in attrib_list.">SetAttribs()</a> sets the values for each attribute in <code>attrib_list</code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>The 3D graphics context. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">attrib_list</td><td>The list of attributes whose values need to be set. <code>attrib_list</code> has the same structure as described for <code><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#a818bc5829aac77215321b30f85e26e01" title="Create() creates and initializes a 3D rendering context.">PPB_Graphics3D::Create</a></code>. Attributes that can be specified are:<ul>
+<li><code>PP_GRAPHICS3DATTRIB_SWAP_BEHAVIOR</code></li>
+</ul>
+</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>PP_OK</code> on success or:<ul>
+<li><code>PP_ERROR_BADRESOURCE</code> if <code>context</code> is invalid.</li>
+<li><code>PP_ERROR_BADARGUMENT</code> if <code>attrib_list</code> is 0 or any attribute in the <code>attrib_list</code> is not a valid attribute. </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<a class="anchor" id="a293c6941c0da084267ffba3954793497"></a><!-- doxytag: member="PPB_Graphics3D::SwapBuffers" ref="a293c6941c0da084267ffba3954793497" args=")(PP_Resource context, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___graphics3_d__1__0.html#a293c6941c0da084267ffba3954793497">PPB_Graphics3D::SwapBuffers</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> context, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#a293c6941c0da084267ffba3954793497" title="SwapBuffers() makes the contents of the color buffer available for compositing.">SwapBuffers()</a> makes the contents of the color buffer available for compositing. </p>
+<p>This function has no effect on off-screen surfaces - ones not bound to any plugin instance. The contents of ancillary buffers are always undefined after calling <code>SwapBuffers</code>. The contents of the color buffer are undefined if the value of the <code>PP_GRAPHICS3DATTRIB_SWAP_BEHAVIOR</code> attribute of context is not <code>PP_GRAPHICS3DATTRIB_BUFFER_PRESERVED</code>.</p>
+<p><code>SwapBuffers</code> runs in asynchronous mode. Specify a callback function and the argument for that callback function. The callback function will be executed on the calling thread after the color buffer has been composited with rest of the html page. While you are waiting for a SwapBuffers callback, additional calls to SwapBuffers will fail.</p>
+<p>Because the callback is executed (or thread unblocked) only when the plugin's current state is actually on the screen, this function provides a way to rate limit animations. By waiting until the image is on the screen before painting the next frame, you can ensure you're not generating updates faster than the screen can be updated.</p>
+<p>SwapBuffers performs an implicit flush operation on context. If the context gets into an unrecoverable error condition while processing a command, the error code will be returned as the argument for the callback. The callback may return the following error codes:</p>
+<ul>
+<li><code>PP_ERROR_NOMEMORY</code></li>
+<li><code>PP_ERROR_CONTEXT_LOST</code> Note that the same error code may also be obtained by calling GetError.</li>
+</ul>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>The 3D graphics context. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>The callback that will executed when <code>SwapBuffers</code> completes.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns PP_OK on success or:<ul>
+<li><code>PP_ERROR_BADRESOURCE</code> if context is invalid.</li>
+<li><code>PP_ERROR_BADARGUMENT</code> if callback is invalid. </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="ppb__graphics__3d_8h.html">ppb_graphics_3d.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___host_resolver__1__0.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___host_resolver__1__0.html
new file mode 100644
index 0000000..fc47528
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___host_resolver__1__0.html
@@ -0,0 +1,154 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_HostResolver Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_HostResolver" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___host_resolver__1__0.html#a7dfb4977c9bb0b3efb8016393e1adcc1">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___host_resolver__1__0.html#a26202fbec754f45ec43e1b7479f07365">IsHostResolver</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___host_resolver__1__0.html#a006c54c355fc4258fc1c9e75e8861dea">Resolve</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> host_resolver, const char *host, uint16_t port, const struct <a class="el" href="struct_p_p___host_resolver___hint.html">PP_HostResolver_Hint</a> *hint, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___host_resolver__1__0.html#a5edb535ad2bdc3db835ef7ec57f98f49">GetCanonicalName</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> host_resolver)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___host_resolver__1__0.html#afe9dc8c673c2a12331eceaf60ecba911">GetNetAddressCount</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> host_resolver)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___host_resolver__1__0.html#a7202ffb6c7b6d02da4ece9e748aaa886">GetNetAddress</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> host_resolver, uint32_t index)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_HostResolver</code> interface supports host name resolution. </p>
+<p>Permissions: In order to run <code><a class="el" href="struct_p_p_b___host_resolver__1__0.html#a006c54c355fc4258fc1c9e75e8861dea" title="Requests resolution of a host name.">Resolve()</a></code>, apps permission <code>socket</code> with subrule <code>resolve-host</code> is required. For more details about network communication permissions, please see: <a href="http://developer.chrome.com/apps/app_network.html">http://developer.chrome.com/apps/app_network.html</a> </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a7dfb4977c9bb0b3efb8016393e1adcc1"></a><!-- doxytag: member="PPB_HostResolver::Create" ref="a7dfb4977c9bb0b3efb8016393e1adcc1" args=")(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___host_resolver__1__0.html#a7dfb4977c9bb0b3efb8016393e1adcc1">PPB_HostResolver::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Creates a host resolver resource. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> corresponding to a host reslover or 0 on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a5edb535ad2bdc3db835ef7ec57f98f49"></a><!-- doxytag: member="PPB_HostResolver::GetCanonicalName" ref="a5edb535ad2bdc3db835ef7ec57f98f49" args=")(PP_Resource host_resolver)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___host_resolver__1__0.html#a5edb535ad2bdc3db835ef7ec57f98f49">PPB_HostResolver::GetCanonicalName</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> host_resolver)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the canonical name of the host. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">host_resolver</td><td>A <code>PP_Resource</code> corresponding to a host resolver.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A string <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> on success, which is an empty string if <code>PP_HOSTRESOLVER_FLAG_CANONNAME</code> is not set in the hint flags when calling <code><a class="el" href="struct_p_p_b___host_resolver__1__0.html#a006c54c355fc4258fc1c9e75e8861dea" title="Requests resolution of a host name.">Resolve()</a></code>; an undefined <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> if there is a pending <code><a class="el" href="struct_p_p_b___host_resolver__1__0.html#a006c54c355fc4258fc1c9e75e8861dea" title="Requests resolution of a host name.">Resolve()</a></code> call or the previous <code><a class="el" href="struct_p_p_b___host_resolver__1__0.html#a006c54c355fc4258fc1c9e75e8861dea" title="Requests resolution of a host name.">Resolve()</a></code> call failed. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a7202ffb6c7b6d02da4ece9e748aaa886"></a><!-- doxytag: member="PPB_HostResolver::GetNetAddress" ref="a7202ffb6c7b6d02da4ece9e748aaa886" args=")(PP_Resource host_resolver, uint32_t index)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___host_resolver__1__0.html#a7202ffb6c7b6d02da4ece9e748aaa886">PPB_HostResolver::GetNetAddress</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> host_resolver, uint32_t index)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets a network address. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">host_resolver</td><td>A <code>PP_Resource</code> corresponding to a host resolver. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>An index indicating which address to return.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PPB_NetAddress</code> resource on success; 0 if there is a pending <code><a class="el" href="struct_p_p_b___host_resolver__1__0.html#a006c54c355fc4258fc1c9e75e8861dea" title="Requests resolution of a host name.">Resolve()</a></code> call or the previous <code><a class="el" href="struct_p_p_b___host_resolver__1__0.html#a006c54c355fc4258fc1c9e75e8861dea" title="Requests resolution of a host name.">Resolve()</a></code> call failed, or the specified index is out of range. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="afe9dc8c673c2a12331eceaf60ecba911"></a><!-- doxytag: member="PPB_HostResolver::GetNetAddressCount" ref="afe9dc8c673c2a12331eceaf60ecba911" args=")(PP_Resource host_resolver)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t(* <a class="el" href="struct_p_p_b___host_resolver__1__0.html#afe9dc8c673c2a12331eceaf60ecba911">PPB_HostResolver::GetNetAddressCount</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> host_resolver)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the number of network addresses. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">host_resolver</td><td>A <code>PP_Resource</code> corresponding to a host resolver.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The number of available network addresses on success; 0 if there is a pending <code><a class="el" href="struct_p_p_b___host_resolver__1__0.html#a006c54c355fc4258fc1c9e75e8861dea" title="Requests resolution of a host name.">Resolve()</a></code> call or the previous <code><a class="el" href="struct_p_p_b___host_resolver__1__0.html#a006c54c355fc4258fc1c9e75e8861dea" title="Requests resolution of a host name.">Resolve()</a></code> call failed. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a26202fbec754f45ec43e1b7479f07365"></a><!-- doxytag: member="PPB_HostResolver::IsHostResolver" ref="a26202fbec754f45ec43e1b7479f07365" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___host_resolver__1__0.html#a26202fbec754f45ec43e1b7479f07365">PPB_HostResolver::IsHostResolver</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Determines if a given resource is a host resolver. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> to check.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the input is a <code>PPB_HostResolver</code> resource; <code>PP_FALSE</code> otherwise. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a006c54c355fc4258fc1c9e75e8861dea"></a><!-- doxytag: member="PPB_HostResolver::Resolve" ref="a006c54c355fc4258fc1c9e75e8861dea" args=")(PP_Resource host_resolver, const char *host, uint16_t port, const struct PP_HostResolver_Hint *hint, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___host_resolver__1__0.html#a006c54c355fc4258fc1c9e75e8861dea">PPB_HostResolver::Resolve</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> host_resolver, const char *host, uint16_t port, const struct <a class="el" href="struct_p_p___host_resolver___hint.html">PP_HostResolver_Hint</a> *hint, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Requests resolution of a host name. </p>
+<p>If the call completes successfully, the results can be retrieved by <code><a class="el" href="struct_p_p_b___host_resolver__1__0.html#a5edb535ad2bdc3db835ef7ec57f98f49" title="Gets the canonical name of the host.">GetCanonicalName()</a></code>, <code><a class="el" href="struct_p_p_b___host_resolver__1__0.html#afe9dc8c673c2a12331eceaf60ecba911" title="Gets the number of network addresses.">GetNetAddressCount()</a></code> and <code><a class="el" href="struct_p_p_b___host_resolver__1__0.html#a7202ffb6c7b6d02da4ece9e748aaa886" title="Gets a network address.">GetNetAddress()</a></code>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">host_resolver</td><td>A <code>PP_Resource</code> corresponding to a host resolver. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">host</td><td>The host name (or IP address literal) to resolve. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">port</td><td>The port number to be set in the resulting network addresses. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">hint</td><td>A <code><a class="el" href="struct_p_p___host_resolver___hint.html" title="PP_HostResolver_Hint represents hints for host resolution.">PP_HostResolver_Hint</a></code> structure providing hints for host resolution. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. <code>PP_ERROR_NOACCESS</code> will be returned if the caller doesn't have required permissions. <code>PP_ERROR_NAME_NOT_RESOLVED</code> will be returned if the host name couldn't be resolved. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="ppb__host__resolver_8h.html">ppb_host_resolver.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___i_m_e_input_event__1__0.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___i_m_e_input_event__1__0.html
new file mode 100644
index 0000000..bea713a57
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___i_m_e_input_event__1__0.html
@@ -0,0 +1,178 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_IMEInputEvent Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_IMEInputEvent" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#ad4bd2c64c71c9af07c110e47d64d94c4">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#gaca7296cfec99fcb6646b7144d1d6a0c5">PP_InputEvent_Type</a> type, <a class="el" href="group___typedefs.html#ga71cb1042cdeb38d7881b121f3b09ce94">PP_TimeTicks</a> time_stamp, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> text, uint32_t segment_number, const uint32_t segment_offsets[], int32_t target_segment, uint32_t selection_start, uint32_t selection_end)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a73a886654b174d99af7f52c13272dce0">IsIMEInputEvent</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a107e031acc73b3c620b0d92245952e6e">GetText</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> ime_event)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a1b3d8e023aa9400dff5b3a32a49cc018">GetSegmentNumber</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> ime_event)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a5d469ddc9be36e60eda5ab74878da205">GetSegmentOffset</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> ime_event, uint32_t index)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#ac4891be932c004cff409df47fe4627fa">GetTargetSegment</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> ime_event)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a42150bcee1b6416ec89780343ce2b30a">GetSelection</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> ime_event, uint32_t *start, uint32_t *end)</td></tr>
+</table>
+<hr /><h2>Field Documentation</h2>
+<a class="anchor" id="ad4bd2c64c71c9af07c110e47d64d94c4"></a><!-- doxytag: member="PPB_IMEInputEvent::Create" ref="ad4bd2c64c71c9af07c110e47d64d94c4" args=")(PP_Instance instance, PP_InputEvent_Type type, PP_TimeTicks time_stamp, struct PP_Var text, uint32_t segment_number, const uint32_t segment_offsets[], int32_t target_segment, uint32_t selection_start, uint32_t selection_end)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#ad4bd2c64c71c9af07c110e47d64d94c4">PPB_IMEInputEvent::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#gaca7296cfec99fcb6646b7144d1d6a0c5">PP_InputEvent_Type</a> type, <a class="el" href="group___typedefs.html#ga71cb1042cdeb38d7881b121f3b09ce94">PP_TimeTicks</a> time_stamp, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> text, uint32_t segment_number, const uint32_t segment_offsets[], int32_t target_segment, uint32_t selection_start, uint32_t selection_end)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#ad4bd2c64c71c9af07c110e47d64d94c4" title="Create() creates an IME input event with the given parameters.">Create()</a> creates an IME input event with the given parameters. </p>
+<p>Normally you will get an IME event passed through the <code>HandleInputEvent</code> and will not need to create them, but some applications may want to create their own for internal use.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance for which this event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>A <code>PP_InputEvent_Type</code> identifying the type of input event. The type must be one of the IME event types.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">time_stamp</td><td>A <code>PP_TimeTicks</code> indicating the time when the event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">text</td><td>The string returned by <code>GetText</code>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">segment_number</td><td>The number returned by <code>GetSegmentNumber</code>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">segment_offsets</td><td>The array of numbers returned by <code>GetSegmentOffset</code>. If <code>segment_number</code> is zero, the number of elements of the array should be zero. If <code>segment_number</code> is non-zero, the length of the array must be <code>segment_number</code> + 1.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">target_segment</td><td>The number returned by <code>GetTargetSegment</code>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">selection_start</td><td>The start index returned by <code>GetSelection</code>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">selection_end</td><td>The end index returned by <code>GetSelection</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> containing the new IME input event. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a1b3d8e023aa9400dff5b3a32a49cc018"></a><!-- doxytag: member="PPB_IMEInputEvent::GetSegmentNumber" ref="a1b3d8e023aa9400dff5b3a32a49cc018" args=")(PP_Resource ime_event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t(* <a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a1b3d8e023aa9400dff5b3a32a49cc018">PPB_IMEInputEvent::GetSegmentNumber</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> ime_event)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a1b3d8e023aa9400dff5b3a32a49cc018" title="GetSegmentNumber() returns the number of segments in the composition text.">GetSegmentNumber()</a> returns the number of segments in the composition text. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">ime_event</td><td>A <code>PP_Resource</code> corresponding to an IME event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The number of segments. For events other than COMPOSITION_UPDATE, returns 0. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a5d469ddc9be36e60eda5ab74878da205"></a><!-- doxytag: member="PPB_IMEInputEvent::GetSegmentOffset" ref="a5d469ddc9be36e60eda5ab74878da205" args=")(PP_Resource ime_event, uint32_t index)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t(* <a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a5d469ddc9be36e60eda5ab74878da205">PPB_IMEInputEvent::GetSegmentOffset</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> ime_event, uint32_t index)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a5d469ddc9be36e60eda5ab74878da205" title="GetSegmentOffset() returns the position of the index-th segmentation point in the composition text...">GetSegmentOffset()</a> returns the position of the index-th segmentation point in the composition text. </p>
+<p>The position is given by a byte-offset (not a character-offset) of the string returned by <a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a107e031acc73b3c620b0d92245952e6e" title="GetText() returns the composition text as a UTF-8 string for the given IME event.">GetText()</a>. It always satisfies 0=GetSegmentOffset(0) < ... < GetSegmentOffset(i) < GetSegmentOffset(i+1) < ... < GetSegmentOffset(<a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a1b3d8e023aa9400dff5b3a32a49cc018" title="GetSegmentNumber() returns the number of segments in the composition text.">GetSegmentNumber()</a>)=(byte-length of <a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a107e031acc73b3c620b0d92245952e6e" title="GetText() returns the composition text as a UTF-8 string for the given IME event.">GetText()</a>). Note that [GetSegmentOffset(i), GetSegmentOffset(i+1)) represents the range of the i-th segment, and hence <a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a1b3d8e023aa9400dff5b3a32a49cc018" title="GetSegmentNumber() returns the number of segments in the composition text.">GetSegmentNumber()</a> can be a valid argument to this function instead of an off-by-1 error.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">ime_event</td><td>A <code>PP_Resource</code> corresponding to an IME event.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>An integer indicating a segment.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The byte-offset of the segmentation point. If the event is not COMPOSITION_UPDATE or index is out of range, returns 0. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a42150bcee1b6416ec89780343ce2b30a"></a><!-- doxytag: member="PPB_IMEInputEvent::GetSelection" ref="a42150bcee1b6416ec89780343ce2b30a" args=")(PP_Resource ime_event, uint32_t *start, uint32_t *end)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a42150bcee1b6416ec89780343ce2b30a">PPB_IMEInputEvent::GetSelection</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> ime_event, uint32_t *start, uint32_t *end)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a42150bcee1b6416ec89780343ce2b30a" title="GetSelection() returns the range selected by caret in the composition text.">GetSelection()</a> returns the range selected by caret in the composition text. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">ime_event</td><td>A <code>PP_Resource</code> corresponding to an IME event.</td></tr>
+<tr><td class="paramdir">[out]</td><td class="paramname">start</td><td>The start position of the current selection.</td></tr>
+<tr><td class="paramdir">[out]</td><td class="paramname">end</td><td>The end position of the current selection. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ac4891be932c004cff409df47fe4627fa"></a><!-- doxytag: member="PPB_IMEInputEvent::GetTargetSegment" ref="ac4891be932c004cff409df47fe4627fa" args=")(PP_Resource ime_event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#ac4891be932c004cff409df47fe4627fa">PPB_IMEInputEvent::GetTargetSegment</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> ime_event)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#ac4891be932c004cff409df47fe4627fa" title="GetTargetSegment() returns the index of the current target segment of composition.">GetTargetSegment()</a> returns the index of the current target segment of composition. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">ime_event</td><td>A <code>PP_Resource</code> corresponding to an IME event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An integer indicating the index of the target segment. When there is no active target segment, or the event is not COMPOSITION_UPDATE, returns -1. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a107e031acc73b3c620b0d92245952e6e"></a><!-- doxytag: member="PPB_IMEInputEvent::GetText" ref="a107e031acc73b3c620b0d92245952e6e" args=")(PP_Resource ime_event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a107e031acc73b3c620b0d92245952e6e">PPB_IMEInputEvent::GetText</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> ime_event)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a107e031acc73b3c620b0d92245952e6e" title="GetText() returns the composition text as a UTF-8 string for the given IME event.">GetText()</a> returns the composition text as a UTF-8 string for the given IME event. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">ime_event</td><td>A <code>PP_Resource</code> corresponding to an IME event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A string var representing the composition text. For non-IME input events the return value will be an undefined var. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a73a886654b174d99af7f52c13272dce0"></a><!-- doxytag: member="PPB_IMEInputEvent::IsIMEInputEvent" ref="a73a886654b174d99af7f52c13272dce0" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a73a886654b174d99af7f52c13272dce0">PPB_IMEInputEvent::IsIMEInputEvent</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a73a886654b174d99af7f52c13272dce0" title="IsIMEInputEvent() determines if a resource is an IME event.">IsIMEInputEvent()</a> determines if a resource is an IME event. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to an event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the given resource is a valid input event. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="ppb__input__event_8h.html">ppb_input_event.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___image_data__1__0.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___image_data__1__0.html
new file mode 100644
index 0000000..900e787d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___image_data__1__0.html
@@ -0,0 +1,168 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_ImageData Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_ImageData" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga2ee7ad01799553e5f17bdaa35dd952ee">PP_ImageDataFormat</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___image_data__1__0.html#adba78e8f9e623809b6b23419dbce4d65">GetNativeImageDataFormat</a> )(void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___image_data__1__0.html#a451a583a5caa74bdc735e324de282b82">IsImageDataFormatSupported</a> )(<a class="el" href="group___enums.html#ga2ee7ad01799553e5f17bdaa35dd952ee">PP_ImageDataFormat</a> format)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___image_data__1__0.html#ab7146e66c91e651259ef9d81bcee7776">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#ga2ee7ad01799553e5f17bdaa35dd952ee">PP_ImageDataFormat</a> format, const struct <a class="el" href="struct_p_p___size.html">PP_Size</a> *size, <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> init_to_zero)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___image_data__1__0.html#a1e208943ea241fc4050d0190a0e92492">IsImageData</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> image_data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___image_data__1__0.html#a0598a298c53b777d9909f80c70987629">Describe</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> image_data, struct <a class="el" href="struct_p_p___image_data_desc.html">PP_ImageDataDesc</a> *desc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___image_data__1__0.html#a2e7d4b40b88c0680b263db05745055e9">Map</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> image_data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___image_data__1__0.html#ab0fc702469c51be79b2f8b74d9148c81">Unmap</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> image_data)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_ImageData</code> interface contains pointers to several functions for determining the browser's treatment of image data. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="ab7146e66c91e651259ef9d81bcee7776"></a><!-- doxytag: member="PPB_ImageData::Create" ref="ab7146e66c91e651259ef9d81bcee7776" args=")(PP_Instance instance, PP_ImageDataFormat format, const struct PP_Size *size, PP_Bool init_to_zero)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___image_data__1__0.html#ab7146e66c91e651259ef9d81bcee7776">PPB_ImageData::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#ga2ee7ad01799553e5f17bdaa35dd952ee">PP_ImageDataFormat</a> format, const struct <a class="el" href="struct_p_p___size.html">PP_Size</a> *size, <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> init_to_zero)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___image_data__1__0.html#ab7146e66c91e651259ef9d81bcee7776" title="Create() allocates an image data resource with the given format and size.">Create()</a> allocates an image data resource with the given format and size. </p>
+<p>For security reasons, if uninitialized, the bitmap will not contain random memory, but may contain data from a previous image produced by the same module if the bitmap was cached and re-used.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>The desired image data format. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>A pointer to a <code><a class="el" href="struct_p_p___size.html" title="The PP_Size struct contains the size of a 2D rectangle.">PP_Size</a></code> containing the image size. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">init_to_zero</td><td>A <code>PP_Bool</code> to determine transparency at creation. Set the <code>init_to_zero</code> flag if you want the bitmap initialized to transparent during the creation process. If this flag is not set, the current contents of the bitmap will be undefined, and the module should be sure to set all the pixels.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> with a nonzero ID on success or zero on failure. Failure means the instance, image size, or format was invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a0598a298c53b777d9909f80c70987629"></a><!-- doxytag: member="PPB_ImageData::Describe" ref="a0598a298c53b777d9909f80c70987629" args=")(PP_Resource image_data, struct PP_ImageDataDesc *desc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___image_data__1__0.html#a0598a298c53b777d9909f80c70987629">PPB_ImageData::Describe</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> image_data, struct <a class="el" href="struct_p_p___image_data_desc.html">PP_ImageDataDesc</a> *desc)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___image_data__1__0.html#a0598a298c53b777d9909f80c70987629" title="Describe() computes the description of the image data.">Describe()</a> computes the description of the image data. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">image_data</td><td>A <code>PP_Resource</code> corresponding to image data. </td></tr>
+<tr><td class="paramdir">[in,out]</td><td class="paramname">desc</td><td>A pointer to a <code><a class="el" href="struct_p_p___image_data_desc.html" title="The PP_ImageDataDesc structure represents a description of image data.">PP_ImageDataDesc</a></code> containing the description.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> with <code>PP_TRUE</code> on success or <code>PP_FALSE</code> if the resource is not an image data. On <code>PP_FALSE</code>, the <code>desc</code> structure will be filled with 0. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="adba78e8f9e623809b6b23419dbce4d65"></a><!-- doxytag: member="PPB_ImageData::GetNativeImageDataFormat" ref="adba78e8f9e623809b6b23419dbce4d65" args=")(void)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga2ee7ad01799553e5f17bdaa35dd952ee">PP_ImageDataFormat</a>(* <a class="el" href="struct_p_p_b___image_data__1__0.html#adba78e8f9e623809b6b23419dbce4d65">PPB_ImageData::GetNativeImageDataFormat</a>)(void)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___image_data__1__0.html#adba78e8f9e623809b6b23419dbce4d65" title="GetNativeImageDataFormat() returns the browser's preferred format for image data.">GetNativeImageDataFormat()</a> returns the browser's preferred format for image data. </p>
+<p>The browser uses this format internally for painting. Other formats may require internal conversions to paint or may have additional restrictions depending on the function.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_ImageDataFormat</code> containing the preferred format. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a1e208943ea241fc4050d0190a0e92492"></a><!-- doxytag: member="PPB_ImageData::IsImageData" ref="a1e208943ea241fc4050d0190a0e92492" args=")(PP_Resource image_data)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___image_data__1__0.html#a1e208943ea241fc4050d0190a0e92492">PPB_ImageData::IsImageData</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> image_data)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___image_data__1__0.html#a1e208943ea241fc4050d0190a0e92492" title="IsImageData() determines if a given resource is image data.">IsImageData()</a> determines if a given resource is image data. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">image_data</td><td>A <code>PP_Resource</code> corresponding to image data.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> with <code>PP_TRUE</code> if the given resource is an image data or <code>PP_FALSE</code> if the resource is invalid or some type other than image data. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a451a583a5caa74bdc735e324de282b82"></a><!-- doxytag: member="PPB_ImageData::IsImageDataFormatSupported" ref="a451a583a5caa74bdc735e324de282b82" args=")(PP_ImageDataFormat format)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___image_data__1__0.html#a451a583a5caa74bdc735e324de282b82">PPB_ImageData::IsImageDataFormatSupported</a>)(<a class="el" href="group___enums.html#ga2ee7ad01799553e5f17bdaa35dd952ee">PP_ImageDataFormat</a> format)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___image_data__1__0.html#a451a583a5caa74bdc735e324de282b82" title="IsImageDataFormatSupported() determines if the given image data format is supported by the browser...">IsImageDataFormatSupported()</a> determines if the given image data format is supported by the browser. </p>
+<p>Note: <code>PP_IMAGEDATAFORMAT_BGRA_PREMUL</code> and <code>PP_IMAGEDATAFORMAT_RGBA_PREMUL</code> formats are always supported. Other image formats do not make this guarantee, and should be checked first with <a class="el" href="struct_p_p_b___image_data__1__0.html#a451a583a5caa74bdc735e324de282b82" title="IsImageDataFormatSupported() determines if the given image data format is supported by the browser...">IsImageDataFormatSupported()</a> before using.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>The image data format.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> with <code>PP_TRUE</code> if the given image data format is supported by the browser. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2e7d4b40b88c0680b263db05745055e9"></a><!-- doxytag: member="PPB_ImageData::Map" ref="a2e7d4b40b88c0680b263db05745055e9" args=")(PP_Resource image_data)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void*(* <a class="el" href="struct_p_p_b___image_data__1__0.html#a2e7d4b40b88c0680b263db05745055e9">PPB_ImageData::Map</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> image_data)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___image_data__1__0.html#a2e7d4b40b88c0680b263db05745055e9" title="Map() maps an image data into the module address space.">Map()</a> maps an image data into the module address space. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">image_data</td><td>A <code>PP_Resource</code> corresponding to image data.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A pointer to the beginning of the data. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab0fc702469c51be79b2f8b74d9148c81"></a><!-- doxytag: member="PPB_ImageData::Unmap" ref="ab0fc702469c51be79b2f8b74d9148c81" args=")(PP_Resource image_data)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___image_data__1__0.html#ab0fc702469c51be79b2f8b74d9148c81">PPB_ImageData::Unmap</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> image_data)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Unmap is a pointer to a function that unmaps an image data from the module address space. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">image_data</td><td>A <code>PP_Resource</code> corresponding to image data. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="ppb__image__data_8h.html">ppb_image_data.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___input_event__1__0.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___input_event__1__0.html
new file mode 100644
index 0000000..2690288
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___input_event__1__0.html
@@ -0,0 +1,182 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_InputEvent Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_InputEvent" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___input_event__1__0.html#a369d79730ad84d0b8dee9127c114086e">RequestInputEvents</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, uint32_t event_classes)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___input_event__1__0.html#a42dcc8edf80141680e919258f3066069">RequestFilteringInputEvents</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, uint32_t event_classes)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___input_event__1__0.html#aec4b0db6ac3dca03f4d3a1c034f84a5a">ClearInputEventRequest</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, uint32_t event_classes)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___input_event__1__0.html#a292409d067d969ee6357af350f6fb544">IsInputEvent</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#gaca7296cfec99fcb6646b7144d1d6a0c5">PP_InputEvent_Type</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___input_event__1__0.html#a1d83a144ef7cb784a34caabc81786538">GetType</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> event)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#ga71cb1042cdeb38d7881b121f3b09ce94">PP_TimeTicks</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___input_event__1__0.html#a9bf9a261e8161a3a6ec4093ba6f737b2">GetTimeStamp</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> event)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___input_event__1__0.html#a31311048765ee5af6dd3fb62ae014372">GetModifiers</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> event)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_InputEvent</code> interface contains pointers to several functions related to generic input events on the browser. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="aec4b0db6ac3dca03f4d3a1c034f84a5a"></a><!-- doxytag: member="PPB_InputEvent::ClearInputEventRequest" ref="aec4b0db6ac3dca03f4d3a1c034f84a5a" args=")(PP_Instance instance, uint32_t event_classes)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___input_event__1__0.html#aec4b0db6ac3dca03f4d3a1c034f84a5a">PPB_InputEvent::ClearInputEventRequest</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, uint32_t event_classes)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___input_event__1__0.html#aec4b0db6ac3dca03f4d3a1c034f84a5a" title="ClearInputEventRequest() requests that input events corresponding to the given input classes no longe...">ClearInputEventRequest()</a> requests that input events corresponding to the given input classes no longer be delivered to the instance. </p>
+<p>By default, no input events are delivered. If you have previously requested input events via <a class="el" href="struct_p_p_b___input_event__1__0.html#a369d79730ad84d0b8dee9127c114086e" title="RequestInputEvent() requests that input events corresponding to the given input events are delivered ...">RequestInputEvents()</a> or <a class="el" href="struct_p_p_b___input_event__1__0.html#a42dcc8edf80141680e919258f3066069" title="RequestFilteringInputEvents() requests that input events corresponding to the given input events are ...">RequestFilteringInputEvents()</a>, this function will unregister handling for the given instance. This will allow greater browser performance for those events.</p>
+<p>Note that you may still get some input events after clearing the flag if they were dispatched before the request was cleared. For example, if there are 3 mouse move events waiting to be delivered, and you clear the mouse event class during the processing of the first one, you'll still receive the next two. You just won't get more events generated.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramname">instance</td><td>The <code>PP_Instance</code> of the instance requesting to no longer receive the given events.</td></tr>
+<tr><td class="paramname">event_classes</td><td>A combination of flags from <code>PP_InputEvent_Class</code> that identify the classes of events the instance is no longer interested in. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a31311048765ee5af6dd3fb62ae014372"></a><!-- doxytag: member="PPB_InputEvent::GetModifiers" ref="a31311048765ee5af6dd3fb62ae014372" args=")(PP_Resource event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t(* <a class="el" href="struct_p_p_b___input_event__1__0.html#a31311048765ee5af6dd3fb62ae014372">PPB_InputEvent::GetModifiers</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> event)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___input_event__1__0.html#a31311048765ee5af6dd3fb62ae014372" title="GetModifiers() returns a bitfield indicating which modifiers were down at the time of the event...">GetModifiers()</a> returns a bitfield indicating which modifiers were down at the time of the event. </p>
+<p>This is a combination of the flags in the <code>PP_InputEvent_Modifier</code> enum.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to an input event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The modifiers associated with the event, or 0 if the given resource is not a valid event resource. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a9bf9a261e8161a3a6ec4093ba6f737b2"></a><!-- doxytag: member="PPB_InputEvent::GetTimeStamp" ref="a9bf9a261e8161a3a6ec4093ba6f737b2" args=")(PP_Resource event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#ga71cb1042cdeb38d7881b121f3b09ce94">PP_TimeTicks</a>(* <a class="el" href="struct_p_p_b___input_event__1__0.html#a9bf9a261e8161a3a6ec4093ba6f737b2">PPB_InputEvent::GetTimeStamp</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> event)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___input_event__1__0.html#a9bf9a261e8161a3a6ec4093ba6f737b2" title="GetTimeStamp() Returns the time that the event was generated.">GetTimeStamp()</a> Returns the time that the event was generated. </p>
+<p>This will be before the current time since processing and dispatching the event has some overhead. Use this value to compare the times the user generated two events without being sensitive to variable processing time.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to the event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The return value is in time ticks, which is a monotonically increasing clock not related to the wall clock time. It will not change if the user changes their clock or daylight savings time starts, so can be reliably used to compare events. This means, however, that you can't correlate event times to a particular time of day on the system clock. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a1d83a144ef7cb784a34caabc81786538"></a><!-- doxytag: member="PPB_InputEvent::GetType" ref="a1d83a144ef7cb784a34caabc81786538" args=")(PP_Resource event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#gaca7296cfec99fcb6646b7144d1d6a0c5">PP_InputEvent_Type</a>(* <a class="el" href="struct_p_p_b___input_event__1__0.html#a1d83a144ef7cb784a34caabc81786538">PPB_InputEvent::GetType</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> event)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___input_event__1__0.html#a1d83a144ef7cb784a34caabc81786538" title="GetType() returns the type of input event for the given input event resource.">GetType()</a> returns the type of input event for the given input event resource. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to an input event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_InputEvent_Type</code> if its a valid input event or <code>PP_INPUTEVENT_TYPE_UNDEFINED</code> if the resource is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a292409d067d969ee6357af350f6fb544"></a><!-- doxytag: member="PPB_InputEvent::IsInputEvent" ref="a292409d067d969ee6357af350f6fb544" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___input_event__1__0.html#a292409d067d969ee6357af350f6fb544">PPB_InputEvent::IsInputEvent</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___input_event__1__0.html#a292409d067d969ee6357af350f6fb544" title="IsInputEvent() returns true if the given resource is a valid input event resource.">IsInputEvent()</a> returns true if the given resource is a valid input event resource. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a generic resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the given resource is a valid input event resource. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a42dcc8edf80141680e919258f3066069"></a><!-- doxytag: member="PPB_InputEvent::RequestFilteringInputEvents" ref="a42dcc8edf80141680e919258f3066069" args=")(PP_Instance instance, uint32_t event_classes)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___input_event__1__0.html#a42dcc8edf80141680e919258f3066069">PPB_InputEvent::RequestFilteringInputEvents</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, uint32_t event_classes)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___input_event__1__0.html#a42dcc8edf80141680e919258f3066069" title="RequestFilteringInputEvents() requests that input events corresponding to the given input events are ...">RequestFilteringInputEvents()</a> requests that input events corresponding to the given input events are delivered to the instance for filtering. </p>
+<p>By default, no input events are delivered. In most cases you would register to receive events by calling <a class="el" href="struct_p_p_b___input_event__1__0.html#a369d79730ad84d0b8dee9127c114086e" title="RequestInputEvent() requests that input events corresponding to the given input events are delivered ...">RequestInputEvents()</a>. In some cases, however, you may wish to filter events such that they can be bubbled up to the DOM. In this case, register for those classes of events using this function instead of <a class="el" href="struct_p_p_b___input_event__1__0.html#a369d79730ad84d0b8dee9127c114086e" title="RequestInputEvent() requests that input events corresponding to the given input events are delivered ...">RequestInputEvents()</a>.</p>
+<p>Filtering input events requires significantly more overhead than just delivering them to the instance. As such, you should only request filtering in those cases where it's absolutely necessary. The reason is that it requires the browser to stop and block for the instance to handle the input event, rather than sending the input event asynchronously. This can have significant overhead.</p>
+<p><b>Example:</b> </p>
+<div class="fragment"><pre class="fragment"> <a class="code" href="struct_p_p_b___input_event__1__0.html#a369d79730ad84d0b8dee9127c114086e" title="RequestInputEvent() requests that input events corresponding to the given input events are delivered ...">RequestInputEvents</a>(instance, <a class="code" href="group___enums.html#ggafe68e3c1031daa4a6496845ff47649cda79ccc5180eb39c52ab3207f0c876dd52" title="Request mouse input events.">PP_INPUTEVENT_CLASS_MOUSE</a>);
+ <a class="code" href="struct_p_p_b___input_event__1__0.html#a42dcc8edf80141680e919258f3066069" title="RequestFilteringInputEvents() requests that input events corresponding to the given input events are ...">RequestFilteringInputEvents</a>(instance,
+ <a class="code" href="group___enums.html#ggafe68e3c1031daa4a6496845ff47649cda59d6686dbce1f0dc092cb88a451bb3a6" title="Identifies scroll wheel input event.">PP_INPUTEVENT_CLASS_WHEEL</a> | <a class="code" href="group___enums.html#ggafe68e3c1031daa4a6496845ff47649cda2c3341eacc3a459713ce334b9af0cda8" title="Requests keyboard events.">PP_INPUTEVENT_CLASS_KEYBOARD</a>);
+</pre></div><dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_OK</code> if the operation succeeded, <code>PP_ERROR_BADARGUMENT</code> if instance is invalid, or <code>PP_ERROR_NOTSUPPORTED</code> if one of the event class bits were illegal. In the case of an invalid bit, all valid bits will be applied and only the illegal bits will be ignored. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a369d79730ad84d0b8dee9127c114086e"></a><!-- doxytag: member="PPB_InputEvent::RequestInputEvents" ref="a369d79730ad84d0b8dee9127c114086e" args=")(PP_Instance instance, uint32_t event_classes)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___input_event__1__0.html#a369d79730ad84d0b8dee9127c114086e">PPB_InputEvent::RequestInputEvents</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, uint32_t event_classes)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>RequestInputEvent() requests that input events corresponding to the given input events are delivered to the instance. </p>
+<p>It's recommended that you use <a class="el" href="struct_p_p_b___input_event__1__0.html#a42dcc8edf80141680e919258f3066069" title="RequestFilteringInputEvents() requests that input events corresponding to the given input events are ...">RequestFilteringInputEvents()</a> for keyboard events instead of this function so that you don't interfere with normal browser accelerators.</p>
+<p>By default, no input events are delivered. Call this function with the classes of events you are interested in to have them be delivered to the instance. Calling this function will override any previous setting for each specified class of input events (for example, if you previously called <a class="el" href="struct_p_p_b___input_event__1__0.html#a42dcc8edf80141680e919258f3066069" title="RequestFilteringInputEvents() requests that input events corresponding to the given input events are ...">RequestFilteringInputEvents()</a>, this function will set those events to non-filtering mode).</p>
+<p>Input events may have high overhead, so you should only request input events that your plugin will actually handle. For example, the browser may do optimizations for scroll or touch events that can be processed substantially faster if it knows there are no non-default receivers for that message. Requesting that such messages be delivered, even if they are processed very quickly, may have a noticeable effect on the performance of the page.</p>
+<p>Note that synthetic mouse events will be generated from touch events if (and only if) the you do not request touch events.</p>
+<p>When requesting input events through this function, the events will be delivered and <em>not</em> bubbled to the page. This means that even if you aren't interested in the message, no other parts of the page will get a crack at the message.</p>
+<p><b>Example:</b> </p>
+<div class="fragment"><pre class="fragment"> <a class="code" href="struct_p_p_b___input_event__1__0.html#a369d79730ad84d0b8dee9127c114086e" title="RequestInputEvent() requests that input events corresponding to the given input events are delivered ...">RequestInputEvents</a>(instance, <a class="code" href="group___enums.html#ggafe68e3c1031daa4a6496845ff47649cda79ccc5180eb39c52ab3207f0c876dd52" title="Request mouse input events.">PP_INPUTEVENT_CLASS_MOUSE</a>);
+ <a class="code" href="struct_p_p_b___input_event__1__0.html#a42dcc8edf80141680e919258f3066069" title="RequestFilteringInputEvents() requests that input events corresponding to the given input events are ...">RequestFilteringInputEvents</a>(instance,
+ <a class="code" href="group___enums.html#ggafe68e3c1031daa4a6496845ff47649cda59d6686dbce1f0dc092cb88a451bb3a6" title="Identifies scroll wheel input event.">PP_INPUTEVENT_CLASS_WHEEL</a> | <a class="code" href="group___enums.html#ggafe68e3c1031daa4a6496845ff47649cda2c3341eacc3a459713ce334b9af0cda8" title="Requests keyboard events.">PP_INPUTEVENT_CLASS_KEYBOARD</a>);
+</pre></div><dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramname">instance</td><td>The <code>PP_Instance</code> of the instance requesting the given events.</td></tr>
+<tr><td class="paramname">event_classes</td><td>A combination of flags from <code>PP_InputEvent_Class</code> that identifies the classes of events the instance is requesting. The flags are combined by logically ORing their values.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_OK</code> if the operation succeeded, <code>PP_ERROR_BADARGUMENT</code> if instance is invalid, or <code>PP_ERROR_NOTSUPPORTED</code> if one of the event class bits were illegal. In the case of an invalid bit, all valid bits will be applied and only the illegal bits will be ignored. The most common cause of a <code>PP_ERROR_NOTSUPPORTED</code> return value is requesting keyboard events, these must use <a class="el" href="struct_p_p_b___input_event__1__0.html#a42dcc8edf80141680e919258f3066069" title="RequestFilteringInputEvents() requests that input events corresponding to the given input events are ...">RequestFilteringInputEvents()</a>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="ppb__input__event_8h.html">ppb_input_event.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___instance__1__0.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___instance__1__0.html
new file mode 100644
index 0000000..b29f349
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___instance__1__0.html
@@ -0,0 +1,69 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_Instance Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_Instance" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___instance__1__0.html#ae5b0da2fc0975c82213f687d96434625">BindGraphics</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> device)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___instance__1__0.html#a1a7dc39b5aa46596c91299047c6ab8b2">IsFullFrame</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The PPB_Instance interface contains pointers to functions related to the module instance on a web page. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="ae5b0da2fc0975c82213f687d96434625"></a><!-- doxytag: member="PPB_Instance::BindGraphics" ref="ae5b0da2fc0975c82213f687d96434625" args=")(PP_Instance instance, PP_Resource device)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___instance__1__0.html#ae5b0da2fc0975c82213f687d96434625">PPB_Instance::BindGraphics</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> device)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___instance__1__0.html#ae5b0da2fc0975c82213f687d96434625" title="BindGraphics() binds the given graphics as the current display surface.">BindGraphics()</a> binds the given graphics as the current display surface. </p>
+<p>The contents of this device is what will be displayed in the instance's area on the web page. The device must be a 2D or a 3D device.</p>
+<p>You can pass a <code>NULL</code> resource as the device parameter to unbind all devices from the given instance. The instance will then appear transparent. Re-binding the same device will return <code>PP_TRUE</code> and will do nothing.</p>
+<p>Any previously-bound device will be released. It is an error to bind a device when it is already bound to another instance. If you want to move a device between instances, first unbind it from the old one, and then rebind it to the new one.</p>
+<p>Binding a device will invalidate that portion of the web page to flush the contents of the new device to the screen.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A PP_Instance identifying one instance of a module. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">device</td><td>A PP_Resource corresponding to a graphics device.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_Bool</code> containing <code>PP_TRUE</code> if bind was successful or <code>PP_FALSE</code> if the device was not the correct type. On success, a reference to the device will be held by the instance, so the caller can release its reference if it chooses. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a1a7dc39b5aa46596c91299047c6ab8b2"></a><!-- doxytag: member="PPB_Instance::IsFullFrame" ref="a1a7dc39b5aa46596c91299047c6ab8b2" args=")(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___instance__1__0.html#a1a7dc39b5aa46596c91299047c6ab8b2">PPB_Instance::IsFullFrame</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___instance__1__0.html#a1a7dc39b5aa46596c91299047c6ab8b2" title="IsFullFrame() determines if the instance is full-frame.">IsFullFrame()</a> determines if the instance is full-frame. </p>
+<p>Such an instance represents the entire document in a frame rather than an embedded resource. This can happen if the user does a top-level navigation or the page specifies an iframe to a resource with a MIME type registered by the module.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> containing <code>PP_TRUE</code> if the instance is full-frame. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="ppb__instance_8h.html">ppb_instance.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___keyboard_input_event__1__0.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___keyboard_input_event__1__0.html
new file mode 100644
index 0000000..5ae8db65
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___keyboard_input_event__1__0.html
@@ -0,0 +1,112 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_KeyboardInputEvent Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_KeyboardInputEvent" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___keyboard_input_event__1__0.html#a4363d350778229bf8651c14321fc218e">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#gaca7296cfec99fcb6646b7144d1d6a0c5">PP_InputEvent_Type</a> type, <a class="el" href="group___typedefs.html#ga71cb1042cdeb38d7881b121f3b09ce94">PP_TimeTicks</a> time_stamp, uint32_t modifiers, uint32_t key_code, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> character_text)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___keyboard_input_event__1__0.html#aa8adda758cb3b4fcaea97862eb8f5e4f">IsKeyboardInputEvent</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___keyboard_input_event__1__0.html#a6fe1d45a20581608f1d8721e91130876">GetKeyCode</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> key_event)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___keyboard_input_event__1__0.html#a8a03b57ca3bde680dc8065c1d4a2099a">GetCharacterText</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> character_event)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_KeyboardInputEvent</code> interface contains pointers to several functions related to keyboard input events. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a4363d350778229bf8651c14321fc218e"></a><!-- doxytag: member="PPB_KeyboardInputEvent::Create" ref="a4363d350778229bf8651c14321fc218e" args=")(PP_Instance instance, PP_InputEvent_Type type, PP_TimeTicks time_stamp, uint32_t modifiers, uint32_t key_code, struct PP_Var character_text)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___keyboard_input_event__1__0.html#a4363d350778229bf8651c14321fc218e">PPB_KeyboardInputEvent::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#gaca7296cfec99fcb6646b7144d1d6a0c5">PP_InputEvent_Type</a> type, <a class="el" href="group___typedefs.html#ga71cb1042cdeb38d7881b121f3b09ce94">PP_TimeTicks</a> time_stamp, uint32_t modifiers, uint32_t key_code, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> character_text)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Creates a keyboard input event with the given parameters. </p>
+<p>Normally you will get a keyboard event passed through the HandleInputEvent and will not need to create them, but some applications may want to create their own for internal use. The type must be one of the keyboard event types.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance for which this event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>A <code>PP_InputEvent_Type</code> identifying the type of input event.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">time_stamp</td><td>A <code>PP_TimeTicks</code> indicating the time when the event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">modifiers</td><td>A bit field combination of the <code>PP_InputEvent_Modifier</code> flags.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">key_code</td><td>This value reflects the DOM KeyboardEvent <code>keyCode</code> field. Chrome populates this with the Windows-style Virtual Key code of the key.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">character_text</td><td>This value represents the typed character as a UTF-8 string.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> containing the new keyboard input event. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a8a03b57ca3bde680dc8065c1d4a2099a"></a><!-- doxytag: member="PPB_KeyboardInputEvent::GetCharacterText" ref="a8a03b57ca3bde680dc8065c1d4a2099a" args=")(PP_Resource character_event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___keyboard_input_event__1__0.html#a8a03b57ca3bde680dc8065c1d4a2099a">PPB_KeyboardInputEvent::GetCharacterText</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> character_event)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___keyboard_input_event__1__0.html#a8a03b57ca3bde680dc8065c1d4a2099a" title="GetCharacterText() returns the typed character as a UTF-8 string for the given character event...">GetCharacterText()</a> returns the typed character as a UTF-8 string for the given character event. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">character_event</td><td>A <code>PP_Resource</code> corresponding to a keyboard event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A string var representing a single typed character for character input events. For non-character input events the return value will be an undefined var. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a6fe1d45a20581608f1d8721e91130876"></a><!-- doxytag: member="PPB_KeyboardInputEvent::GetKeyCode" ref="a6fe1d45a20581608f1d8721e91130876" args=")(PP_Resource key_event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t(* <a class="el" href="struct_p_p_b___keyboard_input_event__1__0.html#a6fe1d45a20581608f1d8721e91130876">PPB_KeyboardInputEvent::GetKeyCode</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> key_event)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___keyboard_input_event__1__0.html#a6fe1d45a20581608f1d8721e91130876" title="GetKeyCode() returns the DOM keyCode field for the keyboard event.">GetKeyCode()</a> returns the DOM keyCode field for the keyboard event. </p>
+<p>Chrome populates this with the Windows-style Virtual Key code of the key.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">key_event</td><td>A <code>PP_Resource</code> corresponding to a keyboard event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The DOM keyCode field for the keyboard event. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aa8adda758cb3b4fcaea97862eb8f5e4f"></a><!-- doxytag: member="PPB_KeyboardInputEvent::IsKeyboardInputEvent" ref="aa8adda758cb3b4fcaea97862eb8f5e4f" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___keyboard_input_event__1__0.html#aa8adda758cb3b4fcaea97862eb8f5e4f">PPB_KeyboardInputEvent::IsKeyboardInputEvent</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___keyboard_input_event__1__0.html#aa8adda758cb3b4fcaea97862eb8f5e4f" title="IsKeyboardInputEvent() determines if a resource is a keyboard event.">IsKeyboardInputEvent()</a> determines if a resource is a keyboard event. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to an event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the given resource is a valid input event. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="ppb__input__event_8h.html">ppb_input_event.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___message_loop__1__0.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___message_loop__1__0.html
new file mode 100644
index 0000000..91493fb
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___message_loop__1__0.html
@@ -0,0 +1,227 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_MessageLoop Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_MessageLoop" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___message_loop__1__0.html#a2bbe000366ee68200cb97d956b9e33ef">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___message_loop__1__0.html#ab3ac0fdbe4c56d687bcf316552f0a6f6">GetForMainThread</a> )(void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___message_loop__1__0.html#a8049f2ad6395195a673d801b1eeb65df">GetCurrent</a> )(void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___message_loop__1__0.html#ad7e1c1fb0baf6a0446ffb241a6b226b9">AttachToCurrentThread</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> message_loop)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___message_loop__1__0.html#a2262dd5022845450f77b3601578cc22d">Run</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> message_loop)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___message_loop__1__0.html#a77b0e82e183d5295b0d765f70c4fe7ff">PostWork</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> message_loop, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback, int64_t delay_ms)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___message_loop__1__0.html#adbbdc03661c9ac41df82fffcc566603d">PostQuit</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> message_loop, <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> should_destroy)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>A message loop allows PPAPI calls to be issued on a thread. </p>
+<p>You may not issue any API calls on a thread without creating a message loop. It also allows you to post work to the message loop for a thread.</p>
+<p>To process work posted to the message loop, as well as completion callbacks for asynchronous operations, you must run the message loop via <a class="el" href="struct_p_p_b___message_loop__1__0.html#a2262dd5022845450f77b3601578cc22d" title="Runs the thread message loop.">Run()</a>.</p>
+<p>Note the system manages the lifetime of the instance (and all associated resources). If the instance is deleted from the page, background threads may suddenly see their PP_Resource handles become invalid. In this case, calls will fail with PP_ERROR_BADRESOURCE. If you need to access data associated with your instance, you will probably want to create some kind of threadsafe proxy object that can handle asynchronous destruction of the instance object.</p>
+<p>Typical usage: On the main thread:</p>
+<ul>
+<li>Create the thread yourself (using pthreads).</li>
+<li>Create the message loop resource.</li>
+<li>Pass the message loop resource to your thread's main function.</li>
+<li>Call <a class="el" href="struct_p_p_b___message_loop__1__0.html#a77b0e82e183d5295b0d765f70c4fe7ff" title="Schedules work to run on the given message loop.">PostWork()</a> on the message loop to run functions on the thread.</li>
+</ul>
+<p>From the background thread's main function:</p>
+<ul>
+<li>Call <a class="el" href="struct_p_p_b___message_loop__1__0.html#ad7e1c1fb0baf6a0446ffb241a6b226b9" title="Sets the given message loop resource as being the associated message loop for the currently running t...">AttachToCurrentThread()</a> with the message loop resource.</li>
+<li>Call <a class="el" href="struct_p_p_b___message_loop__1__0.html#a2262dd5022845450f77b3601578cc22d" title="Runs the thread message loop.">Run()</a> with the message loop resource.</li>
+</ul>
+<p>Your callbacks should look like this: </p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">void</span> DoMyWork(<span class="keywordtype">void</span>* user_data, int32_t status) {
+ <span class="keywordflow">if</span> (status != <a class="code" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba5c394615cfa8eaceba77ecedb65dc9cb" title="This value is returned by a function on successful synchronous completion or is passed as a result to...">PP_OK</a>) {
+ Cleanup(); <span class="comment">// e.g. free user_data.</span>
+ <span class="keywordflow">return</span>;
+ }
+ ... <span class="keywordflow">do</span> your work...
+ }
+</pre></div><p> For a C++ example, see ppapi/utility/threading/simple_thread.h</p>
+<p>(You can also create the message loop resource on the background thread, but then the main thread will have no reference to it should you want to call <a class="el" href="struct_p_p_b___message_loop__1__0.html#a77b0e82e183d5295b0d765f70c4fe7ff" title="Schedules work to run on the given message loop.">PostWork()</a>).</p>
+<p>THREAD HANDLING</p>
+<p>The main thread has an implicitly created message loop. The main thread is the thread where PPP_InitializeModule and PPP_Instance functions are called. You can retrieve a reference to this message loop by calling <a class="el" href="struct_p_p_b___message_loop__1__0.html#ab3ac0fdbe4c56d687bcf316552f0a6f6" title="Returns a resource identifying the message loop for the main thread.">GetForMainThread()</a> or, if your code is on the main thread, GetForCurrentThread() will also work.</p>
+<p>Some special threads created by the system can not have message loops. In particular, the background thread created for audio processing has this requirement because it's intended to be highly responsive to keep up with the realtime requirements of audio processing. You can not make PPAPI calls from these threads.</p>
+<p>Once you associate a message loop with a thread, you don't have to keep a reference to it. The system will hold a reference to the message loop for as long as the thread is running. The current message loop can be retrieved using the <a class="el" href="struct_p_p_b___message_loop__1__0.html#a8049f2ad6395195a673d801b1eeb65df" title="Returns a reference to the PPB_MessageLoop object attached to the current thread.">GetCurrent()</a> function.</p>
+<p>It is legal to create threads in your plugin without message loops, but PPAPI calls will fail unless explicitly noted in the documentation.</p>
+<p>You can create a message loop object on a thread and never actually run the message loop. This will allow you to call blocking PPAPI calls (via <a class="el" href="group___functions.html#ga340e452b4931d17bd44928769490e282" title="PP_BlockUntilComplete() is used in place of an actual completion callback to request blocking behavio...">PP_BlockUntilComplete()</a>). If you make any asynchronous calls, the callbacks from those calls will be queued in the message loop and never run. The same thing will happen if work is scheduled after the message loop exits and the message loop is not run again.</p>
+<p>DESTRUCTION AND ERROR HANDLING</p>
+<p>Often, your application will associate memory with completion callbacks. For example, the C++ CompletionCallbackFactory has a small amount of heap-allocated memory for each callback. This memory will be leaked if the callback is never run. To avoid this memory leak, you need to be careful about error handling and shutdown.</p>
+<p>There are a number of cases where posted callbacks will never be run:</p>
+<ul>
+<li>You tear down the thread (via pthreads) without "destroying" the message loop (via PostQuit with should_destroy = PP_TRUE). In this case, any tasks in the message queue will be lost.</li>
+</ul>
+<ul>
+<li>You create a message loop, post callbacks to it, and never run it.</li>
+</ul>
+<ul>
+<li>You quit the message loop via PostQuit with should_destroy set to PP_FALSE. In this case, the system will assume the message loop will be run again later and keep your tasks.</li>
+</ul>
+<p>To do proper shutdown, call PostQuit with should_destroy = PP_TRUE. This will prohibit future work from being posted, and will allow the message loop to run until all pending tasks are run.</p>
+<p>If you post a callback to a message loop that's been destroyed, or to an invalid message loop, PostWork will return an error and will not run the callback. This is true even for callbacks with the "required" flag set, since the system may not even know what thread to issue the error callback on.</p>
+<p>Therefore, you should check for errors from PostWork and destroy any associated memory to avoid leaks. If you're using the C++ CompletionCallbackFactory, use the following pattern: </p>
+<div class="fragment"><pre class="fragment"> pp::CompletionCallback callback = factory_.NewOptionalCallback(...);
+ int32_t result = message_loop.PostWork(callback);
+ <span class="keywordflow">if</span> (result != <a class="code" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba5c394615cfa8eaceba77ecedb65dc9cb" title="This value is returned by a function on successful synchronous completion or is passed as a result to...">PP_OK</a>)
+ callback.Run(result);
+</pre></div><p> This will run the callback with an error value, and assumes that the implementation of your callback checks the "result" argument and returns immediately on error. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="ad7e1c1fb0baf6a0446ffb241a6b226b9"></a><!-- doxytag: member="PPB_MessageLoop::AttachToCurrentThread" ref="ad7e1c1fb0baf6a0446ffb241a6b226b9" args=")(PP_Resource message_loop)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___message_loop__1__0.html#ad7e1c1fb0baf6a0446ffb241a6b226b9">PPB_MessageLoop::AttachToCurrentThread</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> message_loop)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sets the given message loop resource as being the associated message loop for the currently running thread. </p>
+<p>You must call this function exactly once on a thread before making any PPAPI calls. A message loop can only be attached to one thread, and the message loop can not be changed later. The message loop will be attached as long as the thread is running or until you quit with should_destroy set to PP_TRUE.</p>
+<p>If this function fails, attempting to run the message loop will fail. Note that you can still post work to the message loop: it will get queued up should the message loop eventually be successfully attached and run.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
+<li>PP_OK: The message loop was successfully attached to the thread and is ready to use.</li>
+<li>PP_ERROR_BADRESOURCE: The given message loop resource is invalid.</li>
+<li>PP_ERROR_INPROGRESS: The current thread already has a message loop attached. This will always be the case for the main thread, which has an implicit system-created message loop attached.</li>
+<li>PP_ERROR_WRONG_THREAD: The current thread type can not have a message loop attached to it. See the interface level discussion about these special threads, which include realtime audio threads. </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2bbe000366ee68200cb97d956b9e33ef"></a><!-- doxytag: member="PPB_MessageLoop::Create" ref="a2bbe000366ee68200cb97d956b9e33ef" args=")(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___message_loop__1__0.html#a2bbe000366ee68200cb97d956b9e33ef">PPB_MessageLoop::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Creates a message loop resource. </p>
+<p>This may be called from any thread. After your thread starts but before issuing any other PPAPI calls on it, you must associate it with a message loop by calling AttachToCurrentThread. </p>
+</div>
+</div>
+<a class="anchor" id="a8049f2ad6395195a673d801b1eeb65df"></a><!-- doxytag: member="PPB_MessageLoop::GetCurrent" ref="a8049f2ad6395195a673d801b1eeb65df" args=")(void)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___message_loop__1__0.html#a8049f2ad6395195a673d801b1eeb65df">PPB_MessageLoop::GetCurrent</a>)(void)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns a reference to the PPB_MessageLoop object attached to the current thread. </p>
+<p>If there is no attached message loop, the return value will be 0. </p>
+</div>
+</div>
+<a class="anchor" id="ab3ac0fdbe4c56d687bcf316552f0a6f6"></a><!-- doxytag: member="PPB_MessageLoop::GetForMainThread" ref="ab3ac0fdbe4c56d687bcf316552f0a6f6" args=")(void)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___message_loop__1__0.html#ab3ac0fdbe4c56d687bcf316552f0a6f6">PPB_MessageLoop::GetForMainThread</a>)(void)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns a resource identifying the message loop for the main thread. </p>
+<p>The main thread always has a message loop created by the system. </p>
+</div>
+</div>
+<a class="anchor" id="adbbdc03661c9ac41df82fffcc566603d"></a><!-- doxytag: member="PPB_MessageLoop::PostQuit" ref="adbbdc03661c9ac41df82fffcc566603d" args=")(PP_Resource message_loop, PP_Bool should_destroy)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___message_loop__1__0.html#adbbdc03661c9ac41df82fffcc566603d">PPB_MessageLoop::PostQuit</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> message_loop, <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> should_destroy)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Posts a quit message to the given message loop's work queue. </p>
+<p>Work posted before that point will be processed before quitting.</p>
+<p>This may be called on the message loop registered for the current thread, or it may be called on the message loop registered for another thread. It is an error to attempt to <a class="el" href="struct_p_p_b___message_loop__1__0.html#adbbdc03661c9ac41df82fffcc566603d" title="Posts a quit message to the given message loop's work queue.">PostQuit()</a> the main thread loop.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramname">should_destroy</td><td>Marks the message loop as being in a destroyed state and prevents further posting of messages.</td></tr>
+</table>
+</dd>
+</dl>
+<p>If you quit a message loop without setting should_destroy, it will still be attached to the thread and you can still run it again by calling <a class="el" href="struct_p_p_b___message_loop__1__0.html#a2262dd5022845450f77b3601578cc22d" title="Runs the thread message loop.">Run()</a> again. If you destroy it, it will be detached from the current thread.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
+<li>PP_OK: The request to quit was successfully posted.</li>
+<li>PP_ERROR_BADRESOURCE: The message loop was invalid.</li>
+<li>PP_ERROR_WRONG_THREAD: You are attempting to quit the main thread. The main thread's message loop is managed by the system and can't be quit. </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<a class="anchor" id="a77b0e82e183d5295b0d765f70c4fe7ff"></a><!-- doxytag: member="PPB_MessageLoop::PostWork" ref="a77b0e82e183d5295b0d765f70c4fe7ff" args=")(PP_Resource message_loop, struct PP_CompletionCallback callback, int64_t delay_ms)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___message_loop__1__0.html#a77b0e82e183d5295b0d765f70c4fe7ff">PPB_MessageLoop::PostWork</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> message_loop, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback, int64_t delay_ms)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Schedules work to run on the given message loop. </p>
+<p>This may be called from any thread. Posted work will be executed in the order it was posted when the message loop is <a class="el" href="struct_p_p_b___message_loop__1__0.html#a2262dd5022845450f77b3601578cc22d" title="Runs the thread message loop.">Run()</a>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramname">message_loop</td><td>The message loop resource.</td></tr>
+<tr><td class="paramname">callback</td><td>The completion callback to execute from the message loop.</td></tr>
+<tr><td class="paramname">delay_ms</td><td>The number of milliseconds to delay execution of the given completion callback. Passing 0 means it will get queued normally and executed in order.</td></tr>
+</table>
+</dd>
+</dl>
+<p>The completion callback will be called with PP_OK as the "result" parameter if it is run normally. It is good practice to check for PP_OK and return early otherwise.</p>
+<p>The "required" flag on the completion callback is ignored. If there is an error posting your callback, the error will be returned from PostWork and the callback will never be run (because there is no appropriate place to run your callback with an error without causing unexpected threading problems). If you associate memory with the completion callback (for example, you're using the C++ CompletionCallbackFactory), you will need to free this or manually run the callback. See "Destruction and error
+ handling" above.</p>
+<p>You can call this function before the message loop has started and the work will get queued until the message loop is run. You can also post work after the message loop has exited as long as should_destroy was PP_FALSE. It will be queued until the next invocation of <a class="el" href="struct_p_p_b___message_loop__1__0.html#a2262dd5022845450f77b3601578cc22d" title="Runs the thread message loop.">Run()</a>.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
+<li>PP_OK: The work was posted to the message loop's queue. As described above, this does not mean that the work has been or will be executed (if you never run the message loop after posting).</li>
+<li>PP_ERROR_BADRESOURCE: The given message loop resource is invalid.</li>
+<li>PP_ERROR_BADARGUMENT: The function pointer for the completion callback is null (this will be the case if you pass <a class="el" href="group___functions.html#ga340e452b4931d17bd44928769490e282" title="PP_BlockUntilComplete() is used in place of an actual completion callback to request blocking behavio...">PP_BlockUntilComplete()</a>).</li>
+<li>PP_ERROR_FAILED: The message loop has been destroyed. </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2262dd5022845450f77b3601578cc22d"></a><!-- doxytag: member="PPB_MessageLoop::Run" ref="a2262dd5022845450f77b3601578cc22d" args=")(PP_Resource message_loop)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___message_loop__1__0.html#a2262dd5022845450f77b3601578cc22d">PPB_MessageLoop::Run</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> message_loop)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Runs the thread message loop. </p>
+<p>Running the message loop is required for you to get issued completion callbacks on the thread.</p>
+<p>The message loop identified by the argument must have been previously successfully attached to the current thread.</p>
+<p>You may not run nested message loops. Since the main thread has an implicit message loop that the system runs, you may not call Run on the main thread.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
+<li>PP_OK: The message loop was successfully run. Note that on success, the message loop will only exit when you call <a class="el" href="struct_p_p_b___message_loop__1__0.html#adbbdc03661c9ac41df82fffcc566603d" title="Posts a quit message to the given message loop's work queue.">PostQuit()</a>.</li>
+<li>PP_ERROR_BADRESOURCE: The given message loop resource is invalid.</li>
+<li>PP_ERROR_WRONG_THREAD: You are attempting to run a message loop that has not been successfully attached to the current thread. Call <a class="el" href="struct_p_p_b___message_loop__1__0.html#ad7e1c1fb0baf6a0446ffb241a6b226b9" title="Sets the given message loop resource as being the associated message loop for the currently running t...">AttachToCurrentThread()</a>.</li>
+<li>PP_ERROR_INPROGRESS: You are attempting to call Run in a nested fashion (Run is already on the stack). This will occur if you attempt to call run on the main thread's message loop (see above). </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="ppb__message__loop_8h.html">ppb_message_loop.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___messaging__1__0.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___messaging__1__0.html
new file mode 100644
index 0000000..887b6ec
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___messaging__1__0.html
@@ -0,0 +1,65 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_Messaging Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_Messaging" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___messaging__1__0.html#a7f0412c47b340d21c9c98be2e83dcc53">PostMessage</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> message)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_Messaging</code> interface is implemented by the browser and is related to sending messages to JavaScript message event listeners on the DOM element associated with specific module instance. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a7f0412c47b340d21c9c98be2e83dcc53"></a><!-- doxytag: member="PPB_Messaging::PostMessage" ref="a7f0412c47b340d21c9c98be2e83dcc53" args=")(PP_Instance instance, struct PP_Var message)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___messaging__1__0.html#a7f0412c47b340d21c9c98be2e83dcc53">PPB_Messaging::PostMessage</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> message)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___messaging__1__0.html#a7f0412c47b340d21c9c98be2e83dcc53" title="PostMessage() asynchronously invokes any listeners for message events on the DOM element for the give...">PostMessage()</a> asynchronously invokes any listeners for message events on the DOM element for the given module instance. </p>
+<p>A call to <a class="el" href="struct_p_p_b___messaging__1__0.html#a7f0412c47b340d21c9c98be2e83dcc53" title="PostMessage() asynchronously invokes any listeners for message events on the DOM element for the give...">PostMessage()</a> will not block while the message is processed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">message</td><td>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> containing the data to be sent to JavaScript. <code>message</code> can be any <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> type except <code>PP_VARTYPE_OBJECT</code>. Array/Dictionary types are supported from Chrome M29 onward. All var types are copied when passing them to JavaScript.</td></tr>
+</table>
+</dd>
+</dl>
+<p>When passing array or dictionary <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code>s, the entire reference graph will be converted and transferred. If the reference graph has cycles, the message will not be sent and an error will be logged to the console.</p>
+<p>Listeners for message events in JavaScript code will receive an object conforming to the HTML 5 <code>MessageEvent</code> interface. Specifically, the value of message will be contained as a property called data in the received <code>MessageEvent</code>.</p>
+<p>This messaging system is similar to the system used for listening for messages from Web Workers. Refer to <code><a href="http://www.whatwg.org/specs/web-workers/current-work/">http://www.whatwg.org/specs/web-workers/current-work/</a></code> for further information.</p>
+<p><b>Example:</b></p>
+<div class="fragment"><pre class="fragment"> <body>
+ <<span class="keywordtype">object</span> <span class="keywordtype">id</span>=<span class="stringliteral">"plugin"</span>
+ type=<span class="stringliteral">"application/x-ppapi-postMessage-example"</span>/>
+ <script type=<span class="stringliteral">"text/javascript"</span>>
+ var plugin = document.getElementById(<span class="stringliteral">'plugin'</span>);
+ plugin.addEventListener(<span class="stringliteral">"message"</span>,
+ <span class="keyword">function</span>(message) { alert(message.data); },
+ <span class="keyword">false</span>);
+ </script>
+ </body>
+</pre></div><p>The module instance then invokes <a class="el" href="struct_p_p_b___messaging__1__0.html#a7f0412c47b340d21c9c98be2e83dcc53" title="PostMessage() asynchronously invokes any listeners for message events on the DOM element for the give...">PostMessage()</a> as follows:</p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">char</span> hello_world[] = <span class="stringliteral">"Hello world!"</span>;
+ <a class="code" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a> hello_var = ppb_var_interface->VarFromUtf8(instance,
+ hello_world,
+ <span class="keyword">sizeof</span>(hello_world));
+ ppb_messaging_interface->PostMessage(instance, hello_var); <span class="comment">// Copies var.</span>
+ ppb_var_interface->Release(hello_var);
+</pre></div><p>The browser will pop-up an alert saying "Hello world!" </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="ppb__messaging_8h.html">ppb_messaging.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___mouse_cursor__1__0.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___mouse_cursor__1__0.html
new file mode 100644
index 0000000..e324919
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___mouse_cursor__1__0.html
@@ -0,0 +1,47 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_MouseCursor Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_MouseCursor" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___mouse_cursor__1__0.html#affb0522468db2deccac0715c3997c2da">SetCursor</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, enum <a class="el" href="group___enums.html#gac53273018386c1db9542d2a06bbe118b">PP_MouseCursor_Type</a> type, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> image, const struct <a class="el" href="struct_p_p___point.html">PP_Point</a> *hot_spot)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_MouseCursor</code> allows setting the mouse cursor. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="affb0522468db2deccac0715c3997c2da"></a><!-- doxytag: member="PPB_MouseCursor::SetCursor" ref="affb0522468db2deccac0715c3997c2da" args=")(PP_Instance instance, enum PP_MouseCursor_Type type, PP_Resource image, const struct PP_Point *hot_spot)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___mouse_cursor__1__0.html#affb0522468db2deccac0715c3997c2da">PPB_MouseCursor::SetCursor</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, enum <a class="el" href="group___enums.html#gac53273018386c1db9542d2a06bbe118b">PP_MouseCursor_Type</a> type, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> image, const struct <a class="el" href="struct_p_p___point.html">PP_Point</a> *hot_spot)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sets the given mouse cursor. </p>
+<p>The mouse cursor will be in effect whenever the mouse is over the given instance until it is set again by another call. Note that you can hide the mouse cursor by setting it to the <code>PP_MOUSECURSOR_TYPE_NONE</code> type.</p>
+<p>This function allows setting both system defined mouse cursors and custom cursors. To set a system-defined cursor, pass the type you want and set the custom image to 0 and the hot spot to NULL. To set a custom cursor, set the type to <code>PP_MOUSECURSOR_TYPE_CUSTOM</code> and specify your image and hot spot.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying the instance that the mouse cursor will affect.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>A <code>PP_MouseCursor_Type</code> identifying the type of mouse cursor to show.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">image</td><td>A <code>PPB_ImageData</code> resource identifying the custom image to set when the type is <code>PP_MOUSECURSOR_TYPE_CUSTOM</code>. The image must be less than 32 pixels in each direction and must be of the system's native image format. When you are specifying a predefined cursor, this parameter must be 0.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">hot_spot</td><td>When setting a custom cursor, this identifies the pixel position within the given image of the "hot spot" of the cursor. When specifying a stock cursor, this parameter is ignored.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>PP_TRUE on success, or PP_FALSE if the instance or cursor type is invalid, or if the image is too large. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="ppb__mouse__cursor_8h.html">ppb_mouse_cursor.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___mouse_input_event__1__1.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___mouse_input_event__1__1.html
new file mode 100644
index 0000000..6ffbfe7
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___mouse_input_event__1__1.html
@@ -0,0 +1,148 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_MouseInputEvent Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_MouseInputEvent" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___mouse_input_event__1__1.html#a3bde5af35e13f10a3472132e82b8bb45">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#gaca7296cfec99fcb6646b7144d1d6a0c5">PP_InputEvent_Type</a> type, <a class="el" href="group___typedefs.html#ga71cb1042cdeb38d7881b121f3b09ce94">PP_TimeTicks</a> time_stamp, uint32_t modifiers, <a class="el" href="group___enums.html#ga25113f3c8d33e863fd38b3f70f8a5e6e">PP_InputEvent_MouseButton</a> mouse_button, const struct <a class="el" href="struct_p_p___point.html">PP_Point</a> *mouse_position, int32_t click_count, const struct <a class="el" href="struct_p_p___point.html">PP_Point</a> *mouse_movement)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___mouse_input_event__1__1.html#a4cf50f1f5527cf7e66788d4b47ae1638">IsMouseInputEvent</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga25113f3c8d33e863fd38b3f70f8a5e6e">PP_InputEvent_MouseButton</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___mouse_input_event__1__1.html#a7a90bf6abb794ca5c42af76d8fd71d22">GetButton</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> mouse_event)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___point.html">PP_Point</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___mouse_input_event__1__1.html#ab7c3f20bd61bec3db563a7956fdeb7e0">GetPosition</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> mouse_event)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___mouse_input_event__1__1.html#a2850b783ad0136b5818d876a1a01af22">GetClickCount</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> mouse_event)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___point.html">PP_Point</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___mouse_input_event__1__1.html#a043229000d9f7d9436ae8a963bb6aca1">GetMovement</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> mouse_event)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_MouseInputEvent</code> interface contains pointers to several functions related to mouse input events. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a3bde5af35e13f10a3472132e82b8bb45"></a><!-- doxytag: member="PPB_MouseInputEvent::Create" ref="a3bde5af35e13f10a3472132e82b8bb45" args=")(PP_Instance instance, PP_InputEvent_Type type, PP_TimeTicks time_stamp, uint32_t modifiers, PP_InputEvent_MouseButton mouse_button, const struct PP_Point *mouse_position, int32_t click_count, const struct PP_Point *mouse_movement)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___mouse_input_event__1__1.html#a3bde5af35e13f10a3472132e82b8bb45">PPB_MouseInputEvent::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#gaca7296cfec99fcb6646b7144d1d6a0c5">PP_InputEvent_Type</a> type, <a class="el" href="group___typedefs.html#ga71cb1042cdeb38d7881b121f3b09ce94">PP_TimeTicks</a> time_stamp, uint32_t modifiers, <a class="el" href="group___enums.html#ga25113f3c8d33e863fd38b3f70f8a5e6e">PP_InputEvent_MouseButton</a> mouse_button, const struct <a class="el" href="struct_p_p___point.html">PP_Point</a> *mouse_position, int32_t click_count, const struct <a class="el" href="struct_p_p___point.html">PP_Point</a> *mouse_movement)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___mouse_input_event__1__1.html#a3bde5af35e13f10a3472132e82b8bb45" title="Create() creates a mouse input event with the given parameters.">Create()</a> creates a mouse input event with the given parameters. </p>
+<p>Normally you will get a mouse event passed through the <code>HandleInputEvent</code> and will not need to create them, but some applications may want to create their own for internal use. The type must be one of the mouse event types.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance for which this event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>A <code>PP_InputEvent_Type</code> identifying the type of input event.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">time_stamp</td><td>A <code>PP_TimeTicks</code> indicating the time when the event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">modifiers</td><td>A bit field combination of the <code>PP_InputEvent_Modifier</code> flags.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">mouse_button</td><td>The button that changed for mouse down or up events. This value will be <code>PP_EVENT_MOUSEBUTTON_NONE</code> for mouse move, enter, and leave events.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">mouse_position</td><td>A <code>Point</code> containing the x and y position of the mouse when the event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">mouse_movement</td><td>The change in position of the mouse.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> containing the new mouse input event. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a7a90bf6abb794ca5c42af76d8fd71d22"></a><!-- doxytag: member="PPB_MouseInputEvent::GetButton" ref="a7a90bf6abb794ca5c42af76d8fd71d22" args=")(PP_Resource mouse_event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga25113f3c8d33e863fd38b3f70f8a5e6e">PP_InputEvent_MouseButton</a>(* <a class="el" href="struct_p_p_b___mouse_input_event__1__1.html#a7a90bf6abb794ca5c42af76d8fd71d22">PPB_MouseInputEvent::GetButton</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> mouse_event)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___mouse_input_event__1__1.html#a7a90bf6abb794ca5c42af76d8fd71d22" title="GetButton() returns the mouse button that generated a mouse down or up event.">GetButton()</a> returns the mouse button that generated a mouse down or up event. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">mouse_event</td><td>A <code>PP_Resource</code> corresponding to a mouse event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The mouse button associated with mouse down and up events. This value will be <code>PP_EVENT_MOUSEBUTTON_NONE</code> for mouse move, enter, and leave events, and for all non-mouse events. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2850b783ad0136b5818d876a1a01af22"></a><!-- doxytag: member="PPB_MouseInputEvent::GetClickCount" ref="a2850b783ad0136b5818d876a1a01af22" args=")(PP_Resource mouse_event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___mouse_input_event__1__1.html#a2850b783ad0136b5818d876a1a01af22">PPB_MouseInputEvent::GetClickCount</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> mouse_event)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a043229000d9f7d9436ae8a963bb6aca1"></a><!-- doxytag: member="PPB_MouseInputEvent::GetMovement" ref="a043229000d9f7d9436ae8a963bb6aca1" args=")(PP_Resource mouse_event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___point.html">PP_Point</a>(* <a class="el" href="struct_p_p_b___mouse_input_event__1__1.html#a043229000d9f7d9436ae8a963bb6aca1">PPB_MouseInputEvent::GetMovement</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> mouse_event)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns the change in position of the mouse. </p>
+<p>When the mouse is locked, although the mouse position doesn't actually change, this function still provides movement information, which indicates what the change in position would be had the mouse not been locked.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">mouse_event</td><td>A <code>PP_Resource</code> corresponding to a mouse event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The change in position of the mouse, relative to the previous position. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab7c3f20bd61bec3db563a7956fdeb7e0"></a><!-- doxytag: member="PPB_MouseInputEvent::GetPosition" ref="ab7c3f20bd61bec3db563a7956fdeb7e0" args=")(PP_Resource mouse_event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___point.html">PP_Point</a>(* <a class="el" href="struct_p_p_b___mouse_input_event__1__1.html#ab7c3f20bd61bec3db563a7956fdeb7e0">PPB_MouseInputEvent::GetPosition</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> mouse_event)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___mouse_input_event__1__1.html#ab7c3f20bd61bec3db563a7956fdeb7e0" title="GetPosition() returns the pixel location of a mouse input event.">GetPosition()</a> returns the pixel location of a mouse input event. </p>
+<p>When the mouse is locked, it returns the last known mouse position just as mouse lock was entered.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">mouse_event</td><td>A <code>PP_Resource</code> corresponding to a mouse event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The point associated with the mouse event, relative to the upper- left of the instance receiving the event. These values can be negative for mouse drags. The return value will be (0, 0) for non-mouse events. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a4cf50f1f5527cf7e66788d4b47ae1638"></a><!-- doxytag: member="PPB_MouseInputEvent::IsMouseInputEvent" ref="a4cf50f1f5527cf7e66788d4b47ae1638" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___mouse_input_event__1__1.html#a4cf50f1f5527cf7e66788d4b47ae1638">PPB_MouseInputEvent::IsMouseInputEvent</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___mouse_input_event__1__1.html#a4cf50f1f5527cf7e66788d4b47ae1638" title="IsMouseInputEvent() determines if a resource is a mouse event.">IsMouseInputEvent()</a> determines if a resource is a mouse event. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to an event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the given resource is a valid mouse input event, otherwise <code>PP_FALSE</code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="ppb__input__event_8h.html">ppb_input_event.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___mouse_lock__1__0.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___mouse_lock__1__0.html
new file mode 100644
index 0000000..f2ac7c5
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___mouse_lock__1__0.html
@@ -0,0 +1,67 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_MouseLock Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_MouseLock" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___mouse_lock__1__0.html#ac137bc2d66abfa39428ea67236c85401">LockMouse</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___mouse_lock__1__0.html#a1b9ab648a3638b469be6235d4c76d634">UnlockMouse</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_MouseLock</code> interface is implemented by the browser. </p>
+<p>This interface provides a way of locking the target of mouse events to a single module instance and removing the cursor from view. This mode is useful for certain classes of applications, especially first-person perspective 3D applications and 3D modeling software. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="ac137bc2d66abfa39428ea67236c85401"></a><!-- doxytag: member="PPB_MouseLock::LockMouse" ref="ac137bc2d66abfa39428ea67236c85401" args=")(PP_Instance instance, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___mouse_lock__1__0.html#ac137bc2d66abfa39428ea67236c85401">PPB_MouseLock::LockMouse</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___mouse_lock__1__0.html#ac137bc2d66abfa39428ea67236c85401" title="LockMouse() requests the mouse to be locked.">LockMouse()</a> requests the mouse to be locked. </p>
+<p>While the mouse is locked, the cursor is implicitly hidden from the user. Any movement of the mouse will generate a <code>PP_INPUTEVENT_TYPE_MOUSEMOVE</code> event. The <code>GetPosition()</code> function in the <code>PPB_MouseInputEvent</code> interface reports the last known mouse position just as mouse lock was entered. The <code>GetMovement()</code> function provides relative movement information indicating what the change in position of the mouse would be had it not been locked.</p>
+<p>The browser may revoke the mouse lock for reasons including (but not limited to) the user pressing the ESC key, the user activating another program using a reserved keystroke (e.g. ALT+TAB), or some other system event.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a1b9ab648a3638b469be6235d4c76d634"></a><!-- doxytag: member="PPB_MouseLock::UnlockMouse" ref="a1b9ab648a3638b469be6235d4c76d634" args=")(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___mouse_lock__1__0.html#a1b9ab648a3638b469be6235d4c76d634">PPB_MouseLock::UnlockMouse</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___mouse_lock__1__0.html#a1b9ab648a3638b469be6235d4c76d634" title="UnlockMouse() causes the mouse to be unlocked, allowing it to track user movement again...">UnlockMouse()</a> causes the mouse to be unlocked, allowing it to track user movement again. </p>
+<p>This is an asynchronous operation. The module instance will be notified using the <code>PPP_MouseLock</code> interface when it has lost the mouse lock.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="ppb__mouse__lock_8h.html">ppb_mouse_lock.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___net_address__1__0.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___net_address__1__0.html
new file mode 100644
index 0000000..334a2842
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___net_address__1__0.html
@@ -0,0 +1,176 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_NetAddress Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_NetAddress" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___net_address__1__0.html#a82fab17541bec1817622932f102afdf9">CreateFromIPv4Address</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, const struct <a class="el" href="struct_p_p___net_address___i_pv4.html">PP_NetAddress_IPv4</a> *ipv4_addr)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___net_address__1__0.html#a7531096a8ddbda89e83b1b57958337df">CreateFromIPv6Address</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, const struct <a class="el" href="struct_p_p___net_address___i_pv6.html">PP_NetAddress_IPv6</a> *ipv6_addr)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___net_address__1__0.html#a13f63cdfe4ee93b2539f73ec23739422">IsNetAddress</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga43636bcadf9aa312a4c345d210ae6c55">PP_NetAddress_Family</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___net_address__1__0.html#a139a1f09d00f0dcfce2eaad70af24124">GetFamily</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___net_address__1__0.html#a7552e536b89cc3aa4415f41a5c7ee7ee">DescribeAsString</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr, <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> include_port)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___net_address__1__0.html#af04c1b08407b0db414d796d2c733f0c0">DescribeAsIPv4Address</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr, struct <a class="el" href="struct_p_p___net_address___i_pv4.html">PP_NetAddress_IPv4</a> *ipv4_addr)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___net_address__1__0.html#a613670dcb447c3c32c2b39c8faa14b88">DescribeAsIPv6Address</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr, struct <a class="el" href="struct_p_p___net_address___i_pv6.html">PP_NetAddress_IPv6</a> *ipv6_addr)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_NetAddress</code> interface provides operations on network addresses. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a82fab17541bec1817622932f102afdf9"></a><!-- doxytag: member="PPB_NetAddress::CreateFromIPv4Address" ref="a82fab17541bec1817622932f102afdf9" args=")(PP_Instance instance, const struct PP_NetAddress_IPv4 *ipv4_addr)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___net_address__1__0.html#a82fab17541bec1817622932f102afdf9">PPB_NetAddress::CreateFromIPv4Address</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, const struct <a class="el" href="struct_p_p___net_address___i_pv4.html">PP_NetAddress_IPv4</a> *ipv4_addr)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Creates a <code>PPB_NetAddress</code> resource with the specified IPv4 address. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">ipv4_addr</td><td>An IPv4 address.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> representing the same address as <code>ipv4_addr</code> or 0 on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a7531096a8ddbda89e83b1b57958337df"></a><!-- doxytag: member="PPB_NetAddress::CreateFromIPv6Address" ref="a7531096a8ddbda89e83b1b57958337df" args=")(PP_Instance instance, const struct PP_NetAddress_IPv6 *ipv6_addr)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___net_address__1__0.html#a7531096a8ddbda89e83b1b57958337df">PPB_NetAddress::CreateFromIPv6Address</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, const struct <a class="el" href="struct_p_p___net_address___i_pv6.html">PP_NetAddress_IPv6</a> *ipv6_addr)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Creates a <code>PPB_NetAddress</code> resource with the specified IPv6 address. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">ipv6_addr</td><td>An IPv6 address.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> representing the same address as <code>ipv6_addr</code> or 0 on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="af04c1b08407b0db414d796d2c733f0c0"></a><!-- doxytag: member="PPB_NetAddress::DescribeAsIPv4Address" ref="af04c1b08407b0db414d796d2c733f0c0" args=")(PP_Resource addr, struct PP_NetAddress_IPv4 *ipv4_addr)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___net_address__1__0.html#af04c1b08407b0db414d796d2c733f0c0">PPB_NetAddress::DescribeAsIPv4Address</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr, struct <a class="el" href="struct_p_p___net_address___i_pv4.html">PP_NetAddress_IPv4</a> *ipv4_addr)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Fills a <code><a class="el" href="struct_p_p___net_address___i_pv4.html" title="All members are expressed in network byte order.">PP_NetAddress_IPv4</a></code> structure if the network address is of <code>PP_NETADDRESS_FAMILY_IPV4</code> address family. </p>
+<p>Note that passing a network address of <code>PP_NETADDRESS_FAMILY_IPV6</code> address family will fail even if the address is an IPv4-mapped IPv6 address.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>A <code>PP_Resource</code> corresponding to a network address. </td></tr>
+<tr><td class="paramdir">[out]</td><td class="paramname">ipv4_addr</td><td>A <code><a class="el" href="struct_p_p___net_address___i_pv4.html" title="All members are expressed in network byte order.">PP_NetAddress_IPv4</a></code> structure to store the result.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> value indicating whether the operation succeeded. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a613670dcb447c3c32c2b39c8faa14b88"></a><!-- doxytag: member="PPB_NetAddress::DescribeAsIPv6Address" ref="a613670dcb447c3c32c2b39c8faa14b88" args=")(PP_Resource addr, struct PP_NetAddress_IPv6 *ipv6_addr)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___net_address__1__0.html#a613670dcb447c3c32c2b39c8faa14b88">PPB_NetAddress::DescribeAsIPv6Address</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr, struct <a class="el" href="struct_p_p___net_address___i_pv6.html">PP_NetAddress_IPv6</a> *ipv6_addr)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Fills a <code><a class="el" href="struct_p_p___net_address___i_pv6.html" title="All members are expressed in network byte order.">PP_NetAddress_IPv6</a></code> structure if the network address is of <code>PP_NETADDRESS_FAMILY_IPV6</code> address family. </p>
+<p>Note that passing a network address of <code>PP_NETADDRESS_FAMILY_IPV4</code> address family will fail - this method doesn't map it to an IPv6 address.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>A <code>PP_Resource</code> corresponding to a network address. </td></tr>
+<tr><td class="paramdir">[out]</td><td class="paramname">ipv6_addr</td><td>A <code><a class="el" href="struct_p_p___net_address___i_pv6.html" title="All members are expressed in network byte order.">PP_NetAddress_IPv6</a></code> structure to store the result.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> value indicating whether the operation succeeded. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a7552e536b89cc3aa4415f41a5c7ee7ee"></a><!-- doxytag: member="PPB_NetAddress::DescribeAsString" ref="a7552e536b89cc3aa4415f41a5c7ee7ee" args=")(PP_Resource addr, PP_Bool include_port)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___net_address__1__0.html#a7552e536b89cc3aa4415f41a5c7ee7ee">PPB_NetAddress::DescribeAsString</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr, <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> include_port)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns a human-readable description of the network address. </p>
+<p>The description is in the form of host [ ":" port ] and conforms to <a href="http://tools.ietf.org/html/rfc3986#section-3.2">http://tools.ietf.org/html/rfc3986#section-3.2</a> for IPv4 and IPv6 addresses (e.g., "192.168.0.1", "192.168.0.1:99", or "[::1]:80").</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>A <code>PP_Resource</code> corresponding to a network address. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">include_port</td><td>Whether to include the port number in the description.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A string <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> on success; an undefined <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a139a1f09d00f0dcfce2eaad70af24124"></a><!-- doxytag: member="PPB_NetAddress::GetFamily" ref="a139a1f09d00f0dcfce2eaad70af24124" args=")(PP_Resource addr)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga43636bcadf9aa312a4c345d210ae6c55">PP_NetAddress_Family</a>(* <a class="el" href="struct_p_p_b___net_address__1__0.html#a139a1f09d00f0dcfce2eaad70af24124">PPB_NetAddress::GetFamily</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the address family. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>A <code>PP_Resource</code> corresponding to a network address.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The address family on success; <code>PP_NETADDRESS_FAMILY_UNSPECIFIED</code> on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a13f63cdfe4ee93b2539f73ec23739422"></a><!-- doxytag: member="PPB_NetAddress::IsNetAddress" ref="a13f63cdfe4ee93b2539f73ec23739422" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___net_address__1__0.html#a13f63cdfe4ee93b2539f73ec23739422">PPB_NetAddress::IsNetAddress</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Determines if a given resource is a network address. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> to check.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the input is a <code>PPB_NetAddress</code> resource; <code>PP_FALSE</code> otherwise. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="ppb__net__address_8h.html">ppb_net_address.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___network_list__1__0.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___network_list__1__0.html
new file mode 100644
index 0000000..cbe059b3
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___network_list__1__0.html
@@ -0,0 +1,197 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_NetworkList Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_NetworkList" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_list__1__0.html#ac8ab7ecff9909962a839d10f6e571954">IsNetworkList</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_list__1__0.html#a9240190a389e0068088e604704b153de">GetCount</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_list__1__0.html#a59fdecb98a8a25e7bf257d7106d74bae">GetName</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, uint32_t index)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga1c967cb753eb468493b3bf72e6733983">PP_NetworkList_Type</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_list__1__0.html#ae272fca616d11a27ea09c06a0659e0cc">GetType</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, uint32_t index)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga9188881b5d3346626db0ea8e6aaecf1f">PP_NetworkList_State</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_list__1__0.html#a2d9043e33c1c09f9eeea4b49be1629b1">GetState</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, uint32_t index)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_list__1__0.html#a0dcbe767aed13b3b3492343eb0aa9756">GetIpAddresses</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, uint32_t index, struct <a class="el" href="struct_p_p___array_output.html">PP_ArrayOutput</a> output)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_list__1__0.html#a54e77303af12f276181b32ff94820bd8">GetDisplayName</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, uint32_t index)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_list__1__0.html#a19ecaf7b4627fe7f5d2b0edf02232e8f">GetMTU</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, uint32_t index)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_NetworkList</code> is used to represent a list of network interfaces and their configuration. </p>
+<p>The content of the list is immutable. The current networks configuration can be received using the <code>PPB_NetworkMonitor</code> interface. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a9240190a389e0068088e604704b153de"></a><!-- doxytag: member="PPB_NetworkList::GetCount" ref="a9240190a389e0068088e604704b153de" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t(* <a class="el" href="struct_p_p_b___network_list__1__0.html#a9240190a389e0068088e604704b153de">PPB_NetworkList::GetCount</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets number of interfaces in the list. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a network list.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns number of available network interfaces or 0 if the list has never been updated. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a54e77303af12f276181b32ff94820bd8"></a><!-- doxytag: member="PPB_NetworkList::GetDisplayName" ref="a54e77303af12f276181b32ff94820bd8" args=")(PP_Resource resource, uint32_t index)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___network_list__1__0.html#a54e77303af12f276181b32ff94820bd8">PPB_NetworkList::GetDisplayName</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, uint32_t index)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets display name of a network interface. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a network list. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>Index of the network interface.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns display name for the network interface with the specified <code>index</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a0dcbe767aed13b3b3492343eb0aa9756"></a><!-- doxytag: member="PPB_NetworkList::GetIpAddresses" ref="a0dcbe767aed13b3b3492343eb0aa9756" args=")(PP_Resource resource, uint32_t index, struct PP_ArrayOutput output)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___network_list__1__0.html#a0dcbe767aed13b3b3492343eb0aa9756">PPB_NetworkList::GetIpAddresses</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, uint32_t index, struct <a class="el" href="struct_p_p___array_output.html">PP_ArrayOutput</a> output)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets list of IP addresses for a network interface. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a network list. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>Index of the network interface. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">output</td><td>An output array which will receive <code>PPB_NetAddress</code> resources on success. Please note that the ref count of those resources has already been increased by 1 for the caller.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a19ecaf7b4627fe7f5d2b0edf02232e8f"></a><!-- doxytag: member="PPB_NetworkList::GetMTU" ref="a19ecaf7b4627fe7f5d2b0edf02232e8f" args=")(PP_Resource resource, uint32_t index)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t(* <a class="el" href="struct_p_p_b___network_list__1__0.html#a19ecaf7b4627fe7f5d2b0edf02232e8f">PPB_NetworkList::GetMTU</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, uint32_t index)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets MTU (Maximum Transmission Unit) of a network interface. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a network list. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>Index of the network interface.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns MTU for the network interface with the specified <code>index</code> or 0 if MTU is unknown. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a59fdecb98a8a25e7bf257d7106d74bae"></a><!-- doxytag: member="PPB_NetworkList::GetName" ref="a59fdecb98a8a25e7bf257d7106d74bae" args=")(PP_Resource resource, uint32_t index)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___network_list__1__0.html#a59fdecb98a8a25e7bf257d7106d74bae">PPB_NetworkList::GetName</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, uint32_t index)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets name of a network interface. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a network list. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>Index of the network interface.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns name for the network interface with the specified <code>index</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2d9043e33c1c09f9eeea4b49be1629b1"></a><!-- doxytag: member="PPB_NetworkList::GetState" ref="a2d9043e33c1c09f9eeea4b49be1629b1" args=")(PP_Resource resource, uint32_t index)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga9188881b5d3346626db0ea8e6aaecf1f">PP_NetworkList_State</a>(* <a class="el" href="struct_p_p_b___network_list__1__0.html#a2d9043e33c1c09f9eeea4b49be1629b1">PPB_NetworkList::GetState</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, uint32_t index)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets state of a network interface. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a network list. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>Index of the network interface.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns current state of the network interface with the specified <code>index</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ae272fca616d11a27ea09c06a0659e0cc"></a><!-- doxytag: member="PPB_NetworkList::GetType" ref="ae272fca616d11a27ea09c06a0659e0cc" args=")(PP_Resource resource, uint32_t index)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga1c967cb753eb468493b3bf72e6733983">PP_NetworkList_Type</a>(* <a class="el" href="struct_p_p_b___network_list__1__0.html#ae272fca616d11a27ea09c06a0659e0cc">PPB_NetworkList::GetType</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, uint32_t index)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets type of a network interface. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a network list. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>Index of the network interface.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns type of the network interface with the specified <code>index</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ac8ab7ecff9909962a839d10f6e571954"></a><!-- doxytag: member="PPB_NetworkList::IsNetworkList" ref="ac8ab7ecff9909962a839d10f6e571954" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___network_list__1__0.html#ac8ab7ecff9909962a839d10f6e571954">PPB_NetworkList::IsNetworkList</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Determines if the specified <code>resource</code> is a <code>NetworkList</code> object. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>PP_TRUE</code> if <code>resource</code> is a <code>PPB_NetworkList</code>, <code>PP_FALSE</code> otherwise. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="ppb__network__list_8h.html">ppb_network_list.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___network_monitor__1__0.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___network_monitor__1__0.html
new file mode 100644
index 0000000..6aa2ab6
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___network_monitor__1__0.html
@@ -0,0 +1,88 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_NetworkMonitor Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_NetworkMonitor" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_monitor__1__0.html#a854eb22d3a1241f6d03602392fa7a6af">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_monitor__1__0.html#ade2323702ca75e315fac9e4fa6a9f5d5">UpdateNetworkList</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> network_monitor, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> *network_list, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_monitor__1__0.html#ac631ae11ea28c1274eed22b7725ccfe4">IsNetworkMonitor</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_NetworkMonitor</code> allows to get network interfaces configuration and monitor network configuration changes. </p>
+<p>Permissions: Apps permission <code>socket</code> with subrule <code>network-state</code> is required for <code><a class="el" href="struct_p_p_b___network_monitor__1__0.html#ade2323702ca75e315fac9e4fa6a9f5d5" title="Gets current network configuration.">UpdateNetworkList()</a></code>. For more details about network communication permissions, please see: <a href="http://developer.chrome.com/apps/app_network.html">http://developer.chrome.com/apps/app_network.html</a> </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a854eb22d3a1241f6d03602392fa7a6af"></a><!-- doxytag: member="PPB_NetworkMonitor::Create" ref="a854eb22d3a1241f6d03602392fa7a6af" args=")(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___network_monitor__1__0.html#a854eb22d3a1241f6d03602392fa7a6af">PPB_NetworkMonitor::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Creates a Network Monitor resource. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> corresponding to a network monitor or 0 on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ac631ae11ea28c1274eed22b7725ccfe4"></a><!-- doxytag: member="PPB_NetworkMonitor::IsNetworkMonitor" ref="ac631ae11ea28c1274eed22b7725ccfe4" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___network_monitor__1__0.html#ac631ae11ea28c1274eed22b7725ccfe4">PPB_NetworkMonitor::IsNetworkMonitor</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Determines if the specified <code>resource</code> is a <code>NetworkMonitor</code> object. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>PP_TRUE</code> if <code>resource</code> is a <code>PPB_NetworkMonitor</code>, <code>PP_FALSE</code> otherwise. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ade2323702ca75e315fac9e4fa6a9f5d5"></a><!-- doxytag: member="PPB_NetworkMonitor::UpdateNetworkList" ref="ade2323702ca75e315fac9e4fa6a9f5d5" args=")(PP_Resource network_monitor, PP_Resource *network_list, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___network_monitor__1__0.html#ade2323702ca75e315fac9e4fa6a9f5d5">PPB_NetworkMonitor::UpdateNetworkList</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> network_monitor, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> *network_list, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets current network configuration. </p>
+<p>When called for the first time, completes as soon as the current network configuration is received from the browser. Each consequent call will wait for network list changes, returning a new <code>PPB_NetworkList</code> resource every time.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">network_monitor</td><td>A <code>PP_Resource</code> corresponding to a network monitor. </td></tr>
+<tr><td class="paramdir">[out]</td><td class="paramname">network_list</td><td>The <code>PPB_NetworkList</code><code> resource with the current state of network interfaces. </code></td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td><code></code><code>A </code><code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code></code><code> An int32_t containing an error code from </code><code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. <code>PP_ERROR_NOACCESS</code> will be returned if the caller doesn't have required permissions. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="ppb__network__monitor_8h.html">ppb_network_monitor.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___network_proxy__1__0.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___network_proxy__1__0.html
new file mode 100644
index 0000000..dc48b84
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___network_proxy__1__0.html
@@ -0,0 +1,47 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_NetworkProxy Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_NetworkProxy" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_proxy__1__0.html#af417cbf01c96db637472ac31bb4c6fbb">GetProxyForURL</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> url, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> *proxy_string, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This interface provides a way to determine the appropriate proxy settings for a given URL. </p>
+<p>Permissions: Apps permission <code>socket</code> with subrule <code>resolve-proxy</code> is required for using this API. For more details about network communication permissions, please see: <a href="http://developer.chrome.com/apps/app_network.html">http://developer.chrome.com/apps/app_network.html</a> </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="af417cbf01c96db637472ac31bb4c6fbb"></a><!-- doxytag: member="PPB_NetworkProxy::GetProxyForURL" ref="af417cbf01c96db637472ac31bb4c6fbb" args=")(PP_Instance instance, struct PP_Var url, struct PP_Var *proxy_string, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___network_proxy__1__0.html#af417cbf01c96db637472ac31bb4c6fbb">PPB_NetworkProxy::GetProxyForURL</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> url, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> *proxy_string, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Retrieves the proxy that will be used for the given URL. </p>
+<p>The result will be a string in PAC format. For more details about PAC format, please see <a href="http://en.wikipedia.org/wiki/Proxy_auto-config">http://en.wikipedia.org/wiki/Proxy_auto-config</a></p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">url</td><td>A string <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> containing a URL.</td></tr>
+<tr><td class="paramdir">[out]</td><td class="paramname">proxy_string</td><td>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> that GetProxyForURL will set upon successful completion. If the call fails, <code>proxy_string </code> will be unchanged. Otherwise, it will be set to a string <code> <a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> containing the appropriate PAC string for <code>url</code>. If set, <code>proxy_string</code> will have a reference count of 1 which the plugin must manage.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="ppb__network__proxy_8h.html">ppb_network_proxy.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___t_c_p_socket__1__1.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___t_c_p_socket__1__1.html
new file mode 100644
index 0000000..7e9a503
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___t_c_p_socket__1__1.html
@@ -0,0 +1,318 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_TCPSocket Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_TCPSocket" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#a615cb349fbe99e25ae09078091c87b43">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#afe32ae060181370e12c93c206964a58f">IsTCPSocket</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#aae9a2f9ced445ca28a21721a0df5c567">Bind</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#a1d12313b4681e48fa6f9b789d26414cb">Connect</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#ab64edd222b040500767f5c9182358b68">GetLocalAddress</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#af28b600fcdf657ca31dd2e9218a774e1">GetRemoteAddress</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#ab4bd707da2d9d2136c59a08b3de2ce32">Read</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket, char *buffer, int32_t bytes_to_read, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#adea2cbc4e8487f2f26c2126983f9c856">Write</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket, const char *buffer, int32_t bytes_to_write, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#af3b28d2bf3f44d89e434e158854bea69">Listen</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket, int32_t backlog, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#a444d931c7fbb40e47cca8c55d57250f7">Accept</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> *accepted_tcp_socket, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#afc2d9d7577df96bd0ac8f3cc6f503266">Close</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#ab64ed8f1f7b4c3dce8d3493fb894ea0d">SetOption</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket, <a class="el" href="group___enums.html#ga1557c0bbce8739a3418e6027a9c44e12">PP_TCPSocket_Option</a> name, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> value, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_TCPSocket</code> interface provides TCP socket operations. </p>
+<p>Permissions: Apps permission <code>socket</code> with subrule <code>tcp-connect</code> is required for <code><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#a1d12313b4681e48fa6f9b789d26414cb" title="Connects the socket to the given address.">Connect()</a></code>; subrule <code>tcp-listen</code> is required for <code><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#af3b28d2bf3f44d89e434e158854bea69" title="Starts listening.">Listen()</a></code>. For more details about network communication permissions, please see: <a href="http://developer.chrome.com/apps/app_network.html">http://developer.chrome.com/apps/app_network.html</a> </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a444d931c7fbb40e47cca8c55d57250f7"></a><!-- doxytag: member="PPB_TCPSocket::Accept" ref="a444d931c7fbb40e47cca8c55d57250f7" args=")(PP_Resource tcp_socket, PP_Resource *accepted_tcp_socket, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#a444d931c7fbb40e47cca8c55d57250f7">PPB_TCPSocket::Accept</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> *accepted_tcp_socket, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Accepts a connection. </p>
+<p>The socket must be listening.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">tcp_socket</td><td>A <code>PP_Resource</code> corresponding to a TCP socket. </td></tr>
+<tr><td class="paramdir">[out]</td><td class="paramname">accepted_tcp_socket</td><td>Stores the accepted TCP socket on success. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>, including (but not limited to):<ul>
+<li><code>PP_ERROR_CONNECTION_ABORTED</code>: A connection has been aborted. </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<a class="anchor" id="aae9a2f9ced445ca28a21721a0df5c567"></a><!-- doxytag: member="PPB_TCPSocket::Bind" ref="aae9a2f9ced445ca28a21721a0df5c567" args=")(PP_Resource tcp_socket, PP_Resource addr, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#aae9a2f9ced445ca28a21721a0df5c567">PPB_TCPSocket::Bind</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Binds the socket to the given address. </p>
+<p>The socket must not be bound.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">tcp_socket</td><td>A <code>PP_Resource</code> corresponding to a TCP socket. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>A <code>PPB_NetAddress</code> resource. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>, including (but not limited to):<ul>
+<li><code>PP_ERROR_ADDRESS_IN_USE</code>: the address is already in use.</li>
+<li><code>PP_ERROR_ADDRESS_INVALID</code>: the address is invalid. </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<a class="anchor" id="afc2d9d7577df96bd0ac8f3cc6f503266"></a><!-- doxytag: member="PPB_TCPSocket::Close" ref="afc2d9d7577df96bd0ac8f3cc6f503266" args=")(PP_Resource tcp_socket)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#afc2d9d7577df96bd0ac8f3cc6f503266">PPB_TCPSocket::Close</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Cancels all pending operations and closes the socket. </p>
+<p>Any pending callbacks will still run, reporting <code>PP_ERROR_ABORTED</code> if pending IO was interrupted. After a call to this method, no output buffer pointers passed into previous <code><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#ab4bd707da2d9d2136c59a08b3de2ce32" title="Reads data from the socket.">Read()</a></code> or <code><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#a444d931c7fbb40e47cca8c55d57250f7" title="Accepts a connection.">Accept()</a></code> calls will be accessed. It is not valid to call <code><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#a1d12313b4681e48fa6f9b789d26414cb" title="Connects the socket to the given address.">Connect()</a></code> or <code><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#af3b28d2bf3f44d89e434e158854bea69" title="Starts listening.">Listen()</a></code> again.</p>
+<p>The socket is implicitly closed if it is destroyed, so you are not required to call this method.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">tcp_socket</td><td>A <code>PP_Resource</code> corresponding to a TCP socket. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a1d12313b4681e48fa6f9b789d26414cb"></a><!-- doxytag: member="PPB_TCPSocket::Connect" ref="a1d12313b4681e48fa6f9b789d26414cb" args=")(PP_Resource tcp_socket, PP_Resource addr, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#a1d12313b4681e48fa6f9b789d26414cb">PPB_TCPSocket::Connect</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Connects the socket to the given address. </p>
+<p>The socket must not be listening. Binding the socket beforehand is optional.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">tcp_socket</td><td>A <code>PP_Resource</code> corresponding to a TCP socket. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>A <code>PPB_NetAddress</code> resource. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>, including (but not limited to):<ul>
+<li><code>PP_ERROR_NOACCESS</code>: the caller doesn't have required permissions.</li>
+<li><code>PP_ERROR_ADDRESS_UNREACHABLE</code>: <code>addr</code> is unreachable.</li>
+<li><code>PP_ERROR_CONNECTION_REFUSED</code>: the connection attempt was refused.</li>
+<li><code>PP_ERROR_CONNECTION_FAILED</code>: the connection attempt failed.</li>
+<li><code>PP_ERROR_CONNECTION_TIMEDOUT</code>: the connection attempt timed out.</li>
+</ul>
+</dd></dl>
+<p>Since version 1.1, if the socket is listening/connected or has a pending listen/connect request, <code><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#a1d12313b4681e48fa6f9b789d26414cb" title="Connects the socket to the given address.">Connect()</a></code> will fail without starting a connection attempt; otherwise, any failure during the connection attempt will cause the socket to be closed. </p>
+</div>
+</div>
+<a class="anchor" id="a615cb349fbe99e25ae09078091c87b43"></a><!-- doxytag: member="PPB_TCPSocket::Create" ref="a615cb349fbe99e25ae09078091c87b43" args=")(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#a615cb349fbe99e25ae09078091c87b43">PPB_TCPSocket::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Creates a TCP socket resource. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> corresponding to a TCP socket or 0 on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab64edd222b040500767f5c9182358b68"></a><!-- doxytag: member="PPB_TCPSocket::GetLocalAddress" ref="ab64edd222b040500767f5c9182358b68" args=")(PP_Resource tcp_socket)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#ab64edd222b040500767f5c9182358b68">PPB_TCPSocket::GetLocalAddress</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the local address of the socket, if it is bound. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">tcp_socket</td><td>A <code>PP_Resource</code> corresponding to a TCP socket.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PPB_NetAddress</code> resource on success or 0 on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="af28b600fcdf657ca31dd2e9218a774e1"></a><!-- doxytag: member="PPB_TCPSocket::GetRemoteAddress" ref="af28b600fcdf657ca31dd2e9218a774e1" args=")(PP_Resource tcp_socket)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#af28b600fcdf657ca31dd2e9218a774e1">PPB_TCPSocket::GetRemoteAddress</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the remote address of the socket, if it is connected. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">tcp_socket</td><td>A <code>PP_Resource</code> corresponding to a TCP socket.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PPB_NetAddress</code> resource on success or 0 on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="afe32ae060181370e12c93c206964a58f"></a><!-- doxytag: member="PPB_TCPSocket::IsTCPSocket" ref="afe32ae060181370e12c93c206964a58f" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#afe32ae060181370e12c93c206964a58f">PPB_TCPSocket::IsTCPSocket</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Determines if a given resource is a TCP socket. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> to check.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the input is a <code>PPB_TCPSocket</code> resource; <code>PP_FALSE</code> otherwise. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="af3b28d2bf3f44d89e434e158854bea69"></a><!-- doxytag: member="PPB_TCPSocket::Listen" ref="af3b28d2bf3f44d89e434e158854bea69" args=")(PP_Resource tcp_socket, int32_t backlog, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#af3b28d2bf3f44d89e434e158854bea69">PPB_TCPSocket::Listen</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket, int32_t backlog, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Starts listening. </p>
+<p>The socket must be bound and not connected.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">tcp_socket</td><td>A <code>PP_Resource</code> corresponding to a TCP socket. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">backlog</td><td>A hint to determine the maximum length to which the queue of pending connections may grow. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>, including (but not limited to):<ul>
+<li><code>PP_ERROR_NOACCESS</code>: the caller doesn't have required permissions.</li>
+<li><code>PP_ERROR_ADDRESS_IN_USE</code>: Another socket is already listening on the same port. </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab4bd707da2d9d2136c59a08b3de2ce32"></a><!-- doxytag: member="PPB_TCPSocket::Read" ref="ab4bd707da2d9d2136c59a08b3de2ce32" args=")(PP_Resource tcp_socket, char *buffer, int32_t bytes_to_read, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#ab4bd707da2d9d2136c59a08b3de2ce32">PPB_TCPSocket::Read</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket, char *buffer, int32_t bytes_to_read, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Reads data from the socket. </p>
+<p>The socket must be connected. It may perform a partial read.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">tcp_socket</td><td>A <code>PP_Resource</code> corresponding to a TCP socket. </td></tr>
+<tr><td class="paramdir">[out]</td><td class="paramname">buffer</td><td>The buffer to store the received data on success. It must be at least as large as <code>bytes_to_read</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">bytes_to_read</td><td>The number of bytes to read. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A non-negative number on success to indicate how many bytes have been read, 0 means that end-of-file was reached; otherwise, an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab64ed8f1f7b4c3dce8d3493fb894ea0d"></a><!-- doxytag: member="PPB_TCPSocket::SetOption" ref="ab64ed8f1f7b4c3dce8d3493fb894ea0d" args=")(PP_Resource tcp_socket, PP_TCPSocket_Option name, struct PP_Var value, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#ab64ed8f1f7b4c3dce8d3493fb894ea0d">PPB_TCPSocket::SetOption</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket, <a class="el" href="group___enums.html#ga1557c0bbce8739a3418e6027a9c44e12">PP_TCPSocket_Option</a> name, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> value, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sets a socket option on the TCP socket. </p>
+<p>Please see the <code>PP_TCPSocket_Option</code> description for option names, value types and allowed values.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">tcp_socket</td><td>A <code>PP_Resource</code> corresponding to a TCP socket. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>The option to set. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The option value to set. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="adea2cbc4e8487f2f26c2126983f9c856"></a><!-- doxytag: member="PPB_TCPSocket::Write" ref="adea2cbc4e8487f2f26c2126983f9c856" args=")(PP_Resource tcp_socket, const char *buffer, int32_t bytes_to_write, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#adea2cbc4e8487f2f26c2126983f9c856">PPB_TCPSocket::Write</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket, const char *buffer, int32_t bytes_to_write, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Writes data to the socket. </p>
+<p>The socket must be connected. It may perform a partial write.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">tcp_socket</td><td>A <code>PP_Resource</code> corresponding to a TCP socket. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">buffer</td><td>The buffer containing the data to write. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">bytes_to_write</td><td>The number of bytes to write. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A non-negative number on success to indicate how many bytes have been written; otherwise, an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="ppb__tcp__socket_8h.html">ppb_tcp_socket.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___text_input_controller__1__0.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___text_input_controller__1__0.html
new file mode 100644
index 0000000..98795a297
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___text_input_controller__1__0.html
@@ -0,0 +1,82 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_TextInputController Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_TextInputController" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___text_input_controller__1__0.html#a4cb36e7536a78dc5893c288c2885cb97">SetTextInputType</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#ga5fef49ee4c2cc6dcead825340da0f116">PP_TextInput_Type</a> type)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___text_input_controller__1__0.html#ab34cfc4db88d4387845317042ceb63af">UpdateCaretPosition</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, const struct <a class="el" href="struct_p_p___rect.html">PP_Rect</a> *caret)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___text_input_controller__1__0.html#a4b05a8a76a6daadab941fb24ce5d23ce">CancelCompositionText</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___text_input_controller__1__0.html#aca1b52ba11e4384255eeecd90fc45ba5">UpdateSurroundingText</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> text, uint32_t caret, uint32_t anchor)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p><code>PPB_TextInputController</code> provides a set of functions for giving hints to the browser about the text input status of plugins, and functions for controlling input method editors (IMEs). </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a4b05a8a76a6daadab941fb24ce5d23ce"></a><!-- doxytag: member="PPB_TextInputController::CancelCompositionText" ref="a4b05a8a76a6daadab941fb24ce5d23ce" args=")(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___text_input_controller__1__0.html#a4b05a8a76a6daadab941fb24ce5d23ce">PPB_TextInputController::CancelCompositionText</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Cancels the current composition in IME. </p>
+</div>
+</div>
+<a class="anchor" id="a4cb36e7536a78dc5893c288c2885cb97"></a><!-- doxytag: member="PPB_TextInputController::SetTextInputType" ref="a4cb36e7536a78dc5893c288c2885cb97" args=")(PP_Instance instance, PP_TextInput_Type type)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___text_input_controller__1__0.html#a4cb36e7536a78dc5893c288c2885cb97">PPB_TextInputController::SetTextInputType</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#ga5fef49ee4c2cc6dcead825340da0f116">PP_TextInput_Type</a> type)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Informs the browser about the current text input mode of the plugin. </p>
+<p>Typical use of this information in the browser is to properly display/suppress tools for supporting text inputs (such as virtual keyboards in touch screen based devices, or input method editors often used for composing East Asian characters). </p>
+</div>
+</div>
+<a class="anchor" id="ab34cfc4db88d4387845317042ceb63af"></a><!-- doxytag: member="PPB_TextInputController::UpdateCaretPosition" ref="ab34cfc4db88d4387845317042ceb63af" args=")(PP_Instance instance, const struct PP_Rect *caret)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___text_input_controller__1__0.html#ab34cfc4db88d4387845317042ceb63af">PPB_TextInputController::UpdateCaretPosition</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, const struct <a class="el" href="struct_p_p___rect.html">PP_Rect</a> *caret)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Informs the browser about the coordinates of the text input caret area. </p>
+<p>Typical use of this information in the browser is to layout IME windows etc. </p>
+</div>
+</div>
+<a class="anchor" id="aca1b52ba11e4384255eeecd90fc45ba5"></a><!-- doxytag: member="PPB_TextInputController::UpdateSurroundingText" ref="aca1b52ba11e4384255eeecd90fc45ba5" args=")(PP_Instance instance, struct PP_Var text, uint32_t caret, uint32_t anchor)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___text_input_controller__1__0.html#aca1b52ba11e4384255eeecd90fc45ba5">PPB_TextInputController::UpdateSurroundingText</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> text, uint32_t caret, uint32_t anchor)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Informs the browser about the current text selection and surrounding text. </p>
+<p><code>text</code> is a UTF-8 string that contains the current range of text selection in the plugin. <code>caret</code> is the byte-index of the caret position within <code>text</code>. <code>anchor</code> is the byte-index of the anchor position (i.e., if a range of text is selected, it is the other edge of selection different from <code>caret</code>. If there are no selection, <code>anchor</code> is equal to <code>caret</code>.</p>
+<p>Typical use of this information in the browser is to enable "reconversion" features of IME that puts back the already committed text into the pre-commit composition state. Another use is to improve the precision of suggestion of IME by taking the context into account (e.g., if the caret looks to be on the beginning of a sentence, suggest capital letters in a virtual keyboard).</p>
+<p>When the focus is not on text, call this function setting <code>text</code> to an empty string and <code>caret</code> and <code>anchor</code> to zero. Also, the plugin should send the empty text when it does not want to reveal the selection to IME (e.g., when the surrounding text is containing password text). </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="ppb__text__input__controller_8h.html">ppb_text_input_controller.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___touch_input_event__1__0.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___touch_input_event__1__0.html
new file mode 100644
index 0000000..9646bc0
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___touch_input_event__1__0.html
@@ -0,0 +1,157 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_TouchInputEvent Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_TouchInputEvent" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___touch_input_event__1__0.html#a34366a8a64a16fee610eaeac7ecc8ae3">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#gaca7296cfec99fcb6646b7144d1d6a0c5">PP_InputEvent_Type</a> type, <a class="el" href="group___typedefs.html#ga71cb1042cdeb38d7881b121f3b09ce94">PP_TimeTicks</a> time_stamp, uint32_t modifiers)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___touch_input_event__1__0.html#abf9e7c7977ee60b29c2207a674f263c9">AddTouchPoint</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> touch_event, <a class="el" href="group___enums.html#gad5885a239d04166c8777432c81e39d0a">PP_TouchListType</a> list, const struct <a class="el" href="struct_p_p___touch_point.html">PP_TouchPoint</a> *point)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___touch_input_event__1__0.html#a1bed0c3d25f593b85ba26cb6e0c0bbab">IsTouchInputEvent</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___touch_input_event__1__0.html#af762fe8562a13c15a06b5825cf3b3bb9">GetTouchCount</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, <a class="el" href="group___enums.html#gad5885a239d04166c8777432c81e39d0a">PP_TouchListType</a> list)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___touch_point.html">PP_TouchPoint</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___touch_input_event__1__0.html#a1d108acb025c5a9ce74c15034955de63">GetTouchByIndex</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, <a class="el" href="group___enums.html#gad5885a239d04166c8777432c81e39d0a">PP_TouchListType</a> list, uint32_t index)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___touch_point.html">PP_TouchPoint</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___touch_input_event__1__0.html#a401d82dc926d1c2bbc32c5b91ee9e0d5">GetTouchById</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, <a class="el" href="group___enums.html#gad5885a239d04166c8777432c81e39d0a">PP_TouchListType</a> list, uint32_t touch_id)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_TouchInputEvent</code> interface contains pointers to several functions related to touch events. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="abf9e7c7977ee60b29c2207a674f263c9"></a><!-- doxytag: member="PPB_TouchInputEvent::AddTouchPoint" ref="abf9e7c7977ee60b29c2207a674f263c9" args=")(PP_Resource touch_event, PP_TouchListType list, const struct PP_TouchPoint *point)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___touch_input_event__1__0.html#abf9e7c7977ee60b29c2207a674f263c9">PPB_TouchInputEvent::AddTouchPoint</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> touch_event, <a class="el" href="group___enums.html#gad5885a239d04166c8777432c81e39d0a">PP_TouchListType</a> list, const struct <a class="el" href="struct_p_p___touch_point.html">PP_TouchPoint</a> *point)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Adds a touch point to the touch event in the specified touch-list. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">touch_event</td><td>A <code>PP_Resource</code> corresponding to a touch event.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">list</td><td>The list to add the touch point to.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">point</td><td>The point to add to the list. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a34366a8a64a16fee610eaeac7ecc8ae3"></a><!-- doxytag: member="PPB_TouchInputEvent::Create" ref="a34366a8a64a16fee610eaeac7ecc8ae3" args=")(PP_Instance instance, PP_InputEvent_Type type, PP_TimeTicks time_stamp, uint32_t modifiers)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___touch_input_event__1__0.html#a34366a8a64a16fee610eaeac7ecc8ae3">PPB_TouchInputEvent::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#gaca7296cfec99fcb6646b7144d1d6a0c5">PP_InputEvent_Type</a> type, <a class="el" href="group___typedefs.html#ga71cb1042cdeb38d7881b121f3b09ce94">PP_TimeTicks</a> time_stamp, uint32_t modifiers)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Creates a touch input event with the given parameters. </p>
+<p>Normally you will get a touch event passed through the HandleInputEvent and will not need to create them, but some applications may want to create their own for internal use. The type must be one of the touch event types. This newly created touch input event does not have any touch point in any of the touch-point lists. <code>AddTouchPoint</code> should be called to add the touch-points.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance for which this event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>A <code>PP_InputEvent_Type</code> identifying the type of input event.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">time_stamp</td><td>A <code>PP_TimeTicks</code> indicating the time when the event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">modifiers</td><td>A bit field combination of the <code>PP_InputEvent_Modifier</code> flags.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> containing the new touch input event. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a401d82dc926d1c2bbc32c5b91ee9e0d5"></a><!-- doxytag: member="PPB_TouchInputEvent::GetTouchById" ref="a401d82dc926d1c2bbc32c5b91ee9e0d5" args=")(PP_Resource resource, PP_TouchListType list, uint32_t touch_id)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___touch_point.html">PP_TouchPoint</a>(* <a class="el" href="struct_p_p_b___touch_input_event__1__0.html#a401d82dc926d1c2bbc32c5b91ee9e0d5">PPB_TouchInputEvent::GetTouchById</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, <a class="el" href="group___enums.html#gad5885a239d04166c8777432c81e39d0a">PP_TouchListType</a> list, uint32_t touch_id)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns the touch-point with the specified touch-id in the specified list. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a touch event.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">list</td><td>The list.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">touch_id</td><td>The id of the touch-point.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___touch_point.html" title="The PP_TouchPoint struct represents all information about a single touch point, such as position...">PP_TouchPoint</a></code> representing the touch-point. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a1d108acb025c5a9ce74c15034955de63"></a><!-- doxytag: member="PPB_TouchInputEvent::GetTouchByIndex" ref="a1d108acb025c5a9ce74c15034955de63" args=")(PP_Resource resource, PP_TouchListType list, uint32_t index)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___touch_point.html">PP_TouchPoint</a>(* <a class="el" href="struct_p_p_b___touch_input_event__1__0.html#a1d108acb025c5a9ce74c15034955de63">PPB_TouchInputEvent::GetTouchByIndex</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, <a class="el" href="group___enums.html#gad5885a239d04166c8777432c81e39d0a">PP_TouchListType</a> list, uint32_t index)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns the touch-point at the specified index from the specified list. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a touch event.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">list</td><td>The list.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>The index.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___touch_point.html" title="The PP_TouchPoint struct represents all information about a single touch point, such as position...">PP_TouchPoint</a></code> representing the touch-point. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="af762fe8562a13c15a06b5825cf3b3bb9"></a><!-- doxytag: member="PPB_TouchInputEvent::GetTouchCount" ref="af762fe8562a13c15a06b5825cf3b3bb9" args=")(PP_Resource resource, PP_TouchListType list)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t(* <a class="el" href="struct_p_p_b___touch_input_event__1__0.html#af762fe8562a13c15a06b5825cf3b3bb9">PPB_TouchInputEvent::GetTouchCount</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, <a class="el" href="group___enums.html#gad5885a239d04166c8777432c81e39d0a">PP_TouchListType</a> list)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns the number of touch-points in the specified list. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a touch event.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">list</td><td>The list.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The number of touch-points in the specified list. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a1bed0c3d25f593b85ba26cb6e0c0bbab"></a><!-- doxytag: member="PPB_TouchInputEvent::IsTouchInputEvent" ref="a1bed0c3d25f593b85ba26cb6e0c0bbab" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___touch_input_event__1__0.html#a1bed0c3d25f593b85ba26cb6e0c0bbab">PPB_TouchInputEvent::IsTouchInputEvent</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___touch_input_event__1__0.html#a1bed0c3d25f593b85ba26cb6e0c0bbab" title="IsTouchInputEvent() determines if a resource is a touch event.">IsTouchInputEvent()</a> determines if a resource is a touch event. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to an event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the given resource is a valid touch input event, otherwise <code>PP_FALSE</code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="ppb__input__event_8h.html">ppb_input_event.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___u_d_p_socket__1__0.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___u_d_p_socket__1__0.html
new file mode 100644
index 0000000..dbe2e3d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___u_d_p_socket__1__0.html
@@ -0,0 +1,208 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_UDPSocket Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_UDPSocket" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#a48dfac97beb8bef209ea79efaf5b0c32">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#a90de8c0e342ab04bc6d2439b2e0543a5">IsUDPSocket</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#a0cae18760f8e9c4f06f160edab542c46">Bind</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> udp_socket, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#aa71b3888a2edf12c7bccd69d4ddcbbb6">GetBoundAddress</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> udp_socket)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#a6f7b8cb60ad4279ac52feba6acca9cc2">RecvFrom</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> udp_socket, char *buffer, int32_t num_bytes, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> *addr, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#a9b78201046b292b6292f0d5bf55d3f76">SendTo</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> udp_socket, const char *buffer, int32_t num_bytes, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#a8b34e95d8f1ca113f2c806fb9b64d3e9">Close</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> udp_socket)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#a3def770b12177d3fa8faf36e184cc528">SetOption</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> udp_socket, <a class="el" href="group___enums.html#ga1a8472fa3e7150615c45c38fa8c12ce2">PP_UDPSocket_Option</a> name, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> value, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_UDPSocket</code> interface provides UDP socket operations. </p>
+<p>Permissions: Apps permission <code>socket</code> with subrule <code>udp-bind</code> is required for <code><a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#a0cae18760f8e9c4f06f160edab542c46" title="Binds the socket to the given address.">Bind()</a></code>; subrule <code>udp-send-to</code> is required for <code><a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#a9b78201046b292b6292f0d5bf55d3f76" title="Sends data to a specific destination.">SendTo()</a></code>. For more details about network communication permissions, please see: <a href="http://developer.chrome.com/apps/app_network.html">http://developer.chrome.com/apps/app_network.html</a> </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a0cae18760f8e9c4f06f160edab542c46"></a><!-- doxytag: member="PPB_UDPSocket::Bind" ref="a0cae18760f8e9c4f06f160edab542c46" args=")(PP_Resource udp_socket, PP_Resource addr, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#a0cae18760f8e9c4f06f160edab542c46">PPB_UDPSocket::Bind</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> udp_socket, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Binds the socket to the given address. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">udp_socket</td><td>A <code>PP_Resource</code> corresponding to a UDP socket. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>A <code>PPB_NetAddress</code> resource. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. <code>PP_ERROR_NOACCESS</code> will be returned if the caller doesn't have required permissions. <code>PP_ERROR_ADDRESS_IN_USE</code> will be returned if the address is already in use. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a8b34e95d8f1ca113f2c806fb9b64d3e9"></a><!-- doxytag: member="PPB_UDPSocket::Close" ref="a8b34e95d8f1ca113f2c806fb9b64d3e9" args=")(PP_Resource udp_socket)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#a8b34e95d8f1ca113f2c806fb9b64d3e9">PPB_UDPSocket::Close</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> udp_socket)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Cancels all pending reads and writes, and closes the socket. </p>
+<p>Any pending callbacks will still run, reporting <code>PP_ERROR_ABORTED</code> if pending IO was interrupted. After a call to this method, no output parameters passed into previous <code><a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#a6f7b8cb60ad4279ac52feba6acca9cc2" title="Receives data from the socket and stores the source address.">RecvFrom()</a></code> calls will be accessed. It is not valid to call <code><a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#a0cae18760f8e9c4f06f160edab542c46" title="Binds the socket to the given address.">Bind()</a></code> again.</p>
+<p>The socket is implicitly closed if it is destroyed, so you are not required to call this method.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">udp_socket</td><td>A <code>PP_Resource</code> corresponding to a UDP socket. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a48dfac97beb8bef209ea79efaf5b0c32"></a><!-- doxytag: member="PPB_UDPSocket::Create" ref="a48dfac97beb8bef209ea79efaf5b0c32" args=")(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#a48dfac97beb8bef209ea79efaf5b0c32">PPB_UDPSocket::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Creates a UDP socket resource. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> corresponding to a UDP socket or 0 on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aa71b3888a2edf12c7bccd69d4ddcbbb6"></a><!-- doxytag: member="PPB_UDPSocket::GetBoundAddress" ref="aa71b3888a2edf12c7bccd69d4ddcbbb6" args=")(PP_Resource udp_socket)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#aa71b3888a2edf12c7bccd69d4ddcbbb6">PPB_UDPSocket::GetBoundAddress</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> udp_socket)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the address that the socket is bound to. </p>
+<p>The socket must be bound.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">udp_socket</td><td>A <code>PP_Resource</code> corresponding to a UDP socket.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PPB_NetAddress</code> resource on success or 0 on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a90de8c0e342ab04bc6d2439b2e0543a5"></a><!-- doxytag: member="PPB_UDPSocket::IsUDPSocket" ref="a90de8c0e342ab04bc6d2439b2e0543a5" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#a90de8c0e342ab04bc6d2439b2e0543a5">PPB_UDPSocket::IsUDPSocket</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Determines if a given resource is a UDP socket. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> to check.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the input is a <code>PPB_UDPSocket</code> resource; <code>PP_FALSE</code> otherwise. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a6f7b8cb60ad4279ac52feba6acca9cc2"></a><!-- doxytag: member="PPB_UDPSocket::RecvFrom" ref="a6f7b8cb60ad4279ac52feba6acca9cc2" args=")(PP_Resource udp_socket, char *buffer, int32_t num_bytes, PP_Resource *addr, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#a6f7b8cb60ad4279ac52feba6acca9cc2">PPB_UDPSocket::RecvFrom</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> udp_socket, char *buffer, int32_t num_bytes, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> *addr, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Receives data from the socket and stores the source address. </p>
+<p>The socket must be bound.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">udp_socket</td><td>A <code>PP_Resource</code> corresponding to a UDP socket. </td></tr>
+<tr><td class="paramdir">[out]</td><td class="paramname">buffer</td><td>The buffer to store the received data on success. It must be at least as large as <code>num_bytes</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">num_bytes</td><td>The number of bytes to receive. </td></tr>
+<tr><td class="paramdir">[out]</td><td class="paramname">addr</td><td>A <code>PPB_NetAddress</code> resource to store the source address on success. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A non-negative number on success to indicate how many bytes have been received; otherwise, an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a9b78201046b292b6292f0d5bf55d3f76"></a><!-- doxytag: member="PPB_UDPSocket::SendTo" ref="a9b78201046b292b6292f0d5bf55d3f76" args=")(PP_Resource udp_socket, const char *buffer, int32_t num_bytes, PP_Resource addr, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#a9b78201046b292b6292f0d5bf55d3f76">PPB_UDPSocket::SendTo</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> udp_socket, const char *buffer, int32_t num_bytes, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sends data to a specific destination. </p>
+<p>The socket must be bound.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">udp_socket</td><td>A <code>PP_Resource</code> corresponding to a UDP socket. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">buffer</td><td>The buffer containing the data to send. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">num_bytes</td><td>The number of bytes to send. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>A <code>PPB_NetAddress</code> resource holding the destination address. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A non-negative number on success to indicate how many bytes have been sent; otherwise, an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. <code>PP_ERROR_NOACCESS</code> will be returned if the caller doesn't have required permissions. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a3def770b12177d3fa8faf36e184cc528"></a><!-- doxytag: member="PPB_UDPSocket::SetOption" ref="a3def770b12177d3fa8faf36e184cc528" args=")(PP_Resource udp_socket, PP_UDPSocket_Option name, struct PP_Var value, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#a3def770b12177d3fa8faf36e184cc528">PPB_UDPSocket::SetOption</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> udp_socket, <a class="el" href="group___enums.html#ga1a8472fa3e7150615c45c38fa8c12ce2">PP_UDPSocket_Option</a> name, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> value, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sets a socket option on the UDP socket. </p>
+<p>Please see the <code>PP_UDPSocket_Option</code> description for option names, value types and allowed values.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">udp_socket</td><td>A <code>PP_Resource</code> corresponding to a UDP socket. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>The option to set. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The option value to set. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="ppb__udp__socket_8h.html">ppb_udp_socket.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___u_r_l_loader__1__0.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___u_r_l_loader__1__0.html
new file mode 100644
index 0000000..40f5457
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___u_r_l_loader__1__0.html
@@ -0,0 +1,264 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_URLLoader Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_URLLoader" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#ab0ab892fe290ba6449d467db53fd4987">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a70db3876aed119140479e952cb7b1057">IsURLLoader</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a5e7fca398c1042e2c81211da80d20e14">Open</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> loader, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> request_info, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a1932cf9779391f4d3efb4582ff49b0a6">FollowRedirect</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> loader, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#abb04744dfe5fce11e46c0e7e36c30b65">GetUploadProgress</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> loader, int64_t *bytes_sent, int64_t *total_bytes_to_be_sent)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a3673506c6e0e23287b7d10e1163a0bbe">GetDownloadProgress</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> loader, int64_t *bytes_received, int64_t *total_bytes_to_be_received)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a4901dcc43cfdc026e582555974d4d853">GetResponseInfo</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> loader)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a92d0f2dc44bc4d087ad0ddca6557fb05">ReadResponseBody</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> loader, void *buffer, int32_t bytes_to_read, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a187774b3255231fa00ad1fe1364677ff">FinishStreamingToFile</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> loader, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#af96116176988be90bdee2619deff6e42">Close</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> loader)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <b>PPB_URLLoader</b> interface contains pointers to functions for loading URLs. </p>
+<p>The typical steps for loading a URL are:</p>
+<ol type="1">
+<li>Call <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#ab0ab892fe290ba6449d467db53fd4987" title="Create() creates a new URLLoader object.">Create()</a> to create a URLLoader object.</li>
+<li>Create a <code>URLRequestInfo</code> object and set properties on it. Refer to <code>PPB_URLRequestInfo</code> for further information.</li>
+<li>Call <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a5e7fca398c1042e2c81211da80d20e14" title="Open() begins loading the URLRequestInfo.">Open()</a> with the <code>URLRequestInfo</code> as an argument.</li>
+<li>When <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a5e7fca398c1042e2c81211da80d20e14" title="Open() begins loading the URLRequestInfo.">Open()</a> completes, call <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a4901dcc43cfdc026e582555974d4d853" title="GetResponseInfo() returns the current URLResponseInfo object.">GetResponseInfo()</a> to examine the response headers. Refer to <code>PPB_URLResponseInfo</code> for further information.</li>
+<li>Call <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a92d0f2dc44bc4d087ad0ddca6557fb05" title="ReadResponseBody() is used to read the response body.">ReadResponseBody()</a> to stream the data for the response.</li>
+</ol>
+<p>Alternatively, if <code>PP_URLREQUESTPROPERTY_STREAMTOFILE</code> was set on the <code>URLRequestInfo</code> in step #2:</p>
+<ul>
+<li>Call <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a187774b3255231fa00ad1fe1364677ff" title="FinishStreamingToFile() is used to wait for the response body to be completely downloaded to the file...">FinishStreamingToFile()</a>, after examining the response headers (step #4), to wait for the downloaded file to be complete.</li>
+<li>Then, access the downloaded file using the GetBodyAsFileRef() function of the <code>URLResponseInfo</code> returned in step #4. </li>
+</ul>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="af96116176988be90bdee2619deff6e42"></a><!-- doxytag: member="PPB_URLLoader::Close" ref="af96116176988be90bdee2619deff6e42" args=")(PP_Resource loader)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#af96116176988be90bdee2619deff6e42">PPB_URLLoader::Close</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> loader)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Close is a pointer to a function used to cancel any pending IO and close the <code>URLLoader</code> object. </p>
+<p>Any pending callbacks will still run, reporting <code>PP_ERROR_ABORTED</code> if pending IO was interrupted. It is NOT valid to call <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a5e7fca398c1042e2c81211da80d20e14" title="Open() begins loading the URLRequestInfo.">Open()</a> again after a call to this function.</p>
+<p><b>Note:</b> If the <code>URLLoader</code> object is destroyed while it is still open, then it will be implicitly closed so you are not required to call <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#af96116176988be90bdee2619deff6e42" title="Close is a pointer to a function used to cancel any pending IO and close the URLLoader object...">Close()</a>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">loader</td><td>A <code>PP_Resource</code> corresponding to a <code>URLLoader</code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ab0ab892fe290ba6449d467db53fd4987"></a><!-- doxytag: member="PPB_URLLoader::Create" ref="ab0ab892fe290ba6449d467db53fd4987" args=")(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#ab0ab892fe290ba6449d467db53fd4987">PPB_URLLoader::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#ab0ab892fe290ba6449d467db53fd4987" title="Create() creates a new URLLoader object.">Create()</a> creates a new <code>URLLoader</code> object. </p>
+<p>The <code>URLLoader</code> is associated with a particular instance, so that any UI dialogs that need to be shown to the user can be positioned relative to the window containing the instance.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> corresponding to a URLLoader if successful, 0 if the instance is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a187774b3255231fa00ad1fe1364677ff"></a><!-- doxytag: member="PPB_URLLoader::FinishStreamingToFile" ref="a187774b3255231fa00ad1fe1364677ff" args=")(PP_Resource loader, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a187774b3255231fa00ad1fe1364677ff">PPB_URLLoader::FinishStreamingToFile</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> loader, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a187774b3255231fa00ad1fe1364677ff" title="FinishStreamingToFile() is used to wait for the response body to be completely downloaded to the file...">FinishStreamingToFile()</a> is used to wait for the response body to be completely downloaded to the file provided by the GetBodyAsFileRef() in the current <code>URLResponseInfo</code>. </p>
+<p>This function is only used if <code>PP_URLREQUESTPROPERTY_STREAMTOFILE</code> was set on the <code>URLRequestInfo</code> passed to <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a5e7fca398c1042e2c81211da80d20e14" title="Open() begins loading the URLRequestInfo.">Open()</a>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">loader</td><td>A <code>PP_Resource</code> corresponding to a <code>URLLoader</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to run on asynchronous completion. This callback will run when body is downloaded or an error occurs after <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a187774b3255231fa00ad1fe1364677ff" title="FinishStreamingToFile() is used to wait for the response body to be completely downloaded to the file...">FinishStreamingToFile()</a> returns <code>PP_OK_COMPLETIONPENDING</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing the number of bytes read or an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a1932cf9779391f4d3efb4582ff49b0a6"></a><!-- doxytag: member="PPB_URLLoader::FollowRedirect" ref="a1932cf9779391f4d3efb4582ff49b0a6" args=")(PP_Resource loader, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a1932cf9779391f4d3efb4582ff49b0a6">PPB_URLLoader::FollowRedirect</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> loader, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a1932cf9779391f4d3efb4582ff49b0a6" title="FollowRedirect() can be invoked to follow a redirect after Open() completed on receiving redirect hea...">FollowRedirect()</a> can be invoked to follow a redirect after <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a5e7fca398c1042e2c81211da80d20e14" title="Open() begins loading the URLRequestInfo.">Open()</a> completed on receiving redirect headers. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">loader</td><td>A <code>PP_Resource</code> corresponding to a <code>URLLoader</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to run on asynchronous completion of <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a1932cf9779391f4d3efb4582ff49b0a6" title="FollowRedirect() can be invoked to follow a redirect after Open() completed on receiving redirect hea...">FollowRedirect()</a>. This callback will run when response headers for the redirect url are received or error occurred. This callback will only run if <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a1932cf9779391f4d3efb4582ff49b0a6" title="FollowRedirect() can be invoked to follow a redirect after Open() completed on receiving redirect hea...">FollowRedirect()</a> returns <code>PP_OK_COMPLETIONPENDING</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a3673506c6e0e23287b7d10e1163a0bbe"></a><!-- doxytag: member="PPB_URLLoader::GetDownloadProgress" ref="a3673506c6e0e23287b7d10e1163a0bbe" args=")(PP_Resource loader, int64_t *bytes_received, int64_t *total_bytes_to_be_received)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a3673506c6e0e23287b7d10e1163a0bbe">PPB_URLLoader::GetDownloadProgress</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> loader, int64_t *bytes_received, int64_t *total_bytes_to_be_received)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a3673506c6e0e23287b7d10e1163a0bbe" title="GetDownloadProgress() returns the current download progress, which is meaningful after Open() has bee...">GetDownloadProgress()</a> returns the current download progress, which is meaningful after <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a5e7fca398c1042e2c81211da80d20e14" title="Open() begins loading the URLRequestInfo.">Open()</a> has been called. </p>
+<p>Progress only refers to the response body and does not include the headers.</p>
+<p>This data is only available if the <code>URLRequestInfo</code> passed to <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a5e7fca398c1042e2c81211da80d20e14" title="Open() begins loading the URLRequestInfo.">Open()</a> had the <code>PP_URLREQUESTPROPERTY_REPORTDOWNLOADPROGRESS</code> property set to <code>PP_TRUE</code>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">loader</td><td>A <code>PP_Resource</code> corresponding to a <code>URLLoader</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">bytes_received</td><td>The number of bytes received thus far. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">total_bytes_to_be_received</td><td>The total number of bytes to be received. The total bytes to be received may be unknown, in which case <code>total_bytes_to_be_received</code> will be set to -1.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the download progress is available, <code>PP_FALSE</code> if it is not available. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a4901dcc43cfdc026e582555974d4d853"></a><!-- doxytag: member="PPB_URLLoader::GetResponseInfo" ref="a4901dcc43cfdc026e582555974d4d853" args=")(PP_Resource loader)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a4901dcc43cfdc026e582555974d4d853">PPB_URLLoader::GetResponseInfo</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> loader)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a4901dcc43cfdc026e582555974d4d853" title="GetResponseInfo() returns the current URLResponseInfo object.">GetResponseInfo()</a> returns the current <code>URLResponseInfo</code> object. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Resource</code> corresponding to a <code>URLLoader</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> corresponding to the <code>URLResponseInfo</code> if successful, 0 if the loader is not a valid resource or if <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a5e7fca398c1042e2c81211da80d20e14" title="Open() begins loading the URLRequestInfo.">Open()</a> has not been called. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="abb04744dfe5fce11e46c0e7e36c30b65"></a><!-- doxytag: member="PPB_URLLoader::GetUploadProgress" ref="abb04744dfe5fce11e46c0e7e36c30b65" args=")(PP_Resource loader, int64_t *bytes_sent, int64_t *total_bytes_to_be_sent)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#abb04744dfe5fce11e46c0e7e36c30b65">PPB_URLLoader::GetUploadProgress</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> loader, int64_t *bytes_sent, int64_t *total_bytes_to_be_sent)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#abb04744dfe5fce11e46c0e7e36c30b65" title="GetUploadProgress() returns the current upload progress (which is meaningful after Open() has been ca...">GetUploadProgress()</a> returns the current upload progress (which is meaningful after <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a5e7fca398c1042e2c81211da80d20e14" title="Open() begins loading the URLRequestInfo.">Open()</a> has been called). </p>
+<p>Progress only refers to the request body and does not include the headers.</p>
+<p>This data is only available if the <code>URLRequestInfo</code> passed to <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a5e7fca398c1042e2c81211da80d20e14" title="Open() begins loading the URLRequestInfo.">Open()</a> had the <code>PP_URLREQUESTPROPERTY_REPORTUPLOADPROGRESS</code> property set to PP_TRUE.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">loader</td><td>A <code>PP_Resource</code> corresponding to a <code>URLLoader</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">bytes_sent</td><td>The number of bytes sent thus far. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">total_bytes_to_be_sent</td><td>The total number of bytes to be sent.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the upload progress is available, <code>PP_FALSE</code> if it is not available. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a70db3876aed119140479e952cb7b1057"></a><!-- doxytag: member="PPB_URLLoader::IsURLLoader" ref="a70db3876aed119140479e952cb7b1057" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a70db3876aed119140479e952cb7b1057">PPB_URLLoader::IsURLLoader</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a70db3876aed119140479e952cb7b1057" title="IsURLLoader() determines if a resource is an URLLoader.">IsURLLoader()</a> determines if a resource is an <code>URLLoader</code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a <code>URLLoader</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the resource is a <code>URLLoader</code>, <code>PP_FALSE</code> if the resource is invalid or some type other than <code>URLLoader</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a5e7fca398c1042e2c81211da80d20e14"></a><!-- doxytag: member="PPB_URLLoader::Open" ref="a5e7fca398c1042e2c81211da80d20e14" args=")(PP_Resource loader, PP_Resource request_info, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a5e7fca398c1042e2c81211da80d20e14">PPB_URLLoader::Open</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> loader, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> request_info, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a5e7fca398c1042e2c81211da80d20e14" title="Open() begins loading the URLRequestInfo.">Open()</a> begins loading the <code>URLRequestInfo</code>. </p>
+<p>The operation completes when response headers are received or when an error occurs. Use <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a4901dcc43cfdc026e582555974d4d853" title="GetResponseInfo() returns the current URLResponseInfo object.">GetResponseInfo()</a> to access the response headers.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">loader</td><td>A <code>PP_Resource</code> corresponding to a <code>URLLoader</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a <code>URLRequestInfo</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to run on asynchronous completion of <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a5e7fca398c1042e2c81211da80d20e14" title="Open() begins loading the URLRequestInfo.">Open()</a>. This callback will run when response headers for the url are received or error occurred. This callback will only run if <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a5e7fca398c1042e2c81211da80d20e14" title="Open() begins loading the URLRequestInfo.">Open()</a> returns <code>PP_OK_COMPLETIONPENDING</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a92d0f2dc44bc4d087ad0ddca6557fb05"></a><!-- doxytag: member="PPB_URLLoader::ReadResponseBody" ref="a92d0f2dc44bc4d087ad0ddca6557fb05" args=")(PP_Resource loader, void *buffer, int32_t bytes_to_read, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a92d0f2dc44bc4d087ad0ddca6557fb05">PPB_URLLoader::ReadResponseBody</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> loader, void *buffer, int32_t bytes_to_read, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a92d0f2dc44bc4d087ad0ddca6557fb05" title="ReadResponseBody() is used to read the response body.">ReadResponseBody()</a> is used to read the response body. </p>
+<p>The size of the buffer must be large enough to hold the specified number of bytes to read. This function might perform a partial read.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">loader</td><td>A <code>PP_Resource</code> corresponding to a <code>URLLoader</code>. </td></tr>
+<tr><td class="paramdir">[in,out]</td><td class="paramname">buffer</td><td>A pointer to the buffer for the response body. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">bytes_to_read</td><td>The number of bytes to read. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to run on asynchronous completion. The callback will run if the bytes (full or partial) are read or an error occurs asynchronously. This callback will run only if this function returns <code>PP_OK_COMPLETIONPENDING</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing the number of bytes read or an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="ppb__url__loader_8h.html">ppb_url_loader.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___u_r_l_request_info__1__0.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___u_r_l_request_info__1__0.html
new file mode 100644
index 0000000..73e6f44
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___u_r_l_request_info__1__0.html
@@ -0,0 +1,138 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_URLRequestInfo Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_URLRequestInfo" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html#af46135ad86d3444f19a8aa30dd5cd202">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html#ab23f1a2c86c64b64e806ba85cc5d1817">IsURLRequestInfo</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html#a47e9163b0ee627496a249171dc5c53be">SetProperty</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> request, <a class="el" href="group___enums.html#ga41975630f0a4c49e47d4a21754f8402d">PP_URLRequestProperty</a> property, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> value)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html#ac27a819ffd3ac75686e436f09c8c0ac1">AppendDataToBody</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> request, const void *data, uint32_t len)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html#af6edaa0b0f19cb902e5e1d8b3ad2a43b">AppendFileToBody</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> request, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref, int64_t start_offset, int64_t number_of_bytes, <a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a> expected_last_modified_time)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_URLRequestInfo</code> interface is used to create and handle URL requests. </p>
+<p>This API is used in conjunction with <code>PPB_URLLoader</code>. Refer to <code>PPB_URLLoader</code> for further information. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="ac27a819ffd3ac75686e436f09c8c0ac1"></a><!-- doxytag: member="PPB_URLRequestInfo::AppendDataToBody" ref="ac27a819ffd3ac75686e436f09c8c0ac1" args=")(PP_Resource request, const void *data, uint32_t len)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html#ac27a819ffd3ac75686e436f09c8c0ac1">PPB_URLRequestInfo::AppendDataToBody</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> request, const void *data, uint32_t len)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html#ac27a819ffd3ac75686e436f09c8c0ac1" title="AppendDataToBody() appends data to the request body.">AppendDataToBody()</a> appends data to the request body. </p>
+<p>A Content-Length request header will be automatically generated.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">request</td><td>A <code>PP_Resource</code> corresponding to a <code>URLRequestInfo</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>A pointer to a buffer holding the data. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>The length, in bytes, of the data.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if successful, <code>PP_FALSE</code> if any of the parameters are invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="af6edaa0b0f19cb902e5e1d8b3ad2a43b"></a><!-- doxytag: member="PPB_URLRequestInfo::AppendFileToBody" ref="af6edaa0b0f19cb902e5e1d8b3ad2a43b" args=")(PP_Resource request, PP_Resource file_ref, int64_t start_offset, int64_t number_of_bytes, PP_Time expected_last_modified_time)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html#af6edaa0b0f19cb902e5e1d8b3ad2a43b">PPB_URLRequestInfo::AppendFileToBody</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> request, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref, int64_t start_offset, int64_t number_of_bytes, <a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a> expected_last_modified_time)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html#af6edaa0b0f19cb902e5e1d8b3ad2a43b" title="AppendFileToBody() appends a file, to be uploaded, to the request body.">AppendFileToBody()</a> appends a file, to be uploaded, to the request body. </p>
+<p>A content-length request header will be automatically generated.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">request</td><td>A <code>PP_Resource</code> corresponding to a <code>URLRequestInfo</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">file_ref</td><td>A <code>PP_Resource</code> corresponding to a file reference. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">start_offset</td><td>An optional starting point offset within the file. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">number_of_bytes</td><td>An optional number of bytes of the file to be included. If <code>number_of_bytes</code> is -1, then the sub-range to upload extends to the end of the file. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">expected_last_modified_time</td><td>An optional (non-zero) last modified time stamp used to validate that the file was not modified since the given time before it was uploaded. The upload will fail with an error code of <code>PP_ERROR_FILECHANGED</code> if the file has been modified since the given time. If <code>expected_last_modified_time</code> is 0, then no validation is performed.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if successful, <code>PP_FALSE</code> if any of the parameters are invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="af46135ad86d3444f19a8aa30dd5cd202"></a><!-- doxytag: member="PPB_URLRequestInfo::Create" ref="af46135ad86d3444f19a8aa30dd5cd202" args=")(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html#af46135ad86d3444f19a8aa30dd5cd202">PPB_URLRequestInfo::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html#af46135ad86d3444f19a8aa30dd5cd202" title="Create() creates a new URLRequestInfo object.">Create()</a> creates a new <code>URLRequestInfo</code> object. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> identifying the <code>URLRequestInfo</code> if successful, 0 if the instance is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab23f1a2c86c64b64e806ba85cc5d1817"></a><!-- doxytag: member="PPB_URLRequestInfo::IsURLRequestInfo" ref="ab23f1a2c86c64b64e806ba85cc5d1817" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html#ab23f1a2c86c64b64e806ba85cc5d1817">PPB_URLRequestInfo::IsURLRequestInfo</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html#ab23f1a2c86c64b64e806ba85cc5d1817" title="IsURLRequestInfo() determines if a resource is a URLRequestInfo.">IsURLRequestInfo()</a> determines if a resource is a <code>URLRequestInfo</code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a <code>URLRequestInfo</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the resource is a <code>URLRequestInfo</code>, <code>PP_FALSE</code> if the resource is invalid or some type other than <code>URLRequestInfo</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a47e9163b0ee627496a249171dc5c53be"></a><!-- doxytag: member="PPB_URLRequestInfo::SetProperty" ref="a47e9163b0ee627496a249171dc5c53be" args=")(PP_Resource request, PP_URLRequestProperty property, struct PP_Var value)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html#a47e9163b0ee627496a249171dc5c53be">PPB_URLRequestInfo::SetProperty</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> request, <a class="el" href="group___enums.html#ga41975630f0a4c49e47d4a21754f8402d">PP_URLRequestProperty</a> property, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> value)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html#a47e9163b0ee627496a249171dc5c53be" title="SetProperty() sets a request property.">SetProperty()</a> sets a request property. </p>
+<p>The value of the property must be the correct type according to the property being set.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">request</td><td>A <code>PP_Resource</code> corresponding to a <code>URLRequestInfo</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">property</td><td>A <code>PP_URLRequestProperty</code> identifying the property to set. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> containing the property value.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if successful, <code>PP_FALSE</code> if any of the parameters are invalid. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="ppb__url__request__info_8h.html">ppb_url_request_info.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___u_r_l_response_info__1__0.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___u_r_l_response_info__1__0.html
new file mode 100644
index 0000000..84f3e0a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___u_r_l_response_info__1__0.html
@@ -0,0 +1,87 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_URLResponseInfo Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_URLResponseInfo" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_response_info__1__0.html#a0bb553375716a3966176ae01f6146d5a">IsURLResponseInfo</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_response_info__1__0.html#a3fff27f7102320e9efbd59dc83e62ddf">GetProperty</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> response, <a class="el" href="group___enums.html#ga642e6199b27df69aad84aff5597041e0">PP_URLResponseProperty</a> property)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_response_info__1__0.html#a5c826b8217ceede947eda843e0566d2b">GetBodyAsFileRef</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> response)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The PPB_URLResponseInfo interface contains APIs for examining URL responses. </p>
+<p>Refer to <code>PPB_URLLoader</code> for further information. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a5c826b8217ceede947eda843e0566d2b"></a><!-- doxytag: member="PPB_URLResponseInfo::GetBodyAsFileRef" ref="a5c826b8217ceede947eda843e0566d2b" args=")(PP_Resource response)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___u_r_l_response_info__1__0.html#a5c826b8217ceede947eda843e0566d2b">PPB_URLResponseInfo::GetBodyAsFileRef</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> response)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___u_r_l_response_info__1__0.html#a5c826b8217ceede947eda843e0566d2b" title="GetBodyAsFileRef() returns a FileRef pointing to the file containing the response body...">GetBodyAsFileRef()</a> returns a FileRef pointing to the file containing the response body. </p>
+<p>This is only valid if <code>PP_URLREQUESTPROPERTY_STREAMTOFILE</code> was set on the <code>URLRequestInfo</code> used to produce this response. This file remains valid until the <code>URLLoader</code> associated with this <code>URLResponseInfo</code> is closed or destroyed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">request</td><td>A <code>PP_Resource</code> corresponding to a <code>URLResponseInfo</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> corresponding to a <code>FileRef</code> if successful, 0 if <code>PP_URLREQUESTPROPERTY_STREAMTOFILE</code> was not requested or if the <code>URLLoader</code> has not been opened yet. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a3fff27f7102320e9efbd59dc83e62ddf"></a><!-- doxytag: member="PPB_URLResponseInfo::GetProperty" ref="a3fff27f7102320e9efbd59dc83e62ddf" args=")(PP_Resource response, PP_URLResponseProperty property)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___u_r_l_response_info__1__0.html#a3fff27f7102320e9efbd59dc83e62ddf">PPB_URLResponseInfo::GetProperty</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> response, <a class="el" href="group___enums.html#ga642e6199b27df69aad84aff5597041e0">PP_URLResponseProperty</a> property)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___u_r_l_response_info__1__0.html#a3fff27f7102320e9efbd59dc83e62ddf" title="GetProperty() gets a response property.">GetProperty()</a> gets a response property. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">request</td><td>A <code>PP_Resource</code> corresponding to a <code>URLResponseInfo</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">property</td><td>A <code>PP_URLResponseProperty</code> identifying the type of property in the response.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> containing the response property value if successful, <code>PP_VARTYPE_VOID</code> if an input parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a0bb553375716a3966176ae01f6146d5a"></a><!-- doxytag: member="PPB_URLResponseInfo::IsURLResponseInfo" ref="a0bb553375716a3966176ae01f6146d5a" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___u_r_l_response_info__1__0.html#a0bb553375716a3966176ae01f6146d5a">PPB_URLResponseInfo::IsURLResponseInfo</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___u_r_l_response_info__1__0.html#a0bb553375716a3966176ae01f6146d5a" title="IsURLResponseInfo() determines if a response is a URLResponseInfo.">IsURLResponseInfo()</a> determines if a response is a <code>URLResponseInfo</code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a <code>URLResponseInfo</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the resource is a <code>URLResponseInfo</code>, <code>PP_FALSE</code> if the resource is invalid or some type other than <code>URLResponseInfo</code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="ppb__url__response__info_8h.html">ppb_url_response_info.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___var__1__1.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___var__1__1.html
new file mode 100644
index 0000000..1c91aaa
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___var__1__1.html
@@ -0,0 +1,114 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_Var Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_Var" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var__1__1.html#a8fc2c3ab17026665e7f0eeb0ac7a2105">AddRef</a> )(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> var)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var__1__1.html#a11121fad397ca41981ccc48ee67aad3a">Release</a> )(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> var)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var__1__1.html#a33b06493ec6ecf650d706346b28398e2">VarFromUtf8</a> )(const char *data, uint32_t len)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const char *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var__1__1.html#a308c42ffebc291fc2fab3200ea5f1845">VarToUtf8</a> )(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> var, uint32_t *len)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>PPB_Var API. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a8fc2c3ab17026665e7f0eeb0ac7a2105"></a><!-- doxytag: member="PPB_Var::AddRef" ref="a8fc2c3ab17026665e7f0eeb0ac7a2105" args=")(struct PP_Var var)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___var__1__1.html#a8fc2c3ab17026665e7f0eeb0ac7a2105">PPB_Var::AddRef</a>)(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> var)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___var__1__1.html#a8fc2c3ab17026665e7f0eeb0ac7a2105" title="AddRef() adds a reference to the given var.">AddRef()</a> adds a reference to the given var. </p>
+<p>If this is not a refcounted object, this function will do nothing so you can always call it no matter what the type.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">var</td><td>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> that will have a reference added. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a11121fad397ca41981ccc48ee67aad3a"></a><!-- doxytag: member="PPB_Var::Release" ref="a11121fad397ca41981ccc48ee67aad3a" args=")(struct PP_Var var)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___var__1__1.html#a11121fad397ca41981ccc48ee67aad3a">PPB_Var::Release</a>)(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> var)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___var__1__1.html#a11121fad397ca41981ccc48ee67aad3a" title="Release() removes a reference to given var, deleting it if the internal reference count becomes 0...">Release()</a> removes a reference to given var, deleting it if the internal reference count becomes 0. </p>
+<p>If the given var is not a refcounted object, this function will do nothing so you can always call it no matter what the type.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">var</td><td>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> that will have a reference removed. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a33b06493ec6ecf650d706346b28398e2"></a><!-- doxytag: member="PPB_Var::VarFromUtf8" ref="a33b06493ec6ecf650d706346b28398e2" args=")(const char *data, uint32_t len)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___var__1__1.html#a33b06493ec6ecf650d706346b28398e2">PPB_Var::VarFromUtf8</a>)(const char *data, uint32_t len)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___var__1__1.html#a33b06493ec6ecf650d706346b28398e2" title="VarFromUtf8() creates a string var from a string.">VarFromUtf8()</a> creates a string var from a string. </p>
+<p>The string must be encoded in valid UTF-8 and is NOT NULL-terminated, the length must be specified in <code>len</code>. It is an error if the string is not valid UTF-8.</p>
+<p>If the length is 0, the <code>*data</code> pointer will not be dereferenced and may be <code>NULL</code>. Note, however if length is 0, the "NULL-ness" will not be preserved, as <code>VarToUtf8</code> will never return <code>NULL</code> on success, even for empty strings.</p>
+<p>The resulting object will be a refcounted string object. It will be AddRef'ed for the caller. When the caller is done with it, it should be Released.</p>
+<p>On error (basically out of memory to allocate the string, or input that is not valid UTF-8), this function will return a Null var.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>A string </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>The length of the string.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> structure containing a reference counted string object. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a308c42ffebc291fc2fab3200ea5f1845"></a><!-- doxytag: member="PPB_Var::VarToUtf8" ref="a308c42ffebc291fc2fab3200ea5f1845" args=")(struct PP_Var var, uint32_t *len)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">const char*(* <a class="el" href="struct_p_p_b___var__1__1.html#a308c42ffebc291fc2fab3200ea5f1845">PPB_Var::VarToUtf8</a>)(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> var, uint32_t *len)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___var__1__1.html#a308c42ffebc291fc2fab3200ea5f1845" title="VarToUtf8() converts a string-type var to a char* encoded in UTF-8.">VarToUtf8()</a> converts a string-type var to a char* encoded in UTF-8. </p>
+<p>This string is NOT NULL-terminated. The length will be placed in <code>*len</code>. If the string is valid but empty the return value will be non-NULL, but <code>*len</code> will still be 0.</p>
+<p>If the var is not a string, this function will return NULL and <code>*len</code> will be 0.</p>
+<p>The returned buffer will be valid as long as the underlying var is alive. If the instance frees its reference, the string will be freed and the pointer will be to arbitrary memory.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">var</td><td>A <a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a> struct containing a string-type var. </td></tr>
+<tr><td class="paramdir">[in,out]</td><td class="paramname">len</td><td>A pointer to the length of the string-type var.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A char* encoded in UTF-8. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="ppb__var_8h.html">ppb_var.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___var_array__1__0.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___var_array__1__0.html
new file mode 100644
index 0000000..2fa75171
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___var_array__1__0.html
@@ -0,0 +1,123 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_VarArray Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_VarArray" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_array__1__0.html#af70ca94305325f09306058ec87f50ca5">Create</a> )(void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_array__1__0.html#a20431bfeea806a1af61d4cca2f1f1437">Get</a> )(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> array, uint32_t index)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_array__1__0.html#aea60f6d4917fa248237c6bfd1eda92fe">Set</a> )(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> array, uint32_t index, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> value)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_array__1__0.html#ab1163119c730c95fea571a4618b8cc8f">GetLength</a> )(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> array)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_array__1__0.html#a4868611700bcca797bfae701870ce83b">SetLength</a> )(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> array, uint32_t length)</td></tr>
+</table>
+<hr /><h2>Field Documentation</h2>
+<a class="anchor" id="af70ca94305325f09306058ec87f50ca5"></a><!-- doxytag: member="PPB_VarArray::Create" ref="af70ca94305325f09306058ec87f50ca5" args=")(void)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___var_array__1__0.html#af70ca94305325f09306058ec87f50ca5">PPB_VarArray::Create</a>)(void)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Creates an array var, i.e., a <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> with type set to <code>PP_VARTYPE_ARRAY</code>. </p>
+<p>The array length is set to 0.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An empty array var, whose reference count is set to 1 on behalf of the caller. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a20431bfeea806a1af61d4cca2f1f1437"></a><!-- doxytag: member="PPB_VarArray::Get" ref="a20431bfeea806a1af61d4cca2f1f1437" args=")(struct PP_Var array, uint32_t index)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___var_array__1__0.html#a20431bfeea806a1af61d4cca2f1f1437">PPB_VarArray::Get</a>)(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> array, uint32_t index)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets an element from the array. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">array</td><td>An array var. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>An index indicating which element to return.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The element at the specified position. The reference count of the element returned is incremented on behalf of the caller. If <code>index</code> is larger than or equal to the array length, an undefined var is returned. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab1163119c730c95fea571a4618b8cc8f"></a><!-- doxytag: member="PPB_VarArray::GetLength" ref="ab1163119c730c95fea571a4618b8cc8f" args=")(struct PP_Var array)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t(* <a class="el" href="struct_p_p_b___var_array__1__0.html#ab1163119c730c95fea571a4618b8cc8f">PPB_VarArray::GetLength</a>)(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> array)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the array length. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">array</td><td>An array var.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The array length. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aea60f6d4917fa248237c6bfd1eda92fe"></a><!-- doxytag: member="PPB_VarArray::Set" ref="aea60f6d4917fa248237c6bfd1eda92fe" args=")(struct PP_Var array, uint32_t index, struct PP_Var value)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___var_array__1__0.html#aea60f6d4917fa248237c6bfd1eda92fe">PPB_VarArray::Set</a>)(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> array, uint32_t index, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> value)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sets the value of an element in the array. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">array</td><td>An array var. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>An index indicating which element to modify. If <code>index</code> is larger than or equal to the array length, the length is updated to be <code>index</code> + 1. Any position in the array that hasn't been set before is set to undefined, i.e., <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> of type <code>PP_VARTYPE_UNDEFINED</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The value to set. The array holds a reference to it on success.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> indicating whether the operation succeeds. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a4868611700bcca797bfae701870ce83b"></a><!-- doxytag: member="PPB_VarArray::SetLength" ref="a4868611700bcca797bfae701870ce83b" args=")(struct PP_Var array, uint32_t length)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___var_array__1__0.html#a4868611700bcca797bfae701870ce83b">PPB_VarArray::SetLength</a>)(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> array, uint32_t length)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sets the array length. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">array</td><td>An array var. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>The new array length. If <code>length</code> is smaller than its current value, the array is truncated to the new length; any elements that no longer fit are removed and the references to them will be released. If <code>length</code> is larger than its current value, undefined vars are appended to increase the array to the specified length.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> indicating whether the operation succeeds. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="ppb__var__array_8h.html">ppb_var_array.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___var_array_buffer__1__0.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___var_array_buffer__1__0.html
new file mode 100644
index 0000000..e731241
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___var_array_buffer__1__0.html
@@ -0,0 +1,118 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_VarArrayBuffer Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_VarArrayBuffer" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_array_buffer__1__0.html#a348f1470a2fc6cba9d430d0544e84225">Create</a> )(uint32_t size_in_bytes)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_array_buffer__1__0.html#a0ad6305942f991daa6dfe3b579931ea1">ByteLength</a> )(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> array, uint32_t *byte_length)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_array_buffer__1__0.html#a4c7c25b939f56de64fa3f6f906a7da8c">Map</a> )(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> array)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_array_buffer__1__0.html#ac841a12b7eb93dd05bd2b864920e22a7">Unmap</a> )(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> array)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_VarArrayBuffer</code> interface provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous sequence of bytes. </p>
+<p>Use <code>PPB_Var</code> to manage the reference count for a <code>VarArrayBuffer</code>. Note that these Vars are not part of the embedding page's DOM, and can only be shared with JavaScript using the <code>PostMessage</code> and <code>HandleMessage</code> functions of <code>pp::Instance</code>. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a0ad6305942f991daa6dfe3b579931ea1"></a><!-- doxytag: member="PPB_VarArrayBuffer::ByteLength" ref="a0ad6305942f991daa6dfe3b579931ea1" args=")(struct PP_Var array, uint32_t *byte_length)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___var_array_buffer__1__0.html#a0ad6305942f991daa6dfe3b579931ea1">PPB_VarArrayBuffer::ByteLength</a>)(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> array, uint32_t *byte_length)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___var_array_buffer__1__0.html#a0ad6305942f991daa6dfe3b579931ea1" title="ByteLength() retrieves the length of the VarArrayBuffer in bytes.">ByteLength()</a> retrieves the length of the <code>VarArrayBuffer</code> in bytes. </p>
+<p>On success, <code>byte_length</code> is set to the length of the given <code>ArrayBuffer</code> var. On failure, <code>byte_length</code> is unchanged (this could happen, for instance, if the given <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> is not of type <code>PP_VARTYPE_ARRAY_BUFFER</code>). Note that <a class="el" href="struct_p_p_b___var_array_buffer__1__0.html#a0ad6305942f991daa6dfe3b579931ea1" title="ByteLength() retrieves the length of the VarArrayBuffer in bytes.">ByteLength()</a> will successfully retrieve the size of an <code>ArrayBuffer</code> even if the <code>ArrayBuffer</code> is not currently mapped.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">array</td><td>The <code>ArrayBuffer</code> whose length should be returned.</td></tr>
+<tr><td class="paramdir">[out]</td><td class="paramname">byte_length</td><td>A variable which is set to the length of the given <code>ArrayBuffer</code> on success.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> on success, <code>PP_FALSE</code> on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a348f1470a2fc6cba9d430d0544e84225"></a><!-- doxytag: member="PPB_VarArrayBuffer::Create" ref="a348f1470a2fc6cba9d430d0544e84225" args=")(uint32_t size_in_bytes)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___var_array_buffer__1__0.html#a348f1470a2fc6cba9d430d0544e84225">PPB_VarArrayBuffer::Create</a>)(uint32_t size_in_bytes)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___var_array_buffer__1__0.html#a348f1470a2fc6cba9d430d0544e84225" title="Create() creates a zero-initialized VarArrayBuffer.">Create()</a> creates a zero-initialized <code>VarArrayBuffer</code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">size_in_bytes</td><td>The size of the <code>ArrayBuffer</code> to be created.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> representing a <code>VarArrayBuffer</code> of the requested size and with a reference count of 1. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a4c7c25b939f56de64fa3f6f906a7da8c"></a><!-- doxytag: member="PPB_VarArrayBuffer::Map" ref="a4c7c25b939f56de64fa3f6f906a7da8c" args=")(struct PP_Var array)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void*(* <a class="el" href="struct_p_p_b___var_array_buffer__1__0.html#a4c7c25b939f56de64fa3f6f906a7da8c">PPB_VarArrayBuffer::Map</a>)(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> array)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___var_array_buffer__1__0.html#a4c7c25b939f56de64fa3f6f906a7da8c" title="Map() maps the ArrayBuffer in to the module's address space and returns a pointer to the beginning of...">Map()</a> maps the <code>ArrayBuffer</code> in to the module's address space and returns a pointer to the beginning of the buffer for the given <code>ArrayBuffer <a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code>. </p>
+<p>ArrayBuffers are copied when transmitted, so changes to the underlying memory are not automatically available to the embedding page.</p>
+<p>Note that calling <a class="el" href="struct_p_p_b___var_array_buffer__1__0.html#a4c7c25b939f56de64fa3f6f906a7da8c" title="Map() maps the ArrayBuffer in to the module's address space and returns a pointer to the beginning of...">Map()</a> can be a relatively expensive operation. Use care when calling it in performance-critical code. For example, you should call it only once when looping over an <code>ArrayBuffer</code>.</p>
+<p><b>Example:</b></p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">char</span>* data = (<span class="keywordtype">char</span>*)(array_buffer_if.Map(array_buffer_var));
+ uint32_t byte_length = 0;
+ <a class="code" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918" title="The PP_Bool enum is a boolean value for use in PPAPI C headers.">PP_Bool</a> ok = array_buffer_if.ByteLength(array_buffer_var, &byte_length);
+ <span class="keywordflow">if</span> (!ok)
+ <span class="keywordflow">return</span> DoSomethingBecauseMyVarIsNotAnArrayBuffer();
+ <span class="keywordflow">for</span> (uint32_t i = 0; i < byte_length; ++i)
+ data[i] = <span class="charliteral">'A'</span>;
+</pre></div><dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">array</td><td>The <code>ArrayBuffer</code> whose internal buffer should be returned.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A pointer to the internal buffer for this <code>ArrayBuffer</code>. Returns <code>NULL</code> if the given <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> is not of type <code>PP_VARTYPE_ARRAY_BUFFER</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ac841a12b7eb93dd05bd2b864920e22a7"></a><!-- doxytag: member="PPB_VarArrayBuffer::Unmap" ref="ac841a12b7eb93dd05bd2b864920e22a7" args=")(struct PP_Var array)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___var_array_buffer__1__0.html#ac841a12b7eb93dd05bd2b864920e22a7">PPB_VarArrayBuffer::Unmap</a>)(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> array)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___var_array_buffer__1__0.html#ac841a12b7eb93dd05bd2b864920e22a7" title="Unmap() unmaps the given ArrayBuffer var from the module address space.">Unmap()</a> unmaps the given <code>ArrayBuffer</code> var from the module address space. </p>
+<p>Use this if you want to save memory but might want to call <a class="el" href="struct_p_p_b___var_array_buffer__1__0.html#a4c7c25b939f56de64fa3f6f906a7da8c" title="Map() maps the ArrayBuffer in to the module's address space and returns a pointer to the beginning of...">Map()</a> to map the buffer again later. The <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> remains valid and should still be released using <code>PPB_Var</code> when you are done with the <code>ArrayBuffer</code>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">array</td><td>The <code>ArrayBuffer</code> to be released. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="ppb__var__array__buffer_8h.html">ppb_var_array_buffer.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___var_dictionary__1__0.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___var_dictionary__1__0.html
new file mode 100644
index 0000000..0e92083
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___var_dictionary__1__0.html
@@ -0,0 +1,148 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_VarDictionary Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_VarDictionary" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_dictionary__1__0.html#a1fad06939f6d2c711a319d6b984f45f5">Create</a> )(void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_dictionary__1__0.html#ac078e850f04e097ee67cefc3a475ec77">Get</a> )(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> dict, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> key)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_dictionary__1__0.html#a8af80f44eaab36b5c8bc670be405dc21">Set</a> )(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> dict, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> key, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> value)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_dictionary__1__0.html#a2df16916e3bd3ecc2de6e27100bb71db">Delete</a> )(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> dict, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> key)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_dictionary__1__0.html#a2b7c0b449352d77b0c36c2bdb270eb9a">HasKey</a> )(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> dict, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> key)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_dictionary__1__0.html#ab481ddec5b69bf964b63e859decc1e97">GetKeys</a> )(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> dict)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>A dictionary var contains key-value pairs with unique keys. </p>
+<p>The keys are strings while the values can be arbitrary vars. Key comparison is always done by value instead of by reference. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a1fad06939f6d2c711a319d6b984f45f5"></a><!-- doxytag: member="PPB_VarDictionary::Create" ref="a1fad06939f6d2c711a319d6b984f45f5" args=")(void)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___var_dictionary__1__0.html#a1fad06939f6d2c711a319d6b984f45f5">PPB_VarDictionary::Create</a>)(void)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Creates a dictionary var, i.e., a <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> with type set to <code>PP_VARTYPE_DICTIONARY</code>. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An empty dictionary var, whose reference count is set to 1 on behalf of the caller. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2df16916e3bd3ecc2de6e27100bb71db"></a><!-- doxytag: member="PPB_VarDictionary::Delete" ref="a2df16916e3bd3ecc2de6e27100bb71db" args=")(struct PP_Var dict, struct PP_Var key)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___var_dictionary__1__0.html#a2df16916e3bd3ecc2de6e27100bb71db">PPB_VarDictionary::Delete</a>)(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> dict, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> key)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Deletes the specified key and its associated value, if the key exists. </p>
+<p>The reference to the element will be released.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">dict</td><td>A dictionary var. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>A string var. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ac078e850f04e097ee67cefc3a475ec77"></a><!-- doxytag: member="PPB_VarDictionary::Get" ref="ac078e850f04e097ee67cefc3a475ec77" args=")(struct PP_Var dict, struct PP_Var key)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___var_dictionary__1__0.html#ac078e850f04e097ee67cefc3a475ec77">PPB_VarDictionary::Get</a>)(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> dict, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> key)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the value associated with the specified key. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">dict</td><td>A dictionary var. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>A string var.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The value that is associated with <code>key</code>. The reference count of the element returned is incremented on behalf of the caller. If <code>key</code> is not a string var, or it doesn't exist in <code>dict</code>, an undefined var is returned. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab481ddec5b69bf964b63e859decc1e97"></a><!-- doxytag: member="PPB_VarDictionary::GetKeys" ref="ab481ddec5b69bf964b63e859decc1e97" args=")(struct PP_Var dict)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___var_dictionary__1__0.html#ab481ddec5b69bf964b63e859decc1e97">PPB_VarDictionary::GetKeys</a>)(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> dict)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets all the keys in a dictionary. </p>
+<p>Please note that for each key that you set into the dictionary, a string var with the same contents is returned; but it may not be the same string var (i.e., <code>value.as_id</code> may be different).</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">dict</td><td>A dictionary var.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An array var which contains all the keys of <code>dict</code>. Its reference count is incremented on behalf of the caller. The elements are string vars. Returns a null var if failed. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2b7c0b449352d77b0c36c2bdb270eb9a"></a><!-- doxytag: member="PPB_VarDictionary::HasKey" ref="a2b7c0b449352d77b0c36c2bdb270eb9a" args=")(struct PP_Var dict, struct PP_Var key)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___var_dictionary__1__0.html#a2b7c0b449352d77b0c36c2bdb270eb9a">PPB_VarDictionary::HasKey</a>)(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> dict, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> key)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Checks whether a key exists. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">dict</td><td>A dictionary var. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>A string var.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> indicating whether the key exists. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a8af80f44eaab36b5c8bc670be405dc21"></a><!-- doxytag: member="PPB_VarDictionary::Set" ref="a8af80f44eaab36b5c8bc670be405dc21" args=")(struct PP_Var dict, struct PP_Var key, struct PP_Var value)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___var_dictionary__1__0.html#a8af80f44eaab36b5c8bc670be405dc21">PPB_VarDictionary::Set</a>)(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> dict, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> key, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> value)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sets the value associated with the specified key. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">dict</td><td>A dictionary var. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>A string var. If this key hasn't existed in <code>dict</code>, it is added and associated with <code>value</code>; otherwise, the previous value is replaced with <code>value</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The value to set. The dictionary holds a reference to it on success.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> indicating whether the operation succeeds. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="ppb__var__dictionary_8h.html">ppb_var_dictionary.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___view__1__1.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___view__1__1.html
new file mode 100644
index 0000000..280d0b51
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___view__1__1.html
@@ -0,0 +1,209 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_View Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_View" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___view__1__1.html#af8edddb82a8b9bf57b2cdd24865c918a">IsView</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___view__1__1.html#a2868af4218df145607e3fd353eb5bfff">GetRect</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, struct <a class="el" href="struct_p_p___rect.html">PP_Rect</a> *rect)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___view__1__1.html#a89a285dd50599e8965b4e2b3cecf39ee">IsFullscreen</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___view__1__1.html#a048d5c02d3cf41447b51fdc546f0ba35">IsVisible</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___view__1__1.html#adfd3a2939a3bbdb0a7258cf061fd9f4b">IsPageVisible</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___view__1__1.html#a6eefff83d768387e0112f01bb1ca01d7">GetClipRect</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, struct <a class="el" href="struct_p_p___rect.html">PP_Rect</a> *clip)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___view__1__1.html#aa0d2c1ccfb2a8e3bd693045ad87011cf">GetDeviceScale</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___view__1__1.html#a7e6b9a5d16fe05ba03b7058ca6f1e3ce">GetCSSScale</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p><code>PPB_View</code> represents the state of the view of an instance. </p>
+<p>You will receive new view information using <code><a class="el" href="struct_p_p_p___instance__1__1.html#aa028a7b17d62242ac56b6ab4b55dc047" title="DidChangeView() is called when the position, size, or other view attributes of the instance has chang...">PPP_Instance.DidChangeView</a></code>. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a6eefff83d768387e0112f01bb1ca01d7"></a><!-- doxytag: member="PPB_View::GetClipRect" ref="a6eefff83d768387e0112f01bb1ca01d7" args=")(PP_Resource resource, struct PP_Rect *clip)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___view__1__1.html#a6eefff83d768387e0112f01bb1ca01d7">PPB_View::GetClipRect</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, struct <a class="el" href="struct_p_p___rect.html">PP_Rect</a> *clip)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___view__1__1.html#a6eefff83d768387e0112f01bb1ca01d7" title="GetClipRect() returns the clip rectangle relative to the upper-left corner of the module instance...">GetClipRect()</a> returns the clip rectangle relative to the upper-left corner of the module instance. </p>
+<p>This rectangle indicates the portions of the module instance that are scrolled into view.</p>
+<p>If the module instance is scrolled off the view, the return value will be (0, 0, 0, 0). This clip rectangle does <em>not</em> take into account page visibility. Therefore, if the module instance is scrolled into view, but the page itself is on a tab that is not visible, the return rectangle will contain the visible rectangle as though the page were visible. Refer to <a class="el" href="struct_p_p_b___view__1__1.html#adfd3a2939a3bbdb0a7258cf061fd9f4b" title="IsPageVisible() determines if the page that contains the module instance is visible.">IsPageVisible()</a> and <a class="el" href="struct_p_p_b___view__1__1.html#a048d5c02d3cf41447b51fdc546f0ba35" title="IsVisible() determines whether the module instance might be visible to the user.">IsVisible()</a> if you want to account for page visibility.</p>
+<p>Most applications will not need to worry about the clip rectangle. The recommended behavior is to do full updates if the module instance is visible, as determined by <a class="el" href="struct_p_p_b___view__1__1.html#a048d5c02d3cf41447b51fdc546f0ba35" title="IsVisible() determines whether the module instance might be visible to the user.">IsVisible()</a>, and do no updates if it is not visible.</p>
+<p>However, if the cost for computing pixels is very high for your application, or the pages you're targeting frequently have very large module instances with small visible portions, you may wish to optimize further. In this case, the clip rectangle will tell you which parts of the module to update.</p>
+<p>Note that painting of the page and sending of view changed updates happens asynchronously. This means when the user scrolls, for example, it is likely that the previous backing store of the module instance will be used for the first paint, and will be updated later when your application generates new content with the new clip. This may cause flickering at the boundaries when scrolling. If you do choose to do partial updates, you may want to think about what color the invisible portions of your backing store contain (be it transparent or some background color) or to paint a certain region outside the clip to reduce the visual distraction when this happens.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a <code>PPB_View</code> resource.</td></tr>
+<tr><td class="paramname">clip</td><td>Output argument receiving the clip rect on success.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>PP_TRUE</code> if the resource was valid and the clip rect was filled in, <code>PP_FALSE</code> if not. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a7e6b9a5d16fe05ba03b7058ca6f1e3ce"></a><!-- doxytag: member="PPB_View::GetCSSScale" ref="a7e6b9a5d16fe05ba03b7058ca6f1e3ce" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float(* <a class="el" href="struct_p_p_b___view__1__1.html#a7e6b9a5d16fe05ba03b7058ca6f1e3ce">PPB_View::GetCSSScale</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>GetCSSScale returns the scale factor between DIPs and CSS pixels. </p>
+<p>This allows proper scaling between DIPs - as sent via the Pepper API - and CSS pixel coordinates used for Web content.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a <code>PPB_View</code> resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>css_scale A <code>float</code> value representing the number of DIPs per CSS pixel. If the resource is invalid, the value will be 0.0. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aa0d2c1ccfb2a8e3bd693045ad87011cf"></a><!-- doxytag: member="PPB_View::GetDeviceScale" ref="aa0d2c1ccfb2a8e3bd693045ad87011cf" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float(* <a class="el" href="struct_p_p_b___view__1__1.html#aa0d2c1ccfb2a8e3bd693045ad87011cf">PPB_View::GetDeviceScale</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>GetDeviceScale returns the scale factor between device pixels and Density Independent Pixels (DIPs, also known as logical pixels or UI pixels on some platforms). </p>
+<p>This allows the developer to render their contents at device resolution, even as coordinates / sizes are given in DIPs through the API.</p>
+<p>Note that the coordinate system for Pepper APIs is DIPs. Also note that one DIP might not equal one CSS pixel - when page scale/zoom is in effect.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a <code>PPB_View</code> resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>float</code> value representing the number of device pixels per DIP. If the resource is invalid, the value will be 0.0. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2868af4218df145607e3fd353eb5bfff"></a><!-- doxytag: member="PPB_View::GetRect" ref="a2868af4218df145607e3fd353eb5bfff" args=")(PP_Resource resource, struct PP_Rect *rect)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___view__1__1.html#a2868af4218df145607e3fd353eb5bfff">PPB_View::GetRect</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, struct <a class="el" href="struct_p_p___rect.html">PP_Rect</a> *rect)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___view__1__1.html#a2868af4218df145607e3fd353eb5bfff" title="GetRect() retrieves the rectangle of the module instance associated with a view changed notification ...">GetRect()</a> retrieves the rectangle of the module instance associated with a view changed notification relative to the upper-left of the browser viewport. </p>
+<p>This position changes when the page is scrolled.</p>
+<p>The returned rectangle may not be inside the visible portion of the viewport if the module instance is scrolled off the page. Therefore, the position may be negative or larger than the size of the page. The size will always reflect the size of the module were it to be scrolled entirely into view.</p>
+<p>In general, most modules will not need to worry about the position of the module instance in the viewport, and only need to use the size.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a <code>PPB_View</code> resource.</td></tr>
+<tr><td class="paramname">rect</td><td>A <code><a class="el" href="struct_p_p___rect.html" title="The PP_Rect struct contains the size and location of a 2D rectangle.">PP_Rect</a></code> receiving the rectangle on success.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>PP_TRUE</code> if the resource was valid and the viewport rectangle was filled in, <code>PP_FALSE</code> if not. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a89a285dd50599e8965b4e2b3cecf39ee"></a><!-- doxytag: member="PPB_View::IsFullscreen" ref="a89a285dd50599e8965b4e2b3cecf39ee" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___view__1__1.html#a89a285dd50599e8965b4e2b3cecf39ee">PPB_View::IsFullscreen</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___view__1__1.html#a89a285dd50599e8965b4e2b3cecf39ee" title="IsFullscreen() returns whether the instance is currently displaying in fullscreen mode...">IsFullscreen()</a> returns whether the instance is currently displaying in fullscreen mode. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a <code>PPB_View</code> resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the instance is in full screen mode, or <code>PP_FALSE</code> if it's not or the resource is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="adfd3a2939a3bbdb0a7258cf061fd9f4b"></a><!-- doxytag: member="PPB_View::IsPageVisible" ref="adfd3a2939a3bbdb0a7258cf061fd9f4b" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___view__1__1.html#adfd3a2939a3bbdb0a7258cf061fd9f4b">PPB_View::IsPageVisible</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___view__1__1.html#adfd3a2939a3bbdb0a7258cf061fd9f4b" title="IsPageVisible() determines if the page that contains the module instance is visible.">IsPageVisible()</a> determines if the page that contains the module instance is visible. </p>
+<p>The most common cause of invisible pages is that the page is in a background tab in the browser.</p>
+<p>Most applications should use <a class="el" href="struct_p_p_b___view__1__1.html#a048d5c02d3cf41447b51fdc546f0ba35" title="IsVisible() determines whether the module instance might be visible to the user.">IsVisible()</a> instead of this function since the module instance could be scrolled off of a visible page, and this function will still return true. However, depending on how your module interacts with the page, there may be certain updates that you may want to perform when the page is visible even if your specific module instance is not visible.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a <code>PPB_View</code> resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the instance is plausibly visible to the user, <code>PP_FALSE</code> if it is definitely not visible. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="af8edddb82a8b9bf57b2cdd24865c918a"></a><!-- doxytag: member="PPB_View::IsView" ref="af8edddb82a8b9bf57b2cdd24865c918a" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___view__1__1.html#af8edddb82a8b9bf57b2cdd24865c918a">PPB_View::IsView</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___view__1__1.html#af8edddb82a8b9bf57b2cdd24865c918a" title="IsView() determines if the given resource is a valid PPB_View resource.">IsView()</a> determines if the given resource is a valid <code>PPB_View</code> resource. </p>
+<p>Note that <code>PPB_ViewChanged</code> resources derive from <code>PPB_View</code> and will return true here as well.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a <code>PPB_View</code> resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the given resource supports <code>PPB_View</code> or <code>PP_FALSE</code> if it is an invalid resource or is a resource of another type. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a048d5c02d3cf41447b51fdc546f0ba35"></a><!-- doxytag: member="PPB_View::IsVisible" ref="a048d5c02d3cf41447b51fdc546f0ba35" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___view__1__1.html#a048d5c02d3cf41447b51fdc546f0ba35">PPB_View::IsVisible</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___view__1__1.html#a048d5c02d3cf41447b51fdc546f0ba35" title="IsVisible() determines whether the module instance might be visible to the user.">IsVisible()</a> determines whether the module instance might be visible to the user. </p>
+<p>For example, the Chrome window could be minimized or another window could be over it. In both of these cases, the module instance would not be visible to the user, but <a class="el" href="struct_p_p_b___view__1__1.html#a048d5c02d3cf41447b51fdc546f0ba35" title="IsVisible() determines whether the module instance might be visible to the user.">IsVisible()</a> will return true.</p>
+<p>Use the result to speed up or stop updates for invisible module instances.</p>
+<p>This function performs the duties of <a class="el" href="struct_p_p_b___view__1__1.html#a2868af4218df145607e3fd353eb5bfff" title="GetRect() retrieves the rectangle of the module instance associated with a view changed notification ...">GetRect()</a> (determining whether the module instance is scrolled into view and the clip rectangle is nonempty) and <a class="el" href="struct_p_p_b___view__1__1.html#adfd3a2939a3bbdb0a7258cf061fd9f4b" title="IsPageVisible() determines if the page that contains the module instance is visible.">IsPageVisible()</a> (whether the page is visible to the user).</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a <code>PPB_View</code> resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the instance might be visible to the user, <code>PP_FALSE</code> if it is definitely not visible. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="ppb__view_8h.html">ppb_view.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___web_socket__1__0.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___web_socket__1__0.html
new file mode 100644
index 0000000..ce1a80d7
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___web_socket__1__0.html
@@ -0,0 +1,327 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_WebSocket Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_WebSocket" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___web_socket__1__0.html#a220cff8f5aa9f742d2b9cc4ab0e8de1b">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___web_socket__1__0.html#afa66d61dd10155dd445a13f1c6280a79">IsWebSocket</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___web_socket__1__0.html#aaff1d1e6f3240e5ce9c772ad80aa38d5">Connect</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> url, const struct <a class="el" href="struct_p_p___var.html">PP_Var</a> protocols[], uint32_t protocol_count, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___web_socket__1__0.html#aa2f3e391713d6097f1d0b2944acab8e8">Close</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket, uint16_t code, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> reason, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___web_socket__1__0.html#aedebd5c21bc451e6b99ea1b2de884122">ReceiveMessage</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> *message, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___web_socket__1__0.html#a05bf8512a7c566f59d527c4a7e92f194">SendMessage</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> message)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint64_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___web_socket__1__0.html#a45b1ad062facdf02199d1879a55c6299">GetBufferedAmount</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint16_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___web_socket__1__0.html#ac0bfae85f51a9e2d5b7fb9660f24968e">GetCloseCode</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___web_socket__1__0.html#aef09f974f4c6ebc9c23a9161ae7c2945">GetCloseReason</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___web_socket__1__0.html#afaf7ee244ffe9aae026b7fbca7a6eff4">GetCloseWasClean</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___web_socket__1__0.html#a71d0d4a01f5e11520d56b668ff178c20">GetExtensions</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___web_socket__1__0.html#a0f5f83152a917998a23e0a10b3a0fa4a">GetProtocol</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#gade61cdf6a7470769b571925694d91a89">PP_WebSocketReadyState</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___web_socket__1__0.html#abd52bebffd4153294734168663057ecc">GetReadyState</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___web_socket__1__0.html#a130ed98f0ebabb614b6637ca6f800e13">GetURL</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_WebSocket</code> interface provides bi-directional, full-duplex, communications over a single TCP socket. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="aa2f3e391713d6097f1d0b2944acab8e8"></a><!-- doxytag: member="PPB_WebSocket::Close" ref="aa2f3e391713d6097f1d0b2944acab8e8" args=")(PP_Resource web_socket, uint16_t code, struct PP_Var reason, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___web_socket__1__0.html#aa2f3e391713d6097f1d0b2944acab8e8">PPB_WebSocket::Close</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket, uint16_t code, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> reason, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___web_socket__1__0.html#aa2f3e391713d6097f1d0b2944acab8e8" title="Close() closes the specified WebSocket connection by specifying code and reason.">Close()</a> closes the specified WebSocket connection by specifying <code>code</code> and <code>reason</code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">web_socket</td><td>A <code>PP_Resource</code> corresponding to a WebSocket.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">code</td><td>The WebSocket close code. This is ignored if it is <code>PP_WEBSOCKETSTATUSCODE_NOT_SPECIFIED</code>. <code>PP_WEBSOCKETSTATUSCODE_NORMAL_CLOSURE</code> must be used for the usual case. To indicate some specific error cases, codes in the range <code>PP_WEBSOCKETSTATUSCODE_USER_REGISTERED_MIN</code> to <code>PP_WEBSOCKETSTATUSCODE_USER_REGISTERED_MAX</code>, and in the range <code>PP_WEBSOCKETSTATUSCODE_USER_PRIVATE_MIN</code> to <code>PP_WEBSOCKETSTATUSCODE_USER_PRIVATE_MAX</code> are available.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">reason</td><td>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> representing the WebSocket close reason. This is ignored if it is <code>PP_VARTYPE_UNDEFINED</code>. Otherwise, its <code>PP_VarType</code> must be <code>PP_VARTYPE_STRING</code>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> called when the connection is closed or an error occurs in closing the connection.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. Returns <code>PP_ERROR_BADARGUMENT</code> if <code>reason</code> contains an invalid character as a UTF-8 string, or is longer than 123 bytes. <code>PP_ERROR_BADARGUMENT</code> corresponds to a JavaScript SyntaxError in the WebSocket API specification. Returns <code>PP_ERROR_NOACCESS</code> if the code is not an integer equal to 1000 or in the range 3000 to 4999. <code>PP_ERROR_NOACCESS</code> corresponds to an InvalidAccessError in the WebSocket API specification. Returns <code>PP_ERROR_INPROGRESS</code> if a previous call to <a class="el" href="struct_p_p_b___web_socket__1__0.html#aa2f3e391713d6097f1d0b2944acab8e8" title="Close() closes the specified WebSocket connection by specifying code and reason.">Close()</a> is not finished. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aaff1d1e6f3240e5ce9c772ad80aa38d5"></a><!-- doxytag: member="PPB_WebSocket::Connect" ref="aaff1d1e6f3240e5ce9c772ad80aa38d5" args=")(PP_Resource web_socket, struct PP_Var url, const struct PP_Var protocols[], uint32_t protocol_count, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___web_socket__1__0.html#aaff1d1e6f3240e5ce9c772ad80aa38d5">PPB_WebSocket::Connect</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> url, const struct <a class="el" href="struct_p_p___var.html">PP_Var</a> protocols[], uint32_t protocol_count, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___web_socket__1__0.html#aaff1d1e6f3240e5ce9c772ad80aa38d5" title="Connect() connects to the specified WebSocket server.">Connect()</a> connects to the specified WebSocket server. </p>
+<p>You can call this function once for a <code>web_socket</code>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">web_socket</td><td>A <code>PP_Resource</code> corresponding to a WebSocket.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">url</td><td>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> representing a WebSocket server URL. The <code>PP_VarType</code> must be <code>PP_VARTYPE_STRING</code>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">protocols</td><td>A pointer to an array of <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> specifying sub-protocols. Each <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> represents one sub-protocol and its <code>PP_VarType</code> must be <code>PP_VARTYPE_STRING</code>. This argument can be null only if <code>protocol_count</code> is 0.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">protocol_count</td><td>The number of sub-protocols in <code>protocols</code>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> called when a connection is established or an error occurs in establishing connection.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. Returns <code>PP_ERROR_BADARGUMENT</code> if the specified <code>url</code>, or <code>protocols</code> contain an invalid string as defined in the WebSocket API specification. <code>PP_ERROR_BADARGUMENT</code> corresponds to a SyntaxError in the WebSocket API specification. Returns <code>PP_ERROR_NOACCESS</code> if the protocol specified in the <code>url</code> is not a secure protocol, but the origin of the caller has a secure scheme. Also returns <code>PP_ERROR_NOACCESS</code> if the port specified in the <code>url</code> is a port that the user agent is configured to block access to because it is a well-known port like SMTP. <code>PP_ERROR_NOACCESS</code> corresponds to a SecurityError of the specification. Returns <code>PP_ERROR_INPROGRESS</code> if this is not the first call to <a class="el" href="struct_p_p_b___web_socket__1__0.html#aaff1d1e6f3240e5ce9c772ad80aa38d5" title="Connect() connects to the specified WebSocket server.">Connect()</a>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a220cff8f5aa9f742d2b9cc4ab0e8de1b"></a><!-- doxytag: member="PPB_WebSocket::Create" ref="a220cff8f5aa9f742d2b9cc4ab0e8de1b" args=")(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___web_socket__1__0.html#a220cff8f5aa9f742d2b9cc4ab0e8de1b">PPB_WebSocket::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___web_socket__1__0.html#a220cff8f5aa9f742d2b9cc4ab0e8de1b" title="Create() creates a WebSocket instance.">Create()</a> creates a WebSocket instance. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying the instance with the WebSocket.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> corresponding to a WebSocket if successful. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a45b1ad062facdf02199d1879a55c6299"></a><!-- doxytag: member="PPB_WebSocket::GetBufferedAmount" ref="a45b1ad062facdf02199d1879a55c6299" args=")(PP_Resource web_socket)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint64_t(* <a class="el" href="struct_p_p_b___web_socket__1__0.html#a45b1ad062facdf02199d1879a55c6299">PPB_WebSocket::GetBufferedAmount</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___web_socket__1__0.html#a45b1ad062facdf02199d1879a55c6299" title="GetBufferedAmount() returns the number of bytes of text and binary messages that have been queued for...">GetBufferedAmount()</a> returns the number of bytes of text and binary messages that have been queued for the WebSocket connection to send, but have not been transmitted to the network yet. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">web_socket</td><td>A <code>PP_Resource</code> corresponding to a WebSocket.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the number of bytes. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ac0bfae85f51a9e2d5b7fb9660f24968e"></a><!-- doxytag: member="PPB_WebSocket::GetCloseCode" ref="ac0bfae85f51a9e2d5b7fb9660f24968e" args=")(PP_Resource web_socket)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint16_t(* <a class="el" href="struct_p_p_b___web_socket__1__0.html#ac0bfae85f51a9e2d5b7fb9660f24968e">PPB_WebSocket::GetCloseCode</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___web_socket__1__0.html#ac0bfae85f51a9e2d5b7fb9660f24968e" title="GetCloseCode() returns the connection close code for the WebSocket connection.">GetCloseCode()</a> returns the connection close code for the WebSocket connection. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">web_socket</td><td>A <code>PP_Resource</code> corresponding to a WebSocket.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns 0 if called before the close code is set. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aef09f974f4c6ebc9c23a9161ae7c2945"></a><!-- doxytag: member="PPB_WebSocket::GetCloseReason" ref="aef09f974f4c6ebc9c23a9161ae7c2945" args=")(PP_Resource web_socket)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___web_socket__1__0.html#aef09f974f4c6ebc9c23a9161ae7c2945">PPB_WebSocket::GetCloseReason</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___web_socket__1__0.html#aef09f974f4c6ebc9c23a9161ae7c2945" title="GetCloseReason() returns the connection close reason for the WebSocket connection.">GetCloseReason()</a> returns the connection close reason for the WebSocket connection. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">web_socket</td><td>A <code>PP_Resource</code> corresponding to a WebSocket.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns a <code>PP_VARTYPE_STRING</code> var. If called before the close reason is set, the return value contains an empty string. Returns a <code>PP_VARTYPE_UNDEFINED</code> if called on an invalid resource. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="afaf7ee244ffe9aae026b7fbca7a6eff4"></a><!-- doxytag: member="PPB_WebSocket::GetCloseWasClean" ref="afaf7ee244ffe9aae026b7fbca7a6eff4" args=")(PP_Resource web_socket)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___web_socket__1__0.html#afaf7ee244ffe9aae026b7fbca7a6eff4">PPB_WebSocket::GetCloseWasClean</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___web_socket__1__0.html#afaf7ee244ffe9aae026b7fbca7a6eff4" title="GetCloseWasClean() returns if the connection was closed cleanly for the specified WebSocket connectio...">GetCloseWasClean()</a> returns if the connection was closed cleanly for the specified WebSocket connection. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">web_socket</td><td>A <code>PP_Resource</code> corresponding to a WebSocket.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>PP_FALSE</code> if called before the connection is closed, called on an invalid resource, or closed for abnormal reasons. Otherwise, returns <code>PP_TRUE</code> if the connection was closed cleanly. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a71d0d4a01f5e11520d56b668ff178c20"></a><!-- doxytag: member="PPB_WebSocket::GetExtensions" ref="a71d0d4a01f5e11520d56b668ff178c20" args=")(PP_Resource web_socket)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___web_socket__1__0.html#a71d0d4a01f5e11520d56b668ff178c20">PPB_WebSocket::GetExtensions</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___web_socket__1__0.html#a71d0d4a01f5e11520d56b668ff178c20" title="GetExtensions() returns the extensions selected by the server for the specified WebSocket connection...">GetExtensions()</a> returns the extensions selected by the server for the specified WebSocket connection. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">web_socket</td><td>A <code>PP_Resource</code> corresponding to a WebSocket.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns a <code>PP_VARTYPE_STRING</code> var. If called before the connection is established, the var's data is an empty string. Returns a <code>PP_VARTYPE_UNDEFINED</code> if called on an invalid resource. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a0f5f83152a917998a23e0a10b3a0fa4a"></a><!-- doxytag: member="PPB_WebSocket::GetProtocol" ref="a0f5f83152a917998a23e0a10b3a0fa4a" args=")(PP_Resource web_socket)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___web_socket__1__0.html#a0f5f83152a917998a23e0a10b3a0fa4a">PPB_WebSocket::GetProtocol</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___web_socket__1__0.html#a0f5f83152a917998a23e0a10b3a0fa4a" title="GetProtocol() returns the sub-protocol chosen by the server for the specified WebSocket connection...">GetProtocol()</a> returns the sub-protocol chosen by the server for the specified WebSocket connection. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">web_socket</td><td>A <code>PP_Resource</code> corresponding to a WebSocket.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns a <code>PP_VARTYPE_STRING</code> var. If called before the connection is established, the var contains the empty string. Returns a <code>PP_VARTYPE_UNDEFINED</code> if called on an invalid resource. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="abd52bebffd4153294734168663057ecc"></a><!-- doxytag: member="PPB_WebSocket::GetReadyState" ref="abd52bebffd4153294734168663057ecc" args=")(PP_Resource web_socket)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#gade61cdf6a7470769b571925694d91a89">PP_WebSocketReadyState</a>(* <a class="el" href="struct_p_p_b___web_socket__1__0.html#abd52bebffd4153294734168663057ecc">PPB_WebSocket::GetReadyState</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___web_socket__1__0.html#abd52bebffd4153294734168663057ecc" title="GetReadyState() returns the ready state of the specified WebSocket connection.">GetReadyState()</a> returns the ready state of the specified WebSocket connection. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">web_socket</td><td>A <code>PP_Resource</code> corresponding to a WebSocket.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>PP_WEBSOCKETREADYSTATE_INVALID</code> if called before <a class="el" href="struct_p_p_b___web_socket__1__0.html#aaff1d1e6f3240e5ce9c772ad80aa38d5" title="Connect() connects to the specified WebSocket server.">Connect()</a> is called, or if this function is called on an invalid resource. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a130ed98f0ebabb614b6637ca6f800e13"></a><!-- doxytag: member="PPB_WebSocket::GetURL" ref="a130ed98f0ebabb614b6637ca6f800e13" args=")(PP_Resource web_socket)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___web_socket__1__0.html#a130ed98f0ebabb614b6637ca6f800e13">PPB_WebSocket::GetURL</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___web_socket__1__0.html#a130ed98f0ebabb614b6637ca6f800e13" title="GetURL() returns the URL associated with specified WebSocket connection.">GetURL()</a> returns the URL associated with specified WebSocket connection. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">web_socket</td><td>A <code>PP_Resource</code> corresponding to a WebSocket.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns a <code>PP_VARTYPE_STRING</code> var. If called before the connection is established, the var contains the empty string. Returns a <code>PP_VARTYPE_UNDEFINED</code> if this function is called on an invalid resource. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="afa66d61dd10155dd445a13f1c6280a79"></a><!-- doxytag: member="PPB_WebSocket::IsWebSocket" ref="afa66d61dd10155dd445a13f1c6280a79" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___web_socket__1__0.html#afa66d61dd10155dd445a13f1c6280a79">PPB_WebSocket::IsWebSocket</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___web_socket__1__0.html#afa66d61dd10155dd445a13f1c6280a79" title="IsWebSocket() determines if the provided resource is a WebSocket instance.">IsWebSocket()</a> determines if the provided <code>resource</code> is a WebSocket instance. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a WebSocket.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>PP_TRUE</code> if <code>resource</code> is a <code>PPB_WebSocket</code>, <code>PP_FALSE</code> if the <code>resource</code> is invalid or some type other than <code>PPB_WebSocket</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aedebd5c21bc451e6b99ea1b2de884122"></a><!-- doxytag: member="PPB_WebSocket::ReceiveMessage" ref="aedebd5c21bc451e6b99ea1b2de884122" args=")(PP_Resource web_socket, struct PP_Var *message, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___web_socket__1__0.html#aedebd5c21bc451e6b99ea1b2de884122">PPB_WebSocket::ReceiveMessage</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> *message, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___web_socket__1__0.html#aedebd5c21bc451e6b99ea1b2de884122" title="ReceiveMessage() receives a message from the WebSocket server.">ReceiveMessage()</a> receives a message from the WebSocket server. </p>
+<p>This interface only returns a single message. That is, this interface must be called at least N times to receive N messages, no matter the size of each message.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">web_socket</td><td>A <code>PP_Resource</code> corresponding to a WebSocket.</td></tr>
+<tr><td class="paramdir">[out]</td><td class="paramname">message</td><td>The received message is copied to provided <code>message</code>. The <code>message</code> must remain valid until <a class="el" href="struct_p_p_b___web_socket__1__0.html#aedebd5c21bc451e6b99ea1b2de884122" title="ReceiveMessage() receives a message from the WebSocket server.">ReceiveMessage()</a> completes. Its received <code>PP_VarType</code> will be <code>PP_VARTYPE_STRING</code> or <code>PP_VARTYPE_ARRAY_BUFFER</code>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> called when <a class="el" href="struct_p_p_b___web_socket__1__0.html#aedebd5c21bc451e6b99ea1b2de884122" title="ReceiveMessage() receives a message from the WebSocket server.">ReceiveMessage()</a> completes. This callback is ignored if <a class="el" href="struct_p_p_b___web_socket__1__0.html#aedebd5c21bc451e6b99ea1b2de884122" title="ReceiveMessage() receives a message from the WebSocket server.">ReceiveMessage()</a> completes synchronously and returns <code>PP_OK</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. If an error is detected or connection is closed, <a class="el" href="struct_p_p_b___web_socket__1__0.html#aedebd5c21bc451e6b99ea1b2de884122" title="ReceiveMessage() receives a message from the WebSocket server.">ReceiveMessage()</a> returns <code>PP_ERROR_FAILED</code> after all buffered messages are received. Until buffered message become empty, <a class="el" href="struct_p_p_b___web_socket__1__0.html#aedebd5c21bc451e6b99ea1b2de884122" title="ReceiveMessage() receives a message from the WebSocket server.">ReceiveMessage()</a> continues to return <code>PP_OK</code> as if connection is still established without errors. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a05bf8512a7c566f59d527c4a7e92f194"></a><!-- doxytag: member="PPB_WebSocket::SendMessage" ref="a05bf8512a7c566f59d527c4a7e92f194" args=")(PP_Resource web_socket, struct PP_Var message)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___web_socket__1__0.html#a05bf8512a7c566f59d527c4a7e92f194">PPB_WebSocket::SendMessage</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> message)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___web_socket__1__0.html#a05bf8512a7c566f59d527c4a7e92f194" title="SendMessage() sends a message to the WebSocket server.">SendMessage()</a> sends a message to the WebSocket server. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">web_socket</td><td>A <code>PP_Resource</code> corresponding to a WebSocket.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">message</td><td>A message to send. The message is copied to an internal buffer, so the caller can free <code>message</code> safely after returning from the function. Its sent <code>PP_VarType</code> must be <code>PP_VARTYPE_STRING</code> or <code>PP_VARTYPE_ARRAY_BUFFER</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. Returns <code>PP_ERROR_FAILED</code> if the ReadyState is <code>PP_WEBSOCKETREADYSTATE_CONNECTING</code>. <code>PP_ERROR_FAILED</code> corresponds to a JavaScript InvalidStateError in the WebSocket API specification. Returns <code>PP_ERROR_BADARGUMENT</code> if the provided <code>message</code> contains an invalid character as a UTF-8 string. <code>PP_ERROR_BADARGUMENT</code> corresponds to a JavaScript SyntaxError in the WebSocket API specification. Otherwise, returns <code>PP_OK</code>, which doesn't necessarily mean that the server received the message. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="ppb__websocket_8h.html">ppb_websocket.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___wheel_input_event__1__0.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___wheel_input_event__1__0.html
new file mode 100644
index 0000000..2c642f8f
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_b___wheel_input_event__1__0.html
@@ -0,0 +1,137 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_WheelInputEvent Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_WheelInputEvent" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___wheel_input_event__1__0.html#ab9058129b7d0988881f1eea9734e4a4d">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___typedefs.html#ga71cb1042cdeb38d7881b121f3b09ce94">PP_TimeTicks</a> time_stamp, uint32_t modifiers, const struct <a class="el" href="struct_p_p___float_point.html">PP_FloatPoint</a> *wheel_delta, const struct <a class="el" href="struct_p_p___float_point.html">PP_FloatPoint</a> *wheel_ticks, <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> scroll_by_page)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___wheel_input_event__1__0.html#aa67dcdcd6b98c48f5564987a0b080c13">IsWheelInputEvent</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___float_point.html">PP_FloatPoint</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___wheel_input_event__1__0.html#a7a6b1fb017bb6d872b014def298f70db">GetDelta</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> wheel_event)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___float_point.html">PP_FloatPoint</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___wheel_input_event__1__0.html#acc7a5e1f0cfe6481ccc33bbb3b06cd33">GetTicks</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> wheel_event)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___wheel_input_event__1__0.html#a51ceeec58953923770768c283405612b">GetScrollByPage</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> wheel_event)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_WheelIputEvent</code> interface contains pointers to several functions related to wheel input events. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="ab9058129b7d0988881f1eea9734e4a4d"></a><!-- doxytag: member="PPB_WheelInputEvent::Create" ref="ab9058129b7d0988881f1eea9734e4a4d" args=")(PP_Instance instance, PP_TimeTicks time_stamp, uint32_t modifiers, const struct PP_FloatPoint *wheel_delta, const struct PP_FloatPoint *wheel_ticks, PP_Bool scroll_by_page)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___wheel_input_event__1__0.html#ab9058129b7d0988881f1eea9734e4a4d">PPB_WheelInputEvent::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___typedefs.html#ga71cb1042cdeb38d7881b121f3b09ce94">PP_TimeTicks</a> time_stamp, uint32_t modifiers, const struct <a class="el" href="struct_p_p___float_point.html">PP_FloatPoint</a> *wheel_delta, const struct <a class="el" href="struct_p_p___float_point.html">PP_FloatPoint</a> *wheel_ticks, <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> scroll_by_page)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___wheel_input_event__1__0.html#ab9058129b7d0988881f1eea9734e4a4d" title="Create() creates a wheel input event with the given parameters.">Create()</a> creates a wheel input event with the given parameters. </p>
+<p>Normally you will get a wheel event passed through the <code>HandleInputEvent</code> and will not need to create them, but some applications may want to create their own for internal use.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance for which this event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">time_stamp</td><td>A <code>PP_TimeTicks</code> indicating the time when the event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">modifiers</td><td>A bit field combination of the <code>PP_InputEvent_Modifier</code> flags.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">wheel_delta</td><td>The scroll wheel's horizontal and vertical scroll amounts.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">wheel_ticks</td><td>The number of "clicks" of the scroll wheel that have produced the event.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">scroll_by_page</td><td>When true, the user is requesting to scroll by pages. When false, the user is requesting to scroll by lines.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> containing the new wheel input event. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a7a6b1fb017bb6d872b014def298f70db"></a><!-- doxytag: member="PPB_WheelInputEvent::GetDelta" ref="a7a6b1fb017bb6d872b014def298f70db" args=")(PP_Resource wheel_event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___float_point.html">PP_FloatPoint</a>(* <a class="el" href="struct_p_p_b___wheel_input_event__1__0.html#a7a6b1fb017bb6d872b014def298f70db">PPB_WheelInputEvent::GetDelta</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> wheel_event)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___wheel_input_event__1__0.html#a7a6b1fb017bb6d872b014def298f70db" title="GetDelta() returns the amount vertically and horizontally the user has requested to scroll by with th...">GetDelta()</a> returns the amount vertically and horizontally the user has requested to scroll by with their mouse wheel. </p>
+<p>A scroll down or to the right (where the content moves up or left) is represented as positive values, and a scroll up or to the left (where the content moves down or right) is represented as negative values.</p>
+<p>This amount is system dependent and will take into account the user's preferred scroll sensitivity and potentially also nonlinear acceleration based on the speed of the scrolling.</p>
+<p>Devices will be of varying resolution. Some mice with large detents will only generate integer scroll amounts. But fractional values are also possible, for example, on some trackpads and newer mice that don't have "clicks".</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">wheel_event</td><td>A <code>PP_Resource</code> corresponding to a wheel event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The vertical and horizontal scroll values. The units are either in pixels (when scroll_by_page is false) or pages (when scroll_by_page is true). For example, y = -3 means scroll up 3 pixels when scroll_by_page is false, and scroll up 3 pages when scroll_by_page is true. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a51ceeec58953923770768c283405612b"></a><!-- doxytag: member="PPB_WheelInputEvent::GetScrollByPage" ref="a51ceeec58953923770768c283405612b" args=")(PP_Resource wheel_event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___wheel_input_event__1__0.html#a51ceeec58953923770768c283405612b">PPB_WheelInputEvent::GetScrollByPage</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> wheel_event)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___wheel_input_event__1__0.html#a51ceeec58953923770768c283405612b" title="GetScrollByPage() indicates if the scroll delta x/y indicates pages or lines to scroll by...">GetScrollByPage()</a> indicates if the scroll delta x/y indicates pages or lines to scroll by. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">wheel_event</td><td>A <code>PP_Resource</code> corresponding to a wheel event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the event is a wheel event and the user is scrolling by pages. <code>PP_FALSE</code> if not or if the resource is not a wheel event. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="acc7a5e1f0cfe6481ccc33bbb3b06cd33"></a><!-- doxytag: member="PPB_WheelInputEvent::GetTicks" ref="acc7a5e1f0cfe6481ccc33bbb3b06cd33" args=")(PP_Resource wheel_event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___float_point.html">PP_FloatPoint</a>(* <a class="el" href="struct_p_p_b___wheel_input_event__1__0.html#acc7a5e1f0cfe6481ccc33bbb3b06cd33">PPB_WheelInputEvent::GetTicks</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> wheel_event)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___wheel_input_event__1__0.html#acc7a5e1f0cfe6481ccc33bbb3b06cd33" title='GetTicks() returns the number of "clicks" of the scroll wheel that have produced the event...'>GetTicks()</a> returns the number of "clicks" of the scroll wheel that have produced the event. </p>
+<p>The value may have system-specific acceleration applied to it, depending on the device. The positive and negative meanings are the same as for <a class="el" href="struct_p_p_b___wheel_input_event__1__0.html#a7a6b1fb017bb6d872b014def298f70db" title="GetDelta() returns the amount vertically and horizontally the user has requested to scroll by with th...">GetDelta()</a>.</p>
+<p>If you are scrolling, you probably want to use the delta values. These tick events can be useful if you aren't doing actual scrolling and don't want or pixel values. An example may be cycling between different items in a game.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">wheel_event</td><td>A <code>PP_Resource</code> corresponding to a wheel event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The number of "clicks" of the scroll wheel. You may receive fractional values for the wheel ticks if the mouse wheel is high resolution or doesn't have "clicks". If your program wants discrete events (as in the "picking items" example) you should accumulate fractional click values from multiple messages until the total value reaches positive or negative one. This should represent a similar amount of scrolling as for a mouse that has a discrete mouse wheel. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aa67dcdcd6b98c48f5564987a0b080c13"></a><!-- doxytag: member="PPB_WheelInputEvent::IsWheelInputEvent" ref="aa67dcdcd6b98c48f5564987a0b080c13" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___wheel_input_event__1__0.html#aa67dcdcd6b98c48f5564987a0b080c13">PPB_WheelInputEvent::IsWheelInputEvent</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___wheel_input_event__1__0.html#aa67dcdcd6b98c48f5564987a0b080c13" title="IsWheelInputEvent() determines if a resource is a wheel event.">IsWheelInputEvent()</a> determines if a resource is a wheel event. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">wheel_event</td><td>A <code>PP_Resource</code> corresponding to an event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the given resource is a valid wheel input event. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="ppb__input__event_8h.html">ppb_input_event.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_p___graphics3_d__1__0.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_p___graphics3_d__1__0.html
new file mode 100644
index 0000000..d23cdb8
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_p___graphics3_d__1__0.html
@@ -0,0 +1,35 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPP_Graphics3D Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPP_Graphics3D" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___graphics3_d__1__0.html#ae7aba86d10d1b8c4c7a41bac3af64b0a">Graphics3DContextLost</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p><code>PPP_Graphics3D</code> defines the notification interface for a 3D graphics context. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="ae7aba86d10d1b8c4c7a41bac3af64b0a"></a><!-- doxytag: member="PPP_Graphics3D::Graphics3DContextLost" ref="ae7aba86d10d1b8c4c7a41bac3af64b0a" args=")(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_p___graphics3_d__1__0.html#ae7aba86d10d1b8c4c7a41bac3af64b0a">PPP_Graphics3D::Graphics3DContextLost</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Called when the OpenGL ES window is invalidated and needs to be repainted. </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="ppp__graphics__3d_8h.html">ppp_graphics_3d.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_p___input_event__0__1.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_p___input_event__0__1.html
new file mode 100644
index 0000000..ce2fef84
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_p___input_event__0__1.html
@@ -0,0 +1,41 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPP_InputEvent Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPP_InputEvent" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___input_event__0__1.html#ae684a39a2bf6b58aee0f7420aab43150">HandleInputEvent</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> input_event)</td></tr>
+</table>
+<hr /><h2>Field Documentation</h2>
+<a class="anchor" id="ae684a39a2bf6b58aee0f7420aab43150"></a><!-- doxytag: member="PPP_InputEvent::HandleInputEvent" ref="ae684a39a2bf6b58aee0f7420aab43150" args=")(PP_Instance instance, PP_Resource input_event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_p___input_event__0__1.html#ae684a39a2bf6b58aee0f7420aab43150">PPP_InputEvent::HandleInputEvent</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> input_event)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Function for receiving input events from the browser. </p>
+<p>In order to receive input events, you must register for them by calling <a class="el" href="struct_p_p_b___input_event__1__0.html#a369d79730ad84d0b8dee9127c114086e" title="RequestInputEvent() requests that input events corresponding to the given input events are delivered ...">PPB_InputEvent.RequestInputEvents()</a> or RequestFilteringInputEvents(). By default, no events are delivered.</p>
+<p>If the event was handled, it will not be forwarded to the web page or browser. If it was not handled, it will bubble according to the normal rules. So it is important that an instance respond accurately with whether event propagation should continue.</p>
+<p>Event propagation also controls focus. If you handle an event like a mouse event, typically the instance will be given focus. Returning false from a filtered event handler or not registering for an event type means that the click will be given to a lower part of the page and your instance will not receive focus. This allows an instance to be partially transparent, where clicks on the transparent areas will behave like clicks to the underlying page.</p>
+<p>In general, you should try to keep input event handling short. Especially for filtered input events, the browser or page may be blocked waiting for you to respond.</p>
+<p>The caller of this function will maintain a reference to the input event resource during this call. Unless you take a reference to the resource to hold it for later, you don't need to release it.</p>
+<p><b>Note:</b> If you're not receiving input events, make sure you register for the event classes you want by calling RequestInputEvents or RequestFilteringInputEvents. If you're still not receiving keyboard input events, make sure you're returning true (or using a non-filtered event handler) for mouse events. Otherwise, the instance will not receive focus and keyboard events will not be sent.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="struct_p_p_b___input_event__1__0.html#a369d79730ad84d0b8dee9127c114086e" title="RequestInputEvent() requests that input events corresponding to the given input events are delivered ...">PPB_InputEvent.RequestInputEvents</a> and <a class="el" href="struct_p_p_b___input_event__1__0.html#a42dcc8edf80141680e919258f3066069" title="RequestFilteringInputEvents() requests that input events corresponding to the given input events are ...">PPB_InputEvent.RequestFilteringInputEvents</a></dd></dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>PP_TRUE if the event was handled, PP_FALSE if not. If you have registered to filter this class of events by calling RequestFilteringInputEvents, and you return PP_FALSE, the event will be forwarded to the page (and eventually the browser) for the default handling. For non-filtered events, the return value will be ignored. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="ppp__input__event_8h.html">ppp_input_event.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_p___instance__1__1.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_p___instance__1__1.html
new file mode 100644
index 0000000..14fe4df
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_p___instance__1__1.html
@@ -0,0 +1,139 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPP_Instance Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPP_Instance" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___instance__1__1.html#aff2dd72f7aab6335cacf8bc3a66ccbba">DidCreate</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, uint32_t argc, const char *argn[], const char *argv[])</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___instance__1__1.html#a99edbb91abde255fec3bc3e1f9c8ba82">DidDestroy</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___instance__1__1.html#aa028a7b17d62242ac56b6ab4b55dc047">DidChangeView</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> view)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___instance__1__1.html#abf4a481156b605938416bf873bd2c782">DidChangeFocus</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> has_focus)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___instance__1__1.html#a2fba2c9d06044a48e73a649b04398e1d">HandleDocumentLoad</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> url_loader)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPP_Instance</code> interface contains pointers to a series of functions that you must implement in your module. </p>
+<p>These functions can be trivial (simply return the default return value) unless you want your module to handle events such as change of focus or input events (keyboard/mouse) events. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="abf4a481156b605938416bf873bd2c782"></a><!-- doxytag: member="PPP_Instance::DidChangeFocus" ref="abf4a481156b605938416bf873bd2c782" args=")(PP_Instance instance, PP_Bool has_focus)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_p___instance__1__1.html#abf4a481156b605938416bf873bd2c782">PPP_Instance::DidChangeFocus</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> has_focus)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_p___instance__1__1.html#abf4a481156b605938416bf873bd2c782" title="DidChangeFocus() is called when an instance has gained or lost focus.">DidChangeFocus()</a> is called when an instance has gained or lost focus. </p>
+<p>Having focus means that keyboard events will be sent to the instance. An instance's default condition is that it will not have focus.</p>
+<p>The focus flag takes into account both browser tab and window focus as well as focus of the plugin element on the page. In order to be deemed to have focus, the browser window must be topmost, the tab must be selected in the window, and the instance must be the focused element on the page.</p>
+<p><b>Note:</b>Clicks on instances will give focus only if you handle the click event. Return <code>true</code> from <code>HandleInputEvent</code> in <code>PPP_InputEvent</code> (or use unfiltered events) to signal that the click event was handled. Otherwise, the browser will bubble the event and give focus to the element on the page that actually did end up consuming it. If you're not getting focus, check to make sure you're either requesting them via <code>RequestInputEvents()</code><code> (which implicitly marks all input events as consumed) or via </code><code>RequestFilteringInputEvents()</code> and returning true from your event handler.</p>
+<p><code></code><code> </code></p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying the instance receiving the input event.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">has_focus</td><td>Indicates the new focused state of the instance. </td></tr>
+</table>
+</dd>
+</dl>
+<p></p>
+</div>
+</div>
+<a class="anchor" id="aa028a7b17d62242ac56b6ab4b55dc047"></a><!-- doxytag: member="PPP_Instance::DidChangeView" ref="aa028a7b17d62242ac56b6ab4b55dc047" args=")(PP_Instance instance, PP_Resource view)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_p___instance__1__1.html#aa028a7b17d62242ac56b6ab4b55dc047">PPP_Instance::DidChangeView</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> view)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><code><a class="el" href="struct_p_p_p___instance__1__1.html#aa028a7b17d62242ac56b6ab4b55dc047" title="DidChangeView() is called when the position, size, or other view attributes of the instance has chang...">DidChangeView()</a> is called when the position, size, or other view attributes of the instance has changed. </code></p>
+</div>
+</div>
+<a class="anchor" id="aff2dd72f7aab6335cacf8bc3a66ccbba"></a><!-- doxytag: member="PPP_Instance::DidCreate" ref="aff2dd72f7aab6335cacf8bc3a66ccbba" args=")(PP_Instance instance, uint32_t argc, const char *argn[], const char *argv[])" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_p___instance__1__1.html#aff2dd72f7aab6335cacf8bc3a66ccbba">PPP_Instance::DidCreate</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, uint32_t argc, const char *argn[], const char *argv[])</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_p___instance__1__1.html#aff2dd72f7aab6335cacf8bc3a66ccbba" title="DidCreate() is a creation handler that is called when a new instance is created.">DidCreate()</a> is a creation handler that is called when a new instance is created. </p>
+<p>This function is called for each instantiation on the page, corresponding to one <embed> tag on the page.</p>
+<p>Generally you would handle this call by initializing the information your module associates with an instance and creating a mapping from the given <code>PP_Instance</code> handle to this data. The <code>PP_Instance</code> handle will be used in subsequent calls to identify which instance the call pertains to.</p>
+<p>It's possible for more than one instance to be created in a single module. This means that you may get more than one <code>OnCreate</code> without an <code>OnDestroy</code> in between, and should be prepared to maintain multiple states associated with each instance.</p>
+<p>If this function reports a failure (by returning <code>PP_FALSE</code>), the instance will be deleted.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A new <code>PP_Instance</code> identifying one instance of a module. This is an opaque handle.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">argc</td><td>The number of arguments contained in <code>argn</code> and <code>argv</code>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">argn</td><td>An array of argument names. These argument names are supplied in the <embed> tag, for example: <code><embed id="nacl_module" dimensions="2"></code> will produce two argument names: "id" and "dimensions."</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">argv</td><td>An array of argument values. These are the values of the arguments listed in the <embed> tag, for example <code><embed id="nacl_module" dimensions="2"></code> will produce two argument values: "nacl_module" and "2". The indices of these values match the indices of the corresponding names in <code>argn</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> on success or <code>PP_FALSE</code> on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a99edbb91abde255fec3bc3e1f9c8ba82"></a><!-- doxytag: member="PPP_Instance::DidDestroy" ref="a99edbb91abde255fec3bc3e1f9c8ba82" args=")(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_p___instance__1__1.html#a99edbb91abde255fec3bc3e1f9c8ba82">PPP_Instance::DidDestroy</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_p___instance__1__1.html#a99edbb91abde255fec3bc3e1f9c8ba82" title="DidDestroy() is an instance destruction handler.">DidDestroy()</a> is an instance destruction handler. </p>
+<p>This function is called in many cases (see below) when a module instance is destroyed. It will be called even if <a class="el" href="struct_p_p_p___instance__1__1.html#aff2dd72f7aab6335cacf8bc3a66ccbba" title="DidCreate() is a creation handler that is called when a new instance is created.">DidCreate()</a> returned failure.</p>
+<p>Generally you will handle this call by deallocating the tracking information and the <code>PP_Instance</code> mapping you created in the <a class="el" href="struct_p_p_p___instance__1__1.html#aff2dd72f7aab6335cacf8bc3a66ccbba" title="DidCreate() is a creation handler that is called when a new instance is created.">DidCreate()</a> call. You can also free resources associated with this instance but this isn't required; all resources associated with the deleted instance will be automatically freed when this function returns.</p>
+<p>The instance identifier will still be valid during this call, so the module can perform cleanup-related tasks. Once this function returns, the <code>PP_Instance</code> handle will be invalid. This means that you can't do any asynchronous operations like network requests, file writes or messaging from this function since they will be immediately canceled.</p>
+<p><b>Note:</b> This function will always be skipped on untrusted (Native Client) implementations. This function may be skipped on trusted implementations in certain circumstances when Chrome does "fast shutdown" of a web page. Fast shutdown will happen in some cases when all module instances are being deleted, and no cleanup functions will be called. The module will just be unloaded and the process terminated.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a2fba2c9d06044a48e73a649b04398e1d"></a><!-- doxytag: member="PPP_Instance::HandleDocumentLoad" ref="a2fba2c9d06044a48e73a649b04398e1d" args=")(PP_Instance instance, PP_Resource url_loader)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_p___instance__1__1.html#a2fba2c9d06044a48e73a649b04398e1d">PPP_Instance::HandleDocumentLoad</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> url_loader)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_p___instance__1__1.html#a2fba2c9d06044a48e73a649b04398e1d" title="HandleDocumentLoad() is called after initialize for a full-frame instance that was instantiated based...">HandleDocumentLoad()</a> is called after initialize for a full-frame instance that was instantiated based on the MIME type of a DOMWindow navigation. </p>
+<p>This situation only applies to modules that are pre-registered to handle certain MIME types. If you haven't specifically registered to handle a MIME type or aren't positive this applies to you, your implementation of this function can just return <code>PP_FALSE</code>.</p>
+<p>The given <code>url_loader</code> corresponds to a <code>PPB_URLLoader</code> instance that is already opened. Its response headers may be queried using <code><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a4901dcc43cfdc026e582555974d4d853" title="GetResponseInfo() returns the current URLResponseInfo object.">PPB_URLLoader::GetResponseInfo</a></code>. The reference count for the URL loader is not incremented automatically on behalf of the module. You need to increment the reference count yourself if you are going to keep a reference to it.</p>
+<p>This method returns <code>PP_FALSE</code> if the module cannot handle the data. In response to this method, the module should call ReadResponseBody() to read the incoming data.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying the instance that should do the load.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">url_loader</td><td>An open <code>PPB_URLLoader</code> instance.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the data was handled, <code>PP_FALSE</code> otherwise. If you return false, the load will be canceled for you. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="ppp__instance_8h.html">ppp_instance.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_p___messaging__1__0.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_p___messaging__1__0.html
new file mode 100644
index 0000000..f3282504
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_p___messaging__1__0.html
@@ -0,0 +1,54 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPP_Messaging Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPP_Messaging" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___messaging__1__0.html#a558ca784cf11eaba479ff8621ae2c507">HandleMessage</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> message)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPP_Messaging</code> interface contains pointers to functions that you must implement to handle postMessage events on the associated DOM element. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a558ca784cf11eaba479ff8621ae2c507"></a><!-- doxytag: member="PPP_Messaging::HandleMessage" ref="a558ca784cf11eaba479ff8621ae2c507" args=")(PP_Instance instance, struct PP_Var message)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_p___messaging__1__0.html#a558ca784cf11eaba479ff8621ae2c507">PPP_Messaging::HandleMessage</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> message)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_p___messaging__1__0.html#a558ca784cf11eaba479ff8621ae2c507" title="HandleMessage() is a function that the browser calls when PostMessage() is invoked on the DOM element...">HandleMessage()</a> is a function that the browser calls when PostMessage() is invoked on the DOM element for the module instance in JavaScript. </p>
+<p>Note that PostMessage() in the JavaScript interface is asynchronous, meaning JavaScript execution will not be blocked while <a class="el" href="struct_p_p_p___messaging__1__0.html#a558ca784cf11eaba479ff8621ae2c507" title="HandleMessage() is a function that the browser calls when PostMessage() is invoked on the DOM element...">HandleMessage()</a> is processing the message.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">message</td><td>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> which has been converted from a JavaScript value. JavaScript array/object types are supported from Chrome M29 onward. All JavaScript values are copied when passing them to the plugin.</td></tr>
+</table>
+</dd>
+</dl>
+<p>When converting JavaScript arrays, any object properties whose name is not an array index are ignored. When passing arrays and objects, the entire reference graph will be converted and transferred. If the reference graph has cycles, the message will not be sent and an error will be logged to the console.</p>
+<p>The following JavaScript code invokes <code>HandleMessage</code>, passing the module instance on which it was invoked, with <code>message</code> being a string <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> containing "Hello world!"</p>
+<p><b>Example:</b></p>
+<div class="fragment"><pre class="fragment"> <body>
+ <<span class="keywordtype">object</span> <span class="keywordtype">id</span>=<span class="stringliteral">"plugin"</span>
+ type=<span class="stringliteral">"application/x-ppapi-postMessage-example"</span>/>
+ <script type=<span class="stringliteral">"text/javascript"</span>>
+ document.getElementById(<span class="stringliteral">'plugin'</span>).postMessage(<span class="stringliteral">"Hello world!"</span>);
+ </script>
+ </body>
+</pre></div>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="ppp__messaging_8h.html">ppp_messaging.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_p___mouse_lock__1__0.html b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_p___mouse_lock__1__0.html
new file mode 100644
index 0000000..da56456
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/struct_p_p_p___mouse_lock__1__0.html
@@ -0,0 +1,41 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPP_MouseLock Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPP_MouseLock" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___mouse_lock__1__0.html#abbc863bf2e6b2e608bdbde3d9229debf">MouseLockLost</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPP_MouseLock</code> interface contains a function that you must implement to receive mouse lock events from the browser. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="abbc863bf2e6b2e608bdbde3d9229debf"></a><!-- doxytag: member="PPP_MouseLock::MouseLockLost" ref="abbc863bf2e6b2e608bdbde3d9229debf" args=")(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_p___mouse_lock__1__0.html#abbc863bf2e6b2e608bdbde3d9229debf">PPP_MouseLock::MouseLockLost</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_p___mouse_lock__1__0.html#abbc863bf2e6b2e608bdbde3d9229debf" title="MouseLockLost() is called when the instance loses the mouse lock, such as when the user presses the E...">MouseLockLost()</a> is called when the instance loses the mouse lock, such as when the user presses the ESC key. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="ppp__mouse__lock_8h.html">ppp_mouse_lock.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/c/union_p_p___var_value.html b/native_client_sdk/doc_generated/pepper_beta/c/union_p_p___var_value.html
new file mode 100644
index 0000000..ec36c54
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/c/union_p_p___var_value.html
@@ -0,0 +1,78 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_VarValue Union Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_VarValue" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="union_p_p___var_value.html#ab7c79b63a2e7fef545fcf8195bb5ad12">as_bool</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="union_p_p___var_value.html#a74da1e2b62153f138ae49147842f6d2c">as_int</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="union_p_p___var_value.html#aa4a3a6095ef825b30237d7c856ba4bf7">as_double</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="union_p_p___var_value.html#af3087d15f3c1ee35fe48f215292df1ad">as_id</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <a class="el" href="union_p_p___var_value.html" title="The PP_VarValue union stores the data for any one of the types listed in the PP_VarType enum...">PP_VarValue</a> union stores the data for any one of the types listed in the PP_VarType enum. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="ab7c79b63a2e7fef545fcf8195bb5ad12"></a><!-- doxytag: member="PP_VarValue::as_bool" ref="ab7c79b63a2e7fef545fcf8195bb5ad12" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> <a class="el" href="union_p_p___var_value.html#ab7c79b63a2e7fef545fcf8195bb5ad12">PP_VarValue::as_bool</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>If <code>type</code> is <code>PP_VARTYPE_BOOL</code>, <code>as_bool</code> represents the value of this <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> as <code>PP_Bool</code>. </p>
+</div>
+</div>
+<a class="anchor" id="aa4a3a6095ef825b30237d7c856ba4bf7"></a><!-- doxytag: member="PP_VarValue::as_double" ref="aa4a3a6095ef825b30237d7c856ba4bf7" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">double <a class="el" href="union_p_p___var_value.html#aa4a3a6095ef825b30237d7c856ba4bf7">PP_VarValue::as_double</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>If <code>type</code> is <code>PP_VARTYPE_DOUBLE</code>, <code>as_double</code> represents the value of this <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> as <code>double</code>. </p>
+</div>
+</div>
+<a class="anchor" id="af3087d15f3c1ee35fe48f215292df1ad"></a><!-- doxytag: member="PP_VarValue::as_id" ref="af3087d15f3c1ee35fe48f215292df1ad" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int64_t <a class="el" href="union_p_p___var_value.html#af3087d15f3c1ee35fe48f215292df1ad">PP_VarValue::as_id</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>If <code>type</code> is <code>PP_VARTYPE_STRING</code>, <code>PP_VARTYPE_OBJECT</code>, <code>PP_VARTYPE_ARRAY</code>, <code>PP_VARTYPE_DICTIONARY</code>, <code>PP_VARTYPE_ARRAY_BUFFER</code>, or <code>PP_VARTYPE_RESOURCE</code>, <code>as_id</code> represents the value of this <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> as an opaque handle assigned by the browser. </p>
+<p>This handle is guaranteed never to be 0, so a module can initialize this ID to 0 to indicate a "NULL handle." </p>
+</div>
+</div>
+<a class="anchor" id="a74da1e2b62153f138ae49147842f6d2c"></a><!-- doxytag: member="PP_VarValue::as_int" ref="a74da1e2b62153f138ae49147842f6d2c" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="union_p_p___var_value.html#a74da1e2b62153f138ae49147842f6d2c">PP_VarValue::as_int</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>If <code>type</code> is <code>PP_VARTYPE_INT32</code>, <code>as_int</code> represents the value of this <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> as <code>int32_t</code>. </p>
+</div>
+</div>
+<hr />The documentation for this union was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/c/<a class="el" href="pp__var_8h.html">pp_var.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/audio_8h.html b/native_client_sdk/doc_generated/pepper_beta/cpp/audio_8h.html
new file mode 100644
index 0000000..537dfa2
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/audio_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/cpp/audio.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for audio.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="audio_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2cpp_2audio_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2audio_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2audio_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio.html">pp::Audio</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">An audio resource. <a href="classpp_1_1_audio.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API to create realtime stereo audio streaming capabilities. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/audio_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/cpp/audio_8h__incl.png
new file mode 100644
index 0000000..dea3c95
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/audio_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/audio__config_8h.html b/native_client_sdk/doc_generated/pepper_beta/cpp/audio__config_8h.html
new file mode 100644
index 0000000..ddda4e0
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/audio__config_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/cpp/audio_config.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for audio_config.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="audio__config_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2cpp_2audio__config_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2audio__config_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2audio__config_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio_config.html">pp::AudioConfig</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A 16 bit stereo <a class="el" href="classpp_1_1_audio_config.html" title="A 16 bit stereo AudioConfig resource.">AudioConfig</a> resource. <a href="classpp_1_1_audio_config.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the interface for establishing an audio configuration resource within the browser. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/audio__config_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/cpp/audio__config_8h__incl.png
new file mode 100644
index 0000000..3fb3a1a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/audio__config_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_audio-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_audio-members.html
new file mode 100644
index 0000000..e3d4ce67
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_audio-members.html
@@ -0,0 +1,31 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_audio.html">pp::Audio</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_audio.html#abcb6131f91a53e36f9626843d86e8109">Audio</a>()</td><td><a class="el" href="classpp_1_1_audio.html">pp::Audio</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_audio.html#af597f4db73cfa15c3dd7eae9b7307fd2">Audio</a>(const InstanceHandle &instance, const AudioConfig &config, PPB_Audio_Callback callback, void *user_data)</td><td><a class="el" href="classpp_1_1_audio.html">pp::Audio</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_audio.html#a856666bd5087947481ac2728bcd26c60">Audio</a>(const InstanceHandle &instance, const AudioConfig &config, PPB_Audio_Callback callback, void *user_data)</td><td><a class="el" href="classpp_1_1_audio.html">pp::Audio</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_audio.html#a750898b5f065621e86472cf1799401bb">config</a>()</td><td><a class="el" href="classpp_1_1_audio.html">pp::Audio</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_audio.html#a51dffc59dc1d654d23c7f8730c87552a">config</a>() const </td><td><a class="el" href="classpp_1_1_audio.html">pp::Audio</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_audio.html#aa8311c20bbeffd9e22ba21218695f6e4">StartPlayback</a>()</td><td><a class="el" href="classpp_1_1_audio.html">pp::Audio</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_audio.html#ae71f91edd576129f8c82db997bd1f163">StopPlayback</a>()</td><td><a class="el" href="classpp_1_1_audio.html">pp::Audio</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_audio.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_audio.html
new file mode 100644
index 0000000..6b49fa5
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_audio.html
@@ -0,0 +1,220 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::Audio Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::Audio" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::Audio:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_audio__inherit__graph.png" border="0" usemap="#pp_1_1_audio_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_audio_inherit__map" id="pp_1_1_audio_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="5,5,109,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_audio-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio.html#abcb6131f91a53e36f9626843d86e8109">Audio</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio.html#af597f4db73cfa15c3dd7eae9b7307fd2">Audio</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, const <a class="el" href="classpp_1_1_audio_config.html">AudioConfig</a> &<a class="el" href="classpp_1_1_audio.html#a750898b5f065621e86472cf1799401bb">config</a>, PPB_Audio_Callback callback, void *user_data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio.html#a856666bd5087947481ac2728bcd26c60">Audio</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, const <a class="el" href="classpp_1_1_audio_config.html">AudioConfig</a> &<a class="el" href="classpp_1_1_audio.html#a750898b5f065621e86472cf1799401bb">config</a>, PPB_Audio_Callback callback, void *user_data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_audio_config.html">AudioConfig</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio.html#a750898b5f065621e86472cf1799401bb">config</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classpp_1_1_audio_config.html">AudioConfig</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio.html#a51dffc59dc1d654d23c7f8730c87552a">config</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio.html#aa8311c20bbeffd9e22ba21218695f6e4">StartPlayback</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio.html#ae71f91edd576129f8c82db997bd1f163">StopPlayback</a> ()</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>An audio resource. </p>
+<p>Refer to the <a href="/native-client/devguide/coding/audio">Audio</a> chapter in the Developer's Guide for information on using this interface. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="abcb6131f91a53e36f9626843d86e8109"></a><!-- doxytag: member="pp::Audio::Audio" ref="abcb6131f91a53e36f9626843d86e8109" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_audio.html#abcb6131f91a53e36f9626843d86e8109">pp::Audio::Audio</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>An empty constructor for an <a class="el" href="classpp_1_1_audio.html" title="An audio resource.">Audio</a> resource. </p>
+</div>
+</div>
+<a class="anchor" id="af597f4db73cfa15c3dd7eae9b7307fd2"></a><!-- doxytag: member="pp::Audio::Audio" ref="af597f4db73cfa15c3dd7eae9b7307fd2" args="(const InstanceHandle &instance, const AudioConfig &config, PPB_Audio_Callback callback, void *user_data)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_audio.html#abcb6131f91a53e36f9626843d86e8109">pp::Audio::Audio</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_audio_config.html">AudioConfig</a> & </td>
+<td class="paramname"><em>config</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PPB_Audio_Callback </td>
+<td class="paramname"><em>callback</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">void * </td>
+<td class="paramname"><em>user_data</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor that creates an <a class="el" href="classpp_1_1_audio.html" title="An audio resource.">Audio</a> resource. </p>
+<p>No sound will be heard until <a class="el" href="classpp_1_1_audio.html#aa8311c20bbeffd9e22ba21218695f6e4" title="StartPlayback() starts playback of audio.">StartPlayback()</a> is called. The callback is called with the buffer address and given user data whenever the buffer needs to be filled. From within the callback, you should not call <code>PPB_Audio</code> functions. The callback will be called on a different thread than the one which created the interface. For performance-critical applications (such as low-latency audio), the callback should avoid blocking or calling functions that can obtain locks, such as malloc. The layout and the size of the buffer passed to the audio callback will be determined by the device configuration and is specified in the <code><a class="el" href="classpp_1_1_audio_config.html" title="A 16 bit stereo AudioConfig resource.">AudioConfig</a></code> documentation.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">config</td><td>An <code><a class="el" href="classpp_1_1_audio_config.html" title="A 16 bit stereo AudioConfig resource.">AudioConfig</a></code> containing the audio config resource. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code>PPB_Audio_Callback</code> callback function that the browser calls when it needs more samples to play. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">user_data</td><td>A pointer to user data used in the callback function. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a856666bd5087947481ac2728bcd26c60"></a><!-- doxytag: member="pp::Audio::Audio" ref="a856666bd5087947481ac2728bcd26c60" args="(const InstanceHandle &instance, const AudioConfig &config, PPB_Audio_Callback callback, void *user_data)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_audio.html#abcb6131f91a53e36f9626843d86e8109">pp::Audio::Audio</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_audio_config.html">AudioConfig</a> & </td>
+<td class="paramname"><em>config</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PPB_Audio_Callback_1_0 </td>
+<td class="paramname"><em>callback</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">void * </td>
+<td class="paramname"><em>user_data</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor that creates an <a class="el" href="classpp_1_1_audio.html" title="An audio resource.">Audio</a> resource. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">config</td><td>An <code><a class="el" href="classpp_1_1_audio_config.html" title="A 16 bit stereo AudioConfig resource.">AudioConfig</a></code> containing the audio config resource. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code>PPB_Audio_Callback</code> callback function that the browser calls when it needs more samples to play. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">user_data</td><td>A pointer to user data used in the callback function. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a750898b5f065621e86472cf1799401bb"></a><!-- doxytag: member="pp::Audio::config" ref="a750898b5f065621e86472cf1799401bb" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_audio_config.html">AudioConfig</a>& <a class="el" href="classpp_1_1_audio.html#a750898b5f065621e86472cf1799401bb">pp::Audio::config</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the internal <code>PPB_AudioConfig</code> struct. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A mutable reference to the PPB_AudioConfig struct. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a51dffc59dc1d654d23c7f8730c87552a"></a><!-- doxytag: member="pp::Audio::config" ref="a51dffc59dc1d654d23c7f8730c87552a" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">const <a class="el" href="classpp_1_1_audio_config.html">AudioConfig</a>& <a class="el" href="classpp_1_1_audio.html#a750898b5f065621e86472cf1799401bb">pp::Audio::config</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the internal <code>PPB_AudioConfig</code> struct. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A const reference to the internal <code>PPB_AudioConfig</code> struct. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aa8311c20bbeffd9e22ba21218695f6e4"></a><!-- doxytag: member="pp::Audio::StartPlayback" ref="aa8311c20bbeffd9e22ba21218695f6e4" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_audio.html#aa8311c20bbeffd9e22ba21218695f6e4">pp::Audio::StartPlayback</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_audio.html#aa8311c20bbeffd9e22ba21218695f6e4" title="StartPlayback() starts playback of audio.">StartPlayback()</a> starts playback of audio. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ae71f91edd576129f8c82db997bd1f163"></a><!-- doxytag: member="pp::Audio::StopPlayback" ref="ae71f91edd576129f8c82db997bd1f163" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_audio.html#ae71f91edd576129f8c82db997bd1f163">pp::Audio::StopPlayback</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>StopPlayback stops playback of audio. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, otherwise false. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="audio_8h.html">audio.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_audio__inherit__graph.png b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_audio__inherit__graph.png
new file mode 100644
index 0000000..446745f
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_audio__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_audio_config-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_audio_config-members.html
new file mode 100644
index 0000000..0c30371
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_audio_config-members.html
@@ -0,0 +1,30 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_audio_config.html">pp::AudioConfig</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_audio_config.html#ad7a5caaa08c531acf7e2975a790db98e">AudioConfig</a>()</td><td><a class="el" href="classpp_1_1_audio_config.html">pp::AudioConfig</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_audio_config.html#aa6dcb1ed3086502f03d9e1d73124421a">AudioConfig</a>(const InstanceHandle &instance, PP_AudioSampleRate sample_rate, uint32_t sample_frame_count)</td><td><a class="el" href="classpp_1_1_audio_config.html">pp::AudioConfig</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_audio_config.html#a53611e94bca5d4a5f7acdd3e5285adb9">RecommendSampleFrameCount</a>(const InstanceHandle &instance, PP_AudioSampleRate sample_rate, uint32_t requested_sample_frame_count)</td><td><a class="el" href="classpp_1_1_audio_config.html">pp::AudioConfig</a></td><td><code> [static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_audio_config.html#abf073122a1b9ef65f149fda9be57246f">RecommendSampleRate</a>(const InstanceHandle &instance)</td><td><a class="el" href="classpp_1_1_audio_config.html">pp::AudioConfig</a></td><td><code> [static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_audio_config.html#ad7cb79f7f92993257643574457ee8d0c">sample_frame_count</a>() const </td><td><a class="el" href="classpp_1_1_audio_config.html">pp::AudioConfig</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_audio_config.html#a988b8489ec9335be25605561d0293813">sample_rate</a>() const </td><td><a class="el" href="classpp_1_1_audio_config.html">pp::AudioConfig</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_audio_config.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_audio_config.html
new file mode 100644
index 0000000..69676da
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_audio_config.html
@@ -0,0 +1,214 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::AudioConfig Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::AudioConfig" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::AudioConfig:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_audio_config__inherit__graph.png" border="0" usemap="#pp_1_1_audio_config_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_audio_config_inherit__map" id="pp_1_1_audio_config_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="15,5,119,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_audio_config-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio_config.html#ad7a5caaa08c531acf7e2975a790db98e">AudioConfig</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio_config.html#aa6dcb1ed3086502f03d9e1d73124421a">AudioConfig</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, PP_AudioSampleRate <a class="el" href="classpp_1_1_audio_config.html#a988b8489ec9335be25605561d0293813">sample_rate</a>, uint32_t <a class="el" href="classpp_1_1_audio_config.html#ad7cb79f7f92993257643574457ee8d0c">sample_frame_count</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_AudioSampleRate </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio_config.html#a988b8489ec9335be25605561d0293813">sample_rate</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio_config.html#ad7cb79f7f92993257643574457ee8d0c">sample_frame_count</a> () const </td></tr>
+</table><h2>
+Static Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">static PP_AudioSampleRate </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio_config.html#abf073122a1b9ef65f149fda9be57246f">RecommendSampleRate</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio_config.html#a53611e94bca5d4a5f7acdd3e5285adb9">RecommendSampleFrameCount</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, PP_AudioSampleRate <a class="el" href="classpp_1_1_audio_config.html#a988b8489ec9335be25605561d0293813">sample_rate</a>, uint32_t requested_sample_frame_count)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>A 16 bit stereo <a class="el" href="classpp_1_1_audio_config.html" title="A 16 bit stereo AudioConfig resource.">AudioConfig</a> resource. </p>
+<p>Refer to the <a href="/native-client/{{pepperversion}}/devguide/coding/audio">Audio </a>chapter in the Developer's Guide for information on using this interface.</p>
+<p>A single sample frame on a stereo device means one value for the left channel and one value for the right channel.</p>
+<p>Buffer layout for a stereo int16 configuration:</p>
+<p><code>int16_t *buffer16;</code> <code>buffer16[0]</code> is the first left channel sample. <code>buffer16[1]</code> is the first right channel sample. <code>buffer16[2]</code> is the second left channel sample. <code>buffer16[3]</code> is the second right channel sample. <code>...</code> <code>buffer16[2 * (sample_frame_count - 1)]</code> is the last left channel sample. <code>buffer16[2 * (sample_frame_count - 1) + 1]</code> is the last right channel sample. Data will always be in the native endian format of the platform.</p>
+<p><b>Example:</b> </p>
+<div class="fragment"><pre class="fragment"> <span class="comment">// Create an audio config with a supported frame count.</span>
+ uint32_t <a class="code" href="classpp_1_1_audio_config.html#ad7cb79f7f92993257643574457ee8d0c" title="Getter function for returning the internal sample frame count.">sample_frame_count</a> = <a class="code" href="classpp_1_1_audio_config.html#a53611e94bca5d4a5f7acdd3e5285adb9" title="RecommendSampleFrameCount() returns a supported frame count closest to the requested count...">AudioConfig::RecommendSampleFrameCount</a>(
+ PP_AUDIOSAMPLERATE_44100, 4096);
+ <a class="code" href="classpp_1_1_audio_config.html#ad7a5caaa08c531acf7e2975a790db98e" title="An empty constructor for an AudioConfig resource.">AudioConfig</a> config(PP_AUDIOSAMPLERATE_44100, sample_frame_count);
+ <span class="keywordflow">if</span> (config.is_null())
+ <span class="keywordflow">return</span> <span class="keyword">false</span>; <span class="comment">// Couldn't configure audio.</span>
+
+ <span class="comment">// Then use the config to create your audio resource.</span>
+ Audio audio(instance, config, callback, user_data);
+ <span class="keywordflow">if</span> (audio.is_null())
+ <span class="keywordflow">return</span> <span class="keyword">false</span>; <span class="comment">// Couldn't create audio.</span>
+</pre></div> </div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="ad7a5caaa08c531acf7e2975a790db98e"></a><!-- doxytag: member="pp::AudioConfig::AudioConfig" ref="ad7a5caaa08c531acf7e2975a790db98e" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_audio_config.html#ad7a5caaa08c531acf7e2975a790db98e">pp::AudioConfig::AudioConfig</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>An empty constructor for an <code><a class="el" href="classpp_1_1_audio_config.html" title="A 16 bit stereo AudioConfig resource.">AudioConfig</a></code> resource. </p>
+</div>
+</div>
+<a class="anchor" id="aa6dcb1ed3086502f03d9e1d73124421a"></a><!-- doxytag: member="pp::AudioConfig::AudioConfig" ref="aa6dcb1ed3086502f03d9e1d73124421a" args="(const InstanceHandle &instance, PP_AudioSampleRate sample_rate, uint32_t sample_frame_count)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_audio_config.html#ad7a5caaa08c531acf7e2975a790db98e">pp::AudioConfig::AudioConfig</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_AudioSampleRate </td>
+<td class="paramname"><em>sample_rate</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>sample_frame_count</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor that creates an audio config based on the given sample rate and frame count. </p>
+<p>If the rate and frame count aren't supported, the resulting resource will be <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a>. You can pass the result of <a class="el" href="classpp_1_1_audio_config.html#a53611e94bca5d4a5f7acdd3e5285adb9" title="RecommendSampleFrameCount() returns a supported frame count closest to the requested count...">RecommendSampleFrameCount()</a> as the sample frame count.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance associated with this resource.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">sample_rate</td><td>A <code>PP_AudioSampleRate</code> which is either <code>PP_AUDIOSAMPLERATE_44100</code> or <code>PP_AUDIOSAMPLERATE_48000</code>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">sample_frame_count</td><td>A uint32_t frame count returned from the <code>RecommendSampleFrameCount</code> function. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a53611e94bca5d4a5f7acdd3e5285adb9"></a><!-- doxytag: member="pp::AudioConfig::RecommendSampleFrameCount" ref="a53611e94bca5d4a5f7acdd3e5285adb9" args="(const InstanceHandle &instance, PP_AudioSampleRate sample_rate, uint32_t requested_sample_frame_count)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static uint32_t <a class="el" href="classpp_1_1_audio_config.html#a53611e94bca5d4a5f7acdd3e5285adb9">pp::AudioConfig::RecommendSampleFrameCount</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_AudioSampleRate </td>
+<td class="paramname"><em>sample_rate</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>requested_sample_frame_count</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_audio_config.html#a53611e94bca5d4a5f7acdd3e5285adb9" title="RecommendSampleFrameCount() returns a supported frame count closest to the requested count...">RecommendSampleFrameCount()</a> returns a supported frame count closest to the requested count. </p>
+<p>The sample frame count determines the overall latency of audio. Smaller frame counts will yield lower latency, but higher CPU utilization. Supported sample frame counts will vary by hardware and system (consider that the local system might be anywhere from a cell phone or a high-end audio workstation). Sample counts less than <code>PP_AUDIOMINSAMPLEFRAMECOUNT</code> and greater than <code>PP_AUDIOMAXSAMPLEFRAMECOUNT</code> are never supported on any system, but values in between aren't necessarily valid. This function will return a supported count closest to the requested value for use in the constructor.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance associated with this resource. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">sample_rate</td><td>A <code>PP_AudioSampleRate</code> which is either <code>PP_AUDIOSAMPLERATE_44100</code> or <code>PP_AUDIOSAMPLERATE_48000</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">requested_sample_frame_count</td><td>A uint32_t requested frame count.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A uint32_t containing the recommended sample frame count if successful. If the sample frame count or bit rate is not supported, this function will fail and return 0. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="abf073122a1b9ef65f149fda9be57246f"></a><!-- doxytag: member="pp::AudioConfig::RecommendSampleRate" ref="abf073122a1b9ef65f149fda9be57246f" args="(const InstanceHandle &instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static PP_AudioSampleRate <a class="el" href="classpp_1_1_audio_config.html#abf073122a1b9ef65f149fda9be57246f">pp::AudioConfig::RecommendSampleRate</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_audio_config.html#abf073122a1b9ef65f149fda9be57246f" title="RecommendSampleRate() returns the native sample rate used by the audio system.">RecommendSampleRate()</a> returns the native sample rate used by the audio system. </p>
+<p>Applications that use the recommended sample rate might obtain lower latency and higher fidelity output.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance associated with this resource. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ad7cb79f7f92993257643574457ee8d0c"></a><!-- doxytag: member="pp::AudioConfig::sample_frame_count" ref="ad7cb79f7f92993257643574457ee8d0c" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="classpp_1_1_audio_config.html#ad7cb79f7f92993257643574457ee8d0c">pp::AudioConfig::sample_frame_count</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the internal sample frame count. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A uint32_t containing the sample frame count. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a988b8489ec9335be25605561d0293813"></a><!-- doxytag: member="pp::AudioConfig::sample_rate" ref="a988b8489ec9335be25605561d0293813" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_AudioSampleRate <a class="el" href="classpp_1_1_audio_config.html#a988b8489ec9335be25605561d0293813">pp::AudioConfig::sample_rate</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the internal <code>PP_AudioSampleRate</code> enum. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The <code>PP_AudioSampleRate</code> enum. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="audio__config_8h.html">audio_config.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_audio_config__inherit__graph.png b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_audio_config__inherit__graph.png
new file mode 100644
index 0000000..2e85f209
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_audio_config__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_completion_callback-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_completion_callback-members.html
new file mode 100644
index 0000000..145b0c9
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_completion_callback-members.html
@@ -0,0 +1,24 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#af071c756ff3eb007dfbea3f50df74111">cc_</a></td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a2dae27f9f015c3b9342a4a65f05bd356">CompletionCallback</a>()</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#afe88416d324795a748d5112e197b0131">CompletionCallback</a>(PP_CompletionCallback_Func func, void *user_data)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a14fd9478ff007a91a3cdfa397c8e6e56">CompletionCallback</a>(PP_CompletionCallback_Func func, void *user_data, int32_t flags)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a60e466572fe7de362969dd41179c971f">flags</a>() const </td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a6ce66ec2655c9157cab494f248551b5f">IsOptional</a>() const </td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a24d1648d1a92a5c36894ce081457e603">MayForce</a>(int32_t result) const </td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#ada943a747c94eebb1e32dbd6914c2526">pp_completion_callback</a>() const </td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a7795404cc15a4f96523c28db21d364c4">Run</a>(int32_t result)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a2996ca2f2b640c7da6da9016a5b0cd16">RunAndClear</a>(int32_t result)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a89fb884e8af572e9bf38fb880e132438">set_flags</a>(int32_t flags)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_completion_callback.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_completion_callback.html
new file mode 100644
index 0000000..e50aed0
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_completion_callback.html
@@ -0,0 +1,306 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::CompletionCallback Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::CompletionCallback" --><div class="dynheader">
+Inheritance diagram for pp::CompletionCallback:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_completion_callback__inherit__graph.png" border="0" usemap="#pp_1_1_completion_callback_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_completion_callback_inherit__map" id="pp_1_1_completion_callback_inherit__map">
+<area shape="rect" id="node3" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html" title="pp::internal::CompletionCallbackWithOutputBase\< T, internal::CallbackOutputTraits\< T \> \>" alt="" coords="237,5,835,35"></area><area shape="rect" id="node7" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html" title="pp::internal::CompletionCallbackWithOutputBase\< T, internal::ExtCallbackOutputTraits\< T \> \>" alt="" coords="227,59,845,88"></area><area shape="rect" id="node11" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html" title="The base class of [Ext]CompletionCallbackWithOutput." alt="" coords="332,112,740,141"></area><area shape="rect" id="node5" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so..." alt="" coords="917,5,1197,35"></area><area shape="rect" id="node9" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html" title="ExtCompletionCallbackWithOutput is similar to CompletionCallbackWithOutput, but used by APIs within t..." alt="" coords="893,59,1221,88"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_completion_callback-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback.html#a2dae27f9f015c3b9342a4a65f05bd356">CompletionCallback</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback.html#afe88416d324795a748d5112e197b0131">CompletionCallback</a> (PP_CompletionCallback_Func func, void *user_data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback.html#a14fd9478ff007a91a3cdfa397c8e6e56">CompletionCallback</a> (PP_CompletionCallback_Func func, void *user_data, int32_t <a class="el" href="classpp_1_1_completion_callback.html#a60e466572fe7de362969dd41179c971f">flags</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback.html#a89fb884e8af572e9bf38fb880e132438">set_flags</a> (int32_t <a class="el" href="classpp_1_1_completion_callback.html#a60e466572fe7de362969dd41179c971f">flags</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback.html#a7795404cc15a4f96523c28db21d364c4">Run</a> (int32_t result)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback.html#a2996ca2f2b640c7da6da9016a5b0cd16">RunAndClear</a> (int32_t result)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback.html#a6ce66ec2655c9157cab494f248551b5f">IsOptional</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const PP_CompletionCallback & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback.html#ada943a747c94eebb1e32dbd6914c2526">pp_completion_callback</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback.html#a60e466572fe7de362969dd41179c971f">flags</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback.html#a24d1648d1a92a5c36894ce081457e603">MayForce</a> (int32_t result) const </td></tr>
+</table><h2>
+Protected Attributes</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">PP_CompletionCallback </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback.html#af071c756ff3eb007dfbea3f50df74111">cc_</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This API enables you to implement and receive callbacks when Pepper operations complete asynchronously. </p>
+<p>You can create these objects yourself, but it is most common to use the <a class="el" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe...">CompletionCallbackFactory</a> to allow the callbacks to call class member functions. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a2dae27f9f015c3b9342a4a65f05bd356"></a><!-- doxytag: member="pp::CompletionCallback::CompletionCallback" ref="a2dae27f9f015c3b9342a4a65f05bd356" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback.html#a2dae27f9f015c3b9342a4a65f05bd356">pp::CompletionCallback::CompletionCallback</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The default constructor will create a blocking <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> that can be passed to a method to indicate that the calling thread should be blocked until the asynchronous operation corresponding to the method completes. </p>
+<p><b>Note:</b> Blocking completion callbacks are only allowed from from background threads. </p>
+</div>
+</div>
+<a class="anchor" id="afe88416d324795a748d5112e197b0131"></a><!-- doxytag: member="pp::CompletionCallback::CompletionCallback" ref="afe88416d324795a748d5112e197b0131" args="(PP_CompletionCallback_Func func, void *user_data)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback.html#a2dae27f9f015c3b9342a4a65f05bd356">pp::CompletionCallback::CompletionCallback</a> </td>
+<td>(</td>
+<td class="paramtype">PP_CompletionCallback_Func </td>
+<td class="paramname"><em>func</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">void * </td>
+<td class="paramname"><em>user_data</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor for creating a <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">func</td><td>The function to be called on completion. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">user_data</td><td>The user data to be passed to the callback function. This is optional and is typically used to help track state in case of multiple pending callbacks. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a14fd9478ff007a91a3cdfa397c8e6e56"></a><!-- doxytag: member="pp::CompletionCallback::CompletionCallback" ref="a14fd9478ff007a91a3cdfa397c8e6e56" args="(PP_CompletionCallback_Func func, void *user_data, int32_t flags)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback.html#a2dae27f9f015c3b9342a4a65f05bd356">pp::CompletionCallback::CompletionCallback</a> </td>
+<td>(</td>
+<td class="paramtype">PP_CompletionCallback_Func </td>
+<td class="paramname"><em>func</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">void * </td>
+<td class="paramname"><em>user_data</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>flags</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor for creating a <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> with specified flags. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">func</td><td>The function to be called on completion. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">user_data</td><td>The user data to be passed to the callback function. This is optional and is typically used to help track state in case of multiple pending callbacks. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>Bit field combination of <code>PP_CompletionCallback_Flag</code> flags used to control how non-NULL callbacks are scheduled by asynchronous methods. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a60e466572fe7de362969dd41179c971f"></a><!-- doxytag: member="pp::CompletionCallback::flags" ref="a60e466572fe7de362969dd41179c971f" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_completion_callback.html#a60e466572fe7de362969dd41179c971f">pp::CompletionCallback::flags</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <a class="el" href="classpp_1_1_completion_callback.html#a60e466572fe7de362969dd41179c971f" title="The flags() function returns flags used to control how non-NULL callbacks are scheduled by asynchrono...">flags()</a> function returns flags used to control how non-NULL callbacks are scheduled by asynchronous methods. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing a bit field combination of <code>PP_CompletionCallback_Flag</code> flags. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a6ce66ec2655c9157cab494f248551b5f"></a><!-- doxytag: member="pp::CompletionCallback::IsOptional" ref="a6ce66ec2655c9157cab494f248551b5f" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_completion_callback.html#a6ce66ec2655c9157cab494f248551b5f">pp::CompletionCallback::IsOptional</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_completion_callback.html#a6ce66ec2655c9157cab494f248551b5f" title="IsOptional() is used to determine the setting of the PP_COMPLETIONCALLBACK_FLAG_OPTIONAL flag...">IsOptional()</a> is used to determine the setting of the <code>PP_COMPLETIONCALLBACK_FLAG_OPTIONAL</code> flag. </p>
+<p>This flag allows any method taking such callback to complete synchronously and not call the callback if the operation would not block. This is useful when performance is an issue, and the operation bandwidth should not be limited to the processing speed of the message loop.</p>
+<p>On synchronous method completion, the completion result will be returned by the method itself. Otherwise, the method will return PP_OK_COMPLETIONPENDING, and the callback will be invoked asynchronously on the same thread where the PPB method was invoked.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if this callback is optional, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a24d1648d1a92a5c36894ce081457e603"></a><!-- doxytag: member="pp::CompletionCallback::MayForce" ref="a24d1648d1a92a5c36894ce081457e603" args="(int32_t result) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_completion_callback.html#a24d1648d1a92a5c36894ce081457e603">pp::CompletionCallback::MayForce</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>result</em></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_completion_callback.html#a24d1648d1a92a5c36894ce081457e603" title="MayForce() is used when implementing functions taking callbacks.">MayForce()</a> is used when implementing functions taking callbacks. </p>
+<p>If the callback is required and <code>result</code> indicates that it has not been scheduled, it will be forced on the main thread.</p>
+<p><b>Example:</b></p>
+<div class="fragment"><pre class="fragment"> int32_t OpenURL(<a class="code" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs.">pp::URLLoader</a>* loader,
+ <a class="code" href="classpp_1_1_u_r_l_request_info.html" title="URLRequestInfo provides an API for creating and manipulating URL requests.">pp::URLRequestInfo</a>* url_request_info,
+ <span class="keyword">const</span> <a class="code" href="classpp_1_1_completion_callback.html#a2dae27f9f015c3b9342a4a65f05bd356" title="The default constructor will create a blocking CompletionCallback that can be passed to a method to i...">CompletionCallback</a>& cc) {
+ <span class="keywordflow">if</span> (loader == NULL || url_request_info == NULL)
+ <span class="keywordflow">return</span> cc.MayForce(PP_ERROR_BADRESOURCE);
+ <span class="keywordflow">return</span> loader-><a class="code" href="classpp_1_1_u_r_l_loader.html#afb72f38f30b94a2d5494225e364395b8" title="This function begins loading the URLRequestInfo.">Open</a>(*loader, *url_request_info, cc);
+ }
+</pre></div><dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">result</td><td>PP_OK_COMPLETIONPENDING or the result of the completed operation to be passed to the callback function. PP_OK_COMPLETIONPENDING indicates that the callback has already been scheduled. Other non-positive values correspond to error codes from <code>pp_errors.h</code>. Positive values indicate additional information such as bytes read.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_OK_COMPLETIONPENDING</code> if the callback has been forced, result parameter otherwise. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ada943a747c94eebb1e32dbd6914c2526"></a><!-- doxytag: member="pp::CompletionCallback::pp_completion_callback" ref="ada943a747c94eebb1e32dbd6914c2526" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">const PP_CompletionCallback& <a class="el" href="classpp_1_1_completion_callback.html#ada943a747c94eebb1e32dbd6914c2526">pp::CompletionCallback::pp_completion_callback</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <a class="el" href="classpp_1_1_completion_callback.html#ada943a747c94eebb1e32dbd6914c2526" title="The pp_completion_callback() function returns the underlying PP_CompletionCallback">pp_completion_callback()</a> function returns the underlying <code>PP_CompletionCallback</code> </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_CompletionCallback</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a7795404cc15a4f96523c28db21d364c4"></a><!-- doxytag: member="pp::CompletionCallback::Run" ref="a7795404cc15a4f96523c28db21d364c4" args="(int32_t result)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_completion_callback.html#a7795404cc15a4f96523c28db21d364c4">pp::CompletionCallback::Run</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>result</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_completion_callback.html#a7795404cc15a4f96523c28db21d364c4" title="Run() is used to run the CompletionCallback.">Run()</a> is used to run the <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </p>
+<p>Normally, the system runs a <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> after an asynchronous operation completes, but programs may wish to run the <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> manually in order to reuse the same code paths.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">result</td><td>The result of the operation to be passed to the callback function. Non-positive values correspond to the error codes from <code>pp_errors.h</code> (excluding <code>PP_OK_COMPLETIONPENDING</code>). Positive values indicate additional information such as bytes read. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a2996ca2f2b640c7da6da9016a5b0cd16"></a><!-- doxytag: member="pp::CompletionCallback::RunAndClear" ref="a2996ca2f2b640c7da6da9016a5b0cd16" args="(int32_t result)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_completion_callback.html#a2996ca2f2b640c7da6da9016a5b0cd16">pp::CompletionCallback::RunAndClear</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>result</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_completion_callback.html#a2996ca2f2b640c7da6da9016a5b0cd16" title="RunAndClear() is used to run the CompletionCallback and clear out the callback so that it cannot be r...">RunAndClear()</a> is used to run the <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> and clear out the callback so that it cannot be run a second time. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">result</td><td>The result of the operation to be passed to the callback function. Non-positive values correspond to the error codes from <code>pp_errors.h</code> (excluding <code>PP_OK_COMPLETIONPENDING</code>). Positive values indicate additional information such as bytes read. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a89fb884e8af572e9bf38fb880e132438"></a><!-- doxytag: member="pp::CompletionCallback::set_flags" ref="a89fb884e8af572e9bf38fb880e132438" args="(int32_t flags)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_completion_callback.html#a89fb884e8af572e9bf38fb880e132438">pp::CompletionCallback::set_flags</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>flags</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <a class="el" href="classpp_1_1_completion_callback.html#a89fb884e8af572e9bf38fb880e132438" title="The set_flags() function is used to set the flags used to control how non-NULL callbacks are schedule...">set_flags()</a> function is used to set the flags used to control how non-NULL callbacks are scheduled by asynchronous methods. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>Bit field combination of <code>PP_CompletionCallback_Flag</code> flags used to control how non-NULL callbacks are scheduled by asynchronous methods. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Member Data Documentation</h2>
+<a class="anchor" id="af071c756ff3eb007dfbea3f50df74111"></a><!-- doxytag: member="pp::CompletionCallback::cc_" ref="af071c756ff3eb007dfbea3f50df74111" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_CompletionCallback <a class="el" href="classpp_1_1_completion_callback.html#af071c756ff3eb007dfbea3f50df74111">pp::CompletionCallback::cc_</a><code> [protected]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="completion__callback_8h.html">completion_callback.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_completion_callback__inherit__graph.png b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_completion_callback__inherit__graph.png
new file mode 100644
index 0000000..0e7b09d3
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_completion_callback__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_completion_callback_factory-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_completion_callback_factory-members.html
new file mode 100644
index 0000000..af6a99f
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_completion_callback_factory-members.html
@@ -0,0 +1,34 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#ad43328a7d8c19233e3fa0b762f357088">CancelAll</a>()</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#ab870c8d37638facb949a86226c5138dc">CompletionCallbackFactory</a>(T *object=NULL)</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline, explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#a5cd104c9185333647e1a752860ca0336">GetObject</a>()</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#a6289f165e3ce15a07061f8be411e186c">Initialize</a>(T *object)</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#ab25d7ebdcdcd28f06ab767fdbbd4868f">NewCallback</a>(Method method)</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#aaa341cc4aa04c12dfe58a4452467b225">NewCallback</a>(Method method, const A &a)</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#a3d32cb2060a1da7ce73e8657c94f15fa">NewCallback</a>(Method method, const A &a, const B &b)</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#a4110e491c1358c951903ef1b0fecf58d">NewCallback</a>(Method method, const A &a, const B &b, const C &c)</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#a8c550ff8d18548ba962af29309880eeb">NewCallbackWithOutput</a>(void(T::*method)(int32_t, Output))</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#a85f3416759e1d7297025f5a0fb037fd9">NewCallbackWithOutput</a>(void(T::*method)(int32_t, Output, A), const A &a)</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#a5f1288cad38fa17aa1f07f5793908e24">NewCallbackWithOutput</a>(void(T::*method)(int32_t, Output, A, B), const A &a, const B &b)</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#a3653f981f4decf82d697e46a6d21519f">NewCallbackWithOutput</a>(void(T::*method)(int32_t, Output, A, B, C), const A &a, const B &b, const C &c)</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#aea74805def24c8f5271e7907bd858205">NewExtCallbackWithOutput</a>(void(T::*method)(int32_t, Output))</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#aadbadcf3365c39ce5620977ea1609fcf">NewExtCallbackWithOutput</a>(void(T::*method)(int32_t, Output, A), const A &a)</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#a50b2c6949e50d88f2bb4f8c08017671c">NewExtCallbackWithOutput</a>(void(T::*method)(int32_t, Output, A, B), const A &a, const B &b)</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#ae5d26a15726c295a45e8ab596507dfde">NewExtCallbackWithOutput</a>(void(T::*method)(int32_t, Output, A, B, C), const A &a, const B &b, const C &c)</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#adacce232874e0d5ab52ffa4bd8af9ef7">NewOptionalCallback</a>(Method method)</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#a221758746a8b10563148990cf63d085d">NewOptionalCallback</a>(Method method, const A &a)</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#abe32b7e60edc4699de46dc8640e90bcb">NewOptionalCallback</a>(Method method, const A &a, const B &b)</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#aaa7f305418d469d8be2ec801dd0bfeda">NewOptionalCallback</a>(Method method, const A &a, const B &b, const C &c)</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#a8341b9bfa1660d5f3f38d2530a0a9d42">~CompletionCallbackFactory</a>()</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_completion_callback_factory.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_completion_callback_factory.html
new file mode 100644
index 0000000..2564684
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_completion_callback_factory.html
@@ -0,0 +1,915 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::CompletionCallbackFactory< T, ThreadTraits > Class Template Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::CompletionCallbackFactory" -->
+<p><a href="classpp_1_1_completion_callback_factory-members.html">List of all members.</a></p>
+<h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>BackPointer</b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>CallbackData</b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>Dispatcher0</b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>Dispatcher1</b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>Dispatcher2</b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>Dispatcher3</b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>DispatcherWithOutput0</b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>DispatcherWithOutput1</b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>DispatcherWithOutput2</b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>DispatcherWithOutput3</b></td></tr>
+</table><h2>
+Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#ab870c8d37638facb949a86226c5138dc">CompletionCallbackFactory</a> (T *object=NULL)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#a8341b9bfa1660d5f3f38d2530a0a9d42">~CompletionCallbackFactory</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#ad43328a7d8c19233e3fa0b762f357088">CancelAll</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#a6289f165e3ce15a07061f8be411e186c">Initialize</a> (T *object)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">T * </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#a5cd104c9185333647e1a752860ca0336">GetObject</a> ()</td></tr>
+<tr><td class="memTemplParams" colspan="2">template<typename Method > </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#ab25d7ebdcdcd28f06ab767fdbbd4868f">NewCallback</a> (Method method)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template<typename Method > </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#adacce232874e0d5ab52ffa4bd8af9ef7">NewOptionalCallback</a> (Method method)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template<typename Output > </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a><br class="typebreak" />
+< typename <br class="typebreak" />
+<a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">internal::TypeUnwrapper</a><br class="typebreak" />
+< Output >::StorageType > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#a8c550ff8d18548ba962af29309880eeb">NewCallbackWithOutput</a> (void(T::*method)(int32_t, Output))</td></tr>
+<tr><td class="memTemplParams" colspan="2">template<typename Output > </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">ext::ExtCompletionCallbackWithOutput</a><br class="typebreak" />
+< typename <br class="typebreak" />
+<a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">internal::TypeUnwrapper</a><br class="typebreak" />
+< Output >::StorageType > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#aea74805def24c8f5271e7907bd858205">NewExtCallbackWithOutput</a> (void(T::*method)(int32_t, Output))</td></tr>
+<tr><td class="memTemplParams" colspan="2">template<typename Method , typename A > </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#aaa341cc4aa04c12dfe58a4452467b225">NewCallback</a> (Method method, const A &a)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template<typename Method , typename A > </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#a221758746a8b10563148990cf63d085d">NewOptionalCallback</a> (Method method, const A &a)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template<typename Output , typename A > </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a><br class="typebreak" />
+< typename <br class="typebreak" />
+<a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">internal::TypeUnwrapper</a><br class="typebreak" />
+< Output >::StorageType > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#a85f3416759e1d7297025f5a0fb037fd9">NewCallbackWithOutput</a> (void(T::*method)(int32_t, Output, A), const A &a)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template<typename Output , typename A > </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">ext::ExtCompletionCallbackWithOutput</a><br class="typebreak" />
+< typename <br class="typebreak" />
+<a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">internal::TypeUnwrapper</a><br class="typebreak" />
+< Output >::StorageType > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#aadbadcf3365c39ce5620977ea1609fcf">NewExtCallbackWithOutput</a> (void(T::*method)(int32_t, Output, A), const A &a)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template<typename Method , typename A , typename B > </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#a3d32cb2060a1da7ce73e8657c94f15fa">NewCallback</a> (Method method, const A &a, const B &b)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template<typename Method , typename A , typename B > </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#abe32b7e60edc4699de46dc8640e90bcb">NewOptionalCallback</a> (Method method, const A &a, const B &b)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template<typename Output , typename A , typename B > </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a><br class="typebreak" />
+< typename <br class="typebreak" />
+<a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">internal::TypeUnwrapper</a><br class="typebreak" />
+< Output >::StorageType > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#a5f1288cad38fa17aa1f07f5793908e24">NewCallbackWithOutput</a> (void(T::*method)(int32_t, Output, A, B), const A &a, const B &b)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template<typename Output , typename A , typename B > </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">ext::ExtCompletionCallbackWithOutput</a><br class="typebreak" />
+< typename <br class="typebreak" />
+<a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">internal::TypeUnwrapper</a><br class="typebreak" />
+< Output >::StorageType > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#a50b2c6949e50d88f2bb4f8c08017671c">NewExtCallbackWithOutput</a> (void(T::*method)(int32_t, Output, A, B), const A &a, const B &b)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template<typename Method , typename A , typename B , typename C > </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#a4110e491c1358c951903ef1b0fecf58d">NewCallback</a> (Method method, const A &a, const B &b, const C &c)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template<typename Method , typename A , typename B , typename C > </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#aaa7f305418d469d8be2ec801dd0bfeda">NewOptionalCallback</a> (Method method, const A &a, const B &b, const C &c)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template<typename Output , typename A , typename B , typename C > </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a><br class="typebreak" />
+< typename <br class="typebreak" />
+<a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">internal::TypeUnwrapper</a><br class="typebreak" />
+< Output >::StorageType > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#a3653f981f4decf82d697e46a6d21519f">NewCallbackWithOutput</a> (void(T::*method)(int32_t, Output, A, B, C), const A &a, const B &b, const C &c)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template<typename Output , typename A , typename B , typename C > </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">ext::ExtCompletionCallbackWithOutput</a><br class="typebreak" />
+< typename <br class="typebreak" />
+<a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">internal::TypeUnwrapper</a><br class="typebreak" />
+< Output >::StorageType > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#ae5d26a15726c295a45e8ab596507dfde">NewExtCallbackWithOutput</a> (void(T::*method)(int32_t, Output, A, B, C), const A &a, const B &b, const C &c)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><h3>template<typename T, typename ThreadTraits = ThreadSafeThreadTraits><br />
+class pp::CompletionCallbackFactory< T, ThreadTraits ></h3>
+<p>CompletionCallbackFactory<T> may be used to create <a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a> objects that are bound to member functions. </p>
+<p>If a factory is destroyed, then any pending callbacks will be cancelled preventing any bound member functions from being called. The <a class="el" href="classpp_1_1_completion_callback_factory.html#ad43328a7d8c19233e3fa0b762f357088" title="CancelAll() cancels all CompletionCallbacks allocated from this factory.">CancelAll()</a> method allows pending callbacks to be cancelled without destroying the factory.</p>
+<p><b>Note: </b><code>CompletionCallbackFactory<T></code> isn't thread safe, but it is somewhat thread-friendly when used with a thread-safe traits class as the second template element. However, it only guarantees safety for creating a callback from another thread, the callback itself needs to execute on the same thread as the thread that creates/destroys the factory. With this restriction, it is safe to create the <code><a class="el" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe...">CompletionCallbackFactory</a></code> on the main thread, create callbacks from any thread and pass them to CallOnMainThread().</p>
+<p><b>Example: </b></p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">class </span>MyClass {
+ <span class="keyword">public</span>:
+ <span class="comment">// If an compiler warns on following using |this| in the initializer</span>
+ <span class="comment">// list, use PP_ALLOW_THIS_IN_INITIALIZER_LIST macro.</span>
+ MyClass() : factory_(this) {
+ }
+
+ <span class="keywordtype">void</span> OpenFile(<span class="keyword">const</span> <a class="code" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>pp::FileRef</a>& file) {
+ <a class="code" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">pp::CompletionCallback</a> cc = factory_.NewCallback(&MyClass::DidOpen);
+ int32_t rv = file_io_.Open(file, PP_FileOpenFlag_Read, cc);
+ CHECK(rv == PP_OK_COMPLETIONPENDING);
+ }
+
+ <span class="keyword">private</span>:
+ <span class="keywordtype">void</span> DidOpen(int32_t result) {
+ <span class="keywordflow">if</span> (result == PP_OK) {
+ <span class="comment">// The file is open, and we can begin reading.</span>
+ <span class="comment">// ...</span>
+ } <span class="keywordflow">else</span> {
+ <span class="comment">// Failed to open the file with error given by 'result'.</span>
+ }
+ }
+
+ <a class="code" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe...">pp::CompletionCallbackFactory<MyClass></a> factory_;
+ };
+</pre></div><p><b>Passing additional parameters to your callback</b></p>
+<p>As a convenience, the <code><a class="el" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe...">CompletionCallbackFactory</a></code> can optionally create a closure with up to three bound parameters that it will pass to your callback function. This can be useful for passing information about the request to your callback function, which is especially useful if your class has multiple asynchronous callbacks pending.</p>
+<p>For the above example, of opening a file, let's say you want to keep some description associated with your request, you might implement your OpenFile and DidOpen callback as follows:</p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">void</span> OpenFile(<span class="keyword">const</span> <a class="code" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>pp::FileRef</a>& file) {
+ std::string message = <span class="stringliteral">"Opening file!"</span>;
+ <a class="code" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">pp::CompletionCallback</a> cc = factory_.NewCallback(&MyClass::DidOpen,
+ message);
+ int32_t rv = file_io_.Open(file, PP_FileOpenFlag_Read, cc);
+ CHECK(rv == PP_OK_COMPLETIONPENDING);
+ }
+ <span class="keywordtype">void</span> DidOpen(int32_t result, <span class="keyword">const</span> std::string& message) {
+ <span class="comment">// "message" will be "Opening file!".</span>
+ ...
+ }
+</pre></div><p><b>Optional versus required callbacks</b></p>
+<p>When you create an "optional" callback, the browser may return the results synchronously if they are available. This can allow for higher performance in some cases if data is available quickly (for example, for network loads where there may be a lot of data coming quickly). In this case, the callback will never be run.</p>
+<p>When creating a new callback with the factory, there will be data allocated on the heap that tracks the callback information and any bound arguments. This data is freed when the callback executes. In the case of optional callbacks, since the browser will never issue the callback, the internal tracking data will be leaked.</p>
+<p>Therefore, if you use optional callbacks, it's important to manually issue the callback to free up this data. The typical pattern is:</p>
+<div class="fragment"><pre class="fragment"> <a class="code" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">pp::CompletionCallback</a> callback = callback_factory.NewOptionalCallback(
+ &MyClass::OnDataReady);
+ int32_t result = interface->GetData(callback);
+ <span class="keywordflow">if</span> (result != PP_OK_COMPLETIONPENDING)
+ callback.<a class="code" href="classpp_1_1_completion_callback.html#a7795404cc15a4f96523c28db21d364c4" title="Run() is used to run the CompletionCallback.">Run</a>(result);
+</pre></div><p>Because of this additional complexity, it's generally recommended that you not use optional callbacks except when performance is more important (such as loading large resources from the network). In most other cases, the performance difference will not be worth the additional complexity, and most functions may never actually have the ability to complete synchronously.</p>
+<p><b>Completion callbacks with output</b></p>
+<p>For some API calls, the browser returns data to the caller via an output parameter. These can be difficult to manage since the output parameter must remain valid for as long as the callback is pending. Note also that CancelAll (or destroying the callback factory) does <em>not</em> cancel the callback from the browser's perspective, only the execution of the callback in the plugin code, and the output parameter will still be written to! This means that you can't use class members as output parameters without risking crashes.</p>
+<p>To make this case easier, the <a class="el" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe...">CompletionCallbackFactory</a> can allocate and manage the output data for you and pass it to your callback function. This makes such calls more natural and less error-prone.</p>
+<p>To create such a callback, use NewCallbackWithOutput and specify a callback function that takes the output parameter as its second argument. Let's say you're calling a function GetFile which asynchronously returns a <a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>pp::FileRef</a>. GetFile's signature will be <code>int32_t GetFile(const CompletionCallbackWithOutput<pp::FileRef>& callback);</code> and your calling code would look like this:</p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">void</span> RequestFile() {
+ file_interface->GetFile(callback_factory_.NewCallbackWithOutput(
+ &MyClass::GotFile));
+ }
+ <span class="keywordtype">void</span> GotFile(int32_t result, <span class="keyword">const</span> <a class="code" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>pp::FileRef</a>& file) {
+ <span class="keywordflow">if</span> (result == PP_OK) {
+ ...use file...
+ } <span class="keywordflow">else</span> {
+ ...handle error...
+ }
+ }
+</pre></div><p>As with regular completion callbacks, you can optionally add up to three bound arguments. These are passed following the output argument.</p>
+<p>Your callback may take the output argument as a copy (common for small types like integers, a const reference (common for structures and resources to avoid an extra copy), or as a non-const reference. One optimization you can do if your callback function may take large arrays is to accept your output argument as a non-const reference and to swap() the argument with a vector of your own to store it. This means you don't have to copy the buffer to consume it.</p>
+<p>NewExtCallbackWithOutput is similar to NewCallbackWithOutput. It creates <a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html" title="ExtCompletionCallbackWithOutput is similar to CompletionCallbackWithOutput, but used by APIs within t...">ext::ExtCompletionCallbackWithOutput</a> instances which are used by APIs within the <a class="el" href="namespacepp_1_1ext.html">pp::ext</a> namespace. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="ab870c8d37638facb949a86226c5138dc"></a><!-- doxytag: member="pp::CompletionCallbackFactory::CompletionCallbackFactory" ref="ab870c8d37638facb949a86226c5138dc" args="(T *object=NULL)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html">CompletionCallbackFactory</a> </td>
+<td>(</td>
+<td class="paramtype">T * </td>
+<td class="paramname"><em>object</em> = <code>NULL</code></td><td>)</td>
+<td><code> [inline, explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This constructor creates a <code><a class="el" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe...">CompletionCallbackFactory</a></code> bound to an object. </p>
+<p>If the constructor is called without an argument, the default value of <code>NULL</code> is used. The user then must call <a class="el" href="classpp_1_1_completion_callback_factory.html#a6289f165e3ce15a07061f8be411e186c" title="Initialize() binds the CallbackFactory to a particular object.">Initialize()</a> to initialize the object.</p>
+<p>param[in] object Optional parameter. An object whose member functions are to be bound to CompletionCallbacks created by this <code><a class="el" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe...">CompletionCallbackFactory</a></code>. The default value of this parameter is <code>NULL</code>. </p>
+</div>
+</div>
+<a class="anchor" id="a8341b9bfa1660d5f3f38d2530a0a9d42"></a><!-- doxytag: member="pp::CompletionCallbackFactory::~CompletionCallbackFactory" ref="a8341b9bfa1660d5f3f38d2530a0a9d42" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::~<a class="el" href="classpp_1_1_completion_callback_factory.html">CompletionCallbackFactory</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Destructor. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="ad43328a7d8c19233e3fa0b762f357088"></a><!-- doxytag: member="pp::CompletionCallbackFactory::CancelAll" ref="ad43328a7d8c19233e3fa0b762f357088" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#ad43328a7d8c19233e3fa0b762f357088">CancelAll</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_completion_callback_factory.html#ad43328a7d8c19233e3fa0b762f357088" title="CancelAll() cancels all CompletionCallbacks allocated from this factory.">CancelAll()</a> cancels all <code>CompletionCallbacks</code> allocated from this factory. </p>
+</div>
+</div>
+<a class="anchor" id="a5cd104c9185333647e1a752860ca0336"></a><!-- doxytag: member="pp::CompletionCallbackFactory::GetObject" ref="a5cd104c9185333647e1a752860ca0336" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<table class="memname">
+<tr>
+<td class="memname">T* <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#a5cd104c9185333647e1a752860ca0336">GetObject</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_completion_callback_factory.html#a5cd104c9185333647e1a752860ca0336" title="GetObject() returns the object that was passed at initialization to Intialize().">GetObject()</a> returns the object that was passed at initialization to Intialize(). </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the object passed to the constructor or Intialize(). </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a6289f165e3ce15a07061f8be411e186c"></a><!-- doxytag: member="pp::CompletionCallbackFactory::Initialize" ref="a6289f165e3ce15a07061f8be411e186c" args="(T *object)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#a6289f165e3ce15a07061f8be411e186c">Initialize</a> </td>
+<td>(</td>
+<td class="paramtype">T * </td>
+<td class="paramname"><em>object</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_completion_callback_factory.html#a6289f165e3ce15a07061f8be411e186c" title="Initialize() binds the CallbackFactory to a particular object.">Initialize()</a> binds the <code>CallbackFactory</code> to a particular object. </p>
+<p>Use this when the object is not available at <code>CallbackFactory</code> creation, and the <code>NULL</code> default is passed to the constructor. The object may only be initialized once, either by the constructor, or by a call to <a class="el" href="classpp_1_1_completion_callback_factory.html#a6289f165e3ce15a07061f8be411e186c" title="Initialize() binds the CallbackFactory to a particular object.">Initialize()</a>.</p>
+<p>This class may not be used on any thread until initialization is complete.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">object</td><td>The object whose member functions are to be bound to the <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> created by this <code><a class="el" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe...">CompletionCallbackFactory</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ab25d7ebdcdcd28f06ab767fdbbd4868f"></a><!-- doxytag: member="pp::CompletionCallbackFactory::NewCallback" ref="ab25d7ebdcdcd28f06ab767fdbbd4868f" args="(Method method)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<div class="memtemplate">
+template<typename Method > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#ab25d7ebdcdcd28f06ab767fdbbd4868f">NewCallback</a> </td>
+<td>(</td>
+<td class="paramtype">Method </td>
+<td class="paramname"><em>method</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>NewCallback allocates a new, single-use <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </p>
+<p>The <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> must be run in order for the memory allocated by the methods to be freed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">method</td><td>The method to be invoked upon completion of the operation.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aaa341cc4aa04c12dfe58a4452467b225"></a><!-- doxytag: member="pp::CompletionCallbackFactory::NewCallback" ref="aaa341cc4aa04c12dfe58a4452467b225" args="(Method method, const A &a)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<div class="memtemplate">
+template<typename Method , typename A > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#ab25d7ebdcdcd28f06ab767fdbbd4868f">NewCallback</a> </td>
+<td>(</td>
+<td class="paramtype">Method </td>
+<td class="paramname"><em>method</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const A & </td>
+<td class="paramname"><em>a</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_completion_callback_factory.html#ab25d7ebdcdcd28f06ab767fdbbd4868f" title="NewCallback allocates a new, single-use CompletionCallback.">NewCallback()</a> allocates a new, single-use <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </p>
+<p>The <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> must be run in order for the memory allocated by the methods to be freed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">method</td><td>The method to be invoked upon completion of the operation. Method should be of type: <code>void (T::*)(int32_t result, const A& a)</code></td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Passed to <code>method</code> when the completion callback runs.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a3d32cb2060a1da7ce73e8657c94f15fa"></a><!-- doxytag: member="pp::CompletionCallbackFactory::NewCallback" ref="a3d32cb2060a1da7ce73e8657c94f15fa" args="(Method method, const A &a, const B &b)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<div class="memtemplate">
+template<typename Method , typename A , typename B > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#ab25d7ebdcdcd28f06ab767fdbbd4868f">NewCallback</a> </td>
+<td>(</td>
+<td class="paramtype">Method </td>
+<td class="paramname"><em>method</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const A & </td>
+<td class="paramname"><em>a</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const B & </td>
+<td class="paramname"><em>b</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_completion_callback_factory.html#ab25d7ebdcdcd28f06ab767fdbbd4868f" title="NewCallback allocates a new, single-use CompletionCallback.">NewCallback()</a> allocates a new, single-use <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </p>
+<p>The <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> must be run in order for the memory allocated by the methods to be freed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir"></td><td class="paramname">method</td><td>The method taking the callback. Method should be of type: <code>void (T::*)(int32_t result, const A& a, const B& b)</code></td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Passed to <code>method</code> when the completion callback runs.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Passed to <code>method</code> when the completion callback runs.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a4110e491c1358c951903ef1b0fecf58d"></a><!-- doxytag: member="pp::CompletionCallbackFactory::NewCallback" ref="a4110e491c1358c951903ef1b0fecf58d" args="(Method method, const A &a, const B &b, const C &c)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<div class="memtemplate">
+template<typename Method , typename A , typename B , typename C > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#ab25d7ebdcdcd28f06ab767fdbbd4868f">NewCallback</a> </td>
+<td>(</td>
+<td class="paramtype">Method </td>
+<td class="paramname"><em>method</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const A & </td>
+<td class="paramname"><em>a</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const B & </td>
+<td class="paramname"><em>b</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const C & </td>
+<td class="paramname"><em>c</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_completion_callback_factory.html#ab25d7ebdcdcd28f06ab767fdbbd4868f" title="NewCallback allocates a new, single-use CompletionCallback.">NewCallback()</a> allocates a new, single-use <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </p>
+<p>The <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> must be run in order for the memory allocated by the methods to be freed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir"></td><td class="paramname">method</td><td>The method taking the callback. Method should be of type: <code> void (T::*)(int32_t result, const A& a, const B& b, const C& c) </code></td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Passed to <code>method</code> when the completion callback runs.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Passed to <code>method</code> when the completion callback runs.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Passed to <code>method</code> when the completion callback runs.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a8c550ff8d18548ba962af29309880eeb"></a><!-- doxytag: member="pp::CompletionCallbackFactory::NewCallbackWithOutput" ref="a8c550ff8d18548ba962af29309880eeb" args="(void(T::*method)(int32_t, Output))" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<div class="memtemplate">
+template<typename Output > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a>< typename <a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">internal::TypeUnwrapper</a><Output>::StorageType> <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#a8c550ff8d18548ba962af29309880eeb">NewCallbackWithOutput</a> </td>
+<td>(</td>
+<td class="paramtype">void(T::*)(int32_t, Output) </td>
+<td class="paramname"><em>method</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_completion_callback_factory.html#a8c550ff8d18548ba962af29309880eeb" title="NewCallbackWithOutput() allocates a new, single-use CompletionCallback where the browser will pass an...">NewCallbackWithOutput()</a> allocates a new, single-use <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> where the browser will pass an additional parameter containing the result of the request. </p>
+<p>The <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> must be run in order for the memory allocated by the methods to be freed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">method</td><td>The method to be invoked upon completion of the operation.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a85f3416759e1d7297025f5a0fb037fd9"></a><!-- doxytag: member="pp::CompletionCallbackFactory::NewCallbackWithOutput" ref="a85f3416759e1d7297025f5a0fb037fd9" args="(void(T::*method)(int32_t, Output, A), const A &a)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<div class="memtemplate">
+template<typename Output , typename A > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a>< typename <a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">internal::TypeUnwrapper</a><Output>::StorageType> <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#a8c550ff8d18548ba962af29309880eeb">NewCallbackWithOutput</a> </td>
+<td>(</td>
+<td class="paramtype">void(T::*)(int32_t, Output, A) </td>
+<td class="paramname"><em>method</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const A & </td>
+<td class="paramname"><em>a</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_completion_callback_factory.html#a8c550ff8d18548ba962af29309880eeb" title="NewCallbackWithOutput() allocates a new, single-use CompletionCallback where the browser will pass an...">NewCallbackWithOutput()</a> allocates a new, single-use <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> where the browser will pass an additional parameter containing the result of the request. </p>
+<p>The <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> must be run in order for the memory allocated by the methods to be freed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">method</td><td>The method to be invoked upon completion of the operation.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Passed to <code>method</code> when the completion callback runs.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a5f1288cad38fa17aa1f07f5793908e24"></a><!-- doxytag: member="pp::CompletionCallbackFactory::NewCallbackWithOutput" ref="a5f1288cad38fa17aa1f07f5793908e24" args="(void(T::*method)(int32_t, Output, A, B), const A &a, const B &b)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<div class="memtemplate">
+template<typename Output , typename A , typename B > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a>< typename <a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">internal::TypeUnwrapper</a><Output>::StorageType> <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#a8c550ff8d18548ba962af29309880eeb">NewCallbackWithOutput</a> </td>
+<td>(</td>
+<td class="paramtype">void(T::*)(int32_t, Output, A, B) </td>
+<td class="paramname"><em>method</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const A & </td>
+<td class="paramname"><em>a</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const B & </td>
+<td class="paramname"><em>b</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_completion_callback_factory.html#a8c550ff8d18548ba962af29309880eeb" title="NewCallbackWithOutput() allocates a new, single-use CompletionCallback where the browser will pass an...">NewCallbackWithOutput()</a> allocates a new, single-use <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> where the browser will pass an additional parameter containing the result of the request. </p>
+<p>The <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> must be run in order for the memory allocated by the methods to be freed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">method</td><td>The method to be invoked upon completion of the operation.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Passed to <code>method</code> when the completion callback runs.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Passed to <code>method</code> when the completion callback runs.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a3653f981f4decf82d697e46a6d21519f"></a><!-- doxytag: member="pp::CompletionCallbackFactory::NewCallbackWithOutput" ref="a3653f981f4decf82d697e46a6d21519f" args="(void(T::*method)(int32_t, Output, A, B, C), const A &a, const B &b, const C &c)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<div class="memtemplate">
+template<typename Output , typename A , typename B , typename C > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a>< typename <a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">internal::TypeUnwrapper</a><Output>::StorageType> <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#a8c550ff8d18548ba962af29309880eeb">NewCallbackWithOutput</a> </td>
+<td>(</td>
+<td class="paramtype">void(T::*)(int32_t, Output, A, B, C) </td>
+<td class="paramname"><em>method</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const A & </td>
+<td class="paramname"><em>a</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const B & </td>
+<td class="paramname"><em>b</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const C & </td>
+<td class="paramname"><em>c</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_completion_callback_factory.html#a8c550ff8d18548ba962af29309880eeb" title="NewCallbackWithOutput() allocates a new, single-use CompletionCallback where the browser will pass an...">NewCallbackWithOutput()</a> allocates a new, single-use <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> where the browser will pass an additional parameter containing the result of the request. </p>
+<p>The <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> must be run in order for the memory allocated by the methods to be freed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir"></td><td class="paramname">method</td><td>The method to be run.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Passed to <code>method</code> when the completion callback runs.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Passed to <code>method</code> when the completion callback runs.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Passed to <code>method</code> when the completion callback runs.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aea74805def24c8f5271e7907bd858205"></a><!-- doxytag: member="pp::CompletionCallbackFactory::NewExtCallbackWithOutput" ref="aea74805def24c8f5271e7907bd858205" args="(void(T::*method)(int32_t, Output))" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<div class="memtemplate">
+template<typename Output > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">ext::ExtCompletionCallbackWithOutput</a>< typename <a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">internal::TypeUnwrapper</a><Output>::StorageType> <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#aea74805def24c8f5271e7907bd858205">NewExtCallbackWithOutput</a> </td>
+<td>(</td>
+<td class="paramtype">void(T::*)(int32_t, Output) </td>
+<td class="paramname"><em>method</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Similar to <a class="el" href="classpp_1_1_completion_callback_factory.html#a8c550ff8d18548ba962af29309880eeb" title="NewCallbackWithOutput() allocates a new, single-use CompletionCallback where the browser will pass an...">NewCallbackWithOutput()</a>, but returns an <code><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html" title="ExtCompletionCallbackWithOutput is similar to CompletionCallbackWithOutput, but used by APIs within t...">ext::ExtCompletionCallbackWithOutput</a></code>. </p>
+</div>
+</div>
+<a class="anchor" id="aadbadcf3365c39ce5620977ea1609fcf"></a><!-- doxytag: member="pp::CompletionCallbackFactory::NewExtCallbackWithOutput" ref="aadbadcf3365c39ce5620977ea1609fcf" args="(void(T::*method)(int32_t, Output, A), const A &a)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<div class="memtemplate">
+template<typename Output , typename A > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">ext::ExtCompletionCallbackWithOutput</a>< typename <a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">internal::TypeUnwrapper</a><Output>::StorageType> <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#aea74805def24c8f5271e7907bd858205">NewExtCallbackWithOutput</a> </td>
+<td>(</td>
+<td class="paramtype">void(T::*)(int32_t, Output, A) </td>
+<td class="paramname"><em>method</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const A & </td>
+<td class="paramname"><em>a</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Similar to <a class="el" href="classpp_1_1_completion_callback_factory.html#a8c550ff8d18548ba962af29309880eeb" title="NewCallbackWithOutput() allocates a new, single-use CompletionCallback where the browser will pass an...">NewCallbackWithOutput()</a>, but returns an <code><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html" title="ExtCompletionCallbackWithOutput is similar to CompletionCallbackWithOutput, but used by APIs within t...">ext::ExtCompletionCallbackWithOutput</a></code>. </p>
+</div>
+</div>
+<a class="anchor" id="a50b2c6949e50d88f2bb4f8c08017671c"></a><!-- doxytag: member="pp::CompletionCallbackFactory::NewExtCallbackWithOutput" ref="a50b2c6949e50d88f2bb4f8c08017671c" args="(void(T::*method)(int32_t, Output, A, B), const A &a, const B &b)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<div class="memtemplate">
+template<typename Output , typename A , typename B > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">ext::ExtCompletionCallbackWithOutput</a>< typename <a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">internal::TypeUnwrapper</a><Output>::StorageType> <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#aea74805def24c8f5271e7907bd858205">NewExtCallbackWithOutput</a> </td>
+<td>(</td>
+<td class="paramtype">void(T::*)(int32_t, Output, A, B) </td>
+<td class="paramname"><em>method</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const A & </td>
+<td class="paramname"><em>a</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const B & </td>
+<td class="paramname"><em>b</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Similar to <a class="el" href="classpp_1_1_completion_callback_factory.html#a8c550ff8d18548ba962af29309880eeb" title="NewCallbackWithOutput() allocates a new, single-use CompletionCallback where the browser will pass an...">NewCallbackWithOutput()</a>, but returns an <code><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html" title="ExtCompletionCallbackWithOutput is similar to CompletionCallbackWithOutput, but used by APIs within t...">ext::ExtCompletionCallbackWithOutput</a></code>. </p>
+</div>
+</div>
+<a class="anchor" id="ae5d26a15726c295a45e8ab596507dfde"></a><!-- doxytag: member="pp::CompletionCallbackFactory::NewExtCallbackWithOutput" ref="ae5d26a15726c295a45e8ab596507dfde" args="(void(T::*method)(int32_t, Output, A, B, C), const A &a, const B &b, const C &c)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<div class="memtemplate">
+template<typename Output , typename A , typename B , typename C > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">ext::ExtCompletionCallbackWithOutput</a>< typename <a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">internal::TypeUnwrapper</a><Output>::StorageType> <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#aea74805def24c8f5271e7907bd858205">NewExtCallbackWithOutput</a> </td>
+<td>(</td>
+<td class="paramtype">void(T::*)(int32_t, Output, A, B, C) </td>
+<td class="paramname"><em>method</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const A & </td>
+<td class="paramname"><em>a</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const B & </td>
+<td class="paramname"><em>b</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const C & </td>
+<td class="paramname"><em>c</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Similar to <a class="el" href="classpp_1_1_completion_callback_factory.html#a8c550ff8d18548ba962af29309880eeb" title="NewCallbackWithOutput() allocates a new, single-use CompletionCallback where the browser will pass an...">NewCallbackWithOutput()</a>, but returns an <code><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html" title="ExtCompletionCallbackWithOutput is similar to CompletionCallbackWithOutput, but used by APIs within t...">ext::ExtCompletionCallbackWithOutput</a></code>. </p>
+</div>
+</div>
+<a class="anchor" id="adacce232874e0d5ab52ffa4bd8af9ef7"></a><!-- doxytag: member="pp::CompletionCallbackFactory::NewOptionalCallback" ref="adacce232874e0d5ab52ffa4bd8af9ef7" args="(Method method)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<div class="memtemplate">
+template<typename Method > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#adacce232874e0d5ab52ffa4bd8af9ef7">NewOptionalCallback</a> </td>
+<td>(</td>
+<td class="paramtype">Method </td>
+<td class="paramname"><em>method</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_completion_callback_factory.html#adacce232874e0d5ab52ffa4bd8af9ef7" title="NewOptionalCallback() allocates a new, single-use CompletionCallback that might not run if the method...">NewOptionalCallback()</a> allocates a new, single-use <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> that might not run if the method taking it can complete synchronously. </p>
+<p>Thus, if after passing the <a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a> to a Pepper method, the method does not return PP_OK_COMPLETIONPENDING, then you should manually call the <a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a>'s Run method, or memory will be leaked.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">method</td><td>The method to be invoked upon completion of the operation.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a221758746a8b10563148990cf63d085d"></a><!-- doxytag: member="pp::CompletionCallbackFactory::NewOptionalCallback" ref="a221758746a8b10563148990cf63d085d" args="(Method method, const A &a)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<div class="memtemplate">
+template<typename Method , typename A > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#adacce232874e0d5ab52ffa4bd8af9ef7">NewOptionalCallback</a> </td>
+<td>(</td>
+<td class="paramtype">Method </td>
+<td class="paramname"><em>method</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const A & </td>
+<td class="paramname"><em>a</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_completion_callback_factory.html#adacce232874e0d5ab52ffa4bd8af9ef7" title="NewOptionalCallback() allocates a new, single-use CompletionCallback that might not run if the method...">NewOptionalCallback()</a> allocates a new, single-use <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> that might not run if the method taking it can complete synchronously. </p>
+<p>Thus, if after passing the <a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a> to a Pepper method, the method does not return PP_OK_COMPLETIONPENDING, then you should manually call the <a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a>'s Run method, or memory will be leaked.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">method</td><td>The method to be invoked upon completion of the operation. Method should be of type: <code>void (T::*)(int32_t result, const A& a)</code></td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Passed to <code>method</code> when the completion callback runs.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="abe32b7e60edc4699de46dc8640e90bcb"></a><!-- doxytag: member="pp::CompletionCallbackFactory::NewOptionalCallback" ref="abe32b7e60edc4699de46dc8640e90bcb" args="(Method method, const A &a, const B &b)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<div class="memtemplate">
+template<typename Method , typename A , typename B > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#adacce232874e0d5ab52ffa4bd8af9ef7">NewOptionalCallback</a> </td>
+<td>(</td>
+<td class="paramtype">Method </td>
+<td class="paramname"><em>method</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const A & </td>
+<td class="paramname"><em>a</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const B & </td>
+<td class="paramname"><em>b</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_completion_callback_factory.html#adacce232874e0d5ab52ffa4bd8af9ef7" title="NewOptionalCallback() allocates a new, single-use CompletionCallback that might not run if the method...">NewOptionalCallback()</a> allocates a new, single-use <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> that might not run if the method taking it can complete synchronously. </p>
+<p>Thus, if after passing the <a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a> to a Pepper method, the method does not return PP_OK_COMPLETIONPENDING, then you should manually call the <a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a>'s Run method, or memory will be leaked.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">method</td><td>The method taking the callback. Method should be of type: <code>void (T::*)(int32_t result, const A& a, const B& b)</code></td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Passed to <code>method</code> when the completion callback runs.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Passed to <code>method</code> when the completion callback runs.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aaa7f305418d469d8be2ec801dd0bfeda"></a><!-- doxytag: member="pp::CompletionCallbackFactory::NewOptionalCallback" ref="aaa7f305418d469d8be2ec801dd0bfeda" args="(Method method, const A &a, const B &b, const C &c)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<div class="memtemplate">
+template<typename Method , typename A , typename B , typename C > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#adacce232874e0d5ab52ffa4bd8af9ef7">NewOptionalCallback</a> </td>
+<td>(</td>
+<td class="paramtype">Method </td>
+<td class="paramname"><em>method</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const A & </td>
+<td class="paramname"><em>a</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const B & </td>
+<td class="paramname"><em>b</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const C & </td>
+<td class="paramname"><em>c</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_completion_callback_factory.html#adacce232874e0d5ab52ffa4bd8af9ef7" title="NewOptionalCallback() allocates a new, single-use CompletionCallback that might not run if the method...">NewOptionalCallback()</a> allocates a new, single-use <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> that might not run if the method taking it can complete synchronously. </p>
+<p>Thus, if after passing the <a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a> to a Pepper method, the method does not return PP_OK_COMPLETIONPENDING, then you should manually call the <a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a>'s Run method, or memory will be leaked.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">method</td><td>The method taking the callback. Method should be of type: <code> void (T::*)(int32_t result, const A& a, const B& b, const C& c) </code></td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Passed to <code>method</code> when the completion callback runs.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Passed to <code>method</code> when the completion callback runs.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Passed to <code>method</code> when the completion callback runs.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/utility/<a class="el" href="completion__callback__factory_8h.html">completion_callback_factory.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_completion_callback_with_output-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_completion_callback_with_output-members.html
new file mode 100644
index 0000000..0575748
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_completion_callback_with_output-members.html
@@ -0,0 +1,35 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_completion_callback_with_output.html">pp::CompletionCallbackWithOutput< T ></a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a90888e6422225fb8e3d310c6ee51ac04">APIArgType</a> typedef</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, internal::CallbackOutputTraits< T > ></a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_with_output.html#adbba776ebc9de6001a08400826f9bf0f">BaseType</a> typedef</td><td><a class="el" href="classpp_1_1_completion_callback_with_output.html">pp::CompletionCallbackWithOutput< T ></a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#af071c756ff3eb007dfbea3f50df74111">cc_</a></td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a2dae27f9f015c3b9342a4a65f05bd356">CompletionCallback</a>()</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#afe88416d324795a748d5112e197b0131">CompletionCallback</a>(PP_CompletionCallback_Func func, void *user_data)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a14fd9478ff007a91a3cdfa397c8e6e56">CompletionCallback</a>(PP_CompletionCallback_Func func, void *user_data, int32_t flags)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_with_output.html#ab09283a1e9899537a5a1cf89bd03857f">CompletionCallbackWithOutput</a>(typename BaseType::OutputStorageType *output)</td><td><a class="el" href="classpp_1_1_completion_callback_with_output.html">pp::CompletionCallbackWithOutput< T ></a></td><td><code> [inline, explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_with_output.html#ac1b54281207b04f5646b02fc00e9ae3b">CompletionCallbackWithOutput</a>(PP_CompletionCallback_Func func, void *user_data, typename BaseType::OutputStorageType *output)</td><td><a class="el" href="classpp_1_1_completion_callback_with_output.html">pp::CompletionCallbackWithOutput< T ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_with_output.html#afabe9939e7b82c645cdb66dde80426d4">CompletionCallbackWithOutput</a>(PP_CompletionCallback_Func func, void *user_data, int32_t flags, typename BaseType::OutputStorageType *output)</td><td><a class="el" href="classpp_1_1_completion_callback_with_output.html">pp::CompletionCallbackWithOutput< T ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a12536d4027ba401e4009404eeeaeeb97">CompletionCallbackWithOutputBase</a>(OutputStorageType *output)</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, internal::CallbackOutputTraits< T > ></a></td><td><code> [inline, explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a00d091474d398b2b3a14c2dbe05b74a2">CompletionCallbackWithOutputBase</a>(PP_CompletionCallback_Func func, void *user_data, OutputStorageType *output)</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, internal::CallbackOutputTraits< T > ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a19a3960c8990f8000a34062cc4534098">CompletionCallbackWithOutputBase</a>(PP_CompletionCallback_Func func, void *user_data, int32_t flags, OutputStorageType *output)</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, internal::CallbackOutputTraits< T > ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a60e466572fe7de362969dd41179c971f">flags</a>() const </td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a6ce66ec2655c9157cab494f248551b5f">IsOptional</a>() const </td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a24d1648d1a92a5c36894ce081457e603">MayForce</a>(int32_t result) const </td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a23ceea58754e1d1b6570a268f6b669b8">output</a>() const</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, internal::CallbackOutputTraits< T > ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">OutputStorageType</a> typedef</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, internal::CallbackOutputTraits< T > ></a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#ada943a747c94eebb1e32dbd6914c2526">pp_completion_callback</a>() const </td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a7795404cc15a4f96523c28db21d364c4">Run</a>(int32_t result)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a2996ca2f2b640c7da6da9016a5b0cd16">RunAndClear</a>(int32_t result)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a89fb884e8af572e9bf38fb880e132438">set_flags</a>(int32_t flags)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6dea62f34b316631f576d61959693775">TraitsType</a> typedef</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, internal::CallbackOutputTraits< T > ></a></td><td></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_completion_callback_with_output.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_completion_callback_with_output.html
new file mode 100644
index 0000000..71b1826
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_completion_callback_with_output.html
@@ -0,0 +1,179 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::CompletionCallbackWithOutput< T > Class Template Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::CompletionCallbackWithOutput" --><!-- doxytag: inherits="CompletionCallbackWithOutputBase< T, internal::CallbackOutputTraits< T > >" --><div class="dynheader">
+Inheritance diagram for pp::CompletionCallbackWithOutput< T >:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_completion_callback_with_output__inherit__graph.png" border="0" usemap="#pp_1_1_completion_callback_with_output_3_01_t_01_4_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_completion_callback_with_output_3_01_t_01_4_inherit__map" id="pp_1_1_completion_callback_with_output_3_01_t_01_4_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html" title="pp::internal::CompletionCallbackWithOutputBase\< T, internal::CallbackOutputTraits\< T \> \>" alt="" coords="228,5,825,35"></area><area shape="rect" id="node4" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl..." alt="" coords="7,5,177,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_completion_callback_with_output-members.html">List of all members.</a></p>
+<h2>
+Public Types</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">typedef <br class="typebreak" />
+<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">internal::CompletionCallbackWithOutputBase</a><br class="typebreak" />
+< T, <br class="typebreak" />
+internal::CallbackOutputTraits<br class="typebreak" />
+< T > > </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_with_output.html#adbba776ebc9de6001a08400826f9bf0f">BaseType</a></td></tr>
+</table><h2>
+Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_with_output.html#ab09283a1e9899537a5a1cf89bd03857f">CompletionCallbackWithOutput</a> (typename <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">BaseType::OutputStorageType</a> *<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a23ceea58754e1d1b6570a268f6b669b8">output</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_with_output.html#ac1b54281207b04f5646b02fc00e9ae3b">CompletionCallbackWithOutput</a> (PP_CompletionCallback_Func func, void *user_data, typename <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">BaseType::OutputStorageType</a> *<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a23ceea58754e1d1b6570a268f6b669b8">output</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_with_output.html#afabe9939e7b82c645cdb66dde80426d4">CompletionCallbackWithOutput</a> (PP_CompletionCallback_Func func, void *user_data, int32_t <a class="el" href="classpp_1_1_completion_callback.html#a60e466572fe7de362969dd41179c971f">flags</a>, typename <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">BaseType::OutputStorageType</a> *<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a23ceea58754e1d1b6570a268f6b669b8">output</a>)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><h3>template<typename T><br />
+class pp::CompletionCallbackWithOutput< T ></h3>
+<p>A <a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a> defines a completion callback that additionally stores a pointer to some output data. </p>
+<p>Some C++ wrappers take a <a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a> when the browser is returning a bit of data as part of the function call. The "output" parameter stored in the <a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a> will receive the data from the browser.</p>
+<p>You can create this yourself, but it is most common to use with the <a class="el" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe...">CompletionCallbackFactory</a>'s NewCallbackWithOutput, which manages the storage for the output parameter for you and passes it as an argument to your callback function.</p>
+<p>Note that this class doesn't actually do anything with the output data, it just stores a pointer to it. C++ wrapper objects that accept a <a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a> will retrieve this pointer and pass it to the browser as the output parameter. </p>
+</div><hr /><h2>Member Typedef Documentation</h2>
+<a class="anchor" id="adbba776ebc9de6001a08400826f9bf0f"></a><!-- doxytag: member="pp::CompletionCallbackWithOutput::BaseType" ref="adbba776ebc9de6001a08400826f9bf0f" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T > </div>
+<table class="memname">
+<tr>
+<td class="memname">typedef <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">internal::CompletionCallbackWithOutputBase</a>< T, internal::CallbackOutputTraits<T> > <a class="el" href="classpp_1_1_completion_callback_with_output.html">pp::CompletionCallbackWithOutput</a>< T >::<a class="el" href="classpp_1_1_completion_callback_with_output.html#adbba776ebc9de6001a08400826f9bf0f">BaseType</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="ab09283a1e9899537a5a1cf89bd03857f"></a><!-- doxytag: member="pp::CompletionCallbackWithOutput::CompletionCallbackWithOutput" ref="ab09283a1e9899537a5a1cf89bd03857f" args="(typename BaseType::OutputStorageType *output)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback_with_output.html">pp::CompletionCallbackWithOutput</a>< T >::<a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a> </td>
+<td>(</td>
+<td class="paramtype">typename <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">BaseType::OutputStorageType</a> * </td>
+<td class="paramname"><em>output</em></td><td>)</td>
+<td><code> [inline, explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The default constructor will create a blocking <code><a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a></code> that references the given output data. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">output</td><td>A pointer to the data associated with the callback. The caller must ensure that this pointer outlives the completion callback. In the common case, <code>OutputStorageType</code> will be equal to the template parameter T (for example, <code>CompletionCallbackWithOutput<int></code> would obviously take an int*. However, resources are passed as PP_Resource, vars as PP_Var, and arrays as our special ArrayOutputAdapter object. <code>internal::CallbackOutputTraits</code> defines specializations for all of these cases.</td></tr>
+</table>
+</dd>
+</dl>
+<p><b>Note:</b> Blocking completion callbacks are only allowed from background threads. </p>
+</div>
+</div>
+<a class="anchor" id="ac1b54281207b04f5646b02fc00e9ae3b"></a><!-- doxytag: member="pp::CompletionCallbackWithOutput::CompletionCallbackWithOutput" ref="ac1b54281207b04f5646b02fc00e9ae3b" args="(PP_CompletionCallback_Func func, void *user_data, typename BaseType::OutputStorageType *output)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback_with_output.html">pp::CompletionCallbackWithOutput</a>< T >::<a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a> </td>
+<td>(</td>
+<td class="paramtype">PP_CompletionCallback_Func </td>
+<td class="paramname"><em>func</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">void * </td>
+<td class="paramname"><em>user_data</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">typename <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">BaseType::OutputStorageType</a> * </td>
+<td class="paramname"><em>output</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor for creating a <code><a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a></code> that references the given output data. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">func</td><td>The function to be called on completion. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">user_data</td><td>The user data to be passed to the callback function. This is optional and is typically used to help track state in case of multiple pending callbacks. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">output</td><td>A pointer to the data associated with the callback. The caller must ensure that this pointer outlives the completion callback. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="afabe9939e7b82c645cdb66dde80426d4"></a><!-- doxytag: member="pp::CompletionCallbackWithOutput::CompletionCallbackWithOutput" ref="afabe9939e7b82c645cdb66dde80426d4" args="(PP_CompletionCallback_Func func, void *user_data, int32_t flags, typename BaseType::OutputStorageType *output)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback_with_output.html">pp::CompletionCallbackWithOutput</a>< T >::<a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a> </td>
+<td>(</td>
+<td class="paramtype">PP_CompletionCallback_Func </td>
+<td class="paramname"><em>func</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">void * </td>
+<td class="paramname"><em>user_data</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>flags</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">typename <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">BaseType::OutputStorageType</a> * </td>
+<td class="paramname"><em>output</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor for creating a <code><a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a></code> that references the given output data. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">func</td><td>The function to be called on completion.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">user_data</td><td>The user data to be passed to the callback function. This is optional and is typically used to help track state in case of multiple pending callbacks.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>Bit field combination of <code>PP_CompletionCallback_Flag</code> flags used to control how non-NULL callbacks are scheduled by asynchronous methods.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">output</td><td>A pointer to the data associated with the callback. The caller must ensure that this pointer outlives the completion callback. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="completion__callback_8h.html">completion_callback.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_completion_callback_with_output__inherit__graph.png b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_completion_callback_with_output__inherit__graph.png
new file mode 100644
index 0000000..565798b5
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_completion_callback_with_output__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_core-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_core-members.html
new file mode 100644
index 0000000..3f201fee
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_core-members.html
@@ -0,0 +1,20 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_core.html">pp::Core</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_core.html#a09c663df7fcb527b3e5e71ea07531899">AddRefResource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_core.html">pp::Core</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_core.html#af20d1f92600f588bc74115fcbd17a1c7">CallOnMainThread</a>(int32_t delay_in_milliseconds, const CompletionCallback &callback, int32_t result=0)</td><td><a class="el" href="classpp_1_1_core.html">pp::Core</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_core.html#a8c7991d43fc5b4fce51095ad7dccaec1">GetTime</a>()</td><td><a class="el" href="classpp_1_1_core.html">pp::Core</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_core.html#ae80748da9fe60f2b83fbf3e18978f86f">GetTimeTicks</a>()</td><td><a class="el" href="classpp_1_1_core.html">pp::Core</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_core.html#a052082be868f24d1f1807afa4eb7e7e4">IsMainThread</a>()</td><td><a class="el" href="classpp_1_1_core.html">pp::Core</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_core.html#a21f639900c480510650969df9c74d17d">Module</a> class</td><td><a class="el" href="classpp_1_1_core.html">pp::Core</a></td><td><code> [friend]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_core.html#a5fd1b4530d9f01ebf3c50115238a8195">ReleaseResource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_core.html">pp::Core</a></td><td><code> [inline]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_core.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_core.html
new file mode 100644
index 0000000..c4e6ce9
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_core.html
@@ -0,0 +1,191 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::Core Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::Core" -->
+<p><a href="classpp_1_1_core-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_core.html#a09c663df7fcb527b3e5e71ea07531899">AddRefResource</a> (PP_Resource resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_core.html#a5fd1b4530d9f01ebf3c50115238a8195">ReleaseResource</a> (PP_Resource resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_Time </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_core.html#a8c7991d43fc5b4fce51095ad7dccaec1">GetTime</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_TimeTicks </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_core.html#ae80748da9fe60f2b83fbf3e18978f86f">GetTimeTicks</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_core.html#af20d1f92600f588bc74115fcbd17a1c7">CallOnMainThread</a> (int32_t delay_in_milliseconds, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &callback, int32_t result=0)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_core.html#a052082be868f24d1f1807afa4eb7e7e4">IsMainThread</a> ()</td></tr>
+</table><h2>
+Friends</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_core.html#a21f639900c480510650969df9c74d17d">Module</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>APIs related to memory management, time, and threads. </p>
+</div><hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a09c663df7fcb527b3e5e71ea07531899"></a><!-- doxytag: member="pp::Core::AddRefResource" ref="a09c663df7fcb527b3e5e71ea07531899" args="(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_core.html#a09c663df7fcb527b3e5e71ea07531899">pp::Core::AddRefResource</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>resource</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_core.html#a09c663df7fcb527b3e5e71ea07531899" title="AddRefResource() increments the reference count for the provided resource.">AddRefResource()</a> increments the reference count for the provided <code>resource</code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a resource. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="af20d1f92600f588bc74115fcbd17a1c7"></a><!-- doxytag: member="pp::Core::CallOnMainThread" ref="af20d1f92600f588bc74115fcbd17a1c7" args="(int32_t delay_in_milliseconds, const CompletionCallback &callback, int32_t result=0)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_core.html#af20d1f92600f588bc74115fcbd17a1c7">pp::Core::CallOnMainThread</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>delay_in_milliseconds</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>callback</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>result</em> = <code>0</code> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_core.html#af20d1f92600f588bc74115fcbd17a1c7" title="CallOnMainThread() schedules work to be executed on the main pepper thread after the specified delay...">CallOnMainThread()</a> schedules work to be executed on the main pepper thread after the specified delay. </p>
+<p>The delay may be 0 to specify a call back as soon as possible.</p>
+<p>The |result| parameter will just be passed as the second argument to the callback. Many applications won't need this, but it allows a module to emulate calls of some callbacks which do use this value.</p>
+<p><b>Note:</b> <a class="el" href="classpp_1_1_core.html#af20d1f92600f588bc74115fcbd17a1c7" title="CallOnMainThread() schedules work to be executed on the main pepper thread after the specified delay...">CallOnMainThread()</a>, even when used from the main thread with a delay of 0 milliseconds, will never directly invoke the callback. Even in this case, the callback will be scheduled asynchronously.</p>
+<p><b>Note:</b> If the browser is shutting down or if the module has no instances, then the callback function may not be called.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">delay_in_milliseconds</td><td>An int32_t delay in milliseconds. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> callback function that the browser will call after the specified delay. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">result</td><td>An int32_t that the browser will pass to the given <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a8c7991d43fc5b4fce51095ad7dccaec1"></a><!-- doxytag: member="pp::Core::GetTime" ref="a8c7991d43fc5b4fce51095ad7dccaec1" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_Time <a class="el" href="classpp_1_1_core.html#a8c7991d43fc5b4fce51095ad7dccaec1">pp::Core::GetTime</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_core.html#a8c7991d43fc5b4fce51095ad7dccaec1" title='GetTime() returns the "wall clock time" according to the browser.'>GetTime()</a> returns the "wall clock time" according to the browser. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Time</code> containing the "wall clock time" according to the browser. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ae80748da9fe60f2b83fbf3e18978f86f"></a><!-- doxytag: member="pp::Core::GetTimeTicks" ref="ae80748da9fe60f2b83fbf3e18978f86f" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_TimeTicks <a class="el" href="classpp_1_1_core.html#ae80748da9fe60f2b83fbf3e18978f86f">pp::Core::GetTimeTicks</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_core.html#ae80748da9fe60f2b83fbf3e18978f86f" title='GetTimeTicks() returns the "tick time" according to the browser.'>GetTimeTicks()</a> returns the "tick time" according to the browser. </p>
+<p>This clock is used by the browser when passing some event times to the module (for example, using the <code>PP_InputEvent::time_stamp_seconds</code> field). It is not correlated to any actual wall clock time (like <a class="el" href="classpp_1_1_core.html#a8c7991d43fc5b4fce51095ad7dccaec1" title='GetTime() returns the "wall clock time" according to the browser.'>GetTime()</a>). Because of this, it will not change if the user changes their computer clock.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_TimeTicks</code> containing the "tick time" according to the browser. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a052082be868f24d1f1807afa4eb7e7e4"></a><!-- doxytag: member="pp::Core::IsMainThread" ref="a052082be868f24d1f1807afa4eb7e7e4" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_core.html#a052082be868f24d1f1807afa4eb7e7e4">pp::Core::IsMainThread</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_core.html#a052082be868f24d1f1807afa4eb7e7e4" title="IsMainThread() returns true if the current thread is the main pepper thread.">IsMainThread()</a> returns true if the current thread is the main pepper thread. </p>
+<p>This function is useful for implementing sanity checks, and deciding if dispatching using <a class="el" href="classpp_1_1_core.html#af20d1f92600f588bc74115fcbd17a1c7" title="CallOnMainThread() schedules work to be executed on the main pepper thread after the specified delay...">CallOnMainThread()</a> is required.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the current thread is the main pepper thread, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a5fd1b4530d9f01ebf3c50115238a8195"></a><!-- doxytag: member="pp::Core::ReleaseResource" ref="a5fd1b4530d9f01ebf3c50115238a8195" args="(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_core.html#a5fd1b4530d9f01ebf3c50115238a8195">pp::Core::ReleaseResource</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>resource</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_core.html#a5fd1b4530d9f01ebf3c50115238a8195" title="ReleaseResource() decrements the reference count for the provided resource.">ReleaseResource()</a> decrements the reference count for the provided <code>resource</code>. </p>
+<p>The resource will be deallocated if the reference count reaches zero.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a resource. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Friends And Related Function Documentation</h2>
+<a class="anchor" id="a21f639900c480510650969df9c74d17d"></a><!-- doxytag: member="pp::Core::Module" ref="a21f639900c480510650969df9c74d17d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">friend class <a class="el" href="classpp_1_1_module.html">Module</a><code> [friend]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="core_8h.html">core.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_directory_entry-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_directory_entry-members.html
new file mode 100644
index 0000000..dd82ae1
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_directory_entry-members.html
@@ -0,0 +1,21 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_directory_entry.html">pp::DirectoryEntry</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_directory_entry.html#abd1a4a70ed1b922a232c78be62b1fe86">DirectoryEntry</a>()</td><td><a class="el" href="classpp_1_1_directory_entry.html">pp::DirectoryEntry</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_directory_entry.html#aa8fe311e0fe27aee989f0a055ec2f2e4">DirectoryEntry</a>(PassRef, const PP_DirectoryEntry &data)</td><td><a class="el" href="classpp_1_1_directory_entry.html">pp::DirectoryEntry</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_directory_entry.html#af60a142d874f0bc2fed98bd8ae5b7cdc">DirectoryEntry</a>(const DirectoryEntry &other)</td><td><a class="el" href="classpp_1_1_directory_entry.html">pp::DirectoryEntry</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_directory_entry.html#af6ff2a3c83a6f26455573bc07f15ec4d">file_ref</a>() const </td><td><a class="el" href="classpp_1_1_directory_entry.html">pp::DirectoryEntry</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_directory_entry.html#a9c91f7dda30ef2f31ec9547f9fd9faaf">file_type</a>() const </td><td><a class="el" href="classpp_1_1_directory_entry.html">pp::DirectoryEntry</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_directory_entry.html#aea481437bc555e04429b4e7ec1005ef0">is_null</a>() const </td><td><a class="el" href="classpp_1_1_directory_entry.html">pp::DirectoryEntry</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_directory_entry.html#a7e1b5b7376a2da0a4f736eb986092556">operator=</a>(const DirectoryEntry &other)</td><td><a class="el" href="classpp_1_1_directory_entry.html">pp::DirectoryEntry</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_directory_entry.html#a3dd150a66dcb8e3b063f411d904dc356">~DirectoryEntry</a>()</td><td><a class="el" href="classpp_1_1_directory_entry.html">pp::DirectoryEntry</a></td><td></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_directory_entry.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_directory_entry.html
new file mode 100644
index 0000000..346871a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_directory_entry.html
@@ -0,0 +1,198 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::DirectoryEntry Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::DirectoryEntry" -->
+<p><a href="classpp_1_1_directory_entry-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_directory_entry.html#abd1a4a70ed1b922a232c78be62b1fe86">DirectoryEntry</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_directory_entry.html#aa8fe311e0fe27aee989f0a055ec2f2e4">DirectoryEntry</a> (<a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a>, const PP_DirectoryEntry &data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_directory_entry.html#af60a142d874f0bc2fed98bd8ae5b7cdc">DirectoryEntry</a> (const <a class="el" href="classpp_1_1_directory_entry.html">DirectoryEntry</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_directory_entry.html#a3dd150a66dcb8e3b063f411d904dc356">~DirectoryEntry</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_directory_entry.html">DirectoryEntry</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_directory_entry.html#a7e1b5b7376a2da0a4f736eb986092556">operator=</a> (const <a class="el" href="classpp_1_1_directory_entry.html">DirectoryEntry</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_directory_entry.html#aea481437bc555e04429b4e7ec1005ef0">is_null</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_file_ref.html">FileRef</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_directory_entry.html#af6ff2a3c83a6f26455573bc07f15ec4d">file_ref</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_FileType </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_directory_entry.html#a9c91f7dda30ef2f31ec9547f9fd9faaf">file_type</a> () const </td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry.">DirectoryEntry</a></code> class represents information about a directory entry. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="abd1a4a70ed1b922a232c78be62b1fe86"></a><!-- doxytag: member="pp::DirectoryEntry::DirectoryEntry" ref="abd1a4a70ed1b922a232c78be62b1fe86" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_directory_entry.html#abd1a4a70ed1b922a232c78be62b1fe86">pp::DirectoryEntry::DirectoryEntry</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor for creating an <a class="el" href="classpp_1_1_directory_entry.html#aea481437bc555e04429b4e7ec1005ef0" title="This function determines if this DirectoryEntry is a null value.">is_null()</a> <code><a class="el" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry.">DirectoryEntry</a></code> object. </p>
+</div>
+</div>
+<a class="anchor" id="aa8fe311e0fe27aee989f0a055ec2f2e4"></a><!-- doxytag: member="pp::DirectoryEntry::DirectoryEntry" ref="aa8fe311e0fe27aee989f0a055ec2f2e4" args="(PassRef, const PP_DirectoryEntry &data)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_directory_entry.html#abd1a4a70ed1b922a232c78be62b1fe86">pp::DirectoryEntry::DirectoryEntry</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a> </td>
+<td class="paramname">, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const PP_DirectoryEntry & </td>
+<td class="paramname"><em>data</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used when you have a <code>PP_DirectoryEntry</code> which contains a <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code> that has already been reference counted as a return value. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>A <code>PP_DirectoryEntry</code> to be copied. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="af60a142d874f0bc2fed98bd8ae5b7cdc"></a><!-- doxytag: member="pp::DirectoryEntry::DirectoryEntry" ref="af60a142d874f0bc2fed98bd8ae5b7cdc" args="(const DirectoryEntry &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_directory_entry.html#abd1a4a70ed1b922a232c78be62b1fe86">pp::DirectoryEntry::DirectoryEntry</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_directory_entry.html">DirectoryEntry</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A copy constructor for <code><a class="el" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry.">DirectoryEntry</a></code>. </p>
+<p>This constructor increments a reference count of the <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code> held by this <a class="el" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry.">DirectoryEntry</a>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A pointer to a <code><a class="el" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry.">DirectoryEntry</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a3dd150a66dcb8e3b063f411d904dc356"></a><!-- doxytag: member="pp::DirectoryEntry::~DirectoryEntry" ref="a3dd150a66dcb8e3b063f411d904dc356" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_directory_entry.html#a3dd150a66dcb8e3b063f411d904dc356">pp::DirectoryEntry::~DirectoryEntry</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A destructor that decrements a reference count of the <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code> held by this <code><a class="el" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry.">DirectoryEntry</a></code>. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="af6ff2a3c83a6f26455573bc07f15ec4d"></a><!-- doxytag: member="pp::DirectoryEntry::file_ref" ref="af6ff2a3c83a6f26455573bc07f15ec4d" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_file_ref.html">FileRef</a> <a class="el" href="classpp_1_1_directory_entry.html#af6ff2a3c83a6f26455573bc07f15ec4d">pp::DirectoryEntry::file_ref</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function returns the <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code> held by this <code><a class="el" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry.">DirectoryEntry</a></code>. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code> of the file. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a9c91f7dda30ef2f31ec9547f9fd9faaf"></a><!-- doxytag: member="pp::DirectoryEntry::file_type" ref="a9c91f7dda30ef2f31ec9547f9fd9faaf" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_FileType <a class="el" href="classpp_1_1_directory_entry.html#a9c91f7dda30ef2f31ec9547f9fd9faaf">pp::DirectoryEntry::file_type</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function returns the <code>PP_FileType</code> of the file referenced by this <code><a class="el" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry.">DirectoryEntry</a></code>. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_FileType</code> of the file. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aea481437bc555e04429b4e7ec1005ef0"></a><!-- doxytag: member="pp::DirectoryEntry::is_null" ref="aea481437bc555e04429b4e7ec1005ef0" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_directory_entry.html#aea481437bc555e04429b4e7ec1005ef0">pp::DirectoryEntry::is_null</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function determines if this <code><a class="el" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry.">DirectoryEntry</a></code> is a null value. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if this <code><a class="el" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry.">DirectoryEntry</a></code> is null, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a7e1b5b7376a2da0a4f736eb986092556"></a><!-- doxytag: member="pp::DirectoryEntry::operator=" ref="a7e1b5b7376a2da0a4f736eb986092556" args="(const DirectoryEntry &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_directory_entry.html">DirectoryEntry</a>& pp::DirectoryEntry::operator= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_directory_entry.html">DirectoryEntry</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function assigns one <code><a class="el" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry.">DirectoryEntry</a></code> object to this <code><a class="el" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry.">DirectoryEntry</a></code> object. </p>
+<p>This function increases the reference count of the <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code> of the other <a class="el" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry.">DirectoryEntry</a> while decrementing the reference count of the <a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a> of this <a class="el" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry.">DirectoryEntry</a>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A pointer to a <code><a class="el" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry.">DirectoryEntry</a></code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A new <code><a class="el" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry.">DirectoryEntry</a></code> object. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="directory__entry_8h.html">directory_entry.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_file_i_o-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_file_i_o-members.html
new file mode 100644
index 0000000..32652b3
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_file_i_o-members.html
@@ -0,0 +1,36 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_file_i_o.html">pp::FileIO</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_i_o.html#a5f08c15cc2b23548b2e401c55102d709">Close</a>()</td><td><a class="el" href="classpp_1_1_file_i_o.html">pp::FileIO</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_i_o.html#a67b9da7adaadcb58c7429aa1984f757e">FileIO</a>()</td><td><a class="el" href="classpp_1_1_file_i_o.html">pp::FileIO</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_i_o.html#a7c3f17d75a139e92b2cdc52d8f2f5fd0">FileIO</a>(const InstanceHandle &instance)</td><td><a class="el" href="classpp_1_1_file_i_o.html">pp::FileIO</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_i_o.html#a7bc6f391da690a381874111e350692f0">FileIO</a>(const FileIO &other)</td><td><a class="el" href="classpp_1_1_file_i_o.html">pp::FileIO</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_i_o.html#a074d9c13b5825b378c343e5dd890d789">Flush</a>(const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_file_i_o.html">pp::FileIO</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_i_o.html#adafce7733e27fc3bf12cdb7833927bae">Open</a>(const FileRef &file_ref, int32_t open_flags, const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_file_i_o.html">pp::FileIO</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_i_o.html#a0e1cb3e0e2f1cd73c0d5a08a20e60fab">Query</a>(PP_FileInfo *result_buf, const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_file_i_o.html">pp::FileIO</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_i_o.html#a9e4576a9a5c946b4aa971daca526e457">Read</a>(int64_t offset, char *buffer, int32_t bytes_to_read, const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_file_i_o.html">pp::FileIO</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_i_o.html#a809ad6c8aa27f647c044c7053a84867a">Read</a>(int32_t offset, int32_t max_read_length, const CompletionCallbackWithOutput< std::vector< char > > &cc)</td><td><a class="el" href="classpp_1_1_file_i_o.html">pp::FileIO</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_i_o.html#a49014400d013c27b9950368f54974935">SetLength</a>(int64_t length, const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_file_i_o.html">pp::FileIO</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_i_o.html#a30766070559c1b719784ebc4f8d369f4">Touch</a>(PP_Time last_access_time, PP_Time last_modified_time, const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_file_i_o.html">pp::FileIO</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_i_o.html#a9ef23f569178ce6a53536fb27d459bcf">Write</a>(int64_t offset, const char *buffer, int32_t bytes_to_write, const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_file_i_o.html">pp::FileIO</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_file_i_o.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_file_i_o.html
new file mode 100644
index 0000000..de9fa403
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_file_i_o.html
@@ -0,0 +1,465 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::FileIO Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::FileIO" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::FileIO:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_file_i_o__inherit__graph.png" border="0" usemap="#pp_1_1_file_i_o_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_file_i_o_inherit__map" id="pp_1_1_file_i_o_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="5,5,109,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_file_i_o-members.html">List of all members.</a></p>
+<h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><b>CallbackData1_0</b></td></tr>
+</table><h2>
+Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_i_o.html#a67b9da7adaadcb58c7429aa1984f757e">FileIO</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_i_o.html#a7c3f17d75a139e92b2cdc52d8f2f5fd0">FileIO</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_i_o.html#a7bc6f391da690a381874111e350692f0">FileIO</a> (const <a class="el" href="classpp_1_1_file_i_o.html">FileIO</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_i_o.html#adafce7733e27fc3bf12cdb7833927bae">Open</a> (const <a class="el" href="classpp_1_1_file_ref.html">FileRef</a> &file_ref, int32_t open_flags, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_i_o.html#a0e1cb3e0e2f1cd73c0d5a08a20e60fab">Query</a> (PP_FileInfo *result_buf, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_i_o.html#a30766070559c1b719784ebc4f8d369f4">Touch</a> (PP_Time last_access_time, PP_Time last_modified_time, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_i_o.html#a9e4576a9a5c946b4aa971daca526e457">Read</a> (int64_t offset, char *buffer, int32_t bytes_to_read, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_i_o.html#a809ad6c8aa27f647c044c7053a84867a">Read</a> (int32_t offset, int32_t max_read_length, const <a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a>< std::vector< char > > &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_i_o.html#a9ef23f569178ce6a53536fb27d459bcf">Write</a> (int64_t offset, const char *buffer, int32_t bytes_to_write, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_i_o.html#a49014400d013c27b9950368f54974935">SetLength</a> (int64_t length, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_i_o.html#a074d9c13b5825b378c343e5dd890d789">Flush</a> (const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_i_o.html#a5f08c15cc2b23548b2e401c55102d709">Close</a> ()</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a></code> class represents a regular file. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a67b9da7adaadcb58c7429aa1984f757e"></a><!-- doxytag: member="pp::FileIO::FileIO" ref="a67b9da7adaadcb58c7429aa1984f757e" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_file_i_o.html#a67b9da7adaadcb58c7429aa1984f757e">pp::FileIO::FileIO</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor for creating an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> <code><a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a></code> object. </p>
+</div>
+</div>
+<a class="anchor" id="a7c3f17d75a139e92b2cdc52d8f2f5fd0"></a><!-- doxytag: member="pp::FileIO::FileIO" ref="a7c3f17d75a139e92b2cdc52d8f2f5fd0" args="(const InstanceHandle &instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_file_i_o.html#a67b9da7adaadcb58c7429aa1984f757e">pp::FileIO::FileIO</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used to create a <code><a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a></code> and associate it with the provided <code><a class="el" href="classpp_1_1_instance.html">Instance</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a7bc6f391da690a381874111e350692f0"></a><!-- doxytag: member="pp::FileIO::FileIO" ref="a7bc6f391da690a381874111e350692f0" args="(const FileIO &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_file_i_o.html#a67b9da7adaadcb58c7429aa1984f757e">pp::FileIO::FileIO</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_file_i_o.html">FileIO</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The copy constructor for <code><a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A reference to a <code><a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a5f08c15cc2b23548b2e401c55102d709"></a><!-- doxytag: member="pp::FileIO::Close" ref="a5f08c15cc2b23548b2e401c55102d709" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_file_i_o.html#a5f08c15cc2b23548b2e401c55102d709">pp::FileIO::Close</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_i_o.html#a5f08c15cc2b23548b2e401c55102d709" title="Close() cancels any IO that may be pending, and closes the FileIO object.">Close()</a> cancels any IO that may be pending, and closes the <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a> object. </p>
+<p>Any pending callbacks will still run, reporting <code>PP_ERROR_ABORTED</code> if pending IO was interrupted. It is not valid to call <a class="el" href="classpp_1_1_file_i_o.html#adafce7733e27fc3bf12cdb7833927bae" title="Open() opens the specified regular file for I/O according to the given open flags, which is a bit-mask of the PP_FileOpenFlags values.">Open()</a> again after a call to this method.</p>
+<p><b>Note:</b> If the <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a> object is destroyed, and it is still open, then it will be implicitly closed, so you are not required to call <a class="el" href="classpp_1_1_file_i_o.html#a5f08c15cc2b23548b2e401c55102d709" title="Close() cancels any IO that may be pending, and closes the FileIO object.">Close()</a>. </p>
+</div>
+</div>
+<a class="anchor" id="a074d9c13b5825b378c343e5dd890d789"></a><!-- doxytag: member="pp::FileIO::Flush" ref="a074d9c13b5825b378c343e5dd890d789" args="(const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_file_i_o.html#a074d9c13b5825b378c343e5dd890d789">pp::FileIO::Flush</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_i_o.html#a074d9c13b5825b378c343e5dd890d789" title="Flush() flushes changes to disk.">Flush()</a> flushes changes to disk. </p>
+<p>This call can be very expensive!</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion of <a class="el" href="classpp_1_1_file_i_o.html#a074d9c13b5825b378c343e5dd890d789" title="Flush() flushes changes to disk.">Flush()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="adafce7733e27fc3bf12cdb7833927bae"></a><!-- doxytag: member="pp::FileIO::Open" ref="adafce7733e27fc3bf12cdb7833927bae" args="(const FileRef &file_ref, int32_t open_flags, const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_file_i_o.html#adafce7733e27fc3bf12cdb7833927bae">pp::FileIO::Open</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_file_ref.html">FileRef</a> & </td>
+<td class="paramname"><em>file_ref</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>open_flags</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_i_o.html#adafce7733e27fc3bf12cdb7833927bae" title="Open() opens the specified regular file for I/O according to the given open flags, which is a bit-mask of the PP_FileOpenFlags values.">Open()</a> opens the specified regular file for I/O according to the given open flags, which is a bit-mask of the PP_FileOpenFlags values. </p>
+<p>Upon success, the corresponding file is classified as "in use" by this <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a> object until such time as the <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a> object is closed or destroyed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_ref</td><td>A <code>PP_Resource</code> corresponding to a file reference.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">open_flags</td><td>A bit-mask of the <code>PP_FileOpenFlags</code> values. Valid values are:<ul>
+<li>PP_FILEOPENFLAG_READ</li>
+<li>PP_FILEOPENFLAG_WRITE</li>
+<li>PP_FILEOPENFLAG_CREATE</li>
+<li>PP_FILEOPENFLAG_TRUNCATE</li>
+<li>PP_FILEOPENFLAG_EXCLUSIVE See <code>PP_FileOpenFlags</code> in <code>ppb_file_io.h</code> for more details on these flags.</li>
+</ul>
+</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion of <a class="el" href="classpp_1_1_file_i_o.html#adafce7733e27fc3bf12cdb7833927bae" title="Open() opens the specified regular file for I/O according to the given open flags, which is a bit-mask of the PP_FileOpenFlags values.">Open()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a0e1cb3e0e2f1cd73c0d5a08a20e60fab"></a><!-- doxytag: member="pp::FileIO::Query" ref="a0e1cb3e0e2f1cd73c0d5a08a20e60fab" args="(PP_FileInfo *result_buf, const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_file_i_o.html#a0e1cb3e0e2f1cd73c0d5a08a20e60fab">pp::FileIO::Query</a> </td>
+<td>(</td>
+<td class="paramtype">PP_FileInfo * </td>
+<td class="paramname"><em>result_buf</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_i_o.html#a0e1cb3e0e2f1cd73c0d5a08a20e60fab" title="Query() queries info about the file opened by this FileIO object.">Query()</a> queries info about the file opened by this <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a> object. </p>
+<p>This function will fail if the <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a> object has not been opened.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">result_buf</td><td>The <code>PP_FileInfo</code> structure representing all information about the file. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion of <a class="el" href="classpp_1_1_file_i_o.html#a0e1cb3e0e2f1cd73c0d5a08a20e60fab" title="Query() queries info about the file opened by this FileIO object.">Query()</a>. <code>result_buf</code> must remain valid until after the callback runs. If you pass a blocking callback, <code>result_buf</code> must remain valid until after <a class="el" href="classpp_1_1_file_i_o.html#a0e1cb3e0e2f1cd73c0d5a08a20e60fab" title="Query() queries info about the file opened by this FileIO object.">Query()</a> returns.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a9e4576a9a5c946b4aa971daca526e457"></a><!-- doxytag: member="pp::FileIO::Read" ref="a9e4576a9a5c946b4aa971daca526e457" args="(int64_t offset, char *buffer, int32_t bytes_to_read, const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_file_i_o.html#a9e4576a9a5c946b4aa971daca526e457">pp::FileIO::Read</a> </td>
+<td>(</td>
+<td class="paramtype">int64_t </td>
+<td class="paramname"><em>offset</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">char * </td>
+<td class="paramname"><em>buffer</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>bytes_to_read</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Reads from an offset in the file. </p>
+<p>The size of the buffer must be large enough to hold the specified number of bytes to read. This function might perform a partial read, meaning that all the requested bytes might not be returned, even if the end of the file has not been reached.</p>
+<p>This function reads into a buffer that the caller supplies. This buffer must remain valid as long as the <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a> resource is alive. If you use a completion callback factory and it goes out of scope, it will not issue the callback on your class, BUT the callback factory can NOT cancel the request from the browser's perspective. This means that the browser will still try to write to your buffer even if the callback factory is destroyed!</p>
+<p>So you must ensure that your buffer outlives the <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a> resource. If you have one class and use the <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a> resource exclusively from that class and never make any copies, this will be fine: the resource will be destroyed when your class is. But keep in mind that copying a <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">pp::FileIO</a> object just creates a second reference to the original resource. For example, if you have a function like this: <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">pp::FileIO</a> MyClass::GetFileIO(); where a copy of your <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a> resource could outlive your class, the callback will still be pending when your class goes out of scope, creating the possibility of writing into invalid memory. So it's recommended to keep your <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a> resource and any output buffers tightly controlled in the same scope.</p>
+<p><b>Caveat:</b> This <a class="el" href="classpp_1_1_file_i_o.html#a9e4576a9a5c946b4aa971daca526e457" title="Reads from an offset in the file.">Read()</a> is potentially unsafe if you're using a <a class="el" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe...">CompletionCallbackFactory</a> to scope callbacks to the lifetime of your class. When your class goes out of scope, the callback factory will not actually cancel the callback, but will rather just skip issuing the callback on your class. This means that if the <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a> object outlives your class (if you made a copy saved somewhere else, for example), then the browser will still try to write into your buffer when the asynchronous read completes, potentially causing a crash.</p>
+<p>See the other version of <a class="el" href="classpp_1_1_file_i_o.html#a9e4576a9a5c946b4aa971daca526e457" title="Reads from an offset in the file.">Read()</a> which avoids this problem by writing into <a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a>, where the output buffer is automatically managed by the callback.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">offset</td><td>The offset into the file. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">buffer</td><td>The buffer to hold the specified number of bytes read. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">bytes_to_read</td><td>The number of bytes to read from <code>offset</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion of <a class="el" href="classpp_1_1_file_i_o.html#a9e4576a9a5c946b4aa971daca526e457" title="Reads from an offset in the file.">Read()</a>. <code>buffer</code> must remain valid until after the callback runs. If you pass a blocking callback, <code>buffer</code> must remain valid until after <a class="el" href="classpp_1_1_file_i_o.html#a9e4576a9a5c946b4aa971daca526e457" title="Reads from an offset in the file.">Read()</a> returns.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An The number of bytes read an error code from <code>pp_errors.h</code>. If the return value is 0, then end-of-file was reached. It is valid to call <a class="el" href="classpp_1_1_file_i_o.html#a9e4576a9a5c946b4aa971daca526e457" title="Reads from an offset in the file.">Read()</a> multiple times with a completion callback to queue up parallel reads from the file at different offsets. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a809ad6c8aa27f647c044c7053a84867a"></a><!-- doxytag: member="pp::FileIO::Read" ref="a809ad6c8aa27f647c044c7053a84867a" args="(int32_t offset, int32_t max_read_length, const CompletionCallbackWithOutput< std::vector< char > > &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_file_i_o.html#a9e4576a9a5c946b4aa971daca526e457">pp::FileIO::Read</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>offset</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>max_read_length</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a>< std::vector< char > > & </td>
+<td class="paramname"><em>cc</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_i_o.html#a9e4576a9a5c946b4aa971daca526e457" title="Reads from an offset in the file.">Read()</a> reads from an offset in the file. </p>
+<p>A PP_ArrayOutput must be provided so that output will be stored in its allocated buffer. This function might perform a partial read.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_io</td><td>A <code>PP_Resource</code> corresponding to a file <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">offset</td><td>The offset into the file. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">max_read_length</td><td>The maximum number of bytes to read from <code>offset</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">output</td><td>A <code>PP_ArrayOutput</code> to hold the output data. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code>PP_CompletionCallback</code> to be called upon completion of <a class="el" href="classpp_1_1_file_i_o.html#a9e4576a9a5c946b4aa971daca526e457" title="Reads from an offset in the file.">Read()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The number of bytes read or an error code from <code>pp_errors.h</code>. If the return value is 0, then end-of-file was reached. It is valid to call <a class="el" href="classpp_1_1_file_i_o.html#a9e4576a9a5c946b4aa971daca526e457" title="Reads from an offset in the file.">Read()</a> multiple times with a completion callback to queue up parallel reads from the file, but pending reads cannot be interleaved with other operations. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a49014400d013c27b9950368f54974935"></a><!-- doxytag: member="pp::FileIO::SetLength" ref="a49014400d013c27b9950368f54974935" args="(int64_t length, const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_file_i_o.html#a49014400d013c27b9950368f54974935">pp::FileIO::SetLength</a> </td>
+<td>(</td>
+<td class="paramtype">int64_t </td>
+<td class="paramname"><em>length</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_i_o.html#a49014400d013c27b9950368f54974935" title="SetLength() sets the length of the file.">SetLength()</a> sets the length of the file. </p>
+<p>If the file size is extended, then the extended area of the file is zero-filled. The <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a> object must have been opened with write access.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>The length of the file to be set. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion of <a class="el" href="classpp_1_1_file_i_o.html#a49014400d013c27b9950368f54974935" title="SetLength() sets the length of the file.">SetLength()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a30766070559c1b719784ebc4f8d369f4"></a><!-- doxytag: member="pp::FileIO::Touch" ref="a30766070559c1b719784ebc4f8d369f4" args="(PP_Time last_access_time, PP_Time last_modified_time, const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_file_i_o.html#a30766070559c1b719784ebc4f8d369f4">pp::FileIO::Touch</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Time </td>
+<td class="paramname"><em>last_access_time</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_Time </td>
+<td class="paramname"><em>last_modified_time</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_i_o.html#a30766070559c1b719784ebc4f8d369f4" title="Touch() Updates time stamps for the file opened by this FileIO object.">Touch()</a> Updates time stamps for the file opened by this <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a> object. </p>
+<p>This function will fail if the <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a> object has not been opened.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">last_access_time</td><td>The last time the <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a> was accessed. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">last_modified_time</td><td>The last time the <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a> was modified. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion of <a class="el" href="classpp_1_1_file_i_o.html#a30766070559c1b719784ebc4f8d369f4" title="Touch() Updates time stamps for the file opened by this FileIO object.">Touch()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a9ef23f569178ce6a53536fb27d459bcf"></a><!-- doxytag: member="pp::FileIO::Write" ref="a9ef23f569178ce6a53536fb27d459bcf" args="(int64_t offset, const char *buffer, int32_t bytes_to_write, const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_file_i_o.html#a9ef23f569178ce6a53536fb27d459bcf">pp::FileIO::Write</a> </td>
+<td>(</td>
+<td class="paramtype">int64_t </td>
+<td class="paramname"><em>offset</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const char * </td>
+<td class="paramname"><em>buffer</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>bytes_to_write</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_i_o.html#a9ef23f569178ce6a53536fb27d459bcf" title="Write() writes to an offset in the file.">Write()</a> writes to an offset in the file. </p>
+<p>This function might perform a partial write. The <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a> object must have been opened with write access.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">offset</td><td>The offset into the file. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">buffer</td><td>The buffer to hold the specified number of bytes read. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">bytes_to_write</td><td>The number of bytes to write to <code>offset</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion of <a class="el" href="classpp_1_1_file_i_o.html#a9ef23f569178ce6a53536fb27d459bcf" title="Write() writes to an offset in the file.">Write()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An The number of bytes written or an error code from <code>pp_errors.h</code>. If the return value is 0, then end-of-file was reached. It is valid to call <a class="el" href="classpp_1_1_file_i_o.html#a9ef23f569178ce6a53536fb27d459bcf" title="Write() writes to an offset in the file.">Write()</a> multiple times with a completion callback to queue up parallel writes to the file at different offsets. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="file__io_8h.html">file_io.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_file_i_o__inherit__graph.png b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_file_i_o__inherit__graph.png
new file mode 100644
index 0000000..d2df2b1
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_file_i_o__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_file_ref-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_file_ref-members.html
new file mode 100644
index 0000000..28f2394
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_file_ref-members.html
@@ -0,0 +1,40 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_file_ref.html">pp::FileRef</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_ref.html#abfdb9c3db04b0ef2591953f79c255873">Delete</a>(const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_file_ref.html">pp::FileRef</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_ref.html#a4c79db956157379aa877e57ff06d2c10">FileRef</a>()</td><td><a class="el" href="classpp_1_1_file_ref.html">pp::FileRef</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_ref.html#a3345910589954a8fb573cdf2c82166b0">FileRef</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_file_ref.html">pp::FileRef</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_ref.html#a50652a877b8c02c736f86b1d69fc9b11">FileRef</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_file_ref.html">pp::FileRef</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_ref.html#a95aad2e3c8d9b52b1ac09279c8cf8113">FileRef</a>(const FileSystem &file_system, const char *path)</td><td><a class="el" href="classpp_1_1_file_ref.html">pp::FileRef</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_ref.html#a9a66f16e7d9a4198c206144bc3498ec5">FileRef</a>(const FileRef &other)</td><td><a class="el" href="classpp_1_1_file_ref.html">pp::FileRef</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_ref.html#a71de4e20d117efcf4ac8000c2149e3f8">GetFileSystemType</a>() const </td><td><a class="el" href="classpp_1_1_file_ref.html">pp::FileRef</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_ref.html#acb186b79d906675e288ff5d0d0a7eab2">GetName</a>() const </td><td><a class="el" href="classpp_1_1_file_ref.html">pp::FileRef</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_ref.html#a514534c1a31732e328e062bdaa194919">GetParent</a>() const </td><td><a class="el" href="classpp_1_1_file_ref.html">pp::FileRef</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_ref.html#a657da250b3ff47ca8f1c616f9ebee6a0">GetPath</a>() const </td><td><a class="el" href="classpp_1_1_file_ref.html">pp::FileRef</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_ref.html#a4efd10cfc69432acb57b2315c5aba44e">MakeDirectory</a>(const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_file_ref.html">pp::FileRef</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_ref.html#acf2f9918c2d1b95e64243a2097f2b5ff">MakeDirectoryIncludingAncestors</a>(const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_file_ref.html">pp::FileRef</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_ref.html#a6de22adc35e4485dfba663dad64c15fb">Query</a>(const CompletionCallbackWithOutput< PP_FileInfo > &callback)</td><td><a class="el" href="classpp_1_1_file_ref.html">pp::FileRef</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_ref.html#af16f7bba00d624a16a1d9b9b09347c8c">ReadDirectoryEntries</a>(const CompletionCallbackWithOutput< std::vector< DirectoryEntry > > &callback)</td><td><a class="el" href="classpp_1_1_file_ref.html">pp::FileRef</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_ref.html#ab1d7f8a63643561a6529952faa881505">Rename</a>(const FileRef &new_file_ref, const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_file_ref.html">pp::FileRef</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_ref.html#ab8e5d24d96c7408b140b74aa0ed8d7ca">Touch</a>(PP_Time last_access_time, PP_Time last_modified_time, const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_file_ref.html">pp::FileRef</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_file_ref.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_file_ref.html
new file mode 100644
index 0000000..2b7a2f41
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_file_ref.html
@@ -0,0 +1,457 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::FileRef Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::FileRef" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::FileRef:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_file_ref__inherit__graph.png" border="0" usemap="#pp_1_1_file_ref_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_file_ref_inherit__map" id="pp_1_1_file_ref_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="5,5,109,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_file_ref-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_ref.html#a4c79db956157379aa877e57ff06d2c10">FileRef</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_ref.html#a3345910589954a8fb573cdf2c82166b0">FileRef</a> (PP_Resource resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_ref.html#a50652a877b8c02c736f86b1d69fc9b11">FileRef</a> (<a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a>, PP_Resource resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_ref.html#a95aad2e3c8d9b52b1ac09279c8cf8113">FileRef</a> (const <a class="el" href="classpp_1_1_file_system.html">FileSystem</a> &file_system, const char *path)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_ref.html#a9a66f16e7d9a4198c206144bc3498ec5">FileRef</a> (const <a class="el" href="classpp_1_1_file_ref.html">FileRef</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_FileSystemType </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_ref.html#a71de4e20d117efcf4ac8000c2149e3f8">GetFileSystemType</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_ref.html#acb186b79d906675e288ff5d0d0a7eab2">GetName</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_ref.html#a657da250b3ff47ca8f1c616f9ebee6a0">GetPath</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_file_ref.html">FileRef</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_ref.html#a514534c1a31732e328e062bdaa194919">GetParent</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_ref.html#a4efd10cfc69432acb57b2315c5aba44e">MakeDirectory</a> (const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_ref.html#acf2f9918c2d1b95e64243a2097f2b5ff">MakeDirectoryIncludingAncestors</a> (const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_ref.html#ab8e5d24d96c7408b140b74aa0ed8d7ca">Touch</a> (PP_Time last_access_time, PP_Time last_modified_time, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_ref.html#abfdb9c3db04b0ef2591953f79c255873">Delete</a> (const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_ref.html#ab1d7f8a63643561a6529952faa881505">Rename</a> (const <a class="el" href="classpp_1_1_file_ref.html">FileRef</a> &new_file_ref, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_ref.html#a6de22adc35e4485dfba663dad64c15fb">Query</a> (const <a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a>< PP_FileInfo > &callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_ref.html#af16f7bba00d624a16a1d9b9b09347c8c">ReadDirectoryEntries</a> (const <a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a>< std::vector< <a class="el" href="classpp_1_1_directory_entry.html">DirectoryEntry</a> > > &callback)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code> class represents a "weak pointer" to a file in a file system. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a4c79db956157379aa877e57ff06d2c10"></a><!-- doxytag: member="pp::FileRef::FileRef" ref="a4c79db956157379aa877e57ff06d2c10" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_file_ref.html#a4c79db956157379aa877e57ff06d2c10">pp::FileRef::FileRef</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor for creating an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code> object. </p>
+</div>
+</div>
+<a class="anchor" id="a3345910589954a8fb573cdf2c82166b0"></a><!-- doxytag: member="pp::FileRef::FileRef" ref="a3345910589954a8fb573cdf2c82166b0" args="(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_file_ref.html#a4c79db956157379aa877e57ff06d2c10">pp::FileRef::FileRef</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>resource</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used when you have an existing PP_Resource for a <a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a> and which to create a C++ object that takes an additional reference to the resource. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A PP_Resource corresponding to file reference. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a50652a877b8c02c736f86b1d69fc9b11"></a><!-- doxytag: member="pp::FileRef::FileRef" ref="a50652a877b8c02c736f86b1d69fc9b11" args="(PassRef, PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_file_ref.html#a4c79db956157379aa877e57ff06d2c10">pp::FileRef::FileRef</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a> </td>
+<td class="paramname">, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>resource</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used when you have received a PP_Resource as a return value that has already been reference counted. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A PP_Resource corresponding to file reference. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a95aad2e3c8d9b52b1ac09279c8cf8113"></a><!-- doxytag: member="pp::FileRef::FileRef" ref="a95aad2e3c8d9b52b1ac09279c8cf8113" args="(const FileSystem &file_system, const char *path)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_file_ref.html#a4c79db956157379aa877e57ff06d2c10">pp::FileRef::FileRef</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_file_system.html">FileSystem</a> & </td>
+<td class="paramname"><em>file_system</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const char * </td>
+<td class="paramname"><em>path</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor that creates a weak pointer to a file in the given file system. </p>
+<p>File paths are POSIX style.</p>
+<p>If the <code>path</code> is malformed, the resulting <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code> will have a null <code>PP_Resource</code>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_system</td><td>A <code><a class="el" href="classpp_1_1_file_system.html" title="The FileSystem class identifies the file system type associated with a file.">FileSystem</a></code> corresponding to a file system type. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">path</td><td>A path to the file. Must begin with a '/' character. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a9a66f16e7d9a4198c206144bc3498ec5"></a><!-- doxytag: member="pp::FileRef::FileRef" ref="a9a66f16e7d9a4198c206144bc3498ec5" args="(const FileRef &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_file_ref.html#a4c79db956157379aa877e57ff06d2c10">pp::FileRef::FileRef</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_file_ref.html">FileRef</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The copy constructor for <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A pointer to a <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="abfdb9c3db04b0ef2591953f79c255873"></a><!-- doxytag: member="pp::FileRef::Delete" ref="abfdb9c3db04b0ef2591953f79c255873" args="(const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_file_ref.html#abfdb9c3db04b0ef2591953f79c255873">pp::FileRef::Delete</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_ref.html#abfdb9c3db04b0ef2591953f79c255873" title="Delete() deletes a file or directory.">Delete()</a> deletes a file or directory. </p>
+<p>If <code>file_ref</code> refers to a directory, then the directory must be empty. It is an error to delete a file or directory that is in use. It is not valid to delete a file in the external file system.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion of <a class="el" href="classpp_1_1_file_ref.html#abfdb9c3db04b0ef2591953f79c255873" title="Delete() deletes a file or directory.">Delete()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a71de4e20d117efcf4ac8000c2149e3f8"></a><!-- doxytag: member="pp::FileRef::GetFileSystemType" ref="a71de4e20d117efcf4ac8000c2149e3f8" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_FileSystemType <a class="el" href="classpp_1_1_file_ref.html#a71de4e20d117efcf4ac8000c2149e3f8">pp::FileRef::GetFileSystemType</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_ref.html#a71de4e20d117efcf4ac8000c2149e3f8" title="GetFileSystemType() returns the type of the file system.">GetFileSystemType()</a> returns the type of the file system. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_FileSystemType</code> with the file system type if valid or <code>PP_FILESYSTEMTYPE_INVALID</code> if the provided resource is not a valid file reference. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="acb186b79d906675e288ff5d0d0a7eab2"></a><!-- doxytag: member="pp::FileRef::GetName" ref="acb186b79d906675e288ff5d0d0a7eab2" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_file_ref.html#acb186b79d906675e288ff5d0d0a7eab2">pp::FileRef::GetName</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_ref.html#acb186b79d906675e288ff5d0d0a7eab2" title="GetName() returns the name of the file.">GetName()</a> returns the name of the file. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing the name of the file. The value returned by this function does not include any path components (such as the name of the parent directory, for example). It is just the name of the file. Use <a class="el" href="classpp_1_1_file_ref.html#a657da250b3ff47ca8f1c616f9ebee6a0" title="GetPath() returns the absolute path of the file.">GetPath()</a> to get the full file path. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a514534c1a31732e328e062bdaa194919"></a><!-- doxytag: member="pp::FileRef::GetParent" ref="a514534c1a31732e328e062bdaa194919" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_file_ref.html">FileRef</a> <a class="el" href="classpp_1_1_file_ref.html#a514534c1a31732e328e062bdaa194919">pp::FileRef::GetParent</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_ref.html#a514534c1a31732e328e062bdaa194919" title="GetParent() returns the parent directory of this file.">GetParent()</a> returns the parent directory of this file. </p>
+<p>If <code>file_ref</code> points to the root of the filesystem, then the root is returned.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code> containing the parent directory of the file. This function fails if the file system type is <code>PP_FileSystemType_External</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a657da250b3ff47ca8f1c616f9ebee6a0"></a><!-- doxytag: member="pp::FileRef::GetPath" ref="a657da250b3ff47ca8f1c616f9ebee6a0" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_file_ref.html#a657da250b3ff47ca8f1c616f9ebee6a0">pp::FileRef::GetPath</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_ref.html#a657da250b3ff47ca8f1c616f9ebee6a0" title="GetPath() returns the absolute path of the file.">GetPath()</a> returns the absolute path of the file. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing the absolute path of the file. This function fails if the file system type is <code>PP_FileSystemType_External</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a4efd10cfc69432acb57b2315c5aba44e"></a><!-- doxytag: member="pp::FileRef::MakeDirectory" ref="a4efd10cfc69432acb57b2315c5aba44e" args="(const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_file_ref.html#a4efd10cfc69432acb57b2315c5aba44e">pp::FileRef::MakeDirectory</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_ref.html#a4efd10cfc69432acb57b2315c5aba44e" title="MakeDirectory() makes a new directory in the file system.">MakeDirectory()</a> makes a new directory in the file system. </p>
+<p>It is not valid to make a directory in the external file system. <b>Note:</b> Use <a class="el" href="classpp_1_1_file_ref.html#acf2f9918c2d1b95e64243a2097f2b5ff" title="MakeDirectoryIncludingAncestors() makes a new directory in the file system as well as any parent dire...">MakeDirectoryIncludingAncestors()</a> to create parent directories.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion of <a class="el" href="classpp_1_1_file_ref.html#a4efd10cfc69432acb57b2315c5aba44e" title="MakeDirectory() makes a new directory in the file system.">MakeDirectory()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. Succeeds if the directory already exists. Fails if ancestor directortories do not exist (see MakeDirectoryIncludingAncestors for the alternative). </dd></dl>
+</div>
+</div>
+<a class="anchor" id="acf2f9918c2d1b95e64243a2097f2b5ff"></a><!-- doxytag: member="pp::FileRef::MakeDirectoryIncludingAncestors" ref="acf2f9918c2d1b95e64243a2097f2b5ff" args="(const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_file_ref.html#acf2f9918c2d1b95e64243a2097f2b5ff">pp::FileRef::MakeDirectoryIncludingAncestors</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_ref.html#acf2f9918c2d1b95e64243a2097f2b5ff" title="MakeDirectoryIncludingAncestors() makes a new directory in the file system as well as any parent dire...">MakeDirectoryIncludingAncestors()</a> makes a new directory in the file system as well as any parent directories. </p>
+<p>It is not valid to make a directory in the external file system.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion of <a class="el" href="classpp_1_1_file_ref.html#acf2f9918c2d1b95e64243a2097f2b5ff" title="MakeDirectoryIncludingAncestors() makes a new directory in the file system as well as any parent dire...">MakeDirectoryIncludingAncestors()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. Succeeds if the directory already exists. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a6de22adc35e4485dfba663dad64c15fb"></a><!-- doxytag: member="pp::FileRef::Query" ref="a6de22adc35e4485dfba663dad64c15fb" args="(const CompletionCallbackWithOutput< PP_FileInfo > &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_file_ref.html#a6de22adc35e4485dfba663dad64c15fb">pp::FileRef::Query</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a>< PP_FileInfo > & </td>
+<td class="paramname"><em>callback</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_ref.html#a6de22adc35e4485dfba663dad64c15fb" title="Query() queries info about a file or directory.">Query()</a> queries info about a file or directory. </p>
+<p>You must have access to read this file or directory if it exists in the external filesystem.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a></code> to be called upon completion of <a class="el" href="classpp_1_1_file_ref.html#a6de22adc35e4485dfba663dad64c15fb" title="Query() queries info about a file or directory.">Query()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="af16f7bba00d624a16a1d9b9b09347c8c"></a><!-- doxytag: member="pp::FileRef::ReadDirectoryEntries" ref="af16f7bba00d624a16a1d9b9b09347c8c" args="(const CompletionCallbackWithOutput< std::vector< DirectoryEntry > > &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_file_ref.html#af16f7bba00d624a16a1d9b9b09347c8c">pp::FileRef::ReadDirectoryEntries</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a>< std::vector< <a class="el" href="classpp_1_1_directory_entry.html">DirectoryEntry</a> > > & </td>
+<td class="paramname"><em>callback</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_ref.html#af16f7bba00d624a16a1d9b9b09347c8c" title="ReadDirectoryEntries() Reads all entries in the directory.">ReadDirectoryEntries()</a> Reads all entries in the directory. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a></code> to be called upon completion of <a class="el" href="classpp_1_1_file_ref.html#af16f7bba00d624a16a1d9b9b09347c8c" title="ReadDirectoryEntries() Reads all entries in the directory.">ReadDirectoryEntries()</a>. On success, the directory entries will be passed to the given function.</td></tr>
+</table>
+</dd>
+</dl>
+<p>Normally you would use a <a class="el" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe...">CompletionCallbackFactory</a> to allow callbacks to be bound to your class. See <a class="el" href="completion__callback__factory_8h.html" title="This file defines the API to create CompletionCallback objects that are bound to member functions...">completion_callback_factory.h</a> for more discussion on how to use this. Your callback will generally look like:</p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">void</span> OnReadDirectoryEntries(
+ int32_t result,
+ <span class="keyword">const</span> std::vector<DirectoryEntry>& entries) {
+ <span class="keywordflow">if</span> (result == PP_OK)
+ <span class="comment">// use entries...</span>
+ }
+</pre></div><dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab1d7f8a63643561a6529952faa881505"></a><!-- doxytag: member="pp::FileRef::Rename" ref="ab1d7f8a63643561a6529952faa881505" args="(const FileRef &new_file_ref, const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_file_ref.html#ab1d7f8a63643561a6529952faa881505">pp::FileRef::Rename</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_file_ref.html">FileRef</a> & </td>
+<td class="paramname"><em>new_file_ref</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_ref.html#ab1d7f8a63643561a6529952faa881505" title="Rename() renames a file or directory.">Rename()</a> renames a file or directory. </p>
+<p>Argument <code>new_file_ref</code> must refer to files in the same file system as in this object. It is an error to rename a file or directory that is in use. It is not valid to rename a file in the external file system.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">new_file_ref</td><td>A <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code> corresponding to a new file reference. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion of <a class="el" href="classpp_1_1_file_ref.html#ab1d7f8a63643561a6529952faa881505" title="Rename() renames a file or directory.">Rename()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab8e5d24d96c7408b140b74aa0ed8d7ca"></a><!-- doxytag: member="pp::FileRef::Touch" ref="ab8e5d24d96c7408b140b74aa0ed8d7ca" args="(PP_Time last_access_time, PP_Time last_modified_time, const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_file_ref.html#ab8e5d24d96c7408b140b74aa0ed8d7ca">pp::FileRef::Touch</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Time </td>
+<td class="paramname"><em>last_access_time</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_Time </td>
+<td class="paramname"><em>last_modified_time</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_ref.html#ab8e5d24d96c7408b140b74aa0ed8d7ca" title="Touch() Updates time stamps for a file.">Touch()</a> Updates time stamps for a file. </p>
+<p>You must have write access to the file if it exists in the external filesystem.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">last_access_time</td><td>The last time the file was accessed. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">last_modified_time</td><td>The last time the file was modified. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion of <a class="el" href="classpp_1_1_file_ref.html#ab8e5d24d96c7408b140b74aa0ed8d7ca" title="Touch() Updates time stamps for a file.">Touch()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="file__ref_8h.html">file_ref.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_file_ref__inherit__graph.png b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_file_ref__inherit__graph.png
new file mode 100644
index 0000000..689ab16
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_file_ref__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_file_system-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_file_system-members.html
new file mode 100644
index 0000000..5b4be947
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_file_system-members.html
@@ -0,0 +1,31 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_file_system.html">pp::FileSystem</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_system.html#aaa3cca58df52c4a3c4daaf0e615a1168">FileSystem</a>()</td><td><a class="el" href="classpp_1_1_file_system.html">pp::FileSystem</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_system.html#a4d56e93917775b192558b55fe682acfd">FileSystem</a>(const FileSystem &other)</td><td><a class="el" href="classpp_1_1_file_system.html">pp::FileSystem</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_system.html#a33ddc6114cd25d48727c300dccc8754d">FileSystem</a>(const Resource &resource)</td><td><a class="el" href="classpp_1_1_file_system.html">pp::FileSystem</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_system.html#af97b2860b7e99d2283cf556b4ca78c48">FileSystem</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_file_system.html">pp::FileSystem</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_system.html#a8e73239f076ec5897d49b2bf530fdfdc">FileSystem</a>(const InstanceHandle &instance, PP_FileSystemType type)</td><td><a class="el" href="classpp_1_1_file_system.html">pp::FileSystem</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_system.html#ae48a32b67e78b1e2125270ec68fab29d">IsFileSystem</a>(const Resource &resource)</td><td><a class="el" href="classpp_1_1_file_system.html">pp::FileSystem</a></td><td><code> [static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_system.html#ae1ca78fc88c2e2a507e9ab71d9352d54">Open</a>(int64_t expected_size, const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_file_system.html">pp::FileSystem</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_file_system.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_file_system.html
new file mode 100644
index 0000000..7bcf559
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_file_system.html
@@ -0,0 +1,230 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::FileSystem Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::FileSystem" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::FileSystem:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_file_system__inherit__graph.png" border="0" usemap="#pp_1_1_file_system_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_file_system_inherit__map" id="pp_1_1_file_system_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="11,5,115,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_file_system-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_system.html#aaa3cca58df52c4a3c4daaf0e615a1168">FileSystem</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_system.html#a4d56e93917775b192558b55fe682acfd">FileSystem</a> (const <a class="el" href="classpp_1_1_file_system.html">FileSystem</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_system.html#a33ddc6114cd25d48727c300dccc8754d">FileSystem</a> (const <a class="el" href="classpp_1_1_resource.html">Resource</a> &resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_system.html#af97b2860b7e99d2283cf556b4ca78c48">FileSystem</a> (<a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a>, PP_Resource resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_system.html#a8e73239f076ec5897d49b2bf530fdfdc">FileSystem</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, PP_FileSystemType type)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_system.html#ae1ca78fc88c2e2a507e9ab71d9352d54">Open</a> (int64_t expected_size, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+</table><h2>
+Static Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_system.html#ae48a32b67e78b1e2125270ec68fab29d">IsFileSystem</a> (const <a class="el" href="classpp_1_1_resource.html">Resource</a> &resource)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="classpp_1_1_file_system.html" title="The FileSystem class identifies the file system type associated with a file.">FileSystem</a></code> class identifies the file system type associated with a file. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="aaa3cca58df52c4a3c4daaf0e615a1168"></a><!-- doxytag: member="pp::FileSystem::FileSystem" ref="aaa3cca58df52c4a3c4daaf0e615a1168" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_file_system.html#aaa3cca58df52c4a3c4daaf0e615a1168">pp::FileSystem::FileSystem</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> filesystem resource. </p>
+<p>If you use this constructor, you will have to assign it to a "real" <a class="el" href="classpp_1_1_file_system.html" title="The FileSystem class identifies the file system type associated with a file.">FileSystem</a> object before you can use it. </p>
+</div>
+</div>
+<a class="anchor" id="a4d56e93917775b192558b55fe682acfd"></a><!-- doxytag: member="pp::FileSystem::FileSystem" ref="a4d56e93917775b192558b55fe682acfd" args="(const FileSystem &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_file_system.html#aaa3cca58df52c4a3c4daaf0e615a1168">pp::FileSystem::FileSystem</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_file_system.html">FileSystem</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The copy constructor for <code><a class="el" href="classpp_1_1_file_system.html" title="The FileSystem class identifies the file system type associated with a file.">FileSystem</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A reference to a <code><a class="el" href="classpp_1_1_file_system.html" title="The FileSystem class identifies the file system type associated with a file.">FileSystem</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a33ddc6114cd25d48727c300dccc8754d"></a><!-- doxytag: member="pp::FileSystem::FileSystem" ref="a33ddc6114cd25d48727c300dccc8754d" args="(const Resource &resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_file_system.html#aaa3cca58df52c4a3c4daaf0e615a1168">pp::FileSystem::FileSystem</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_resource.html">Resource</a> & </td>
+<td class="paramname"><em>resource</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs a <code><a class="el" href="classpp_1_1_file_system.html" title="The FileSystem class identifies the file system type associated with a file.">FileSystem</a></code> from a <code><a class="el" href="classpp_1_1_resource.html" title="A reference counted module resource.">Resource</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code><a class="el" href="classpp_1_1_resource.html" title="A reference counted module resource.">Resource</a></code> containing a file system. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="af97b2860b7e99d2283cf556b4ca78c48"></a><!-- doxytag: member="pp::FileSystem::FileSystem" ref="af97b2860b7e99d2283cf556b4ca78c48" args="(PassRef, PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_file_system.html#aaa3cca58df52c4a3c4daaf0e615a1168">pp::FileSystem::FileSystem</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a> </td>
+<td class="paramname">, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>resource</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used when you have received a PP_Resource as a return value that has already been reference counted. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A PP_Resource corresponding to a PPB_FileSystem. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a8e73239f076ec5897d49b2bf530fdfdc"></a><!-- doxytag: member="pp::FileSystem::FileSystem" ref="a8e73239f076ec5897d49b2bf530fdfdc" args="(const InstanceHandle &instance, PP_FileSystemType type)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_file_system.html#aaa3cca58df52c4a3c4daaf0e615a1168">pp::FileSystem::FileSystem</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_FileSystemType </td>
+<td class="paramname"><em>type</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This constructor creates a file system object of the given type. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>A file system type as defined by <code>PP_FileSystemType</code> enum. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="ae48a32b67e78b1e2125270ec68fab29d"></a><!-- doxytag: member="pp::FileSystem::IsFileSystem" ref="ae48a32b67e78b1e2125270ec68fab29d" args="(const Resource &resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static bool <a class="el" href="classpp_1_1_file_system.html#ae48a32b67e78b1e2125270ec68fab29d">pp::FileSystem::IsFileSystem</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_resource.html">Resource</a> & </td>
+<td class="paramname"><em>resource</em></td><td>)</td>
+<td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Checks whether a <code><a class="el" href="classpp_1_1_resource.html" title="A reference counted module resource.">Resource</a></code> is a file system, to test whether it is appropriate for use with the <code><a class="el" href="classpp_1_1_file_system.html" title="The FileSystem class identifies the file system type associated with a file.">FileSystem</a></code> constructor. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code><a class="el" href="classpp_1_1_resource.html" title="A reference counted module resource.">Resource</a></code> to test.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>True if <code>resource</code> is a file system. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ae1ca78fc88c2e2a507e9ab71d9352d54"></a><!-- doxytag: member="pp::FileSystem::Open" ref="ae1ca78fc88c2e2a507e9ab71d9352d54" args="(int64_t expected_size, const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_file_system.html#ae1ca78fc88c2e2a507e9ab71d9352d54">pp::FileSystem::Open</a> </td>
+<td>(</td>
+<td class="paramtype">int64_t </td>
+<td class="paramname"><em>expected_size</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_system.html#ae1ca78fc88c2e2a507e9ab71d9352d54" title="Open() opens the file system.">Open()</a> opens the file system. </p>
+<p>A file system must be opened before running any other operation on it.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">expected_size</td><td>The expected size of the file system. Note that this does not request quota; to do that, you must either invoke requestQuota from JavaScript: <a href="http://www.html5rocks.com/en/tutorials/file/filesystem/#toc-requesting-quota">http://www.html5rocks.com/en/tutorials/file/filesystem/#toc-requesting-quota</a> or set the unlimitedStorage permission for Chrome Web Store apps: <a href="http://code.google.com/chrome/extensions/manifest.html#permissions">http://code.google.com/chrome/extensions/manifest.html#permissions</a></td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code>PP_CompletionCallback</code> to be called upon completion of <a class="el" href="classpp_1_1_file_system.html#ae1ca78fc88c2e2a507e9ab71d9352d54" title="Open() opens the file system.">Open()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="file__system_8h.html">file_system.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_file_system__inherit__graph.png b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_file_system__inherit__graph.png
new file mode 100644
index 0000000..ebcb81da
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_file_system__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_float_point-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_float_point-members.html
new file mode 100644
index 0000000..f5bdff1e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_float_point-members.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_float_point.html#a384b29d8aba4a43b399393e695eb1e81">FloatPoint</a>()</td><td><a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_float_point.html#acb70a23a641f05fd5eb99e9439e556d2">FloatPoint</a>(float in_x, float in_y)</td><td><a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_float_point.html#a401fc74a911cd0d4996b00f8b10a1951">FloatPoint</a>(const PP_FloatPoint &point)</td><td><a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_float_point.html#adfa14cbb4f94c3133e4bce72f93570bf">operator PP_FloatPoint</a>() const </td><td><a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_float_point.html#a8aeaf7286bc04e7ff7f9d405fdfe614b">operator+</a>(const FloatPoint &other) const </td><td><a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_float_point.html#a15985b03ca98d65bdf300dc3d12ca57a">operator+=</a>(const FloatPoint &other)</td><td><a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_float_point.html#a2ae33c7eb2dbc4a8d366db080f3a136b">operator-</a>(const FloatPoint &other) const </td><td><a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_float_point.html#a419049446659935f8bfe3e47d33b752b">operator-=</a>(const FloatPoint &other)</td><td><a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_float_point.html#a74112618552ed91f200794127bf64eea">pp_float_point</a>() const </td><td><a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_float_point.html#a75ab7bd430e1f5edb00d9976061898ed">pp_float_point</a>()</td><td><a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_float_point.html#a276b372b82ea3cd0021017ba4a002838">set_x</a>(float in_x)</td><td><a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_float_point.html#abdb8eeb5c2aa051e6776ae2967fc6d40">set_y</a>(float in_y)</td><td><a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_float_point.html#a138f26f94ed5a97e1ee083e65eb101bf">swap</a>(FloatPoint &other)</td><td><a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_float_point.html#a9109ddb0920cf0eeb7ace3b40a95dc17">x</a>() const </td><td><a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_float_point.html#ac8bcb2ac55fa5fcf89a7b61369eeed2b">y</a>() const </td><td><a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_float_point.html#ab41958133c5b48f6002ad9bffdad46c0">~FloatPoint</a>()</td><td><a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a></td><td><code> [inline]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_float_point.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_float_point.html
new file mode 100644
index 0000000..dc6ff61
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_float_point.html
@@ -0,0 +1,383 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::FloatPoint Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::FloatPoint" -->
+<p><a href="classpp_1_1_float_point-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_float_point.html#a384b29d8aba4a43b399393e695eb1e81">FloatPoint</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_float_point.html#acb70a23a641f05fd5eb99e9439e556d2">FloatPoint</a> (float in_x, float in_y)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_float_point.html#a401fc74a911cd0d4996b00f8b10a1951">FloatPoint</a> (const PP_FloatPoint &point)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_float_point.html#ab41958133c5b48f6002ad9bffdad46c0">~FloatPoint</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_float_point.html#adfa14cbb4f94c3133e4bce72f93570bf">operator PP_FloatPoint</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const PP_FloatPoint & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_float_point.html#a74112618552ed91f200794127bf64eea">pp_float_point</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_FloatPoint & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_float_point.html#a75ab7bd430e1f5edb00d9976061898ed">pp_float_point</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_float_point.html#a9109ddb0920cf0eeb7ace3b40a95dc17">x</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_float_point.html#a276b372b82ea3cd0021017ba4a002838">set_x</a> (float in_x)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_float_point.html#ac8bcb2ac55fa5fcf89a7b61369eeed2b">y</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_float_point.html#abdb8eeb5c2aa051e6776ae2967fc6d40">set_y</a> (float in_y)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_float_point.html#a8aeaf7286bc04e7ff7f9d405fdfe614b">operator+</a> (const <a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> &other) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_float_point.html#a2ae33c7eb2dbc4a8d366db080f3a136b">operator-</a> (const <a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> &other) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_float_point.html#a15985b03ca98d65bdf300dc3d12ca57a">operator+=</a> (const <a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_float_point.html#a419049446659935f8bfe3e47d33b752b">operator-=</a> (const <a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_float_point.html#a138f26f94ed5a97e1ee083e65eb101bf">swap</a> (<a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> &other)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>A 2 dimensional floating-point point with 0,0 being the upper-left starting coordinate. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a384b29d8aba4a43b399393e695eb1e81"></a><!-- doxytag: member="pp::FloatPoint::FloatPoint" ref="a384b29d8aba4a43b399393e695eb1e81" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_float_point.html#a384b29d8aba4a43b399393e695eb1e81">pp::FloatPoint::FloatPoint</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor for a point at 0,0. </p>
+</div>
+</div>
+<a class="anchor" id="acb70a23a641f05fd5eb99e9439e556d2"></a><!-- doxytag: member="pp::FloatPoint::FloatPoint" ref="acb70a23a641f05fd5eb99e9439e556d2" args="(float in_x, float in_y)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_float_point.html#a384b29d8aba4a43b399393e695eb1e81">pp::FloatPoint::FloatPoint</a> </td>
+<td>(</td>
+<td class="paramtype">float </td>
+<td class="paramname"><em>in_x</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">float </td>
+<td class="paramname"><em>in_y</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor accepting two values for x and y and converting them to a <a class="el" href="classpp_1_1_float_point.html" title="A 2 dimensional floating-point point with 0,0 being the upper-left starting coordinate.">FloatPoint</a>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">in_x</td><td>An value representing a horizontal coordinate of a point, starting with 0 as the left-most coordinate.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">in_y</td><td>An value representing a vertical coordinate of a point, starting with 0 as the top-most coordinate. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a401fc74a911cd0d4996b00f8b10a1951"></a><!-- doxytag: member="pp::FloatPoint::FloatPoint" ref="a401fc74a911cd0d4996b00f8b10a1951" args="(const PP_FloatPoint &point)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_float_point.html#a384b29d8aba4a43b399393e695eb1e81">pp::FloatPoint::FloatPoint</a> </td>
+<td>(</td>
+<td class="paramtype">const PP_FloatPoint & </td>
+<td class="paramname"><em>point</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor accepting a pointer to a PP_FloatPoint and converting the PP_Point to a <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a>. </p>
+<p>This is an implicit conversion constructor.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">point</td><td>A PP_FloatPoint. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ab41958133c5b48f6002ad9bffdad46c0"></a><!-- doxytag: member="pp::FloatPoint::~FloatPoint" ref="ab41958133c5b48f6002ad9bffdad46c0" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_float_point.html#ab41958133c5b48f6002ad9bffdad46c0">pp::FloatPoint::~FloatPoint</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Destructor. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="adfa14cbb4f94c3133e4bce72f93570bf"></a><!-- doxytag: member="pp::FloatPoint::operator PP_FloatPoint" ref="adfa14cbb4f94c3133e4bce72f93570bf" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">pp::FloatPoint::operator PP_FloatPoint </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A function allowing implicit conversion of a <a class="el" href="classpp_1_1_float_point.html" title="A 2 dimensional floating-point point with 0,0 being the upper-left starting coordinate.">FloatPoint</a> to a PP_FloatPoint. </p>
+</div>
+</div>
+<a class="anchor" id="a8aeaf7286bc04e7ff7f9d405fdfe614b"></a><!-- doxytag: member="pp::FloatPoint::operator+" ref="a8aeaf7286bc04e7ff7f9d405fdfe614b" args="(const FloatPoint &other) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> pp::FloatPoint::operator+ </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Adds two Points (this and other) together by adding their x values and y values. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A new <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> containing the result. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a15985b03ca98d65bdf300dc3d12ca57a"></a><!-- doxytag: member="pp::FloatPoint::operator+=" ref="a15985b03ca98d65bdf300dc3d12ca57a" args="(const FloatPoint &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_float_point.html">FloatPoint</a>& pp::FloatPoint::operator+= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Adds two Points (this and other) together by adding their x and y values. </p>
+<p>Returns this point as the result.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>This <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> containing the result. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2ae33c7eb2dbc4a8d366db080f3a136b"></a><!-- doxytag: member="pp::FloatPoint::operator-" ref="a2ae33c7eb2dbc4a8d366db080f3a136b" args="(const FloatPoint &other) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> pp::FloatPoint::operator- </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Subtracts one <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> from another <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> by subtracting their x values and y values. </p>
+<p>Returns a new point with the result.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A <a class="el" href="classpp_1_1_float_point.html" title="A 2 dimensional floating-point point with 0,0 being the upper-left starting coordinate.">FloatPoint</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A new <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> containing the result. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a419049446659935f8bfe3e47d33b752b"></a><!-- doxytag: member="pp::FloatPoint::operator-=" ref="a419049446659935f8bfe3e47d33b752b" args="(const FloatPoint &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_float_point.html">FloatPoint</a>& pp::FloatPoint::operator-= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Subtracts one <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> from another <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> by subtracting their x values and y values. </p>
+<p>Returns this point as the result.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>This <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> containing the result. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a74112618552ed91f200794127bf64eea"></a><!-- doxytag: member="pp::FloatPoint::pp_float_point" ref="a74112618552ed91f200794127bf64eea" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">const PP_FloatPoint& <a class="el" href="classpp_1_1_float_point.html#a74112618552ed91f200794127bf64eea">pp::FloatPoint::pp_float_point</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the internal PP_FloatPoint struct. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A const reference to the internal PP_FloatPoint struct. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a75ab7bd430e1f5edb00d9976061898ed"></a><!-- doxytag: member="pp::FloatPoint::pp_float_point" ref="a75ab7bd430e1f5edb00d9976061898ed" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_FloatPoint& <a class="el" href="classpp_1_1_float_point.html#a74112618552ed91f200794127bf64eea">pp::FloatPoint::pp_float_point</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the internal PP_Point struct. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A mutable reference to the PP_Point struct. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a276b372b82ea3cd0021017ba4a002838"></a><!-- doxytag: member="pp::FloatPoint::set_x" ref="a276b372b82ea3cd0021017ba4a002838" args="(float in_x)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_float_point.html#a276b372b82ea3cd0021017ba4a002838">pp::FloatPoint::set_x</a> </td>
+<td>(</td>
+<td class="paramtype">float </td>
+<td class="paramname"><em>in_x</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Setter function for setting the value of x. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">in_x</td><td>A new x value. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="abdb8eeb5c2aa051e6776ae2967fc6d40"></a><!-- doxytag: member="pp::FloatPoint::set_y" ref="abdb8eeb5c2aa051e6776ae2967fc6d40" args="(float in_y)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_float_point.html#abdb8eeb5c2aa051e6776ae2967fc6d40">pp::FloatPoint::set_y</a> </td>
+<td>(</td>
+<td class="paramtype">float </td>
+<td class="paramname"><em>in_y</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Setter function for setting the value of y. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">in_y</td><td>A new y value. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a138f26f94ed5a97e1ee083e65eb101bf"></a><!-- doxytag: member="pp::FloatPoint::swap" ref="a138f26f94ed5a97e1ee083e65eb101bf" args="(FloatPoint &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_float_point.html#a138f26f94ed5a97e1ee083e65eb101bf">pp::FloatPoint::swap</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Swaps the coordinates of two Points. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a9109ddb0920cf0eeb7ace3b40a95dc17"></a><!-- doxytag: member="pp::FloatPoint::x" ref="a9109ddb0920cf0eeb7ace3b40a95dc17" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="classpp_1_1_float_point.html#a9109ddb0920cf0eeb7ace3b40a95dc17">pp::FloatPoint::x</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the value of x. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The value of x for this <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ac8bcb2ac55fa5fcf89a7b61369eeed2b"></a><!-- doxytag: member="pp::FloatPoint::y" ref="ac8bcb2ac55fa5fcf89a7b61369eeed2b" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="classpp_1_1_float_point.html#ac8bcb2ac55fa5fcf89a7b61369eeed2b">pp::FloatPoint::y</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the value of y. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The value of y for this <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="point_8h.html">point.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_fullscreen-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_fullscreen-members.html
new file mode 100644
index 0000000..63e626c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_fullscreen-members.html
@@ -0,0 +1,18 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_fullscreen.html">pp::Fullscreen</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_fullscreen.html#a3c3655d21fbef531a3eec82f9eb2115b">Fullscreen</a>(const InstanceHandle &instance)</td><td><a class="el" href="classpp_1_1_fullscreen.html">pp::Fullscreen</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_fullscreen.html#a6bc430c1d41a7696194374d05d8eee41">GetScreenSize</a>(Size *size)</td><td><a class="el" href="classpp_1_1_fullscreen.html">pp::Fullscreen</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_fullscreen.html#a555c0d2c2fc120cfac925a62cc8a7345">IsFullscreen</a>()</td><td><a class="el" href="classpp_1_1_fullscreen.html">pp::Fullscreen</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_fullscreen.html#a2c316cb6ebe4552df661aeea88e6f365">SetFullscreen</a>(bool fullscreen)</td><td><a class="el" href="classpp_1_1_fullscreen.html">pp::Fullscreen</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_fullscreen.html#a4d73ff65edc8ef8f802f5a932e5081e8">~Fullscreen</a>()</td><td><a class="el" href="classpp_1_1_fullscreen.html">pp::Fullscreen</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_fullscreen.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_fullscreen.html
new file mode 100644
index 0000000..43671e5
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_fullscreen.html
@@ -0,0 +1,137 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::Fullscreen Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::Fullscreen" -->
+<p><a href="classpp_1_1_fullscreen-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_fullscreen.html#a3c3655d21fbef531a3eec82f9eb2115b">Fullscreen</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_fullscreen.html#a4d73ff65edc8ef8f802f5a932e5081e8">~Fullscreen</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_fullscreen.html#a555c0d2c2fc120cfac925a62cc8a7345">IsFullscreen</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_fullscreen.html#a2c316cb6ebe4552df661aeea88e6f365">SetFullscreen</a> (bool fullscreen)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_fullscreen.html#a6bc430c1d41a7696194374d05d8eee41">GetScreenSize</a> (<a class="el" href="classpp_1_1_size.html">Size</a> *size)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <a class="el" href="classpp_1_1_fullscreen.html" title="The Fullscreen class allowing you to check and toggle fullscreen mode.">Fullscreen</a> class allowing you to check and toggle fullscreen mode. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a3c3655d21fbef531a3eec82f9eb2115b"></a><!-- doxytag: member="pp::Fullscreen::Fullscreen" ref="a3c3655d21fbef531a3eec82f9eb2115b" args="(const InstanceHandle &instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_fullscreen.html#a3c3655d21fbef531a3eec82f9eb2115b">pp::Fullscreen::Fullscreen</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor for creating a <code><a class="el" href="classpp_1_1_fullscreen.html" title="The Fullscreen class allowing you to check and toggle fullscreen mode.">Fullscreen</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a4d73ff65edc8ef8f802f5a932e5081e8"></a><!-- doxytag: member="pp::Fullscreen::~Fullscreen" ref="a4d73ff65edc8ef8f802f5a932e5081e8" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_fullscreen.html#a4d73ff65edc8ef8f802f5a932e5081e8">pp::Fullscreen::~Fullscreen</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Destructor. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a6bc430c1d41a7696194374d05d8eee41"></a><!-- doxytag: member="pp::Fullscreen::GetScreenSize" ref="a6bc430c1d41a7696194374d05d8eee41" args="(Size *size)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_fullscreen.html#a6bc430c1d41a7696194374d05d8eee41">pp::Fullscreen::GetScreenSize</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="classpp_1_1_size.html">Size</a> * </td>
+<td class="paramname"><em>size</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_fullscreen.html#a6bc430c1d41a7696194374d05d8eee41" title="GetScreenSize() gets the size of the screen in pixels.">GetScreenSize()</a> gets the size of the screen in pixels. </p>
+<p>The module instance will be resized to this size when <a class="el" href="classpp_1_1_fullscreen.html#a2c316cb6ebe4552df661aeea88e6f365" title="SetFullscreen() switches the module instance to and from fullscreen mode.">SetFullscreen()</a> is called to enter fullscreen mode.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[out]</td><td class="paramname">size</td><td>The size of the entire screen in pixels.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> on success or <code>false</code> on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a555c0d2c2fc120cfac925a62cc8a7345"></a><!-- doxytag: member="pp::Fullscreen::IsFullscreen" ref="a555c0d2c2fc120cfac925a62cc8a7345" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_fullscreen.html#a555c0d2c2fc120cfac925a62cc8a7345">pp::Fullscreen::IsFullscreen</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_fullscreen.html#a555c0d2c2fc120cfac925a62cc8a7345" title="IsFullscreen() checks whether the module instance is currently in fullscreen mode.">IsFullscreen()</a> checks whether the module instance is currently in fullscreen mode. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if the module instance is in fullscreen mode, <code>false</code> if the module instance is not in fullscreen mode. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2c316cb6ebe4552df661aeea88e6f365"></a><!-- doxytag: member="pp::Fullscreen::SetFullscreen" ref="a2c316cb6ebe4552df661aeea88e6f365" args="(bool fullscreen)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_fullscreen.html#a2c316cb6ebe4552df661aeea88e6f365">pp::Fullscreen::SetFullscreen</a> </td>
+<td>(</td>
+<td class="paramtype">bool </td>
+<td class="paramname"><em>fullscreen</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_fullscreen.html#a2c316cb6ebe4552df661aeea88e6f365" title="SetFullscreen() switches the module instance to and from fullscreen mode.">SetFullscreen()</a> switches the module instance to and from fullscreen mode. </p>
+<p>The transition to and from fullscreen mode is asynchronous. During the transition, <a class="el" href="classpp_1_1_fullscreen.html#a555c0d2c2fc120cfac925a62cc8a7345" title="IsFullscreen() checks whether the module instance is currently in fullscreen mode.">IsFullscreen()</a> will return the previous value and no 2D or 3D device can be bound. The transition ends at DidChangeView() when <a class="el" href="classpp_1_1_fullscreen.html#a555c0d2c2fc120cfac925a62cc8a7345" title="IsFullscreen() checks whether the module instance is currently in fullscreen mode.">IsFullscreen()</a> returns the new value. You might receive other DidChangeView() calls while in transition.</p>
+<p>The transition to fullscreen mode can only occur while the browser is processing a user gesture, even if <code>true</code> is returned.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">fullscreen</td><td><code>true</code> to enter fullscreen mode, or <code>false</code> to exit fullscreen mode.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> on success or <code>false</code> on failure. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="fullscreen_8h.html">fullscreen.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_graphics2_d-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_graphics2_d-members.html
new file mode 100644
index 0000000..28cb3c0
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_graphics2_d-members.html
@@ -0,0 +1,37 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_graphics2_d.html">pp::Graphics2D</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics2_d.html#a3c1e23ad48ad62860a125d471b7664a4">Flush</a>(const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_graphics2_d.html">pp::Graphics2D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics2_d.html#a5b927eaabdd78b1a0094aa1a3695bae2">GetScale</a>()</td><td><a class="el" href="classpp_1_1_graphics2_d.html">pp::Graphics2D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics2_d.html#aef2cf8f0798d4980309f9bc888a73463">Graphics2D</a>()</td><td><a class="el" href="classpp_1_1_graphics2_d.html">pp::Graphics2D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics2_d.html#a144e483e91d77dd7314698a87d57c7ca">Graphics2D</a>(const Graphics2D &other)</td><td><a class="el" href="classpp_1_1_graphics2_d.html">pp::Graphics2D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics2_d.html#a193584685783cfcf3ab4bd01a5ca6e14">Graphics2D</a>(const InstanceHandle &instance, const Size &size, bool is_always_opaque)</td><td><a class="el" href="classpp_1_1_graphics2_d.html">pp::Graphics2D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics2_d.html#ad19b4539e1c1fdacc6ff41383b6cd3ba">operator=</a>(const Graphics2D &other)</td><td><a class="el" href="classpp_1_1_graphics2_d.html">pp::Graphics2D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">pp::Resource::operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics2_d.html#ab61e3018d1f5c4301f71ad0001d3ad8e">PaintImageData</a>(const ImageData &image, const Point &top_left)</td><td><a class="el" href="classpp_1_1_graphics2_d.html">pp::Graphics2D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics2_d.html#af779f51bfb0c4064535ea91b2470ddc7">PaintImageData</a>(const ImageData &image, const Point &top_left, const Rect &src_rect)</td><td><a class="el" href="classpp_1_1_graphics2_d.html">pp::Graphics2D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics2_d.html#a73185e278ea87d33cfec2f00a56314d9">ReplaceContents</a>(ImageData *image)</td><td><a class="el" href="classpp_1_1_graphics2_d.html">pp::Graphics2D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics2_d.html#a6a4256bb84cab71909821699d7aea369">Scroll</a>(const Rect &clip, const Point &amount)</td><td><a class="el" href="classpp_1_1_graphics2_d.html">pp::Graphics2D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics2_d.html#a96a91958227a7e42a829033241fac6b1">SetScale</a>(float scale)</td><td><a class="el" href="classpp_1_1_graphics2_d.html">pp::Graphics2D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics2_d.html#ad623f80db2c0cc679619303a0c0b9eff">size</a>() const </td><td><a class="el" href="classpp_1_1_graphics2_d.html">pp::Graphics2D</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics2_d.html#aa40a889094d345add38f16d559ae0ebd">~Graphics2D</a>()</td><td><a class="el" href="classpp_1_1_graphics2_d.html">pp::Graphics2D</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_graphics2_d.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_graphics2_d.html
new file mode 100644
index 0000000..8a7f3a2
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_graphics2_d.html
@@ -0,0 +1,406 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::Graphics2D Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::Graphics2D" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::Graphics2D:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_graphics2_d__inherit__graph.png" border="0" usemap="#pp_1_1_graphics2_d_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_graphics2_d_inherit__map" id="pp_1_1_graphics2_d_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="13,5,117,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_graphics2_d-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics2_d.html#aef2cf8f0798d4980309f9bc888a73463">Graphics2D</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics2_d.html#a144e483e91d77dd7314698a87d57c7ca">Graphics2D</a> (const <a class="el" href="classpp_1_1_graphics2_d.html">Graphics2D</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics2_d.html#a193584685783cfcf3ab4bd01a5ca6e14">Graphics2D</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, const <a class="el" href="classpp_1_1_size.html">Size</a> &<a class="el" href="classpp_1_1_graphics2_d.html#ad623f80db2c0cc679619303a0c0b9eff">size</a>, bool is_always_opaque)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics2_d.html#aa40a889094d345add38f16d559ae0ebd">~Graphics2D</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_graphics2_d.html">Graphics2D</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics2_d.html#ad19b4539e1c1fdacc6ff41383b6cd3ba">operator=</a> (const <a class="el" href="classpp_1_1_graphics2_d.html">Graphics2D</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classpp_1_1_size.html">Size</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics2_d.html#ad623f80db2c0cc679619303a0c0b9eff">size</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics2_d.html#ab61e3018d1f5c4301f71ad0001d3ad8e">PaintImageData</a> (const <a class="el" href="classpp_1_1_image_data.html">ImageData</a> &image, const <a class="el" href="classpp_1_1_point.html">Point</a> &top_left)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics2_d.html#af779f51bfb0c4064535ea91b2470ddc7">PaintImageData</a> (const <a class="el" href="classpp_1_1_image_data.html">ImageData</a> &image, const <a class="el" href="classpp_1_1_point.html">Point</a> &top_left, const <a class="el" href="classpp_1_1_rect.html">Rect</a> &src_rect)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics2_d.html#a6a4256bb84cab71909821699d7aea369">Scroll</a> (const <a class="el" href="classpp_1_1_rect.html">Rect</a> &clip, const <a class="el" href="classpp_1_1_point.html">Point</a> &amount)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics2_d.html#a73185e278ea87d33cfec2f00a56314d9">ReplaceContents</a> (<a class="el" href="classpp_1_1_image_data.html">ImageData</a> *image)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics2_d.html#a3c1e23ad48ad62860a125d471b7664a4">Flush</a> (const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics2_d.html#a96a91958227a7e42a829033241fac6b1">SetScale</a> (float scale)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics2_d.html#a5b927eaabdd78b1a0094aa1a3695bae2">GetScale</a> ()</td></tr>
+</table>
+<hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="aef2cf8f0798d4980309f9bc888a73463"></a><!-- doxytag: member="pp::Graphics2D::Graphics2D" ref="aef2cf8f0798d4980309f9bc888a73463" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_graphics2_d.html#aef2cf8f0798d4980309f9bc888a73463">pp::Graphics2D::Graphics2D</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor for creating an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> <code><a class="el" href="classpp_1_1_graphics2_d.html">Graphics2D</a></code> object. </p>
+</div>
+</div>
+<a class="anchor" id="a144e483e91d77dd7314698a87d57c7ca"></a><!-- doxytag: member="pp::Graphics2D::Graphics2D" ref="a144e483e91d77dd7314698a87d57c7ca" args="(const Graphics2D &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_graphics2_d.html#aef2cf8f0798d4980309f9bc888a73463">pp::Graphics2D::Graphics2D</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_graphics2_d.html">Graphics2D</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The copy constructor for <a class="el" href="classpp_1_1_graphics2_d.html">Graphics2D</a>. </p>
+<p>The underlying 2D context is not copied; this constructor creates another reference to the original 2D context.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A pointer to a <code><a class="el" href="classpp_1_1_graphics2_d.html">Graphics2D</a></code> context. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a193584685783cfcf3ab4bd01a5ca6e14"></a><!-- doxytag: member="pp::Graphics2D::Graphics2D" ref="a193584685783cfcf3ab4bd01a5ca6e14" args="(const InstanceHandle &instance, const Size &size, bool is_always_opaque)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_graphics2_d.html#aef2cf8f0798d4980309f9bc888a73463">pp::Graphics2D::Graphics2D</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_size.html">Size</a> & </td>
+<td class="paramname"><em>size</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">bool </td>
+<td class="paramname"><em>is_always_opaque</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor allocating a new 2D graphics context with the given size in the browser, resulting object will be <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> if the allocation failed. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>The size of the 2D graphics context in the browser, measured in pixels. See <code><a class="el" href="classpp_1_1_graphics2_d.html#a96a91958227a7e42a829033241fac6b1" title="SetScale() sets the scale factor that will be applied when painting the graphics context onto the out...">SetScale()</a></code> for more information.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">is_always_opaque</td><td>Set the <code>is_always_opaque</code> flag to true if you know that you will be painting only opaque data to this context. This option will disable blending when compositing the module with the web page, which might give higher performance on some computers.</td></tr>
+</table>
+</dd>
+</dl>
+<p>If you set <code>is_always_opaque</code>, your alpha channel should always be set to 0xFF or there may be painting artifacts. The alpha values overwrite the destination alpha values without blending when <code>is_always_opaque</code> is true. </p>
+</div>
+</div>
+<a class="anchor" id="aa40a889094d345add38f16d559ae0ebd"></a><!-- doxytag: member="pp::Graphics2D::~Graphics2D" ref="aa40a889094d345add38f16d559ae0ebd" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_graphics2_d.html#aa40a889094d345add38f16d559ae0ebd">pp::Graphics2D::~Graphics2D</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A destructor that decrements the reference count of a <code><a class="el" href="classpp_1_1_graphics2_d.html">Graphics2D</a></code> object made using the previous copy constructor. </p>
+<p>It is possible that the destructor does not totally destroy the underlying 2D context if there are outstanding references to it. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a3c1e23ad48ad62860a125d471b7664a4"></a><!-- doxytag: member="pp::Graphics2D::Flush" ref="a3c1e23ad48ad62860a125d471b7664a4" args="(const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_graphics2_d.html#a3c1e23ad48ad62860a125d471b7664a4">pp::Graphics2D::Flush</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_graphics2_d.html#a3c1e23ad48ad62860a125d471b7664a4" title="Flush() flushes any enqueued paint, scroll, and replace commands to the backing store.">Flush()</a> flushes any enqueued paint, scroll, and replace commands to the backing store. </p>
+<p>This actually executes the updates, and causes a repaint of the webpage, assuming this graphics context is bound to a module instance.</p>
+<p><a class="el" href="classpp_1_1_graphics2_d.html#a3c1e23ad48ad62860a125d471b7664a4" title="Flush() flushes any enqueued paint, scroll, and replace commands to the backing store.">Flush()</a> runs in asynchronous mode. Specify a callback function and the argument for that callback function. The callback function will be executed on the calling thread when the image has been painted to the screen. While you are waiting for a <code>Flush</code> callback, additional calls to <a class="el" href="classpp_1_1_graphics2_d.html#a3c1e23ad48ad62860a125d471b7664a4" title="Flush() flushes any enqueued paint, scroll, and replace commands to the backing store.">Flush()</a> will fail.</p>
+<p>Because the callback is executed (or thread unblocked) only when the module's image is actually on the screen, this function provides a way to rate limit animations. By waiting until the image is on the screen before painting the next frame, you can ensure you're not flushing 2D graphics faster than the screen can be updated.</p>
+<p><b>Unbound contexts</b> If the context is not bound to a module instance, you will still get a callback. The callback will execute after <a class="el" href="classpp_1_1_graphics2_d.html#a3c1e23ad48ad62860a125d471b7664a4" title="Flush() flushes any enqueued paint, scroll, and replace commands to the backing store.">Flush()</a> returns to avoid reentrancy. The callback will not wait until anything is painted to the screen because there will be nothing on the screen. The timing of this callback is not guaranteed and may be deprioritized by the browser because it is not affecting the user experience.</p>
+<p><b>Off-screen instances</b> If the context is bound to an instance that is currently not visible (for example, scrolled out of view) it will behave like the "unbound context" case.</p>
+<p><b>Detaching a context</b> If you detach a context from a module instance, any pending flush callbacks will be converted into the "unbound context" case.</p>
+<p><b>Released contexts</b> A callback may or may not still get called even if you have released all of your references to the context. This can occur if there are internal references to the context that means it has not been internally destroyed (for example, if it is still bound to an instance) or due to other implementation details. As a result, you should be careful to check that flush callbacks are for the context you expect and that you're capable of handling callbacks for context that you may have released your reference to.</p>
+<p><b>Shutdown</b> If a module instance is removed when a Flush is pending, the callback will not be executed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called when the image has been painted on the screen.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>PP_OK</code> on success or <code>PP_ERROR_BADRESOURCE</code> if the graphics context is invalid, <code>PP_ERROR_BADARGUMENT</code> if the callback is null and flush is being called from the main thread of the module, or <code>PP_ERROR_INPROGRESS</code> if a flush is already pending that has not issued its callback yet. In the failure case, nothing will be updated and no callback will be scheduled. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a5b927eaabdd78b1a0094aa1a3695bae2"></a><!-- doxytag: member="pp::Graphics2D::GetScale" ref="a5b927eaabdd78b1a0094aa1a3695bae2" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="classpp_1_1_graphics2_d.html#a5b927eaabdd78b1a0094aa1a3695bae2">pp::Graphics2D::GetScale</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_graphics2_d.html#a5b927eaabdd78b1a0094aa1a3695bae2" title="GetScale() gets the scale factor that will be applied when painting the graphics context onto the out...">GetScale()</a> gets the scale factor that will be applied when painting the graphics context onto the output device. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the scale factor for the graphics context. If the resource is invalid, 0.0 will be returned. The default scale for a graphics context is 1.0. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ad19b4539e1c1fdacc6ff41383b6cd3ba"></a><!-- doxytag: member="pp::Graphics2D::operator=" ref="ad19b4539e1c1fdacc6ff41383b6cd3ba" args="(const Graphics2D &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_graphics2_d.html">Graphics2D</a>& pp::Graphics2D::operator= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_graphics2_d.html">Graphics2D</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function assigns one 2D graphics context to this 2D graphics context. </p>
+<p>This function increases the reference count of the 2D resource of the other 2D graphics context while decrementing the reference counter of this 2D graphics context.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>An other 2D graphics context.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A new <a class="el" href="classpp_1_1_graphics2_d.html">Graphics2D</a> context. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab61e3018d1f5c4301f71ad0001d3ad8e"></a><!-- doxytag: member="pp::Graphics2D::PaintImageData" ref="ab61e3018d1f5c4301f71ad0001d3ad8e" args="(const ImageData &image, const Point &top_left)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_graphics2_d.html#ab61e3018d1f5c4301f71ad0001d3ad8e">pp::Graphics2D::PaintImageData</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_image_data.html">ImageData</a> & </td>
+<td class="paramname"><em>image</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">Point</a> & </td>
+<td class="paramname"><em>top_left</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_graphics2_d.html#ab61e3018d1f5c4301f71ad0001d3ad8e" title="PaintImageData() enqueues a paint command of the given image into the context.">PaintImageData()</a> enqueues a paint command of the given image into the context. </p>
+<p>This command has no effect until you call <a class="el" href="classpp_1_1_graphics2_d.html#a3c1e23ad48ad62860a125d471b7664a4" title="Flush() flushes any enqueued paint, scroll, and replace commands to the backing store.">Flush()</a>. As a result, what counts is the contents of the bitmap when you call Flush, not when you call this function.</p>
+<p>The provided image will be placed at <code>top_left</code> from the top left of the context's internal backing store. This version of PaintImageData paints the entire image. Refer to the other version of this function to paint only part of the area.</p>
+<p>The painted area of the source bitmap must fall entirely within the context. Attempting to paint outside of the context will result in an error.</p>
+<p>There are two methods most modules will use for painting. The first method is to generate a new <code><a class="el" href="classpp_1_1_image_data.html">ImageData</a></code> and then paint it. In this case, you'll set the location of your painting to <code>top_left</code> and set <code>src_rect</code> to <code>NULL</code>. The second is that you're generating small invalid regions out of a larger bitmap representing your entire module's image.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">image</td><td>The <code><a class="el" href="classpp_1_1_image_data.html">ImageData</a></code> to be painted. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">top_left</td><td>A <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code> representing the <code>top_left</code> location where the <code><a class="el" href="classpp_1_1_image_data.html">ImageData</a></code> will be painted. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="af779f51bfb0c4064535ea91b2470ddc7"></a><!-- doxytag: member="pp::Graphics2D::PaintImageData" ref="af779f51bfb0c4064535ea91b2470ddc7" args="(const ImageData &image, const Point &top_left, const Rect &src_rect)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_graphics2_d.html#ab61e3018d1f5c4301f71ad0001d3ad8e">pp::Graphics2D::PaintImageData</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_image_data.html">ImageData</a> & </td>
+<td class="paramname"><em>image</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">Point</a> & </td>
+<td class="paramname"><em>top_left</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">Rect</a> & </td>
+<td class="paramname"><em>src_rect</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_graphics2_d.html#ab61e3018d1f5c4301f71ad0001d3ad8e" title="PaintImageData() enqueues a paint command of the given image into the context.">PaintImageData()</a> enqueues a paint command of the given image into the context. </p>
+<p>This command has no effect until you call <a class="el" href="classpp_1_1_graphics2_d.html#a3c1e23ad48ad62860a125d471b7664a4" title="Flush() flushes any enqueued paint, scroll, and replace commands to the backing store.">Flush()</a>. As a result, what counts is the contents of the bitmap when you call <a class="el" href="classpp_1_1_graphics2_d.html#a3c1e23ad48ad62860a125d471b7664a4" title="Flush() flushes any enqueued paint, scroll, and replace commands to the backing store.">Flush()</a>, not when you call this function.</p>
+<p>The provided image will be placed at <code>top_left</code> from the top left of the context's internal backing store. Then the pixels contained in <code>src_rect</code> will be copied into the backing store. This means that the rectangle being painted will be at <code>src_rect</code> offset by <code>top_left</code>.</p>
+<p>The <code>src_rect</code> is specified in the coordinate system of the image being painted, not the context. For the common case of copying the entire image, you may specify an empty <code>src_rect</code>.</p>
+<p>The painted area of the source bitmap must fall entirely within the context. Attempting to paint outside of the context will result in an error. However, the source bitmap may fall outside the context, as long as the <code>src_rect</code> subset of it falls entirely within the context.</p>
+<p>There are two methods most modules will use for painting. The first method is to generate a new <code><a class="el" href="classpp_1_1_image_data.html">ImageData</a></code> and then paint it. In this case, you'll set the location of your painting to <code>top_left</code> and set <code>src_rect</code> to <code>NULL</code>. The second is that you're generating small invalid regions out of a larger bitmap representing your entire module. In this case, you would set the location of your image to (0,0) and then set <code>src_rect</code> to the pixels you changed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">image</td><td>The <code><a class="el" href="classpp_1_1_image_data.html">ImageData</a></code> to be painted. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">top_left</td><td>A <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code> representing the <code>top_left</code> location where the <code><a class="el" href="classpp_1_1_image_data.html">ImageData</a></code> will be painted. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">src_rect</td><td>The rectangular area where the <code><a class="el" href="classpp_1_1_image_data.html">ImageData</a></code> will be painted. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a73185e278ea87d33cfec2f00a56314d9"></a><!-- doxytag: member="pp::Graphics2D::ReplaceContents" ref="a73185e278ea87d33cfec2f00a56314d9" args="(ImageData *image)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_graphics2_d.html#a73185e278ea87d33cfec2f00a56314d9">pp::Graphics2D::ReplaceContents</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="classpp_1_1_image_data.html">ImageData</a> * </td>
+<td class="paramname"><em>image</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_graphics2_d.html#a73185e278ea87d33cfec2f00a56314d9" title="ReplaceContents() provides a slightly more efficient way to paint the entire module's image...">ReplaceContents()</a> provides a slightly more efficient way to paint the entire module's image. </p>
+<p>Normally, calling <a class="el" href="classpp_1_1_graphics2_d.html#ab61e3018d1f5c4301f71ad0001d3ad8e" title="PaintImageData() enqueues a paint command of the given image into the context.">PaintImageData()</a> requires that the browser copy the pixels out of the image and into the graphics context's backing store. This function replaces the graphics context's backing store with the given image, avoiding the copy.</p>
+<p>The new image must be the exact same size as this graphics context. If the new image uses a different image format than the browser's native bitmap format (use <a class="el" href="classpp_1_1_image_data.html#a4208e7eabf98df7b91c01ed6fcd92425" title="GetNativeImageDataFormat() determines the browser's preferred format for images.">ImageData::GetNativeImageDataFormat()</a> to retrieve the format), then a conversion will be done inside the browser which may slow the performance a little bit.</p>
+<p><b>Note:</b> The new image will not be painted until you call <a class="el" href="classpp_1_1_graphics2_d.html#a3c1e23ad48ad62860a125d471b7664a4" title="Flush() flushes any enqueued paint, scroll, and replace commands to the backing store.">Flush()</a>.</p>
+<p>After this call, you should take care to release your references to the image. If you paint to the image after <a class="el" href="classpp_1_1_graphics2_d.html#a73185e278ea87d33cfec2f00a56314d9" title="ReplaceContents() provides a slightly more efficient way to paint the entire module's image...">ReplaceContents()</a>, there is the possibility of significant painting artifacts because the page might use partially-rendered data when copying out of the backing store.</p>
+<p>In the case of an animation, you will want to allocate a new image for the next frame. It is best if you wait until the flush callback has executed before allocating this bitmap. This gives the browser the option of caching the previous backing store and handing it back to you (assuming the sizes match). In the optimal case, this means no bitmaps are allocated during the animation, and the backing store and "front buffer" (which the module is painting into) are just being swapped back and forth.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">image</td><td>The <code><a class="el" href="classpp_1_1_image_data.html">ImageData</a></code> to be painted. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a6a4256bb84cab71909821699d7aea369"></a><!-- doxytag: member="pp::Graphics2D::Scroll" ref="a6a4256bb84cab71909821699d7aea369" args="(const Rect &clip, const Point &amount)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_graphics2_d.html#a6a4256bb84cab71909821699d7aea369">pp::Graphics2D::Scroll</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">Rect</a> & </td>
+<td class="paramname"><em>clip</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">Point</a> & </td>
+<td class="paramname"><em>amount</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_graphics2_d.html#a6a4256bb84cab71909821699d7aea369" title="Scroll() enqueues a scroll of the context's backing store.">Scroll()</a> enqueues a scroll of the context's backing store. </p>
+<p>This function has no effect until you call <a class="el" href="classpp_1_1_graphics2_d.html#a3c1e23ad48ad62860a125d471b7664a4" title="Flush() flushes any enqueued paint, scroll, and replace commands to the backing store.">Flush()</a>. The data within the provided clipping rectangle will be shifted by (dx, dy) pixels.</p>
+<p>This function will result in some exposed region which will have undefined contents. The module should call <a class="el" href="classpp_1_1_graphics2_d.html#ab61e3018d1f5c4301f71ad0001d3ad8e" title="PaintImageData() enqueues a paint command of the given image into the context.">PaintImageData()</a> on these exposed regions to give the correct contents.</p>
+<p>The scroll can be larger than the area of the clipping rectangle, which means the current image will be scrolled out of the rectangle. This scenario is not an error but will result in a no-op.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">clip</td><td>The clipping rectangle. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">amount</td><td>The amount the area in the clipping rectangle will shifted. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a96a91958227a7e42a829033241fac6b1"></a><!-- doxytag: member="pp::Graphics2D::SetScale" ref="a96a91958227a7e42a829033241fac6b1" args="(float scale)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_graphics2_d.html#a96a91958227a7e42a829033241fac6b1">pp::Graphics2D::SetScale</a> </td>
+<td>(</td>
+<td class="paramtype">float </td>
+<td class="paramname"><em>scale</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_graphics2_d.html#a96a91958227a7e42a829033241fac6b1" title="SetScale() sets the scale factor that will be applied when painting the graphics context onto the out...">SetScale()</a> sets the scale factor that will be applied when painting the graphics context onto the output device. </p>
+<p>Typically, if rendering at device resolution is desired, the context would be created with the width and height scaled up by the view's GetDeviceScale and SetScale called with a scale of 1.0 / GetDeviceScale(). For example, if the view resource passed to DidChangeView has a rectangle of (w=200, h=100) and a device scale of 2.0, one would call Create with a size of (w=400, h=200) and then call SetScale with 0.5. One would then treat each pixel in the context as a single device pixel.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">scale</td><td>The scale to apply when painting.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>true</code> on success or <code>false</code> if the resource is invalid or the scale factor is 0 or less. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ad623f80db2c0cc679619303a0c0b9eff"></a><!-- doxytag: member="pp::Graphics2D::size" ref="ad623f80db2c0cc679619303a0c0b9eff" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">const <a class="el" href="classpp_1_1_size.html">Size</a>& <a class="el" href="classpp_1_1_graphics2_d.html#ad623f80db2c0cc679619303a0c0b9eff">pp::Graphics2D::size</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning size of the 2D graphics context. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The size of the 2D graphics context measured in pixels. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="graphics__2d_8h.html">graphics_2d.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_graphics2_d__inherit__graph.png b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_graphics2_d__inherit__graph.png
new file mode 100644
index 0000000..38b0ab2
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_graphics2_d__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_graphics3_d-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_graphics3_d-members.html
new file mode 100644
index 0000000..2ad046b
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_graphics3_d-members.html
@@ -0,0 +1,32 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_graphics3_d.html">pp::Graphics3D</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics3_d.html#ae4527f4526a090c05ab7d9ce9fafb3de">GetAttribs</a>(int32_t attrib_list[]) const </td><td><a class="el" href="classpp_1_1_graphics3_d.html">pp::Graphics3D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics3_d.html#a36b6d8c818d0af11128d9522dd7f8bc2">Graphics3D</a>()</td><td><a class="el" href="classpp_1_1_graphics3_d.html">pp::Graphics3D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics3_d.html#a072a5e20977e193d02b2e509ad72d11e">Graphics3D</a>(const InstanceHandle &instance, const int32_t attrib_list[])</td><td><a class="el" href="classpp_1_1_graphics3_d.html">pp::Graphics3D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics3_d.html#a53586ebd53025ff6e1e0c4b89e471f68">Graphics3D</a>(const InstanceHandle &instance, const Graphics3D &share_context, const int32_t attrib_list[])</td><td><a class="el" href="classpp_1_1_graphics3_d.html">pp::Graphics3D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics3_d.html#a21b887529bdba99089ff3c1fa16d3d7c">ResizeBuffers</a>(int32_t width, int32_t height)</td><td><a class="el" href="classpp_1_1_graphics3_d.html">pp::Graphics3D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics3_d.html#a504e04ec5f21e324439fe8edc3622957">SetAttribs</a>(const int32_t attrib_list[])</td><td><a class="el" href="classpp_1_1_graphics3_d.html">pp::Graphics3D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics3_d.html#ae1d1c071bf2737ab310a32558ec5f507">SwapBuffers</a>(const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_graphics3_d.html">pp::Graphics3D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics3_d.html#a134128672575294aeb17c263189b9da0">~Graphics3D</a>()</td><td><a class="el" href="classpp_1_1_graphics3_d.html">pp::Graphics3D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_graphics3_d.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_graphics3_d.html
new file mode 100644
index 0000000..46e6ba80
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_graphics3_d.html
@@ -0,0 +1,280 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::Graphics3D Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::Graphics3D" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::Graphics3D:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_graphics3_d__inherit__graph.png" border="0" usemap="#pp_1_1_graphics3_d_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_graphics3_d_inherit__map" id="pp_1_1_graphics3_d_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="13,5,117,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_graphics3_d-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics3_d.html#a36b6d8c818d0af11128d9522dd7f8bc2">Graphics3D</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics3_d.html#a072a5e20977e193d02b2e509ad72d11e">Graphics3D</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, const int32_t attrib_list[])</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics3_d.html#a53586ebd53025ff6e1e0c4b89e471f68">Graphics3D</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, const <a class="el" href="classpp_1_1_graphics3_d.html">Graphics3D</a> &share_context, const int32_t attrib_list[])</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics3_d.html#a134128672575294aeb17c263189b9da0">~Graphics3D</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics3_d.html#ae4527f4526a090c05ab7d9ce9fafb3de">GetAttribs</a> (int32_t attrib_list[]) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics3_d.html#a504e04ec5f21e324439fe8edc3622957">SetAttribs</a> (const int32_t attrib_list[])</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics3_d.html#a21b887529bdba99089ff3c1fa16d3d7c">ResizeBuffers</a> (int32_t width, int32_t height)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics3_d.html#ae1d1c071bf2737ab310a32558ec5f507">SwapBuffers</a> (const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This class represents a 3D rendering context in the browser. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a36b6d8c818d0af11128d9522dd7f8bc2"></a><!-- doxytag: member="pp::Graphics3D::Graphics3D" ref="a36b6d8c818d0af11128d9522dd7f8bc2" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_graphics3_d.html#a36b6d8c818d0af11128d9522dd7f8bc2">pp::Graphics3D::Graphics3D</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor for creating an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> <a class="el" href="classpp_1_1_graphics3_d.html" title="This class represents a 3D rendering context in the browser.">Graphics3D</a> object. </p>
+</div>
+</div>
+<a class="anchor" id="a072a5e20977e193d02b2e509ad72d11e"></a><!-- doxytag: member="pp::Graphics3D::Graphics3D" ref="a072a5e20977e193d02b2e509ad72d11e" args="(const InstanceHandle &instance, const int32_t attrib_list[])" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_graphics3_d.html#a36b6d8c818d0af11128d9522dd7f8bc2">pp::Graphics3D::Graphics3D</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const int32_t </td>
+<td class="paramname"><em>attrib_list</em>[] </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor for creating and initializing a 3D rendering context. </p>
+<p>The returned context is created off-screen and must be attached to a module instance using <code><a class="el" href="classpp_1_1_instance.html#a147a1c1817a7a1fb2b76f5c87ab08899" title="BindGraphics() binds the given graphics as the current display surface.">Instance::BindGraphics</a></code> to draw on the web page.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">attrib_list</td><td>The list of attributes (name=value pairs) for the context. The list is terminated with <code>PP_GRAPHICS3DATTRIB_NONE</code>. The <code>attrib_list</code> may be <code>NULL</code> or empty (first attribute is <code>PP_GRAPHICS3DATTRIB_NONE</code>). If an attribute is not specified in <code>attrib_list</code>, then the default value is used.</td></tr>
+</table>
+</dd>
+</dl>
+<p>Attributes are classified into two categories:</p>
+<p>1. AtLeast: The attribute value in the returned context will meet or exceed the value requested when creating the object. 2. Exact: The attribute value in the returned context is equal to the value requested when creating the object.</p>
+<p>AtLeast attributes are (all have default values of 0):</p>
+<p><code>PP_GRAPHICS3DATTRIB_ALPHA_SIZE</code> <code>PP_GRAPHICS3DATTRIB_BLUE_SIZE</code> <code>PP_GRAPHICS3DATTRIB_GREEN_SIZE</code> <code>PP_GRAPHICS3DATTRIB_RED_SIZE</code> <code>PP_GRAPHICS3DATTRIB_DEPTH_SIZE</code> <code>PP_GRAPHICS3DATTRIB_STENCIL_SIZE</code> <code>PP_GRAPHICS3DATTRIB_SAMPLES</code> <code>PP_GRAPHICS3DATTRIB_SAMPLE_BUFFERS</code></p>
+<p>Exact attributes are:</p>
+<p><code>PP_GRAPHICS3DATTRIB_WIDTH</code> Default 0 <code>PP_GRAPHICS3DATTRIB_HEIGHT</code> Default 0 <code>PP_GRAPHICS3DATTRIB_SWAP_BEHAVIOR</code> Default: Implementation defined.</p>
+<p>On failure, the object will be <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a>. </p>
+</div>
+</div>
+<a class="anchor" id="a53586ebd53025ff6e1e0c4b89e471f68"></a><!-- doxytag: member="pp::Graphics3D::Graphics3D" ref="a53586ebd53025ff6e1e0c4b89e471f68" args="(const InstanceHandle &instance, const Graphics3D &share_context, const int32_t attrib_list[])" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_graphics3_d.html#a36b6d8c818d0af11128d9522dd7f8bc2">pp::Graphics3D::Graphics3D</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_graphics3_d.html">Graphics3D</a> & </td>
+<td class="paramname"><em>share_context</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const int32_t </td>
+<td class="paramname"><em>attrib_list</em>[] </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor for creating and initializing a 3D rendering context. </p>
+<p>The returned context is created off-screen. It must be attached to a module instance using <code><a class="el" href="classpp_1_1_instance.html#a147a1c1817a7a1fb2b76f5c87ab08899" title="BindGraphics() binds the given graphics as the current display surface.">Instance::BindGraphics</a></code> to draw on the web page.</p>
+<p>This constructor is identical to the 2-argument version except that this version allows sharing of resources with another context.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance that will own the new <a class="el" href="classpp_1_1_graphics3_d.html" title="This class represents a 3D rendering context in the browser.">Graphics3D</a>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">share_context</td><td>Specifies the context with which all shareable data will be shared. The shareable data is defined by the client API (note that for OpenGL and OpenGL ES, shareable data excludes texture objects named 0). An arbitrary number of <a class="el" href="classpp_1_1_graphics3_d.html" title="This class represents a 3D rendering context in the browser.">Graphics3D</a> resources can share data in this fashion. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">attrib_list</td><td>The list of attributes for the context. See the 2-argument version of this constructor for more information.</td></tr>
+</table>
+</dd>
+</dl>
+<p>On failure, the object will be <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a>. </p>
+</div>
+</div>
+<a class="anchor" id="a134128672575294aeb17c263189b9da0"></a><!-- doxytag: member="pp::Graphics3D::~Graphics3D" ref="a134128672575294aeb17c263189b9da0" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_graphics3_d.html#a134128672575294aeb17c263189b9da0">pp::Graphics3D::~Graphics3D</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Destructor. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="ae4527f4526a090c05ab7d9ce9fafb3de"></a><!-- doxytag: member="pp::Graphics3D::GetAttribs" ref="ae4527f4526a090c05ab7d9ce9fafb3de" args="(int32_t attrib_list[]) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_graphics3_d.html#ae4527f4526a090c05ab7d9ce9fafb3de">pp::Graphics3D::GetAttribs</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>attrib_list</em>[]</td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_graphics3_d.html#ae4527f4526a090c05ab7d9ce9fafb3de" title="GetAttribs() retrieves the value for each attribute in attrib_list.">GetAttribs()</a> retrieves the value for each attribute in <code>attrib_list</code>. </p>
+<p>The list has the same structure as described for the constructor. All attribute values specified in <code>pp_graphics_3d.h</code> can be retrieved.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in,out]</td><td class="paramname">attrib_list</td><td>The list of attributes (name=value pairs) for the context. The list is terminated with <code>PP_GRAPHICS3DATTRIB_NONE</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<p>The following error codes may be returned on failure:</p>
+<p>PP_ERROR_BADRESOURCE if context is invalid. PP_ERROR_BADARGUMENT if <code>attrib_list</code> is NULL or any attribute in the <code>attrib_list</code> is not a valid attribute.</p>
+<p><b>Example:</b></p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">int</span> attrib_list[] = {PP_GRAPHICS3DATTRIB_RED_SIZE, 0,
+ PP_GRAPHICS3DATTRIB_GREEN_SIZE, 0,
+ PP_GRAPHICS3DATTRIB_BLUE_SIZE, 0,
+ PP_GRAPHICS3DATTRIB_NONE};
+ <a class="code" href="classpp_1_1_graphics3_d.html#ae4527f4526a090c05ab7d9ce9fafb3de" title="GetAttribs() retrieves the value for each attribute in attrib_list.">GetAttribs</a>(context, attrib_list);
+ <span class="keywordtype">int</span> red_bits = attrib_list[1];
+ <span class="keywordtype">int</span> green_bits = attrib_list[3];
+ <span class="keywordtype">int</span> blue_bits = attrib_list[5];
+</pre></div><p>This example retrieves the values for rgb bits in the color buffer. </p>
+</div>
+</div>
+<a class="anchor" id="a21b887529bdba99089ff3c1fa16d3d7c"></a><!-- doxytag: member="pp::Graphics3D::ResizeBuffers" ref="a21b887529bdba99089ff3c1fa16d3d7c" args="(int32_t width, int32_t height)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_graphics3_d.html#a21b887529bdba99089ff3c1fa16d3d7c">pp::Graphics3D::ResizeBuffers</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>width</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>height</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_graphics3_d.html#a21b887529bdba99089ff3c1fa16d3d7c" title="ResizeBuffers() resizes the backing surface for the context.">ResizeBuffers()</a> resizes the backing surface for the context. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">width</td><td>The width of the backing surface. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">height</td><td>The height of the backing surface.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing <code>PP_ERROR_BADRESOURCE</code> if context is invalid or <code>PP_ERROR_BADARGUMENT</code> if the value specified for width or height is less than zero. <code>PP_ERROR_NOMEMORY</code> might be returned on the next <a class="el" href="classpp_1_1_graphics3_d.html#ae1d1c071bf2737ab310a32558ec5f507" title="SwapBuffers() makes the contents of the color buffer available for compositing.">SwapBuffers()</a> callback if the surface could not be resized due to insufficient resources. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a504e04ec5f21e324439fe8edc3622957"></a><!-- doxytag: member="pp::Graphics3D::SetAttribs" ref="a504e04ec5f21e324439fe8edc3622957" args="(const int32_t attrib_list[])" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_graphics3_d.html#a504e04ec5f21e324439fe8edc3622957">pp::Graphics3D::SetAttribs</a> </td>
+<td>(</td>
+<td class="paramtype">const int32_t </td>
+<td class="paramname"><em>attrib_list</em>[]</td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_graphics3_d.html#a504e04ec5f21e324439fe8edc3622957" title="SetAttribs() sets the values for each attribute in attrib_list.">SetAttribs()</a> sets the values for each attribute in <code>attrib_list</code>. </p>
+<p>The list has the same structure as the list used in the constructors.</p>
+<p>Attributes that can be specified are:</p>
+<ul>
+<li>PP_GRAPHICS3DATTRIB_SWAP_BEHAVIOR</li>
+</ul>
+<p>On failure the following error codes may be returned:</p>
+<ul>
+<li>PP_ERROR_BADRESOURCE if context is invalid.</li>
+<li>PP_ERROR_BADARGUMENT if attrib_list is NULL or any attribute in the attrib_list is not a valid attribute. </li>
+</ul>
+</div>
+</div>
+<a class="anchor" id="ae1d1c071bf2737ab310a32558ec5f507"></a><!-- doxytag: member="pp::Graphics3D::SwapBuffers" ref="ae1d1c071bf2737ab310a32558ec5f507" args="(const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_graphics3_d.html#ae1d1c071bf2737ab310a32558ec5f507">pp::Graphics3D::SwapBuffers</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_graphics3_d.html#ae1d1c071bf2737ab310a32558ec5f507" title="SwapBuffers() makes the contents of the color buffer available for compositing.">SwapBuffers()</a> makes the contents of the color buffer available for compositing. </p>
+<p>This function has no effect on off-screen surfaces: surfaces not bound to any module instance. The contents of ancillary buffers are always undefined after calling <a class="el" href="classpp_1_1_graphics3_d.html#ae1d1c071bf2737ab310a32558ec5f507" title="SwapBuffers() makes the contents of the color buffer available for compositing.">SwapBuffers()</a>. The contents of the color buffer are undefined if the value of the <code>PP_GRAPHICS3DATTRIB_SWAP_BEHAVIOR</code> attribute of context is not <code>PP_GRAPHICS3DATTRIB_BUFFER_PRESERVED</code>.</p>
+<p><a class="el" href="classpp_1_1_graphics3_d.html#ae1d1c071bf2737ab310a32558ec5f507" title="SwapBuffers() makes the contents of the color buffer available for compositing.">SwapBuffers()</a> runs in asynchronous mode. Specify a callback function and the argument for that callback function. The callback function will be executed on the calling thread after the color buffer has been composited with rest of the html page. While you are waiting for a <a class="el" href="classpp_1_1_graphics3_d.html#ae1d1c071bf2737ab310a32558ec5f507" title="SwapBuffers() makes the contents of the color buffer available for compositing.">SwapBuffers()</a> callback, additional calls to <a class="el" href="classpp_1_1_graphics3_d.html#ae1d1c071bf2737ab310a32558ec5f507" title="SwapBuffers() makes the contents of the color buffer available for compositing.">SwapBuffers()</a> will fail.</p>
+<p>Because the callback is executed (or thread unblocked) only when the instance's current state is actually on the screen, this function provides a way to rate limit animations. By waiting until the image is on the screen before painting the next frame, you can ensure you're not generating updates faster than the screen can be updated.</p>
+<p><a class="el" href="classpp_1_1_graphics3_d.html#ae1d1c071bf2737ab310a32558ec5f507" title="SwapBuffers() makes the contents of the color buffer available for compositing.">SwapBuffers()</a> performs an implicit flush operation on context. If the context gets into an unrecoverable error condition while processing a command, the error code will be returned as the argument for the callback. The callback may return the following error codes:</p>
+<p><code>PP_ERROR_NOMEMORY</code> <code>PP_ERROR_CONTEXT_LOST</code></p>
+<p>Note that the same error code may also be obtained by calling GetError().</p>
+<p>param[in] cc A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion of <a class="el" href="classpp_1_1_graphics3_d.html#ae1d1c071bf2737ab310a32558ec5f507" title="SwapBuffers() makes the contents of the color buffer available for compositing.">SwapBuffers()</a>.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing <code>PP_ERROR_BADRESOURCE</code> if context is invalid or <code>PP_ERROR_BADARGUMENT</code> if callback is invalid. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="graphics__3d_8h.html">graphics_3d.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_graphics3_d__inherit__graph.png b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_graphics3_d__inherit__graph.png
new file mode 100644
index 0000000..d898b8b
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_graphics3_d__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_graphics3_d_client-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_graphics3_d_client-members.html
new file mode 100644
index 0000000..3a5f118
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_graphics3_d_client-members.html
@@ -0,0 +1,16 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_graphics3_d_client.html">pp::Graphics3DClient</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics3_d_client.html#af5302a53378a3a02f2a3a7edad5b0841">Graphics3DClient</a>(Instance *instance)</td><td><a class="el" href="classpp_1_1_graphics3_d_client.html">pp::Graphics3DClient</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics3_d_client.html#aefef5681c4d39c0deef2d0b83caf77c8">Graphics3DContextLost</a>()=0</td><td><a class="el" href="classpp_1_1_graphics3_d_client.html">pp::Graphics3DClient</a></td><td><code> [pure virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics3_d_client.html#ae92f30610f425d3e530fc3f9a1276aae">~Graphics3DClient</a>()</td><td><a class="el" href="classpp_1_1_graphics3_d_client.html">pp::Graphics3DClient</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_graphics3_d_client.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_graphics3_d_client.html
new file mode 100644
index 0000000..1512938
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_graphics3_d_client.html
@@ -0,0 +1,81 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::Graphics3DClient Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::Graphics3DClient" -->
+<p><a href="classpp_1_1_graphics3_d_client-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics3_d_client.html#af5302a53378a3a02f2a3a7edad5b0841">Graphics3DClient</a> (<a class="el" href="classpp_1_1_instance.html">Instance</a> *instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics3_d_client.html#ae92f30610f425d3e530fc3f9a1276aae">~Graphics3DClient</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics3_d_client.html#aefef5681c4d39c0deef2d0b83caf77c8">Graphics3DContextLost</a> ()=0</td></tr>
+</table>
+<hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="af5302a53378a3a02f2a3a7edad5b0841"></a><!-- doxytag: member="pp::Graphics3DClient::Graphics3DClient" ref="af5302a53378a3a02f2a3a7edad5b0841" args="(Instance *instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_graphics3_d_client.html#af5302a53378a3a02f2a3a7edad5b0841">pp::Graphics3DClient::Graphics3DClient</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="classpp_1_1_instance.html">Instance</a> * </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor for creating a <a class="el" href="classpp_1_1_graphics3_d_client.html">Graphics3DClient</a>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance that will own the new <code><a class="el" href="classpp_1_1_graphics3_d_client.html">Graphics3DClient</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ae92f30610f425d3e530fc3f9a1276aae"></a><!-- doxytag: member="pp::Graphics3DClient::~Graphics3DClient" ref="ae92f30610f425d3e530fc3f9a1276aae" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_graphics3_d_client.html#ae92f30610f425d3e530fc3f9a1276aae">pp::Graphics3DClient::~Graphics3DClient</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Destructor. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="aefef5681c4d39c0deef2d0b83caf77c8"></a><!-- doxytag: member="pp::Graphics3DClient::Graphics3DContextLost" ref="aefef5681c4d39c0deef2d0b83caf77c8" args="()=0" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual void <a class="el" href="classpp_1_1_graphics3_d_client.html#aefef5681c4d39c0deef2d0b83caf77c8">pp::Graphics3DClient::Graphics3DContextLost</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [pure virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_graphics3_d_client.html#aefef5681c4d39c0deef2d0b83caf77c8" title="Graphics3DContextLost() is a notification that the context was lost for the 3D devices.">Graphics3DContextLost()</a> is a notification that the context was lost for the 3D devices. </p>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="graphics__3d__client_8h.html">graphics_3d_client.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_host_resolver-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_host_resolver-members.html
new file mode 100644
index 0000000..2a482c7f
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_host_resolver-members.html
@@ -0,0 +1,35 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_host_resolver.html">pp::HostResolver</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_host_resolver.html#aaa2e0834d48b8356f8f3185bc615611d">GetCanonicalName</a>() const </td><td><a class="el" href="classpp_1_1_host_resolver.html">pp::HostResolver</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_host_resolver.html#a3680cf97d53a80a536c5dc6441a4c6e7">GetNetAddress</a>(uint32_t index) const </td><td><a class="el" href="classpp_1_1_host_resolver.html">pp::HostResolver</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_host_resolver.html#ace959e4cb6fd0a51669f6eff64e08ae3">GetNetAddressCount</a>() const </td><td><a class="el" href="classpp_1_1_host_resolver.html">pp::HostResolver</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_host_resolver.html#a98885c5eb6ba873ee54cbb657f9e43f5">HostResolver</a>()</td><td><a class="el" href="classpp_1_1_host_resolver.html">pp::HostResolver</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_host_resolver.html#aea32a40269f4ad3dc9d9cbadc89bea4f">HostResolver</a>(const InstanceHandle &instance)</td><td><a class="el" href="classpp_1_1_host_resolver.html">pp::HostResolver</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_host_resolver.html#adc4f2b44c8281920fbce2c4b93eddce2">HostResolver</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_host_resolver.html">pp::HostResolver</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_host_resolver.html#a74ea3a85ad41ded8128b188c821cdb28">HostResolver</a>(const HostResolver &other)</td><td><a class="el" href="classpp_1_1_host_resolver.html">pp::HostResolver</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_host_resolver.html#ad56c139fa37d665cbb7e33f4d592b421">IsAvailable</a>()</td><td><a class="el" href="classpp_1_1_host_resolver.html">pp::HostResolver</a></td><td><code> [static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_host_resolver.html#ab773cb42d3130d6973a8743bc7aba7bd">operator=</a>(const HostResolver &other)</td><td><a class="el" href="classpp_1_1_host_resolver.html">pp::HostResolver</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">pp::Resource::operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_host_resolver.html#a894d4ae712b4b30e639f6d838c2f9d98">Resolve</a>(const char *host, uint16_t port, const PP_HostResolver_Hint &hint, const CompletionCallback &callback)</td><td><a class="el" href="classpp_1_1_host_resolver.html">pp::HostResolver</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_host_resolver.html#ad4d39f4e863917bc881fc98c236c9f84">~HostResolver</a>()</td><td><a class="el" href="classpp_1_1_host_resolver.html">pp::HostResolver</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_host_resolver.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_host_resolver.html
new file mode 100644
index 0000000..7c3a7ab7
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_host_resolver.html
@@ -0,0 +1,305 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::HostResolver Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::HostResolver" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::HostResolver:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_host_resolver__inherit__graph.png" border="0" usemap="#pp_1_1_host_resolver_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_host_resolver_inherit__map" id="pp_1_1_host_resolver_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="17,5,121,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_host_resolver-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_host_resolver.html#a98885c5eb6ba873ee54cbb657f9e43f5">HostResolver</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_host_resolver.html#aea32a40269f4ad3dc9d9cbadc89bea4f">HostResolver</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_host_resolver.html#adc4f2b44c8281920fbce2c4b93eddce2">HostResolver</a> (<a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a>, PP_Resource resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_host_resolver.html#a74ea3a85ad41ded8128b188c821cdb28">HostResolver</a> (const <a class="el" href="classpp_1_1_host_resolver.html">HostResolver</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_host_resolver.html#ad4d39f4e863917bc881fc98c236c9f84">~HostResolver</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_host_resolver.html">HostResolver</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_host_resolver.html#ab773cb42d3130d6973a8743bc7aba7bd">operator=</a> (const <a class="el" href="classpp_1_1_host_resolver.html">HostResolver</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_host_resolver.html#a894d4ae712b4b30e639f6d838c2f9d98">Resolve</a> (const char *host, uint16_t port, const PP_HostResolver_Hint &hint, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_host_resolver.html#aaa2e0834d48b8356f8f3185bc615611d">GetCanonicalName</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_host_resolver.html#ace959e4cb6fd0a51669f6eff64e08ae3">GetNetAddressCount</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_net_address.html">NetAddress</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_host_resolver.html#a3680cf97d53a80a536c5dc6441a4c6e7">GetNetAddress</a> (uint32_t index) const </td></tr>
+</table><h2>
+Static Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_host_resolver.html#ad56c139fa37d665cbb7e33f4d592b421">IsAvailable</a> ()</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="classpp_1_1_host_resolver.html" title="The HostResolver class supports host name resolution.">HostResolver</a></code> class supports host name resolution. </p>
+<p>Permissions: In order to run <code><a class="el" href="classpp_1_1_host_resolver.html#a894d4ae712b4b30e639f6d838c2f9d98" title="Requests resolution of a host name.">Resolve()</a></code>, apps permission <code>socket</code> with subrule <code>resolve-host</code> is required. For more details about network communication permissions, please see: <a href="http://developer.chrome.com/apps/app_network.html">http://developer.chrome.com/apps/app_network.html</a> </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a98885c5eb6ba873ee54cbb657f9e43f5"></a><!-- doxytag: member="pp::HostResolver::HostResolver" ref="a98885c5eb6ba873ee54cbb657f9e43f5" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_host_resolver.html#a98885c5eb6ba873ee54cbb657f9e43f5">pp::HostResolver::HostResolver</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor for creating an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> <code><a class="el" href="classpp_1_1_host_resolver.html" title="The HostResolver class supports host name resolution.">HostResolver</a></code> object. </p>
+</div>
+</div>
+<a class="anchor" id="aea32a40269f4ad3dc9d9cbadc89bea4f"></a><!-- doxytag: member="pp::HostResolver::HostResolver" ref="aea32a40269f4ad3dc9d9cbadc89bea4f" args="(const InstanceHandle &instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_host_resolver.html#a98885c5eb6ba873ee54cbb657f9e43f5">pp::HostResolver::HostResolver</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used to create a <code><a class="el" href="classpp_1_1_host_resolver.html" title="The HostResolver class supports host name resolution.">HostResolver</a></code> object. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="adc4f2b44c8281920fbce2c4b93eddce2"></a><!-- doxytag: member="pp::HostResolver::HostResolver" ref="adc4f2b44c8281920fbce2c4b93eddce2" args="(PassRef, PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_host_resolver.html#a98885c5eb6ba873ee54cbb657f9e43f5">pp::HostResolver::HostResolver</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a> </td>
+<td class="paramname">, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>resource</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used when you have received a <code>PP_Resource</code> as a return value that has had 1 ref added for you. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PPB_HostResolver</code> resource. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a74ea3a85ad41ded8128b188c821cdb28"></a><!-- doxytag: member="pp::HostResolver::HostResolver" ref="a74ea3a85ad41ded8128b188c821cdb28" args="(const HostResolver &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_host_resolver.html#a98885c5eb6ba873ee54cbb657f9e43f5">pp::HostResolver::HostResolver</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_host_resolver.html">HostResolver</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The copy constructor for <code><a class="el" href="classpp_1_1_host_resolver.html" title="The HostResolver class supports host name resolution.">HostResolver</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A reference to another <code><a class="el" href="classpp_1_1_host_resolver.html" title="The HostResolver class supports host name resolution.">HostResolver</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ad4d39f4e863917bc881fc98c236c9f84"></a><!-- doxytag: member="pp::HostResolver::~HostResolver" ref="ad4d39f4e863917bc881fc98c236c9f84" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_host_resolver.html#ad4d39f4e863917bc881fc98c236c9f84">pp::HostResolver::~HostResolver</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The destructor. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="aaa2e0834d48b8356f8f3185bc615611d"></a><!-- doxytag: member="pp::HostResolver::GetCanonicalName" ref="aaa2e0834d48b8356f8f3185bc615611d" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_host_resolver.html#aaa2e0834d48b8356f8f3185bc615611d">pp::HostResolver::GetCanonicalName</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the canonical name of the host. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A string <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> on success, which is an empty string if <code>PP_HOSTRESOLVER_FLAG_CANONNAME</code> is not set in the hint flags when calling <code><a class="el" href="classpp_1_1_host_resolver.html#a894d4ae712b4b30e639f6d838c2f9d98" title="Requests resolution of a host name.">Resolve()</a></code>; an undefined <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> if there is a pending <code><a class="el" href="classpp_1_1_host_resolver.html#a894d4ae712b4b30e639f6d838c2f9d98" title="Requests resolution of a host name.">Resolve()</a></code> call or the previous <code><a class="el" href="classpp_1_1_host_resolver.html#a894d4ae712b4b30e639f6d838c2f9d98" title="Requests resolution of a host name.">Resolve()</a></code> call failed. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a3680cf97d53a80a536c5dc6441a4c6e7"></a><!-- doxytag: member="pp::HostResolver::GetNetAddress" ref="a3680cf97d53a80a536c5dc6441a4c6e7" args="(uint32_t index) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_net_address.html">NetAddress</a> <a class="el" href="classpp_1_1_host_resolver.html#a3680cf97d53a80a536c5dc6441a4c6e7">pp::HostResolver::GetNetAddress</a> </td>
+<td>(</td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>index</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets a network address. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>An index indicating which address to return.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code> object. The object will be null (i.e., <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> returns true) if there is a pending <code><a class="el" href="classpp_1_1_host_resolver.html#a894d4ae712b4b30e639f6d838c2f9d98" title="Requests resolution of a host name.">Resolve()</a></code> call or the previous <code><a class="el" href="classpp_1_1_host_resolver.html#a894d4ae712b4b30e639f6d838c2f9d98" title="Requests resolution of a host name.">Resolve()</a></code> call failed, or the specified index is out of range. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ace959e4cb6fd0a51669f6eff64e08ae3"></a><!-- doxytag: member="pp::HostResolver::GetNetAddressCount" ref="ace959e4cb6fd0a51669f6eff64e08ae3" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="classpp_1_1_host_resolver.html#ace959e4cb6fd0a51669f6eff64e08ae3">pp::HostResolver::GetNetAddressCount</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the number of network addresses. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The number of available network addresses on success; 0 if there is a pending <code><a class="el" href="classpp_1_1_host_resolver.html#a894d4ae712b4b30e639f6d838c2f9d98" title="Requests resolution of a host name.">Resolve()</a></code> call or the previous <code><a class="el" href="classpp_1_1_host_resolver.html#a894d4ae712b4b30e639f6d838c2f9d98" title="Requests resolution of a host name.">Resolve()</a></code> call failed. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ad56c139fa37d665cbb7e33f4d592b421"></a><!-- doxytag: member="pp::HostResolver::IsAvailable" ref="ad56c139fa37d665cbb7e33f4d592b421" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static bool <a class="el" href="classpp_1_1_host_resolver.html#ad56c139fa37d665cbb7e33f4d592b421">pp::HostResolver::IsAvailable</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Static function for determining whether the browser supports the <code>PPB_HostResolver</code> interface. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the interface is available, false otherwise. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab773cb42d3130d6973a8743bc7aba7bd"></a><!-- doxytag: member="pp::HostResolver::operator=" ref="ab773cb42d3130d6973a8743bc7aba7bd" args="(const HostResolver &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_host_resolver.html">HostResolver</a>& pp::HostResolver::operator= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_host_resolver.html">HostResolver</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The assignment operator for <code><a class="el" href="classpp_1_1_host_resolver.html" title="The HostResolver class supports host name resolution.">HostResolver</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A reference to another <code><a class="el" href="classpp_1_1_host_resolver.html" title="The HostResolver class supports host name resolution.">HostResolver</a></code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A reference to this <code><a class="el" href="classpp_1_1_host_resolver.html" title="The HostResolver class supports host name resolution.">HostResolver</a></code> object. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a894d4ae712b4b30e639f6d838c2f9d98"></a><!-- doxytag: member="pp::HostResolver::Resolve" ref="a894d4ae712b4b30e639f6d838c2f9d98" args="(const char *host, uint16_t port, const PP_HostResolver_Hint &hint, const CompletionCallback &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_host_resolver.html#a894d4ae712b4b30e639f6d838c2f9d98">pp::HostResolver::Resolve</a> </td>
+<td>(</td>
+<td class="paramtype">const char * </td>
+<td class="paramname"><em>host</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">uint16_t </td>
+<td class="paramname"><em>port</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const PP_HostResolver_Hint & </td>
+<td class="paramname"><em>hint</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>callback</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Requests resolution of a host name. </p>
+<p>If the call completes successully, the results can be retrieved by <code><a class="el" href="classpp_1_1_host_resolver.html#aaa2e0834d48b8356f8f3185bc615611d" title="Gets the canonical name of the host.">GetCanonicalName()</a></code>, <code><a class="el" href="classpp_1_1_host_resolver.html#ace959e4cb6fd0a51669f6eff64e08ae3" title="Gets the number of network addresses.">GetNetAddressCount()</a></code> and <code><a class="el" href="classpp_1_1_host_resolver.html#a3680cf97d53a80a536c5dc6441a4c6e7" title="Gets a network address.">GetNetAddress()</a></code>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">host</td><td>The host name (or IP address literal) to resolve. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">port</td><td>The port number to be set in the resulting network addresses. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">hint</td><td>A <code>PP_HostResolver_Hint</code> structure providing hints for host resolution. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. <code>PP_ERROR_NOACCESS</code> will be returned if the caller doesn't have required permissions. <code>PP_ERROR_NAME_NOT_RESOLVED</code> will be returned if the host name couldn't be resolved. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="host__resolver_8h.html">host_resolver.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_host_resolver__inherit__graph.png b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_host_resolver__inherit__graph.png
new file mode 100644
index 0000000..a29fbe1
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_host_resolver__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_i_m_e_input_event-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_i_m_e_input_event-members.html
new file mode 100644
index 0000000..46f4395
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_i_m_e_input_event-members.html
@@ -0,0 +1,38 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_i_m_e_input_event.html">pp::IMEInputEvent</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a6f94a5cd8453f1b69e55aadde73354e7">GetModifiers</a>() const </td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_i_m_e_input_event.html#aee5f2af391fd269f35271012247768ac">GetSegmentNumber</a>() const </td><td><a class="el" href="classpp_1_1_i_m_e_input_event.html">pp::IMEInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_i_m_e_input_event.html#a3deeed9cfbc9f2cff0cb027b870e3ce6">GetSegmentOffset</a>(uint32_t index) const </td><td><a class="el" href="classpp_1_1_i_m_e_input_event.html">pp::IMEInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_i_m_e_input_event.html#a94e9078036a3bdf0af6d5508d9115cf6">GetSelection</a>(uint32_t *start, uint32_t *end) const </td><td><a class="el" href="classpp_1_1_i_m_e_input_event.html">pp::IMEInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_i_m_e_input_event.html#ada4e768c2aea31e443d8bc9d5e4a9f36">GetTargetSegment</a>() const </td><td><a class="el" href="classpp_1_1_i_m_e_input_event.html">pp::IMEInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_i_m_e_input_event.html#ae2b82f9465fa0847af7e0214fb43232f">GetText</a>() const </td><td><a class="el" href="classpp_1_1_i_m_e_input_event.html">pp::IMEInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#acc79ecdcf19f5b8a8a7268fc8ff51531">GetTimeStamp</a>() const </td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a73ca79c06ff9a39304e3b390090f03dc">GetType</a>() const </td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_i_m_e_input_event.html#a44a2a4139e63a21757a50c731e17bacd">IMEInputEvent</a>()</td><td><a class="el" href="classpp_1_1_i_m_e_input_event.html">pp::IMEInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_i_m_e_input_event.html#aedfd74fe9ee6c1cbdbcc9f78b25a5621">IMEInputEvent</a>(const InputEvent &event)</td><td><a class="el" href="classpp_1_1_i_m_e_input_event.html">pp::IMEInputEvent</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_i_m_e_input_event.html#a9004ae92edc6bcb797dd3720acb290af">IMEInputEvent</a>(const InstanceHandle &instance, PP_InputEvent_Type type, PP_TimeTicks time_stamp, const Var &text, const std::vector< uint32_t > &segment_offsets, int32_t target_segment, const std::pair< uint32_t, uint32_t > &selection)</td><td><a class="el" href="classpp_1_1_i_m_e_input_event.html">pp::IMEInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#ac7581e4321abe8de6f3b48d70f4aa65d">InputEvent</a>()</td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a1d4f7d3fb88de3cccc60ab26b92ccf23">InputEvent</a>(PP_Resource input_event_resource)</td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a2492183af4fecec44a423a5b7eae6faf">~InputEvent</a>()</td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_i_m_e_input_event.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_i_m_e_input_event.html
new file mode 100644
index 0000000..c042157
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_i_m_e_input_event.html
@@ -0,0 +1,257 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::IMEInputEvent Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::IMEInputEvent" --><!-- doxytag: inherits="pp::InputEvent" --><div class="dynheader">
+Inheritance diagram for pp::IMEInputEvent:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_i_m_e_input_event__inherit__graph.png" border="0" usemap="#pp_1_1_i_m_e_input_event_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_i_m_e_input_event_inherit__map" id="pp_1_1_i_m_e_input_event_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_input_event.html" title="This class represents an input event resource." alt="" coords="16,83,131,112"></area><area shape="rect" id="node4" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="21,5,125,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_i_m_e_input_event-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_i_m_e_input_event.html#a44a2a4139e63a21757a50c731e17bacd">IMEInputEvent</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_i_m_e_input_event.html#aedfd74fe9ee6c1cbdbcc9f78b25a5621">IMEInputEvent</a> (const <a class="el" href="classpp_1_1_input_event.html">InputEvent</a> &event)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_i_m_e_input_event.html#a9004ae92edc6bcb797dd3720acb290af">IMEInputEvent</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, PP_InputEvent_Type type, PP_TimeTicks time_stamp, const <a class="el" href="classpp_1_1_var.html">Var</a> &text, const std::vector< uint32_t > &segment_offsets, int32_t target_segment, const std::pair< uint32_t, uint32_t > &selection)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_i_m_e_input_event.html#ae2b82f9465fa0847af7e0214fb43232f">GetText</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_i_m_e_input_event.html#aee5f2af391fd269f35271012247768ac">GetSegmentNumber</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_i_m_e_input_event.html#a3deeed9cfbc9f2cff0cb027b870e3ce6">GetSegmentOffset</a> (uint32_t index) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_i_m_e_input_event.html#ada4e768c2aea31e443d8bc9d5e4a9f36">GetTargetSegment</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_i_m_e_input_event.html#a94e9078036a3bdf0af6d5508d9115cf6">GetSelection</a> (uint32_t *start, uint32_t *end) const </td></tr>
+</table>
+<hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a44a2a4139e63a21757a50c731e17bacd"></a><!-- doxytag: member="pp::IMEInputEvent::IMEInputEvent" ref="a44a2a4139e63a21757a50c731e17bacd" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_i_m_e_input_event.html#a44a2a4139e63a21757a50c731e17bacd">pp::IMEInputEvent::IMEInputEvent</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> IME input event object. </p>
+</div>
+</div>
+<a class="anchor" id="aedfd74fe9ee6c1cbdbcc9f78b25a5621"></a><!-- doxytag: member="pp::IMEInputEvent::IMEInputEvent" ref="aedfd74fe9ee6c1cbdbcc9f78b25a5621" args="(const InputEvent &event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_i_m_e_input_event.html#a44a2a4139e63a21757a50c731e17bacd">pp::IMEInputEvent::IMEInputEvent</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_input_event.html">InputEvent</a> & </td>
+<td class="paramname"><em>event</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs an IME input event object from the provided generic input event. </p>
+<p>If the given event is itself <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> or is not an IME input event, the object will be <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">event</td><td>A generic input event. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a9004ae92edc6bcb797dd3720acb290af"></a><!-- doxytag: member="pp::IMEInputEvent::IMEInputEvent" ref="a9004ae92edc6bcb797dd3720acb290af" args="(const InstanceHandle &instance, PP_InputEvent_Type type, PP_TimeTicks time_stamp, const Var &text, const std::vector< uint32_t > &segment_offsets, int32_t target_segment, const std::pair< uint32_t, uint32_t > &selection)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_i_m_e_input_event.html#a44a2a4139e63a21757a50c731e17bacd">pp::IMEInputEvent::IMEInputEvent</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_InputEvent_Type </td>
+<td class="paramname"><em>type</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_TimeTicks </td>
+<td class="paramname"><em>time_stamp</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>text</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const std::vector< uint32_t > & </td>
+<td class="paramname"><em>segment_offsets</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>target_segment</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const std::pair< uint32_t, uint32_t > & </td>
+<td class="paramname"><em>selection</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This constructor manually constructs an IME event from the provided parameters. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance for which this event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>A <code>PP_InputEvent_Type</code> identifying the type of input event. The type must be one of the ime event types.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">time_stamp</td><td>A <code>PP_TimeTicks</code> indicating the time when the event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">text</td><td>The string returned by <code>GetText</code>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">segment_offsets</td><td>The array of numbers returned by <code>GetSegmentOffset</code>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">target_segment</td><td>The number returned by <code>GetTargetSegment</code>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">selection</td><td>The range returned by <code>GetSelection</code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="aee5f2af391fd269f35271012247768ac"></a><!-- doxytag: member="pp::IMEInputEvent::GetSegmentNumber" ref="aee5f2af391fd269f35271012247768ac" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="classpp_1_1_i_m_e_input_event.html#aee5f2af391fd269f35271012247768ac">pp::IMEInputEvent::GetSegmentNumber</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns the number of segments in the composition text. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The number of segments. For events other than COMPOSITION_UPDATE, returns 0. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a3deeed9cfbc9f2cff0cb027b870e3ce6"></a><!-- doxytag: member="pp::IMEInputEvent::GetSegmentOffset" ref="a3deeed9cfbc9f2cff0cb027b870e3ce6" args="(uint32_t index) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="classpp_1_1_i_m_e_input_event.html#a3deeed9cfbc9f2cff0cb027b870e3ce6">pp::IMEInputEvent::GetSegmentOffset</a> </td>
+<td>(</td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>index</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns the position of the index-th segmentation point in the composition text. </p>
+<p>The position is given by a byte-offset (not a character-offset) of the string returned by <a class="el" href="classpp_1_1_i_m_e_input_event.html#ae2b82f9465fa0847af7e0214fb43232f" title="Returns the composition text as a UTF-8 string for the given IME event.">GetText()</a>. It always satisfies 0=GetSegmentOffset(0) < ... < GetSegmentOffset(i) < GetSegmentOffset(i+1) < ... < GetSegmentOffset(<a class="el" href="classpp_1_1_i_m_e_input_event.html#aee5f2af391fd269f35271012247768ac" title="Returns the number of segments in the composition text.">GetSegmentNumber()</a>)=(byte-length of <a class="el" href="classpp_1_1_i_m_e_input_event.html#ae2b82f9465fa0847af7e0214fb43232f" title="Returns the composition text as a UTF-8 string for the given IME event.">GetText()</a>). Note that [GetSegmentOffset(i), GetSegmentOffset(i+1)) represents the range of the i-th segment, and hence <a class="el" href="classpp_1_1_i_m_e_input_event.html#aee5f2af391fd269f35271012247768ac" title="Returns the number of segments in the composition text.">GetSegmentNumber()</a> can be a valid argument to this function instead of an off-by-1 error.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">ime_event</td><td>A <code>PP_Resource</code> corresponding to an IME event.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>An integer indicating a segment.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The byte-offset of the segmentation point. If the event is not COMPOSITION_UPDATE or index is out of range, returns 0. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a94e9078036a3bdf0af6d5508d9115cf6"></a><!-- doxytag: member="pp::IMEInputEvent::GetSelection" ref="a94e9078036a3bdf0af6d5508d9115cf6" args="(uint32_t *start, uint32_t *end) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_i_m_e_input_event.html#a94e9078036a3bdf0af6d5508d9115cf6">pp::IMEInputEvent::GetSelection</a> </td>
+<td>(</td>
+<td class="paramtype">uint32_t * </td>
+<td class="paramname"><em>start</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">uint32_t * </td>
+<td class="paramname"><em>end</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Obtains the range selected by caret in the composition text. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[out]</td><td class="paramname">start</td><td>An integer indicating a start offset of selection range.</td></tr>
+<tr><td class="paramdir">[out]</td><td class="paramname">end</td><td>An integer indicating an end offset of selection range. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ada4e768c2aea31e443d8bc9d5e4a9f36"></a><!-- doxytag: member="pp::IMEInputEvent::GetTargetSegment" ref="ada4e768c2aea31e443d8bc9d5e4a9f36" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_i_m_e_input_event.html#ada4e768c2aea31e443d8bc9d5e4a9f36">pp::IMEInputEvent::GetTargetSegment</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns the index of the current target segment of composition. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An integer indicating the index of the target segment. When there is no active target segment, or the event is not COMPOSITION_UPDATE, returns -1. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ae2b82f9465fa0847af7e0214fb43232f"></a><!-- doxytag: member="pp::IMEInputEvent::GetText" ref="ae2b82f9465fa0847af7e0214fb43232f" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_i_m_e_input_event.html#ae2b82f9465fa0847af7e0214fb43232f">pp::IMEInputEvent::GetText</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns the composition text as a UTF-8 string for the given IME event. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A string var representing the composition text. For non-IME input events the return value will be an undefined var. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="input__event_8h.html">input_event.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_i_m_e_input_event__inherit__graph.png b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_i_m_e_input_event__inherit__graph.png
new file mode 100644
index 0000000..b7a6ce4
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_i_m_e_input_event__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_image_data-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_image_data-members.html
new file mode 100644
index 0000000..679f50f
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_image_data-members.html
@@ -0,0 +1,37 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_image_data.html">pp::ImageData</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_image_data.html#a545dece2d1350ab9ecea5592a665b78c">data</a>() const </td><td><a class="el" href="classpp_1_1_image_data.html">pp::ImageData</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_image_data.html#a0985d86289358e1f4298c176818b9a91">format</a>() const </td><td><a class="el" href="classpp_1_1_image_data.html">pp::ImageData</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_image_data.html#af646177d375e11d77eec52e9324fc076">GetAddr32</a>(const Point &coord) const </td><td><a class="el" href="classpp_1_1_image_data.html">pp::ImageData</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_image_data.html#a8aaf07d11584a06313cf03ca2440bb12">GetAddr32</a>(const Point &coord)</td><td><a class="el" href="classpp_1_1_image_data.html">pp::ImageData</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_image_data.html#a4208e7eabf98df7b91c01ed6fcd92425">GetNativeImageDataFormat</a>()</td><td><a class="el" href="classpp_1_1_image_data.html">pp::ImageData</a></td><td><code> [static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_image_data.html#a2ef5c9156701868eede2c839309a04f9">ImageData</a>()</td><td><a class="el" href="classpp_1_1_image_data.html">pp::ImageData</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_image_data.html#ae8a198b71756afbeb745beeadec032f9">ImageData</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_image_data.html">pp::ImageData</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_image_data.html#a9943421a80760f3de284ae9d7ce9e431">ImageData</a>(const ImageData &other)</td><td><a class="el" href="classpp_1_1_image_data.html">pp::ImageData</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_image_data.html#a9c2c26e4130e33d9d7ad7c72e32cea1d">ImageData</a>(const InstanceHandle &instance, PP_ImageDataFormat format, const Size &size, bool init_to_zero)</td><td><a class="el" href="classpp_1_1_image_data.html">pp::ImageData</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_image_data.html#a9be445247d64ddaad4b6623021db7232">IsImageDataFormatSupported</a>(PP_ImageDataFormat format)</td><td><a class="el" href="classpp_1_1_image_data.html">pp::ImageData</a></td><td><code> [static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_image_data.html#a35b7e23dbb14817eacca3967dc4ef6b7">operator=</a>(const ImageData &other)</td><td><a class="el" href="classpp_1_1_image_data.html">pp::ImageData</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">pp::Resource::operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_image_data.html#a2c5e0060b4227c0c9dd28287bc2e4961">size</a>() const </td><td><a class="el" href="classpp_1_1_image_data.html">pp::ImageData</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_image_data.html#a3c107aead77cea8ba1adcbc5654078b7">stride</a>() const </td><td><a class="el" href="classpp_1_1_image_data.html">pp::ImageData</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_image_data.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_image_data.html
new file mode 100644
index 0000000..e248b20
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_image_data.html
@@ -0,0 +1,350 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::ImageData Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::ImageData" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::ImageData:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_image_data__inherit__graph.png" border="0" usemap="#pp_1_1_image_data_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_image_data_inherit__map" id="pp_1_1_image_data_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="12,5,116,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_image_data-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_image_data.html#a2ef5c9156701868eede2c839309a04f9">ImageData</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_image_data.html#ae8a198b71756afbeb745beeadec032f9">ImageData</a> (<a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a>, PP_Resource resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_image_data.html#a9943421a80760f3de284ae9d7ce9e431">ImageData</a> (const <a class="el" href="classpp_1_1_image_data.html">ImageData</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_image_data.html#a9c2c26e4130e33d9d7ad7c72e32cea1d">ImageData</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, PP_ImageDataFormat <a class="el" href="classpp_1_1_image_data.html#a0985d86289358e1f4298c176818b9a91">format</a>, const <a class="el" href="classpp_1_1_size.html">Size</a> &<a class="el" href="classpp_1_1_image_data.html#a2c5e0060b4227c0c9dd28287bc2e4961">size</a>, bool init_to_zero)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_image_data.html">ImageData</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_image_data.html#a35b7e23dbb14817eacca3967dc4ef6b7">operator=</a> (const <a class="el" href="classpp_1_1_image_data.html">ImageData</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_ImageDataFormat </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_image_data.html#a0985d86289358e1f4298c176818b9a91">format</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_size.html">pp::Size</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_image_data.html#a2c5e0060b4227c0c9dd28287bc2e4961">size</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_image_data.html#a3c107aead77cea8ba1adcbc5654078b7">stride</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_image_data.html#a545dece2d1350ab9ecea5592a665b78c">data</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const uint32_t * </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_image_data.html#af646177d375e11d77eec52e9324fc076">GetAddr32</a> (const <a class="el" href="classpp_1_1_point.html">Point</a> &coord) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t * </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_image_data.html#a8aaf07d11584a06313cf03ca2440bb12">GetAddr32</a> (const <a class="el" href="classpp_1_1_point.html">Point</a> &coord)</td></tr>
+</table><h2>
+Static Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_image_data.html#a9be445247d64ddaad4b6623021db7232">IsImageDataFormatSupported</a> (PP_ImageDataFormat <a class="el" href="classpp_1_1_image_data.html#a0985d86289358e1f4298c176818b9a91">format</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static PP_ImageDataFormat </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_image_data.html#a4208e7eabf98df7b91c01ed6fcd92425">GetNativeImageDataFormat</a> ()</td></tr>
+</table>
+<hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a2ef5c9156701868eede2c839309a04f9"></a><!-- doxytag: member="pp::ImageData::ImageData" ref="a2ef5c9156701868eede2c839309a04f9" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_image_data.html#a2ef5c9156701868eede2c839309a04f9">pp::ImageData::ImageData</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor for creating an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> <code><a class="el" href="classpp_1_1_image_data.html">ImageData</a></code> object. </p>
+</div>
+</div>
+<a class="anchor" id="ae8a198b71756afbeb745beeadec032f9"></a><!-- doxytag: member="pp::ImageData::ImageData" ref="ae8a198b71756afbeb745beeadec032f9" args="(PassRef, PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_image_data.html#a2ef5c9156701868eede2c839309a04f9">pp::ImageData::ImageData</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a> </td>
+<td class="paramname">, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>resource</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used when you have received a <code>PP_Resource</code> as a return value that has already been reference counted. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A PP_Resource corresponding to image data. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a9943421a80760f3de284ae9d7ce9e431"></a><!-- doxytag: member="pp::ImageData::ImageData" ref="a9943421a80760f3de284ae9d7ce9e431" args="(const ImageData &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_image_data.html#a2ef5c9156701868eede2c839309a04f9">pp::ImageData::ImageData</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_image_data.html">ImageData</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The copy constructor for <code><a class="el" href="classpp_1_1_image_data.html">ImageData</a></code>. </p>
+<p>This constructor produces an <code><a class="el" href="classpp_1_1_image_data.html">ImageData</a></code> object that shares the underlying <code>Image</code> resource with <code>other</code>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A pointer to an image data. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a9c2c26e4130e33d9d7ad7c72e32cea1d"></a><!-- doxytag: member="pp::ImageData::ImageData" ref="a9c2c26e4130e33d9d7ad7c72e32cea1d" args="(const InstanceHandle &instance, PP_ImageDataFormat format, const Size &size, bool init_to_zero)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_image_data.html#a2ef5c9156701868eede2c839309a04f9">pp::ImageData::ImageData</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_ImageDataFormat </td>
+<td class="paramname"><em>format</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_size.html">Size</a> & </td>
+<td class="paramname"><em>size</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">bool </td>
+<td class="paramname"><em>init_to_zero</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor that allocates a new <code><a class="el" href="classpp_1_1_image_data.html">ImageData</a></code> in the browser with the provided parameters. </p>
+<p>The resulting object will be <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> if the allocation failed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>A PP_ImageDataFormat containing desired image format. PP_ImageDataFormat is an enumeration of the different types of image data formats. Refer to <a href="../pepperc/ppb__image__data_8h.html"><code>ppb_image_data.h</code></a> for further information.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>A pointer to a <code><a class="el" href="classpp_1_1_size.html" title="A size of an object based on width and height.">Size</a></code> containing the image size.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">init_to_zero</td><td>A bool used to determine transparency at creation. Set the <code>init_to_zero</code> flag if you want the bitmap initialized to transparent during the creation process. If this flag is not set, the current contents of the bitmap will be undefined, and the module should be sure to set all the pixels. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a545dece2d1350ab9ecea5592a665b78c"></a><!-- doxytag: member="pp::ImageData::data" ref="a545dece2d1350ab9ecea5592a665b78c" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void* <a class="el" href="classpp_1_1_image_data.html#a545dece2d1350ab9ecea5592a665b78c">pp::ImageData::data</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A getter function for returning a raw pointer to the image pixels. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A raw pointer to the image pixels. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a0985d86289358e1f4298c176818b9a91"></a><!-- doxytag: member="pp::ImageData::format" ref="a0985d86289358e1f4298c176818b9a91" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_ImageDataFormat <a class="el" href="classpp_1_1_image_data.html#a0985d86289358e1f4298c176818b9a91">pp::ImageData::format</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A getter function for returning the current format for images. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_ImageDataFormat</code> containing the preferred format. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="af646177d375e11d77eec52e9324fc076"></a><!-- doxytag: member="pp::ImageData::GetAddr32" ref="af646177d375e11d77eec52e9324fc076" args="(const Point &coord) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">const uint32_t* <a class="el" href="classpp_1_1_image_data.html#af646177d375e11d77eec52e9324fc076">pp::ImageData::GetAddr32</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">Point</a> & </td>
+<td class="paramname"><em>coord</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function is used retrieve the address of the given pixel for 32-bit pixel formats. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">coord</td><td>A <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code> representing the x and y coordinates for a specific pixel.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The address for the pixel. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a8aaf07d11584a06313cf03ca2440bb12"></a><!-- doxytag: member="pp::ImageData::GetAddr32" ref="a8aaf07d11584a06313cf03ca2440bb12" args="(const Point &coord)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t* <a class="el" href="classpp_1_1_image_data.html#af646177d375e11d77eec52e9324fc076">pp::ImageData::GetAddr32</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">Point</a> & </td>
+<td class="paramname"><em>coord</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function is used retrieve the address of the given pixel for 32-bit pixel formats. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">coord</td><td>A <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code> representing the x and y coordinates for a specific pixel.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The address for the pixel. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a4208e7eabf98df7b91c01ed6fcd92425"></a><!-- doxytag: member="pp::ImageData::GetNativeImageDataFormat" ref="a4208e7eabf98df7b91c01ed6fcd92425" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static PP_ImageDataFormat <a class="el" href="classpp_1_1_image_data.html#a4208e7eabf98df7b91c01ed6fcd92425">pp::ImageData::GetNativeImageDataFormat</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_image_data.html#a4208e7eabf98df7b91c01ed6fcd92425" title="GetNativeImageDataFormat() determines the browser's preferred format for images.">GetNativeImageDataFormat()</a> determines the browser's preferred format for images. </p>
+<p>Using this format guarantees no extra conversions will occur when painting.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_ImageDataFormat</code> containing the preferred format. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a9be445247d64ddaad4b6623021db7232"></a><!-- doxytag: member="pp::ImageData::IsImageDataFormatSupported" ref="a9be445247d64ddaad4b6623021db7232" args="(PP_ImageDataFormat format)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static bool <a class="el" href="classpp_1_1_image_data.html#a9be445247d64ddaad4b6623021db7232">pp::ImageData::IsImageDataFormatSupported</a> </td>
+<td>(</td>
+<td class="paramtype">PP_ImageDataFormat </td>
+<td class="paramname"><em>format</em></td><td>)</td>
+<td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_image_data.html#a9be445247d64ddaad4b6623021db7232" title="IsImageDataFormatSupported() returns true if the supplied format is supported by the browser...">IsImageDataFormatSupported()</a> returns <code>true</code> if the supplied format is supported by the browser. </p>
+<p>Note: <code>PP_IMAGEDATAFORMAT_BGRA_PREMUL</code> and <code>PP_IMAGEDATAFORMAT_RGBA_PREMUL</code> formats are always supported. Other image formats do not make this guarantee, and should be checked first with <a class="el" href="classpp_1_1_image_data.html#a9be445247d64ddaad4b6623021db7232" title="IsImageDataFormatSupported() returns true if the supplied format is supported by the browser...">IsImageDataFormatSupported()</a> before using.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Image data format.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if the format is supported by the browser. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a35b7e23dbb14817eacca3967dc4ef6b7"></a><!-- doxytag: member="pp::ImageData::operator=" ref="a35b7e23dbb14817eacca3967dc4ef6b7" args="(const ImageData &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_image_data.html">ImageData</a>& pp::ImageData::operator= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_image_data.html">ImageData</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function decrements the reference count of this <code><a class="el" href="classpp_1_1_image_data.html">ImageData</a></code> and increments the reference count of the <code>other</code> <code><a class="el" href="classpp_1_1_image_data.html">ImageData</a></code>. </p>
+<p>This <code><a class="el" href="classpp_1_1_image_data.html">ImageData</a></code> shares the underlying image resource with <code>other</code>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>An other image data.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A new image data context. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2c5e0060b4227c0c9dd28287bc2e4961"></a><!-- doxytag: member="pp::ImageData::size" ref="a2c5e0060b4227c0c9dd28287bc2e4961" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_size.html">pp::Size</a> <a class="el" href="classpp_1_1_image_data.html#a2c5e0060b4227c0c9dd28287bc2e4961">pp::ImageData::size</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A getter function for returning the image size. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The image size in pixels. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a3c107aead77cea8ba1adcbc5654078b7"></a><!-- doxytag: member="pp::ImageData::stride" ref="a3c107aead77cea8ba1adcbc5654078b7" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_image_data.html#a3c107aead77cea8ba1adcbc5654078b7">pp::ImageData::stride</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A getter function for returning the row width in bytes. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The row width in bytes. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="image__data_8h.html">image_data.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_image_data__inherit__graph.png b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_image_data__inherit__graph.png
new file mode 100644
index 0000000..5febb9a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_image_data__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_input_event-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_input_event-members.html
new file mode 100644
index 0000000..dbbc40c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_input_event-members.html
@@ -0,0 +1,30 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a6f94a5cd8453f1b69e55aadde73354e7">GetModifiers</a>() const </td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#acc79ecdcf19f5b8a8a7268fc8ff51531">GetTimeStamp</a>() const </td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a73ca79c06ff9a39304e3b390090f03dc">GetType</a>() const </td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#ac7581e4321abe8de6f3b48d70f4aa65d">InputEvent</a>()</td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a1d4f7d3fb88de3cccc60ab26b92ccf23">InputEvent</a>(PP_Resource input_event_resource)</td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a2492183af4fecec44a423a5b7eae6faf">~InputEvent</a>()</td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_input_event.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_input_event.html
new file mode 100644
index 0000000..6145567
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_input_event.html
@@ -0,0 +1,158 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::InputEvent Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::InputEvent" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::InputEvent:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_input_event__inherit__graph.png" border="0" usemap="#pp_1_1_input_event_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_input_event_inherit__map" id="pp_1_1_input_event_inherit__map">
+<area shape="rect" id="node5" href="classpp_1_1_i_m_e_input_event.html" title="pp::IMEInputEvent" alt="" coords="339,5,475,35"></area><area shape="rect" id="node7" href="classpp_1_1_keyboard_input_event.html" title="pp::KeyboardInputEvent" alt="" coords="320,59,493,88"></area><area shape="rect" id="node9" href="classpp_1_1_mouse_input_event.html" title="This class handles mouse events." alt="" coords="329,112,484,141"></area><area shape="rect" id="node11" href="classpp_1_1_touch_input_event.html" title="pp::TouchInputEvent" alt="" coords="332,165,481,195"></area><area shape="rect" id="node13" href="classpp_1_1_wheel_input_event.html" title="pp::WheelInputEvent" alt="" coords="331,219,483,248"></area><area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="5,112,109,141"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_input_event-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_input_event.html#ac7581e4321abe8de6f3b48d70f4aa65d">InputEvent</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_input_event.html#a1d4f7d3fb88de3cccc60ab26b92ccf23">InputEvent</a> (PP_Resource input_event_resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_input_event.html#a2492183af4fecec44a423a5b7eae6faf">~InputEvent</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_InputEvent_Type </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_input_event.html#a73ca79c06ff9a39304e3b390090f03dc">GetType</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_TimeTicks </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_input_event.html#acc79ecdcf19f5b8a8a7268fc8ff51531">GetTimeStamp</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_input_event.html#a6f94a5cd8453f1b69e55aadde73354e7">GetModifiers</a> () const </td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This class represents an input event resource. </p>
+<p>Normally you will get passed this object through the HandleInputEvent() function on the <code><a class="el" href="classpp_1_1_instance.html">Instance</a></code> object.</p>
+<p>Typically you would check the type of the event and then create the appropriate event-specific object to query the properties.</p>
+<p><b>Example:</b> </p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">bool</span> MyInstance::HandleInputEvent(<span class="keyword">const</span> <a class="code" href="classpp_1_1_input_event.html" title="This class represents an input event resource.">pp::InputEvent</a>& event) {
+ <span class="keywordflow">switch</span> (event.<a class="code" href="classpp_1_1_input_event.html#a73ca79c06ff9a39304e3b390090f03dc" title="GetType() returns the type of input event for this input event object.">GetType</a>()) {
+ <span class="keywordflow">case</span> PP_INPUTEVENT_TYPE_MOUSEDOWN {
+ <a class="code" href="classpp_1_1_mouse_input_event.html" title="This class handles mouse events.">pp::MouseInputEvent</a> mouse_event(event);
+ <span class="keywordflow">return</span> HandleMouseDown(mouse_event.GetMousePosition());
+ }
+ <span class="keywordflow">default</span>:
+ <span class="keywordflow">return</span> <span class="keyword">false</span>;
+ }
+</pre></div> </div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="ac7581e4321abe8de6f3b48d70f4aa65d"></a><!-- doxytag: member="pp::InputEvent::InputEvent" ref="ac7581e4321abe8de6f3b48d70f4aa65d" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_input_event.html#ac7581e4321abe8de6f3b48d70f4aa65d">pp::InputEvent::InputEvent</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor that creates an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> <a class="el" href="classpp_1_1_input_event.html" title="This class represents an input event resource.">InputEvent</a> object. </p>
+</div>
+</div>
+<a class="anchor" id="a1d4f7d3fb88de3cccc60ab26b92ccf23"></a><!-- doxytag: member="pp::InputEvent::InputEvent" ref="a1d4f7d3fb88de3cccc60ab26b92ccf23" args="(PP_Resource input_event_resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_input_event.html#ac7581e4321abe8de6f3b48d70f4aa65d">pp::InputEvent::InputEvent</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>input_event_resource</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This constructor constructs an input event from the provided input event resource ID. </p>
+<p>The <a class="el" href="classpp_1_1_input_event.html" title="This class represents an input event resource.">InputEvent</a> object will be <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> if the given resource is not a valid input event.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">input_event_resource</td><td>A input event resource ID. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a2492183af4fecec44a423a5b7eae6faf"></a><!-- doxytag: member="pp::InputEvent::~InputEvent" ref="a2492183af4fecec44a423a5b7eae6faf" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_input_event.html#a2492183af4fecec44a423a5b7eae6faf">pp::InputEvent::~InputEvent</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a6f94a5cd8453f1b69e55aadde73354e7"></a><!-- doxytag: member="pp::InputEvent::GetModifiers" ref="a6f94a5cd8453f1b69e55aadde73354e7" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="classpp_1_1_input_event.html#a6f94a5cd8453f1b69e55aadde73354e7">pp::InputEvent::GetModifiers</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_input_event.html#a6f94a5cd8453f1b69e55aadde73354e7" title="GetModifiers() returns a bitfield indicating which modifiers were down at the time of the event...">GetModifiers()</a> returns a bitfield indicating which modifiers were down at the time of the event. </p>
+<p>This is a combination of the flags in the <code>PP_InputEvent_Modifier</code> enum.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The modifiers associated with the event, or 0 if the given resource is not a valid event resource. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="acc79ecdcf19f5b8a8a7268fc8ff51531"></a><!-- doxytag: member="pp::InputEvent::GetTimeStamp" ref="acc79ecdcf19f5b8a8a7268fc8ff51531" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_TimeTicks <a class="el" href="classpp_1_1_input_event.html#acc79ecdcf19f5b8a8a7268fc8ff51531">pp::InputEvent::GetTimeStamp</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_input_event.html#acc79ecdcf19f5b8a8a7268fc8ff51531" title="GetTimeStamp() returns the time that the event was generated.">GetTimeStamp()</a> returns the time that the event was generated. </p>
+<p>The time will be before the current time since processing and dispatching the event has some overhead. Use this value to compare the times the user generated two events without being sensitive to variable processing time.</p>
+<p>The return value is in time ticks, which is a monotonically increasing clock not related to the wall clock time. It will not change if the user changes their clock or daylight savings time starts, so can be reliably used to compare events. This means, however, that you can't correlate event times to a particular time of day on the system clock.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_TimeTicks</code> containing the time the event was generated. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a73ca79c06ff9a39304e3b390090f03dc"></a><!-- doxytag: member="pp::InputEvent::GetType" ref="a73ca79c06ff9a39304e3b390090f03dc" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_InputEvent_Type <a class="el" href="classpp_1_1_input_event.html#a73ca79c06ff9a39304e3b390090f03dc">pp::InputEvent::GetType</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_input_event.html#a73ca79c06ff9a39304e3b390090f03dc" title="GetType() returns the type of input event for this input event object.">GetType()</a> returns the type of input event for this input event object. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_InputEvent_Type</code> if successful, PP_INPUTEVENT_TYPE_UNDEFINED if the resource is invalid. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="input__event_8h.html">input_event.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_input_event__inherit__graph.png b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_input_event__inherit__graph.png
new file mode 100644
index 0000000..5b98683
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_input_event__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_instance-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_instance-members.html
new file mode 100644
index 0000000..347e394
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_instance-members.html
@@ -0,0 +1,36 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_instance.html">pp::Instance</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a9773263ee281405030548fc224eeec08">AddPerInstanceObject</a>(const std::string &interface_name, void *object)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a147a1c1817a7a1fb2b76f5c87ab08899">BindGraphics</a>(const Graphics2D &graphics)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#abcfd0eb0995e6273271b4ff4c3df16ae">BindGraphics</a>(const Graphics3D &graphics)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a286bc22174e2f7b6e917c56aa5c7de86">ClearInputEventRequest</a>(uint32_t event_classes)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a42c67b21f11bef29c5b341c78926bad3">DidChangeFocus</a>(bool has_focus)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#ad952f05e42f0e036157beb216f12f3f3">DidChangeView</a>(const View &view)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a72ac4ec0b62c4cd8dedae3cf0fc577c2">DidChangeView</a>(const Rect &position, const Rect &clip)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a6dec498f1d49571be9fd40e23745327f">GetPerInstanceObject</a>(PP_Instance instance, const std::string &interface_name)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td><code> [static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a6cd99065ef0a55555647253442563225">HandleDocumentLoad</a>(const URLLoader &url_loader)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a46aa2feb657fa14263a29375fe458b00">HandleInputEvent</a>(const pp::InputEvent &event)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a5dce8c8b36b1df7cfcc12e42397a35e8">HandleMessage</a>(const Var &message)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a4f915e70caaef514a49ef8afcddde30f">Init</a>(uint32_t argc, const char *argn[], const char *argv[])</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a398b1946805872334781dac993cfe704">Instance</a>(PP_Instance instance)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a451fb956e64fd3db891608148a044c01">IsFullFrame</a>()</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a192ab89f4acf2e1e25df14e22d0cff43">LogToConsole</a>(PP_LogLevel level, const Var &value)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a48286ccf1217b3ae02138049d00af48f">LogToConsoleWithSource</a>(PP_LogLevel level, const Var &source, const Var &value)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a67e888a4e4e23effe7a09625e73ecae9">PostMessage</a>(const Var &message)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#aeb29ff4201f9ae0e356c5ed0bb4a2679">pp_instance</a>() const </td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a33c633189c7c321dac8e0c5dc6e67f5b">RemovePerInstanceObject</a>(const std::string &interface_name, void *object)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#ad1b6c19954ff9446349a6fa5684eea2d">RemovePerInstanceObject</a>(const InstanceHandle &instance, const std::string &interface_name, void *object)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td><code> [static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a6341c14fc54427e45349f5158483e017">RequestFilteringInputEvents</a>(uint32_t event_classes)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a2e2d63280786c0cc41b7c6f656cc81b5">RequestInputEvents</a>(uint32_t event_classes)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a5e475ef135a235029bc0515e9e3ff832">~Instance</a>()</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_instance.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_instance.html
new file mode 100644
index 0000000..e38aaf38
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_instance.html
@@ -0,0 +1,737 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::Instance Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::Instance" -->
+<p><a href="classpp_1_1_instance-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a398b1946805872334781dac993cfe704">Instance</a> (PP_Instance instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a5e475ef135a235029bc0515e9e3ff832">~Instance</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_Instance </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#aeb29ff4201f9ae0e356c5ed0bb4a2679">pp_instance</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a4f915e70caaef514a49ef8afcddde30f">Init</a> (uint32_t argc, const char *argn[], const char *argv[])</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a9773263ee281405030548fc224eeec08">AddPerInstanceObject</a> (const std::string &interface_name, void *object)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a33c633189c7c321dac8e0c5dc6e67f5b">RemovePerInstanceObject</a> (const std::string &interface_name, void *object)</td></tr>
+<tr><td colspan="2"><div class="groupHeader">PPP_Instance methods for the module to override:</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#ad952f05e42f0e036157beb216f12f3f3">DidChangeView</a> (const <a class="el" href="classpp_1_1_view.html">View</a> &view)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a72ac4ec0b62c4cd8dedae3cf0fc577c2">DidChangeView</a> (const <a class="el" href="classpp_1_1_rect.html">Rect</a> &position, const <a class="el" href="classpp_1_1_rect.html">Rect</a> &clip)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a42c67b21f11bef29c5b341c78926bad3">DidChangeFocus</a> (bool has_focus)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a46aa2feb657fa14263a29375fe458b00">HandleInputEvent</a> (const <a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a> &event)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a6cd99065ef0a55555647253442563225">HandleDocumentLoad</a> (const <a class="el" href="classpp_1_1_u_r_l_loader.html">URLLoader</a> &url_loader)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a5dce8c8b36b1df7cfcc12e42397a35e8">HandleMessage</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &message)</td></tr>
+<tr><td colspan="2"><div class="groupHeader">PPB_Instance methods for querying the browser:</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a147a1c1817a7a1fb2b76f5c87ab08899">BindGraphics</a> (const <a class="el" href="classpp_1_1_graphics2_d.html">Graphics2D</a> &graphics)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#abcfd0eb0995e6273271b4ff4c3df16ae">BindGraphics</a> (const <a class="el" href="classpp_1_1_graphics3_d.html">Graphics3D</a> &graphics)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a451fb956e64fd3db891608148a044c01">IsFullFrame</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a2e2d63280786c0cc41b7c6f656cc81b5">RequestInputEvents</a> (uint32_t event_classes)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a6341c14fc54427e45349f5158483e017">RequestFilteringInputEvents</a> (uint32_t event_classes)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a286bc22174e2f7b6e917c56aa5c7de86">ClearInputEventRequest</a> (uint32_t event_classes)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a67e888a4e4e23effe7a09625e73ecae9">PostMessage</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &message)</td></tr>
+<tr><td colspan="2"><div class="groupHeader">PPB_Console methods for logging to the console:</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a192ab89f4acf2e1e25df14e22d0cff43">LogToConsole</a> (PP_LogLevel level, const <a class="el" href="classpp_1_1_var.html">Var</a> &value)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a48286ccf1217b3ae02138049d00af48f">LogToConsoleWithSource</a> (PP_LogLevel level, const <a class="el" href="classpp_1_1_var.html">Var</a> &source, const <a class="el" href="classpp_1_1_var.html">Var</a> &value)</td></tr>
+</table><h2>
+Static Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#ad1b6c19954ff9446349a6fa5684eea2d">RemovePerInstanceObject</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, const std::string &interface_name, void *object)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void * </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a6dec498f1d49571be9fd40e23745327f">GetPerInstanceObject</a> (PP_Instance instance, const std::string &interface_name)</td></tr>
+</table>
+<hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a398b1946805872334781dac993cfe704"></a><!-- doxytag: member="pp::Instance::Instance" ref="a398b1946805872334781dac993cfe704" args="(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_instance.html#a398b1946805872334781dac993cfe704">pp::Instance::Instance</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Instance </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor. </p>
+<p>Construction of an instance should only be done in response to a browser request in <code><a class="el" href="classpp_1_1_module.html#a648f236af50501bac40ce40296611825" title="CreateInstance() should be overridden to create your own module type.">Module::CreateInstance</a></code>. Otherwise, the instance will lack the proper bookkeeping in the browser and in the C++ wrapper.</p>
+<p><a class="el" href="classpp_1_1_instance.html#a4f915e70caaef514a49ef8afcddde30f" title="Init() initializes this instance with the provided arguments.">Init()</a> will be called immediately after the constructor. This allows you to perform initialization tasks that can fail and to report that failure to the browser. </p>
+</div>
+</div>
+<a class="anchor" id="a5e475ef135a235029bc0515e9e3ff832"></a><!-- doxytag: member="pp::Instance::~Instance" ref="a5e475ef135a235029bc0515e9e3ff832" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_instance.html#a5e475ef135a235029bc0515e9e3ff832">pp::Instance::~Instance</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Destructor. </p>
+<p>When the instance is removed from the web page, the <code><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></code> object will be deleted. You should never delete the <code><a class="el" href="classpp_1_1_instance.html">Instance</a></code> object yourself since the lifetime is handled by the C++ wrapper and is controlled by the browser's calls to the <code>PPP_Instance</code> interface.</p>
+<p>The <code>PP_Instance</code> identifier will still be valid during this call so the instance can perform cleanup-related tasks. Once this function returns, the <code>PP_Instance</code> handle will be invalid. This means that you can't do any asynchronous operations such as network requests or file writes from this destructor since they will be immediately canceled.</p>
+<p><b>Note:</b> This function may be skipped in certain call so the instance can perform cleanup-related tasks. Once this function returns, the <code>PP_Instance</code> handle will be invalid. This means that you can't do any asynchronous operations such as network requests or file writes from this destructor since they will be immediately canceled. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a9773263ee281405030548fc224eeec08"></a><!-- doxytag: member="pp::Instance::AddPerInstanceObject" ref="a9773263ee281405030548fc224eeec08" args="(const std::string &interface_name, void *object)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_instance.html#a9773263ee281405030548fc224eeec08">pp::Instance::AddPerInstanceObject</a> </td>
+<td>(</td>
+<td class="paramtype">const std::string & </td>
+<td class="paramname"><em>interface_name</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">void * </td>
+<td class="paramname"><em>object</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_instance.html#a9773263ee281405030548fc224eeec08" title="AddPerInstanceObject() associates an instance with an interface, creating an object.">AddPerInstanceObject()</a> associates an instance with an interface, creating an object. </p>
+<p>Many optional interfaces are associated with a plugin instance. For example, the find in PPP_Find interface receives updates on a per-instance basis. This "per-instance" tracking allows such objects to associate themselves with an instance as "the" handler for that interface name.</p>
+<p>In the case of the find example, the find object registers with its associated instance in its constructor and unregisters in its destructor. Then whenever it gets updates with a PP_Instance parameter, it can map back to the find object corresponding to that given PP_Instance by calling GetPerInstanceObject.</p>
+<p>This lookup is done on a per-interface-name basis. This means you can only have one object of a given interface name associated with an instance.</p>
+<p>If you are adding a handler for an additional interface, be sure to register with the module (AddPluginInterface) for your interface name to get the C calls in the first place.</p>
+<p>Refer to <a class="el" href="classpp_1_1_instance.html#a33c633189c7c321dac8e0c5dc6e67f5b" title="Refer to AddPerInstanceObject() for further information.">RemovePerInstanceObject()</a> and <a class="el" href="classpp_1_1_instance.html#a6dec498f1d49571be9fd40e23745327f" title="Look up an object previously associated with an instance.">GetPerInstanceObject()</a> for further information.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">interface_name</td><td>The name of the interface to associate with the instance </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">object</td><td></td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a147a1c1817a7a1fb2b76f5c87ab08899"></a><!-- doxytag: member="pp::Instance::BindGraphics" ref="a147a1c1817a7a1fb2b76f5c87ab08899" args="(const Graphics2D &graphics)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_instance.html#a147a1c1817a7a1fb2b76f5c87ab08899">pp::Instance::BindGraphics</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_graphics2_d.html">Graphics2D</a> & </td>
+<td class="paramname"><em>graphics</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_instance.html#a147a1c1817a7a1fb2b76f5c87ab08899" title="BindGraphics() binds the given graphics as the current display surface.">BindGraphics()</a> binds the given graphics as the current display surface. </p>
+<p>The contents of this device is what will be displayed in the instance's area on the web page. The device must be a 2D or a 3D device.</p>
+<p>You can pass an <code>is_null()</code> (default constructed) <a class="el" href="classpp_1_1_graphics2_d.html">Graphics2D</a> as the device parameter to unbind all devices from the given instance. The instance will then appear transparent. Re-binding the same device will return <code>true</code> and will do nothing.</p>
+<p>Any previously-bound device will be released. It is an error to bind a device when it is already bound to another instance. If you want to move a device between instances, first unbind it from the old one, and then rebind it to the new one.</p>
+<p>Binding a device will invalidate that portion of the web page to flush the contents of the new device to the screen.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">graphics</td><td>A <code><a class="el" href="classpp_1_1_graphics2_d.html">Graphics2D</a></code> to bind.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if bind was successful or false if the device was not the correct type. On success, a reference to the device will be held by the instance, so the caller can release its reference if it chooses. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="abcfd0eb0995e6273271b4ff4c3df16ae"></a><!-- doxytag: member="pp::Instance::BindGraphics" ref="abcfd0eb0995e6273271b4ff4c3df16ae" args="(const Graphics3D &graphics)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_instance.html#a147a1c1817a7a1fb2b76f5c87ab08899">pp::Instance::BindGraphics</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_graphics3_d.html">Graphics3D</a> & </td>
+<td class="paramname"><em>graphics</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Binds the given <a class="el" href="classpp_1_1_graphics3_d.html" title="This class represents a 3D rendering context in the browser.">Graphics3D</a> as the current display surface. </p>
+<p>Refer to <code><a class="el" href="classpp_1_1_instance.html#a147a1c1817a7a1fb2b76f5c87ab08899" title="BindGraphics() binds the given graphics as the current display surface.">BindGraphics(const Graphics2D& graphics)</a></code> for further information.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">graphics</td><td>A <code><a class="el" href="classpp_1_1_graphics3_d.html" title="This class represents a 3D rendering context in the browser.">Graphics3D</a></code> to bind.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if bind was successful or false if the device was not the correct type. On success, a reference to the device will be held by the instance, so the caller can release its reference if it chooses. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a286bc22174e2f7b6e917c56aa5c7de86"></a><!-- doxytag: member="pp::Instance::ClearInputEventRequest" ref="a286bc22174e2f7b6e917c56aa5c7de86" args="(uint32_t event_classes)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_instance.html#a286bc22174e2f7b6e917c56aa5c7de86">pp::Instance::ClearInputEventRequest</a> </td>
+<td>(</td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>event_classes</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_instance.html#a286bc22174e2f7b6e917c56aa5c7de86" title="ClearInputEventRequest() requests that input events corresponding to the given input classes no longe...">ClearInputEventRequest()</a> requests that input events corresponding to the given input classes no longer be delivered to the instance. </p>
+<p>By default, no input events are delivered. If you have previously requested input events using <a class="el" href="classpp_1_1_instance.html#a2e2d63280786c0cc41b7c6f656cc81b5" title="RequestInputEvents() requests that input events corresponding to the given input events are delivered...">RequestInputEvents()</a> or <a class="el" href="classpp_1_1_instance.html#a6341c14fc54427e45349f5158483e017" title="RequestFilteringInputEvents() requests that input events corresponding to the given input events are ...">RequestFilteringInputEvents()</a>, this function will unregister handling for the given instance. This will allow greater browser performance for those events.</p>
+<p><b>Note: </b> You may still get some input events after clearing the flag if they were dispatched before the request was cleared. For example, if there are 3 mouse move events waiting to be delivered, and you clear the mouse event class during the processing of the first one, you'll still receive the next two. You just won't get more events generated.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">event_classes</td><td>A combination of flags from <code>PP_InputEvent_Class</code> that identifies the classes of events the instance is no longer interested in. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a42c67b21f11bef29c5b341c78926bad3"></a><!-- doxytag: member="pp::Instance::DidChangeFocus" ref="a42c67b21f11bef29c5b341c78926bad3" args="(bool has_focus)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual void <a class="el" href="classpp_1_1_instance.html#a42c67b21f11bef29c5b341c78926bad3">pp::Instance::DidChangeFocus</a> </td>
+<td>(</td>
+<td class="paramtype">bool </td>
+<td class="paramname"><em>has_focus</em></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_instance.html#a42c67b21f11bef29c5b341c78926bad3" title="DidChangeFocus() is called when an instance has gained or lost focus.">DidChangeFocus()</a> is called when an instance has gained or lost focus. </p>
+<p>Having focus means that keyboard events will be sent to the instance. An instance's default condition is that it will not have focus.</p>
+<p>The focus flag takes into account both browser tab and window focus as well as focus of the plugin element on the page. In order to be deemed to have focus, the browser window must be topmost, the tab must be selected in the window, and the instance must be the focused element on the page.</p>
+<p><b>Note:</b>Clicks on instances will give focus only if you handle the click event. Return <code>true</code> from <code>HandleInputEvent</code> in <code>PPP_InputEvent</code> (or use unfiltered events) to signal that the click event was handled. Otherwise, the browser will bubble the event and give focus to the element on the page that actually did end up consuming it. If you're not getting focus, check to make sure you're either requesting them via <code><a class="el" href="classpp_1_1_instance.html#a2e2d63280786c0cc41b7c6f656cc81b5" title="RequestInputEvents() requests that input events corresponding to the given input events are delivered...">RequestInputEvents()</a></code><code> (which implicitly marks all input events as consumed) or via </code><code><a class="el" href="classpp_1_1_instance.html#a6341c14fc54427e45349f5158483e017" title="RequestFilteringInputEvents() requests that input events corresponding to the given input events are ...">RequestFilteringInputEvents()</a></code> and returning true from your event handler.</p>
+<p><code></code><code> </code></p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">has_focus</td><td>Indicates the new focused state of the instance. </td></tr>
+</table>
+</dd>
+</dl>
+<p></p>
+</div>
+</div>
+<a class="anchor" id="ad952f05e42f0e036157beb216f12f3f3"></a><!-- doxytag: member="pp::Instance::DidChangeView" ref="ad952f05e42f0e036157beb216f12f3f3" args="(const View &view)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual void <a class="el" href="classpp_1_1_instance.html#ad952f05e42f0e036157beb216f12f3f3">pp::Instance::DidChangeView</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_view.html">View</a> & </td>
+<td class="paramname"><em>view</em></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_instance.html#ad952f05e42f0e036157beb216f12f3f3" title="DidChangeView() is called when the view information for the Instance has changed.">DidChangeView()</a> is called when the view information for the <a class="el" href="classpp_1_1_instance.html">Instance</a> has changed. </p>
+<p>See the <code><a class="el" href="classpp_1_1_view.html" title="This class represents the state of the view for an instance and contains functions for retrieving the...">View</a></code> object for information.</p>
+<p>Most implementations will want to check if the size and user visibility changed, and either resize themselves or start/stop generating updates.</p>
+<p>You should not call the default implementation. For backwards-compatibility, it will call the deprecated version of DidChangeView below. </p>
+</div>
+</div>
+<a class="anchor" id="a72ac4ec0b62c4cd8dedae3cf0fc577c2"></a><!-- doxytag: member="pp::Instance::DidChangeView" ref="a72ac4ec0b62c4cd8dedae3cf0fc577c2" args="(const Rect &position, const Rect &clip)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual void <a class="el" href="classpp_1_1_instance.html#ad952f05e42f0e036157beb216f12f3f3">pp::Instance::DidChangeView</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">Rect</a> & </td>
+<td class="paramname"><em>position</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">Rect</a> & </td>
+<td class="paramname"><em>clip</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Deprecated backwards-compatible version of <code><a class="el" href="classpp_1_1_instance.html#ad952f05e42f0e036157beb216f12f3f3" title="DidChangeView() is called when the view information for the Instance has changed.">DidChangeView()</a></code>. </p>
+<p>New code should derive from the version that takes a <code>ViewChanged</code> object rather than this version. This function is called by the default implementation of the newer <code>DidChangeView</code> function for source compatibility with older code.</p>
+<p>A typical implementation will check the size of the <code>position</code> argument and reallocate the graphics context when a different size is received. Note that this function will be called for scroll events where the size doesn't change, so you should always check that the size is actually different before doing any reallocations.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">position</td><td>The location on the page of the instance. The position is relative to the top left corner of the viewport, which changes as the page is scrolled. Generally the size of this value will be used to create a graphics device, and the position is ignored (most things are relative to the instance so the absolute position isn't useful in most cases).</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">clip</td><td>The visible region of the instance. This is relative to the top left of the instance's coordinate system (not the page). If the instance is invisible, <code>clip</code> will be (0, 0, 0, 0).</td></tr>
+</table>
+</dd>
+</dl>
+<p>It's recommended to check for invisible instances and to stop generating graphics updates in this case to save system resources. It's not usually worthwhile, however, to generate partial updates according to the clip when the instance is partially visible. Instead, update the entire region. The time saved doing partial paints is usually not significant and it can create artifacts when scrolling (this notification is sent asynchronously from scrolling so there can be flashes of old content in the exposed regions). </p>
+</div>
+</div>
+<a class="anchor" id="a6dec498f1d49571be9fd40e23745327f"></a><!-- doxytag: member="pp::Instance::GetPerInstanceObject" ref="a6dec498f1d49571be9fd40e23745327f" args="(PP_Instance instance, const std::string &interface_name)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static void* <a class="el" href="classpp_1_1_instance.html#a6dec498f1d49571be9fd40e23745327f">pp::Instance::GetPerInstanceObject</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Instance </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const std::string & </td>
+<td class="paramname"><em>interface_name</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Look up an object previously associated with an instance. </p>
+<p>Returns NULL if the instance is invalid or there is no object for the given interface name on the instance.</p>
+<p>Refer to <a class="el" href="classpp_1_1_instance.html#a9773263ee281405030548fc224eeec08" title="AddPerInstanceObject() associates an instance with an interface, creating an object.">AddPerInstanceObject()</a> for further information.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td></td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">interface_name</td><td>The name of the interface to associate with the instance. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a6cd99065ef0a55555647253442563225"></a><!-- doxytag: member="pp::Instance::HandleDocumentLoad" ref="a6cd99065ef0a55555647253442563225" args="(const URLLoader &url_loader)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual bool <a class="el" href="classpp_1_1_instance.html#a6cd99065ef0a55555647253442563225">pp::Instance::HandleDocumentLoad</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_u_r_l_loader.html">URLLoader</a> & </td>
+<td class="paramname"><em>url_loader</em></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_instance.html#a6cd99065ef0a55555647253442563225" title="HandleDocumentLoad() is called after Init() for a full-frame instance that was instantiated based on ...">HandleDocumentLoad()</a> is called after <a class="el" href="classpp_1_1_instance.html#a4f915e70caaef514a49ef8afcddde30f" title="Init() initializes this instance with the provided arguments.">Init()</a> for a full-frame instance that was instantiated based on the MIME type of a DOMWindow navigation. </p>
+<p>This situation only applies to modules that are pre-registered to handle certain MIME types. If you haven't specifically registered to handle a MIME type or aren't positive this applies to you, your implementation of this function can just return false.</p>
+<p>The given url_loader corresponds to a <code><a class="el" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs.">URLLoader</a></code> object that is already opened. Its response headers may be queried using GetResponseInfo(). If you want to use the <code><a class="el" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs.">URLLoader</a></code> to read data, you will need to save a copy of it or the underlying resource will be freed when this function returns and the load will be canceled.</p>
+<p>This method returns false if the module cannot handle the data. In response to this method, the module should call ReadResponseBody() to read the incoming data.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">url_loader</td><td>An open <code><a class="el" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs.">URLLoader</a></code> instance.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the data was handled, false otherwise. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a46aa2feb657fa14263a29375fe458b00"></a><!-- doxytag: member="pp::Instance::HandleInputEvent" ref="a46aa2feb657fa14263a29375fe458b00" args="(const pp::InputEvent &event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual bool <a class="el" href="classpp_1_1_instance.html#a46aa2feb657fa14263a29375fe458b00">pp::Instance::HandleInputEvent</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a> & </td>
+<td class="paramname"><em>event</em></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_instance.html#a46aa2feb657fa14263a29375fe458b00" title="HandleInputEvent() handles input events from the browser.">HandleInputEvent()</a> handles input events from the browser. </p>
+<p>The default implementation does nothing and returns false.</p>
+<p>In order to receive input events, you must register for them by calling <a class="el" href="classpp_1_1_instance.html#a2e2d63280786c0cc41b7c6f656cc81b5" title="RequestInputEvents() requests that input events corresponding to the given input events are delivered...">RequestInputEvents()</a> or <a class="el" href="classpp_1_1_instance.html#a6341c14fc54427e45349f5158483e017" title="RequestFilteringInputEvents() requests that input events corresponding to the given input events are ...">RequestFilteringInputEvents()</a>. By default, no events are delivered.</p>
+<p>If the event was handled, it will not be forwarded to the web page or browser. If it was not handled, it will bubble according to the normal rules. So it is important that an instance respond accurately with whether event propagation should continue.</p>
+<p>Event propagation also controls focus. If you handle an event like a mouse event, typically the instance will be given focus. Returning false from a filtered event handler or not registering for an event type means that the click will be given to a lower part of the page and your instance will not receive focus. This allows an instance to be partially transparent, where clicks on the transparent areas will behave like clicks to the underlying page.</p>
+<p>In general, you should try to keep input event handling short. Especially for filtered input events, the browser or page may be blocked waiting for you to respond.</p>
+<p>The caller of this function will maintain a reference to the input event resource during this call. Unless you take a reference to the resource to hold it for later, you don't need to release it.</p>
+<p><b>Note: </b>If you're not receiving input events, make sure you register for the event classes you want by calling <code>RequestInputEvents</code> or <code>RequestFilteringInputEvents</code>. If you're still not receiving keyboard input events, make sure you're returning true (or using a non-filtered event handler) for mouse events. Otherwise, the instance will not receive focus and keyboard events will not be sent.</p>
+<p>Refer to <code>RequestInputEvents</code> and <code>RequestFilteringInputEvents</code> for further information.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">event</td><td>The event to handle.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the event was handled, false if not. If you have registered to filter this class of events by calling <code>RequestFilteringInputEvents</code>, and you return false, the event will be forwarded to the page (and eventually the browser) for the default handling. For non-filtered events, the return value will be ignored. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a5dce8c8b36b1df7cfcc12e42397a35e8"></a><!-- doxytag: member="pp::Instance::HandleMessage" ref="a5dce8c8b36b1df7cfcc12e42397a35e8" args="(const Var &message)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual void <a class="el" href="classpp_1_1_instance.html#a5dce8c8b36b1df7cfcc12e42397a35e8">pp::Instance::HandleMessage</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>message</em></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_instance.html#a5dce8c8b36b1df7cfcc12e42397a35e8" title="HandleMessage() is a function that the browser calls when PostMessage() is invoked on the DOM element...">HandleMessage()</a> is a function that the browser calls when <a class="el" href="classpp_1_1_instance.html#a67e888a4e4e23effe7a09625e73ecae9" title="PostMessage() asynchronously invokes any listeners for message events on the DOM element for the give...">PostMessage()</a> is invoked on the DOM element for the instance in JavaScript. </p>
+<p>Note that <a class="el" href="classpp_1_1_instance.html#a67e888a4e4e23effe7a09625e73ecae9" title="PostMessage() asynchronously invokes any listeners for message events on the DOM element for the give...">PostMessage()</a> in the JavaScript interface is asynchronous, meaning JavaScript execution will not be blocked while <a class="el" href="classpp_1_1_instance.html#a5dce8c8b36b1df7cfcc12e42397a35e8" title="HandleMessage() is a function that the browser calls when PostMessage() is invoked on the DOM element...">HandleMessage()</a> is processing the message.</p>
+<p>When converting JavaScript arrays, any object properties whose name is not an array index are ignored. When passing arrays and objects, the entire reference graph will be converted and transferred. If the reference graph has cycles, the message will not be sent and an error will be logged to the console.</p>
+<p><b>Example:</b></p>
+<p>The following JavaScript code invokes <code>HandleMessage</code>, passing the instance on which it was invoked, with <code>message</code> being a string <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing "Hello world!"</p>
+<div class="fragment"><pre class="fragment"> {.html}
+
+ <body>
+ <<span class="keywordtype">object</span> <span class="keywordtype">id</span>=<span class="stringliteral">"plugin"</span>
+ type=<span class="stringliteral">"application/x-ppapi-postMessage-example"</span>/>
+ <script type=<span class="stringliteral">"text/javascript"</span>>
+ document.getElementById(<span class="stringliteral">'plugin'</span>).postMessage(<span class="stringliteral">"Hello world!"</span>);
+ </script>
+ </body>
+</pre></div><p>Refer to <a class="el" href="classpp_1_1_instance.html#a67e888a4e4e23effe7a09625e73ecae9" title="PostMessage() asynchronously invokes any listeners for message events on the DOM element for the give...">PostMessage()</a> for sending messages to JavaScript.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">message</td><td>A <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> which has been converted from a JavaScript value. JavaScript array/object types are supported from Chrome M29 onward. All JavaScript values are copied when passing them to the plugin. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a4f915e70caaef514a49ef8afcddde30f"></a><!-- doxytag: member="pp::Instance::Init" ref="a4f915e70caaef514a49ef8afcddde30f" args="(uint32_t argc, const char *argn[], const char *argv[])" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual bool <a class="el" href="classpp_1_1_instance.html#a4f915e70caaef514a49ef8afcddde30f">pp::Instance::Init</a> </td>
+<td>(</td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>argc</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const char * </td>
+<td class="paramname"><em>argn</em>[], </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const char * </td>
+<td class="paramname"><em>argv</em>[] </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_instance.html#a4f915e70caaef514a49ef8afcddde30f" title="Init() initializes this instance with the provided arguments.">Init()</a> initializes this instance with the provided arguments. </p>
+<p>This function will be called immediately after the instance object is constructed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">argc</td><td>The number of arguments contained in <code>argn</code> and <code>argv</code>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">argn</td><td>An array of argument names. These argument names are supplied in the <embed> tag, for example: <code><embed id="nacl_module" dimensions="2"></code> will produce two argument names: "id" and "dimensions".</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">argv</td><td>An array of argument values. These are the values of the arguments listed in the <embed> tag, for example <code><embed id="nacl_module" dimensions="2"></code> will produce two argument values: "nacl_module" and "2". The indices of these values match the indices of the corresponding names in <code>argn</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true on success. Returning false causes the instance to be deleted and no other functions to be called. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a451fb956e64fd3db891608148a044c01"></a><!-- doxytag: member="pp::Instance::IsFullFrame" ref="a451fb956e64fd3db891608148a044c01" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_instance.html#a451fb956e64fd3db891608148a044c01">pp::Instance::IsFullFrame</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_instance.html#a451fb956e64fd3db891608148a044c01" title="IsFullFrame() determines if the instance is full-frame (repr).">IsFullFrame()</a> determines if the instance is full-frame (repr). </p>
+<p>Such an instance represents the entire document in a frame rather than an embedded resource. This can happen if the user does a top-level navigation or the page specifies an iframe to a resource with a MIME type registered by the module.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the instance is full-frame, false if not. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a192ab89f4acf2e1e25df14e22d0cff43"></a><!-- doxytag: member="pp::Instance::LogToConsole" ref="a192ab89f4acf2e1e25df14e22d0cff43" args="(PP_LogLevel level, const Var &value)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_instance.html#a192ab89f4acf2e1e25df14e22d0cff43">pp::Instance::LogToConsole</a> </td>
+<td>(</td>
+<td class="paramtype">PP_LogLevel </td>
+<td class="paramname"><em>level</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>value</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Logs the given message to the JavaScript console associated with the given plugin instance with the given logging level. </p>
+<p>The name of the plugin issuing the log message will be automatically prepended to the message. The value may be any type of <a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a>. </p>
+</div>
+</div>
+<a class="anchor" id="a48286ccf1217b3ae02138049d00af48f"></a><!-- doxytag: member="pp::Instance::LogToConsoleWithSource" ref="a48286ccf1217b3ae02138049d00af48f" args="(PP_LogLevel level, const Var &source, const Var &value)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_instance.html#a48286ccf1217b3ae02138049d00af48f">pp::Instance::LogToConsoleWithSource</a> </td>
+<td>(</td>
+<td class="paramtype">PP_LogLevel </td>
+<td class="paramname"><em>level</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>source</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>value</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Logs a message to the console with the given source information rather than using the internal PPAPI plugin name. </p>
+<p>The name must be a string var.</p>
+<p>The regular log function will automatically prepend the name of your plugin to the message as the "source" of the message. Some plugins may wish to override this. For example, if your plugin is a Python interpreter, you would want log messages to contain the source .py file doing the log statement rather than have "python" show up in the console. </p>
+</div>
+</div>
+<a class="anchor" id="a67e888a4e4e23effe7a09625e73ecae9"></a><!-- doxytag: member="pp::Instance::PostMessage" ref="a67e888a4e4e23effe7a09625e73ecae9" args="(const Var &message)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_instance.html#a67e888a4e4e23effe7a09625e73ecae9">pp::Instance::PostMessage</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>message</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_instance.html#a67e888a4e4e23effe7a09625e73ecae9" title="PostMessage() asynchronously invokes any listeners for message events on the DOM element for the give...">PostMessage()</a> asynchronously invokes any listeners for message events on the DOM element for the given instance. </p>
+<p>A call to <a class="el" href="classpp_1_1_instance.html#a67e888a4e4e23effe7a09625e73ecae9" title="PostMessage() asynchronously invokes any listeners for message events on the DOM element for the give...">PostMessage()</a> will not block while the message is processed.</p>
+<p><b>Example:</b></p>
+<div class="fragment"><pre class="fragment"> {.html}
+
+ <body>
+ <<span class="keywordtype">object</span> <span class="keywordtype">id</span>=<span class="stringliteral">"plugin"</span>
+ type=<span class="stringliteral">"application/x-ppapi-postMessage-example"</span>/>
+ <script type=<span class="stringliteral">"text/javascript"</span>>
+ var plugin = document.getElementById(<span class="stringliteral">'plugin'</span>);
+ plugin.addEventListener(<span class="stringliteral">"message"</span>,
+ <span class="keyword">function</span>(message) { alert(message.data); },
+ <span class="keyword">false</span>);
+ </script>
+ </body>
+</pre></div><p>The instance then invokes <a class="el" href="classpp_1_1_instance.html#a67e888a4e4e23effe7a09625e73ecae9" title="PostMessage() asynchronously invokes any listeners for message events on the DOM element for the give...">PostMessage()</a> as follows:</p>
+<div class="fragment"><pre class="fragment"> <a class="code" href="classpp_1_1_instance.html#a67e888a4e4e23effe7a09625e73ecae9" title="PostMessage() asynchronously invokes any listeners for message events on the DOM element for the give...">PostMessage</a>(<a class="code" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">pp::Var</a>(<span class="stringliteral">"Hello world!"</span>));
+</pre></div><p>The browser will pop-up an alert saying "Hello world!"</p>
+<p>When passing array or dictionary <code>PP_Var</code>s, the entire reference graph will be converted and transferred. If the reference graph has cycles, the message will not be sent and an error will be logged to the console.</p>
+<p>Listeners for message events in JavaScript code will receive an object conforming to the HTML 5 <code>MessageEvent</code> interface. Specifically, the value of message will be contained as a property called data in the received <code>MessageEvent</code>.</p>
+<p>This messaging system is similar to the system used for listening for messages from Web Workers. Refer to <code><a href="http://www.whatwg.org/specs/web-workers/current-work/">http://www.whatwg.org/specs/web-workers/current-work/</a></code> for further information.</p>
+<p>Refer to <a class="el" href="classpp_1_1_instance.html#a5dce8c8b36b1df7cfcc12e42397a35e8" title="HandleMessage() is a function that the browser calls when PostMessage() is invoked on the DOM element...">HandleMessage()</a> for receiving events from JavaScript.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">message</td><td>A <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing the data to be sent to JavaScript. Message can have a numeric, boolean, or string value. Array/Dictionary types are supported from Chrome M29 onward. All var types are copied when passing them to JavaScript. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="aeb29ff4201f9ae0e356c5ed0bb4a2679"></a><!-- doxytag: member="pp::Instance::pp_instance" ref="aeb29ff4201f9ae0e356c5ed0bb4a2679" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_Instance <a class="el" href="classpp_1_1_instance.html#aeb29ff4201f9ae0e356c5ed0bb4a2679">pp::Instance::pp_instance</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function returns the <code>PP_Instance</code> identifying this object. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Instance</code> identifying this object. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a33c633189c7c321dac8e0c5dc6e67f5b"></a><!-- doxytag: member="pp::Instance::RemovePerInstanceObject" ref="a33c633189c7c321dac8e0c5dc6e67f5b" args="(const std::string &interface_name, void *object)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_instance.html#a33c633189c7c321dac8e0c5dc6e67f5b">pp::Instance::RemovePerInstanceObject</a> </td>
+<td>(</td>
+<td class="paramtype">const std::string & </td>
+<td class="paramname"><em>interface_name</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">void * </td>
+<td class="paramname"><em>object</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Refer to <a class="el" href="classpp_1_1_instance.html#a9773263ee281405030548fc224eeec08" title="AddPerInstanceObject() associates an instance with an interface, creating an object.">AddPerInstanceObject()</a> for further information. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">interface_name</td><td>The name of the interface to associate with the instance </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">object</td><td></td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ad1b6c19954ff9446349a6fa5684eea2d"></a><!-- doxytag: member="pp::Instance::RemovePerInstanceObject" ref="ad1b6c19954ff9446349a6fa5684eea2d" args="(const InstanceHandle &instance, const std::string &interface_name, void *object)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static void <a class="el" href="classpp_1_1_instance.html#a33c633189c7c321dac8e0c5dc6e67f5b">pp::Instance::RemovePerInstanceObject</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const std::string & </td>
+<td class="paramname"><em>interface_name</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">void * </td>
+<td class="paramname"><em>object</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Static version of AddPerInstanceObject that takes an <a class="el" href="classpp_1_1_instance_handle.html" title="An instance handle identifies an instance in a constructor for a resource.">InstanceHandle</a>. </p>
+<p>As with all other instance functions, this must only be called on the main thread. </p>
+</div>
+</div>
+<a class="anchor" id="a6341c14fc54427e45349f5158483e017"></a><!-- doxytag: member="pp::Instance::RequestFilteringInputEvents" ref="a6341c14fc54427e45349f5158483e017" args="(uint32_t event_classes)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_instance.html#a6341c14fc54427e45349f5158483e017">pp::Instance::RequestFilteringInputEvents</a> </td>
+<td>(</td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>event_classes</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_instance.html#a6341c14fc54427e45349f5158483e017" title="RequestFilteringInputEvents() requests that input events corresponding to the given input events are ...">RequestFilteringInputEvents()</a> requests that input events corresponding to the given input events are delivered to the instance for filtering. </p>
+<p>By default, no input events are delivered. In most cases you would register to receive events by calling <a class="el" href="classpp_1_1_instance.html#a2e2d63280786c0cc41b7c6f656cc81b5" title="RequestInputEvents() requests that input events corresponding to the given input events are delivered...">RequestInputEvents()</a>. In some cases, however, you may wish to filter events such that they can be bubbled up to the DOM. In this case, register for those classes of events using this function instead of <a class="el" href="classpp_1_1_instance.html#a2e2d63280786c0cc41b7c6f656cc81b5" title="RequestInputEvents() requests that input events corresponding to the given input events are delivered...">RequestInputEvents()</a>. Keyboard events must always be registered in filtering mode.</p>
+<p>Filtering input events requires significantly more overhead than just delivering them to the instance. As such, you should only request filtering in those cases where it's absolutely necessary. The reason is that it requires the browser to stop and block for the instance to handle the input event, rather than sending the input event asynchronously. This can have significant overhead.</p>
+<p><b>Example:</b></p>
+<div class="fragment"><pre class="fragment"> <a class="code" href="classpp_1_1_instance.html#a2e2d63280786c0cc41b7c6f656cc81b5" title="RequestInputEvents() requests that input events corresponding to the given input events are delivered...">RequestInputEvents</a>(PP_INPUTEVENT_CLASS_MOUSE);
+ <a class="code" href="classpp_1_1_instance.html#a6341c14fc54427e45349f5158483e017" title="RequestFilteringInputEvents() requests that input events corresponding to the given input events are ...">RequestFilteringInputEvents</a>(
+ PP_INPUTEVENT_CLASS_WHEEL | PP_INPUTEVENT_CLASS_KEYBOARD);
+</pre></div><dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramname">event_classes</td><td>A combination of flags from <code>PP_InputEvent_Class</code> that identifies the classes of events the instance is requesting. The flags are combined by logically ORing their values.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_OK</code> if the operation succeeded, <code>PP_ERROR_BADARGUMENT</code> if instance is invalid, or <code>PP_ERROR_NOTSUPPORTED</code> if one of the event class bits were illegal. In the case of an invalid bit, all valid bits will be applied and only the illegal bits will be ignored. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2e2d63280786c0cc41b7c6f656cc81b5"></a><!-- doxytag: member="pp::Instance::RequestInputEvents" ref="a2e2d63280786c0cc41b7c6f656cc81b5" args="(uint32_t event_classes)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_instance.html#a2e2d63280786c0cc41b7c6f656cc81b5">pp::Instance::RequestInputEvents</a> </td>
+<td>(</td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>event_classes</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_instance.html#a2e2d63280786c0cc41b7c6f656cc81b5" title="RequestInputEvents() requests that input events corresponding to the given input events are delivered...">RequestInputEvents()</a> requests that input events corresponding to the given input events are delivered to the instance. </p>
+<p>By default, no input events are delivered. Call this function with the classes of events you are interested in to have them be delivered to the instance. Calling this function will override any previous setting for each specified class of input events (for example, if you previously called <a class="el" href="classpp_1_1_instance.html#a6341c14fc54427e45349f5158483e017" title="RequestFilteringInputEvents() requests that input events corresponding to the given input events are ...">RequestFilteringInputEvents()</a>, this function will set those events to non-filtering mode).</p>
+<p>Input events may have high overhead, so you should only request input events that your plugin will actually handle. For example, the browser may do optimizations for scroll or touch events that can be processed substantially faster if it knows there are no non-default receivers for that message. Requesting that such messages be delivered, even if they are processed very quickly, may have a noticeable effect on the performance of the page.</p>
+<p>When requesting input events through this function, the events will be delivered and <em>not</em> bubbled to the page. This means that even if you aren't interested in the message, no other parts of the page will get the message.</p>
+<p><b>Example:</b></p>
+<div class="fragment"><pre class="fragment"> <a class="code" href="classpp_1_1_instance.html#a2e2d63280786c0cc41b7c6f656cc81b5" title="RequestInputEvents() requests that input events corresponding to the given input events are delivered...">RequestInputEvents</a>(PP_INPUTEVENT_CLASS_MOUSE);
+ <a class="code" href="classpp_1_1_instance.html#a6341c14fc54427e45349f5158483e017" title="RequestFilteringInputEvents() requests that input events corresponding to the given input events are ...">RequestFilteringInputEvents</a>(
+ PP_INPUTEVENT_CLASS_WHEEL | PP_INPUTEVENT_CLASS_KEYBOARD);
+</pre></div><dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramname">event_classes</td><td>A combination of flags from <code>PP_InputEvent_Class</code> that identifies the classes of events the instance is requesting. The flags are combined by logically ORing their values.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_OK</code> if the operation succeeded, <code>PP_ERROR_BADARGUMENT</code> if instance is invalid, or <code>PP_ERROR_NOTSUPPORTED</code> if one of the event class bits were illegal. In the case of an invalid bit, all valid bits will be applied and only the illegal bits will be ignored. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="instance_8h.html">instance.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_instance_handle-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_instance_handle-members.html
new file mode 100644
index 0000000..27faa37
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_instance_handle-members.html
@@ -0,0 +1,16 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_instance_handle.html">pp::InstanceHandle</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance_handle.html#aa9e22c3dc382054c2f3dd816396348dc">InstanceHandle</a>(Instance *instance)</td><td><a class="el" href="classpp_1_1_instance_handle.html">pp::InstanceHandle</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance_handle.html#a9f001cc657a9b9b9307dfa5b20d31856">InstanceHandle</a>(PP_Instance pp_instance)</td><td><a class="el" href="classpp_1_1_instance_handle.html">pp::InstanceHandle</a></td><td><code> [inline, explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance_handle.html#ac413eef4320841121cae58be977d1f7d">pp_instance</a>() const </td><td><a class="el" href="classpp_1_1_instance_handle.html">pp::InstanceHandle</a></td><td><code> [inline]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_instance_handle.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_instance_handle.html
new file mode 100644
index 0000000..ec2460c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_instance_handle.html
@@ -0,0 +1,96 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::InstanceHandle Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::InstanceHandle" -->
+<p><a href="classpp_1_1_instance_handle-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance_handle.html#aa9e22c3dc382054c2f3dd816396348dc">InstanceHandle</a> (<a class="el" href="classpp_1_1_instance.html">Instance</a> *instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance_handle.html#a9f001cc657a9b9b9307dfa5b20d31856">InstanceHandle</a> (PP_Instance <a class="el" href="classpp_1_1_instance_handle.html#ac413eef4320841121cae58be977d1f7d">pp_instance</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_Instance </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance_handle.html#ac413eef4320841121cae58be977d1f7d">pp_instance</a> () const </td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>An instance handle identifies an instance in a constructor for a resource. </p>
+<p>This class solves two different problems:</p>
+<p>1. A <a class="el" href="classpp_1_1_instance.html">pp::Instance</a> object's lifetime is managed by the system on the main pepper thread of the module. This means that it may get destroyed at any time based on something that happens on the web page. Therefore, it's not safe to refer to a <code><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></code> object on a background thread. Instead, we need to pass some kind of identifier to resource constructors so that they may safely be used on background threads. If the instance becomes invalid, the resource creation will fail on the background thread, but it won't crash.</p>
+<p>2. <code>PP_Instance</code> would be a good identifier to use for this case. However, using <code>PP_Instance</code> in the constructor to resources is problematic because it is just a typedef for an integer, as is a <code>PP_Resource</code>. Many resources have alternate constructors that just take an existing <code>PP_Resource</code>, so the constructors would be ambiguous. Having this wrapper around a <code>PP_Instance</code> prevents this ambiguity, and also provides a nice place to consolidate an implicit conversion from <code><a class="el" href="classpp_1_1_instance.html">pp::Instance</a>*</code> for prettier code on the main thread (you can just pass "this" to resource constructors in your instance objects).</p>
+<p>You should always pass an <code><a class="el" href="classpp_1_1_instance_handle.html" title="An instance handle identifies an instance in a constructor for a resource.">InstanceHandle</a></code> to background threads instead of a <code><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></code>, and use them in resource constructors and code that may be used from background threads. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="aa9e22c3dc382054c2f3dd816396348dc"></a><!-- doxytag: member="pp::InstanceHandle::InstanceHandle" ref="aa9e22c3dc382054c2f3dd816396348dc" args="(Instance *instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_instance_handle.html#aa9e22c3dc382054c2f3dd816396348dc">pp::InstanceHandle::InstanceHandle</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="classpp_1_1_instance.html">Instance</a> * </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Implicit constructor for converting a <code><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></code> to an instance handle. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this <code><a class="el" href="classpp_1_1_instance_handle.html" title="An instance handle identifies an instance in a constructor for a resource.">InstanceHandle</a></code> will be associated. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a9f001cc657a9b9b9307dfa5b20d31856"></a><!-- doxytag: member="pp::InstanceHandle::InstanceHandle" ref="a9f001cc657a9b9b9307dfa5b20d31856" args="(PP_Instance pp_instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_instance_handle.html#aa9e22c3dc382054c2f3dd816396348dc">pp::InstanceHandle::InstanceHandle</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Instance </td>
+<td class="paramname"><em>pp_instance</em></td><td>)</td>
+<td><code> [inline, explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This constructor explicitly converts a <code>PP_Instance</code> to an instance handle. </p>
+<p>This should not be implicit because it can make some resource constructors ambiguous. <code>PP_Instance</code> is just a typedef for an integer, as is <code>PP_Resource</code>, so the compiler can get confused between the two.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">pp_instance</td><td>The instance with which this <code><a class="el" href="classpp_1_1_instance_handle.html" title="An instance handle identifies an instance in a constructor for a resource.">InstanceHandle</a></code> will be associated. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="ac413eef4320841121cae58be977d1f7d"></a><!-- doxytag: member="pp::InstanceHandle::pp_instance" ref="ac413eef4320841121cae58be977d1f7d" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_Instance <a class="el" href="classpp_1_1_instance_handle.html#ac413eef4320841121cae58be977d1f7d">pp::InstanceHandle::pp_instance</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <a class="el" href="classpp_1_1_instance_handle.html#ac413eef4320841121cae58be977d1f7d" title="The pp_instance() function returns the PP_Instance.">pp_instance()</a> function returns the <code>PP_Instance</code>. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Instance</code> internal instance handle. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="instance__handle_8h.html">instance_handle.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_keyboard_input_event-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_keyboard_input_event-members.html
new file mode 100644
index 0000000..d9ba140
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_keyboard_input_event-members.html
@@ -0,0 +1,35 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_keyboard_input_event.html">pp::KeyboardInputEvent</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_keyboard_input_event.html#a343bd835af56bd7875b0d82361680e4a">GetCharacterText</a>() const </td><td><a class="el" href="classpp_1_1_keyboard_input_event.html">pp::KeyboardInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_keyboard_input_event.html#a5d6c799091a2adce32d3e20fd1a63017">GetKeyCode</a>() const </td><td><a class="el" href="classpp_1_1_keyboard_input_event.html">pp::KeyboardInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a6f94a5cd8453f1b69e55aadde73354e7">GetModifiers</a>() const </td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#acc79ecdcf19f5b8a8a7268fc8ff51531">GetTimeStamp</a>() const </td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a73ca79c06ff9a39304e3b390090f03dc">GetType</a>() const </td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#ac7581e4321abe8de6f3b48d70f4aa65d">InputEvent</a>()</td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a1d4f7d3fb88de3cccc60ab26b92ccf23">InputEvent</a>(PP_Resource input_event_resource)</td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_keyboard_input_event.html#a07197d3bf22df18ab201dd593ec14b46">KeyboardInputEvent</a>()</td><td><a class="el" href="classpp_1_1_keyboard_input_event.html">pp::KeyboardInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_keyboard_input_event.html#ae0817f051306805db56dbbf837da57bb">KeyboardInputEvent</a>(const InputEvent &event)</td><td><a class="el" href="classpp_1_1_keyboard_input_event.html">pp::KeyboardInputEvent</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_keyboard_input_event.html#a3adab90fc81122554ec878ab2fb8d506">KeyboardInputEvent</a>(const InstanceHandle &instance, PP_InputEvent_Type type, PP_TimeTicks time_stamp, uint32_t modifiers, uint32_t key_code, const Var &character_text)</td><td><a class="el" href="classpp_1_1_keyboard_input_event.html">pp::KeyboardInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a2492183af4fecec44a423a5b7eae6faf">~InputEvent</a>()</td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_keyboard_input_event.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_keyboard_input_event.html
new file mode 100644
index 0000000..6b3459e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_keyboard_input_event.html
@@ -0,0 +1,170 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::KeyboardInputEvent Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::KeyboardInputEvent" --><!-- doxytag: inherits="pp::InputEvent" --><div class="dynheader">
+Inheritance diagram for pp::KeyboardInputEvent:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_keyboard_input_event__inherit__graph.png" border="0" usemap="#pp_1_1_keyboard_input_event_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_keyboard_input_event_inherit__map" id="pp_1_1_keyboard_input_event_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_input_event.html" title="This class represents an input event resource." alt="" coords="35,83,149,112"></area><area shape="rect" id="node4" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="40,5,144,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_keyboard_input_event-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_keyboard_input_event.html#a07197d3bf22df18ab201dd593ec14b46">KeyboardInputEvent</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_keyboard_input_event.html#ae0817f051306805db56dbbf837da57bb">KeyboardInputEvent</a> (const <a class="el" href="classpp_1_1_input_event.html">InputEvent</a> &event)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_keyboard_input_event.html#a3adab90fc81122554ec878ab2fb8d506">KeyboardInputEvent</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, PP_InputEvent_Type type, PP_TimeTicks time_stamp, uint32_t modifiers, uint32_t key_code, const <a class="el" href="classpp_1_1_var.html">Var</a> &character_text)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_keyboard_input_event.html#a5d6c799091a2adce32d3e20fd1a63017">GetKeyCode</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_keyboard_input_event.html#a343bd835af56bd7875b0d82361680e4a">GetCharacterText</a> () const </td></tr>
+</table>
+<hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a07197d3bf22df18ab201dd593ec14b46"></a><!-- doxytag: member="pp::KeyboardInputEvent::KeyboardInputEvent" ref="a07197d3bf22df18ab201dd593ec14b46" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_keyboard_input_event.html#a07197d3bf22df18ab201dd593ec14b46">pp::KeyboardInputEvent::KeyboardInputEvent</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> keyboard input event object. </p>
+</div>
+</div>
+<a class="anchor" id="ae0817f051306805db56dbbf837da57bb"></a><!-- doxytag: member="pp::KeyboardInputEvent::KeyboardInputEvent" ref="ae0817f051306805db56dbbf837da57bb" args="(const InputEvent &event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_keyboard_input_event.html#a07197d3bf22df18ab201dd593ec14b46">pp::KeyboardInputEvent::KeyboardInputEvent</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_input_event.html">InputEvent</a> & </td>
+<td class="paramname"><em>event</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs a keyboard input event object from the provided generic input event. </p>
+<p>If the given event is itself <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> or is not a keyboard input event, the keybaord object will be <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">event</td><td>A generic input event. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a3adab90fc81122554ec878ab2fb8d506"></a><!-- doxytag: member="pp::KeyboardInputEvent::KeyboardInputEvent" ref="a3adab90fc81122554ec878ab2fb8d506" args="(const InstanceHandle &instance, PP_InputEvent_Type type, PP_TimeTicks time_stamp, uint32_t modifiers, uint32_t key_code, const Var &character_text)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_keyboard_input_event.html#a07197d3bf22df18ab201dd593ec14b46">pp::KeyboardInputEvent::KeyboardInputEvent</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_InputEvent_Type </td>
+<td class="paramname"><em>type</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_TimeTicks </td>
+<td class="paramname"><em>time_stamp</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>modifiers</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>key_code</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>character_text</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs a keyboard input even from the given parameters. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance for which this event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>A <code>PP_InputEvent_Type</code> identifying the type of input event.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">time_stamp</td><td>A <code>PP_TimeTicks</code> indicating the time when the event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">modifiers</td><td>A bit field combination of the <code>PP_InputEvent_Modifier</code> flags.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">key_code</td><td>This value reflects the DOM KeyboardEvent <code>keyCode</code> field. Chrome populates this with the Windows-style Virtual Key code of the key.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">character_text</td><td>This value represents the typed character as a UTF-8 string. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a343bd835af56bd7875b0d82361680e4a"></a><!-- doxytag: member="pp::KeyboardInputEvent::GetCharacterText" ref="a343bd835af56bd7875b0d82361680e4a" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_keyboard_input_event.html#a343bd835af56bd7875b0d82361680e4a">pp::KeyboardInputEvent::GetCharacterText</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns the typed character for the given character event. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A string var representing a single typed character for character input events. For non-character input events the return value will be an undefined var. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a5d6c799091a2adce32d3e20fd1a63017"></a><!-- doxytag: member="pp::KeyboardInputEvent::GetKeyCode" ref="a5d6c799091a2adce32d3e20fd1a63017" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="classpp_1_1_keyboard_input_event.html#a5d6c799091a2adce32d3e20fd1a63017">pp::KeyboardInputEvent::GetKeyCode</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns the DOM keyCode field for the keyboard event. </p>
+<p>Chrome populates this with the Windows-style Virtual Key code of the key. </p>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="input__event_8h.html">input_event.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_keyboard_input_event__inherit__graph.png b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_keyboard_input_event__inherit__graph.png
new file mode 100644
index 0000000..1007695b
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_keyboard_input_event__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_message_loop-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_message_loop-members.html
new file mode 100644
index 0000000..4f615a90
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_message_loop-members.html
@@ -0,0 +1,34 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_message_loop.html">pp::MessageLoop</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_message_loop.html#ad5373c3f4b64dbb34d2a8334a23d0f95">AttachToCurrentThread</a>()</td><td><a class="el" href="classpp_1_1_message_loop.html">pp::MessageLoop</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_message_loop.html#abba91f736f52838f28961a571f79f09a">GetCurrent</a>()</td><td><a class="el" href="classpp_1_1_message_loop.html">pp::MessageLoop</a></td><td><code> [static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_message_loop.html#a70558dd2cfda90b4869dc9960223f7ed">GetForMainThread</a>()</td><td><a class="el" href="classpp_1_1_message_loop.html">pp::MessageLoop</a></td><td><code> [static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_message_loop.html#a424cabb7ac0b27aed54a6485dd880533">MessageLoop</a>()</td><td><a class="el" href="classpp_1_1_message_loop.html">pp::MessageLoop</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_message_loop.html#a985004b1e2b2bb09f62cb59b320c6625">MessageLoop</a>(const InstanceHandle &instance)</td><td><a class="el" href="classpp_1_1_message_loop.html">pp::MessageLoop</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_message_loop.html#ab7c519d456320eda6aa57548e9574b44">MessageLoop</a>(const MessageLoop &other)</td><td><a class="el" href="classpp_1_1_message_loop.html">pp::MessageLoop</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_message_loop.html#a2019e1f3f291bf4d87cdb41efea187e7">MessageLoop</a>(PP_Resource pp_message_loop)</td><td><a class="el" href="classpp_1_1_message_loop.html">pp::MessageLoop</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_message_loop.html#a2311af860834b866076fb518ac27eab5">PostQuit</a>(bool should_destroy)</td><td><a class="el" href="classpp_1_1_message_loop.html">pp::MessageLoop</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_message_loop.html#a2c24506ef8be1745d29983b2d7803e36">PostWork</a>(const CompletionCallback &callback, int64_t delay_ms=0)</td><td><a class="el" href="classpp_1_1_message_loop.html">pp::MessageLoop</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_message_loop.html#ad5ac96f80c12d701acfbe558e8fb3a4c">Run</a>()</td><td><a class="el" href="classpp_1_1_message_loop.html">pp::MessageLoop</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_message_loop.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_message_loop.html
new file mode 100644
index 0000000..e1f02c4
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_message_loop.html
@@ -0,0 +1,321 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::MessageLoop Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::MessageLoop" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::MessageLoop:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_message_loop__inherit__graph.png" border="0" usemap="#pp_1_1_message_loop_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_message_loop_inherit__map" id="pp_1_1_message_loop_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="20,5,124,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_message_loop-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_message_loop.html#a424cabb7ac0b27aed54a6485dd880533">MessageLoop</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_message_loop.html#a985004b1e2b2bb09f62cb59b320c6625">MessageLoop</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_message_loop.html#ab7c519d456320eda6aa57548e9574b44">MessageLoop</a> (const <a class="el" href="classpp_1_1_message_loop.html">MessageLoop</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_message_loop.html#a2019e1f3f291bf4d87cdb41efea187e7">MessageLoop</a> (PP_Resource pp_message_loop)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_message_loop.html#ad5373c3f4b64dbb34d2a8334a23d0f95">AttachToCurrentThread</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_message_loop.html#ad5ac96f80c12d701acfbe558e8fb3a4c">Run</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_message_loop.html#a2c24506ef8be1745d29983b2d7803e36">PostWork</a> (const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &callback, int64_t delay_ms=0)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_message_loop.html#a2311af860834b866076fb518ac27eab5">PostQuit</a> (bool should_destroy)</td></tr>
+</table><h2>
+Static Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classpp_1_1_message_loop.html">MessageLoop</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_message_loop.html#a70558dd2cfda90b4869dc9960223f7ed">GetForMainThread</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classpp_1_1_message_loop.html">MessageLoop</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_message_loop.html#abba91f736f52838f28961a571f79f09a">GetCurrent</a> ()</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>A message loop allows PPAPI calls to be issued on a thread. </p>
+<p>You may not issue any API calls on a thread without creating a message loop. It also allows you to post work to the message loop for a thread.</p>
+<p>To process work posted to the message loop, as well as completion callbacks for asynchronous operations, you must run the message loop via <a class="el" href="classpp_1_1_message_loop.html#ad5ac96f80c12d701acfbe558e8fb3a4c" title="Runs the thread message loop.">Run()</a>.</p>
+<p>Note the system manages the lifetime of the instance (and all associated resources). If the instance is deleted from the page, background threads may suddenly see their PP_Resource handles become invalid. In this case, calls will fail with PP_ERROR_BADRESOURCE. If you need to access data associated with your instance, you will probably want to create some kind of threadsafe proxy object that can handle asynchronous destruction of the instance object.</p>
+<p>Typical usage: On the main thread:</p>
+<ul>
+<li>Create the thread yourself (using pthreads).</li>
+<li>Create the message loop resource.</li>
+<li>Pass the message loop resource to your thread's main function.</li>
+<li>Call <a class="el" href="classpp_1_1_message_loop.html#a2c24506ef8be1745d29983b2d7803e36" title="Schedules work to run on the given message loop.">PostWork()</a> on the message loop to run functions on the thread.</li>
+</ul>
+<p>From the background thread's main function:</p>
+<ul>
+<li>Call <a class="el" href="classpp_1_1_message_loop.html#ad5373c3f4b64dbb34d2a8334a23d0f95" title="Sets the given message loop resource as being the associated message loop for the currently running t...">AttachToCurrentThread()</a> with the message loop resource.</li>
+<li>Call <a class="el" href="classpp_1_1_message_loop.html#ad5ac96f80c12d701acfbe558e8fb3a4c" title="Runs the thread message loop.">Run()</a> with the message loop resource.</li>
+</ul>
+<p>Your callbacks should look like this: </p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">void</span> DoMyWork(<span class="keywordtype">void</span>* user_data, int32_t status) {
+ <span class="keywordflow">if</span> (status != PP_OK) {
+ Cleanup(); <span class="comment">// e.g. free user_data.</span>
+ <span class="keywordflow">return</span>;
+ }
+ ... <span class="keywordflow">do</span> your work...
+ }
+</pre></div><p> For a C++ example, see ppapi/utility/threading/simple_thread.h</p>
+<p>(You can also create the message loop resource on the background thread, but then the main thread will have no reference to it should you want to call <a class="el" href="classpp_1_1_message_loop.html#a2c24506ef8be1745d29983b2d7803e36" title="Schedules work to run on the given message loop.">PostWork()</a>).</p>
+<p>THREAD HANDLING</p>
+<p>The main thread has an implicitly created message loop. The main thread is the thread where PPP_InitializeModule and PPP_Instance functions are called. You can retrieve a reference to this message loop by calling <a class="el" href="classpp_1_1_message_loop.html#a70558dd2cfda90b4869dc9960223f7ed">GetForMainThread()</a> or, if your code is on the main thread, GetForCurrentThread() will also work.</p>
+<p>Some special threads created by the system can not have message loops. In particular, the background thread created for audio processing has this requirement because it's intended to be highly responsive to keep up with the realtime requirements of audio processing. You can not make PPAPI calls from these threads.</p>
+<p>Once you associate a message loop with a thread, you don't have to keep a reference to it. The system will hold a reference to the message loop for as long as the thread is running. The current message loop can be retrieved using the <a class="el" href="classpp_1_1_message_loop.html#abba91f736f52838f28961a571f79f09a">GetCurrent()</a> function.</p>
+<p>It is legal to create threads in your plugin without message loops, but PPAPI calls will fail unless explicitly noted in the documentation.</p>
+<p>You can create a message loop object on a thread and never actually run the message loop. This will allow you to call blocking PPAPI calls (via PP_BlockUntilComplete()). If you make any asynchronous calls, the callbacks from those calls will be queued in the message loop and never run. The same thing will happen if work is scheduled after the message loop exits and the message loop is not run again.</p>
+<p>DESTRUCTION AND ERROR HANDLING</p>
+<p>Often, your application will associate memory with completion callbacks. For example, the C++ <a class="el" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe...">CompletionCallbackFactory</a> has a small amount of heap-allocated memory for each callback. This memory will be leaked if the callback is never run. To avoid this memory leak, you need to be careful about error handling and shutdown.</p>
+<p>There are a number of cases where posted callbacks will never be run:</p>
+<ul>
+<li>You tear down the thread (via pthreads) without "destroying" the message loop (via PostQuit with should_destroy = PP_TRUE). In this case, any tasks in the message queue will be lost.</li>
+</ul>
+<ul>
+<li>You create a message loop, post callbacks to it, and never run it.</li>
+</ul>
+<ul>
+<li>You quit the message loop via PostQuit with should_destroy set to PP_FALSE. In this case, the system will assume the message loop will be run again later and keep your tasks.</li>
+</ul>
+<p>To do proper shutdown, call PostQuit with should_destroy = PP_TRUE. This will prohibit future work from being posted, and will allow the message loop to run until all pending tasks are run.</p>
+<p>If you post a callback to a message loop that's been destroyed, or to an invalid message loop, PostWork will return an error and will not run the callback. This is true even for callbacks with the "required" flag set, since the system may not even know what thread to issue the error callback on.</p>
+<p>Therefore, you should check for errors from PostWork and destroy any associated memory to avoid leaks. If you're using the C++ <a class="el" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe...">CompletionCallbackFactory</a>, use the following pattern: </p>
+<div class="fragment"><pre class="fragment"> <a class="code" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">pp::CompletionCallback</a> callback = factory_.NewOptionalCallback(...);
+ int32_t result = message_loop.PostWork(callback);
+ <span class="keywordflow">if</span> (result != PP_OK)
+ callback.<a class="code" href="classpp_1_1_completion_callback.html#a7795404cc15a4f96523c28db21d364c4" title="Run() is used to run the CompletionCallback.">Run</a>(result);
+</pre></div><p> This will run the callback with an error value, and assumes that the implementation of your callback checks the "result" argument and returns immediately on error. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a424cabb7ac0b27aed54a6485dd880533"></a><!-- doxytag: member="pp::MessageLoop::MessageLoop" ref="a424cabb7ac0b27aed54a6485dd880533" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_message_loop.html#a424cabb7ac0b27aed54a6485dd880533">pp::MessageLoop::MessageLoop</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Creates an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> <a class="el" href="classpp_1_1_message_loop.html" title="A message loop allows PPAPI calls to be issued on a thread.">MessageLoop</a> resource. </p>
+</div>
+</div>
+<a class="anchor" id="a985004b1e2b2bb09f62cb59b320c6625"></a><!-- doxytag: member="pp::MessageLoop::MessageLoop" ref="a985004b1e2b2bb09f62cb59b320c6625" args="(const InstanceHandle &instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_message_loop.html#a424cabb7ac0b27aed54a6485dd880533">pp::MessageLoop::MessageLoop</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Creates a message loop associated with the given instance. </p>
+<p>The resource will be <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> on failure.</p>
+<p>This may be called from any thread. After your thread starts but before issuing any other PPAPI calls on it, you must associate it with a message loop by calling AttachToCurrentThread. </p>
+</div>
+</div>
+<a class="anchor" id="ab7c519d456320eda6aa57548e9574b44"></a><!-- doxytag: member="pp::MessageLoop::MessageLoop" ref="ab7c519d456320eda6aa57548e9574b44" args="(const MessageLoop &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_message_loop.html#a424cabb7ac0b27aed54a6485dd880533">pp::MessageLoop::MessageLoop</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_message_loop.html">MessageLoop</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a2019e1f3f291bf4d87cdb41efea187e7"></a><!-- doxytag: member="pp::MessageLoop::MessageLoop" ref="a2019e1f3f291bf4d87cdb41efea187e7" args="(PP_Resource pp_message_loop)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_message_loop.html#a424cabb7ac0b27aed54a6485dd880533">pp::MessageLoop::MessageLoop</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>pp_message_loop</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Takes an additional ref to the resource. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="ad5373c3f4b64dbb34d2a8334a23d0f95"></a><!-- doxytag: member="pp::MessageLoop::AttachToCurrentThread" ref="ad5373c3f4b64dbb34d2a8334a23d0f95" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_message_loop.html#ad5373c3f4b64dbb34d2a8334a23d0f95">pp::MessageLoop::AttachToCurrentThread</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sets the given message loop resource as being the associated message loop for the currently running thread. </p>
+<p>You must call this function exactly once on a thread before making any PPAPI calls. A message loop can only be attached to one thread, and the message loop can not be changed later. The message loop will be attached as long as the thread is running or until you quit with should_destroy set to PP_TRUE.</p>
+<p>If this function fails, attempting to run the message loop will fail. Note that you can still post work to the message loop: it will get queued up should the message loop eventually be successfully attached and run.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
+<li>PP_OK: The message loop was successfully attached to the thread and is ready to use.</li>
+<li>PP_ERROR_BADRESOURCE: The given message loop resource is invalid.</li>
+<li>PP_ERROR_INPROGRESS: The current thread already has a message loop attached. This will always be the case for the main thread, which has an implicit system-created message loop attached.</li>
+<li>PP_ERROR_WRONG_THREAD: The current thread type can not have a message loop attached to it. See the interface level discussion about these special threads, which include realtime audio threads. </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<a class="anchor" id="abba91f736f52838f28961a571f79f09a"></a><!-- doxytag: member="pp::MessageLoop::GetCurrent" ref="abba91f736f52838f28961a571f79f09a" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static <a class="el" href="classpp_1_1_message_loop.html">MessageLoop</a> <a class="el" href="classpp_1_1_message_loop.html#abba91f736f52838f28961a571f79f09a">pp::MessageLoop::GetCurrent</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a70558dd2cfda90b4869dc9960223f7ed"></a><!-- doxytag: member="pp::MessageLoop::GetForMainThread" ref="a70558dd2cfda90b4869dc9960223f7ed" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static <a class="el" href="classpp_1_1_message_loop.html">MessageLoop</a> <a class="el" href="classpp_1_1_message_loop.html#a70558dd2cfda90b4869dc9960223f7ed">pp::MessageLoop::GetForMainThread</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a2311af860834b866076fb518ac27eab5"></a><!-- doxytag: member="pp::MessageLoop::PostQuit" ref="a2311af860834b866076fb518ac27eab5" args="(bool should_destroy)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_message_loop.html#a2311af860834b866076fb518ac27eab5">pp::MessageLoop::PostQuit</a> </td>
+<td>(</td>
+<td class="paramtype">bool </td>
+<td class="paramname"><em>should_destroy</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Posts a quit message to the given message loop's work queue. </p>
+<p>Work posted before that point will be processed before quitting.</p>
+<p>This may be called on the message loop registered for the current thread, or it may be called on the message loop registered for another thread. It is an error to attempt to quit the main thread loop.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramname">should_destroy</td><td>Marks the message loop as being in a destroyed state and prevents further posting of messages.</td></tr>
+</table>
+</dd>
+</dl>
+<p>If you quit a message loop without setting should_destroy, it will still be attached to the thread and you can still run it again by calling <a class="el" href="classpp_1_1_message_loop.html#ad5ac96f80c12d701acfbe558e8fb3a4c" title="Runs the thread message loop.">Run()</a> again. If you destroy it, it will be detached from the current thread.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
+<li>PP_OK: The request to quit was successfully posted.</li>
+<li>PP_ERROR_BADRESOURCE: The message loop was invalid.</li>
+<li>PP_ERROR_WRONG_THREAD: You are attempting to quit the main thread. The main thread's message loop is managed by the system and can't be quit. </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2c24506ef8be1745d29983b2d7803e36"></a><!-- doxytag: member="pp::MessageLoop::PostWork" ref="a2c24506ef8be1745d29983b2d7803e36" args="(const CompletionCallback &callback, int64_t delay_ms=0)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_message_loop.html#a2c24506ef8be1745d29983b2d7803e36">pp::MessageLoop::PostWork</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>callback</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int64_t </td>
+<td class="paramname"><em>delay_ms</em> = <code>0</code> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Schedules work to run on the given message loop. </p>
+<p>This may be called from any thread. Posted work will be executed in the order it was posted when the message loop is <a class="el" href="classpp_1_1_message_loop.html#ad5ac96f80c12d701acfbe558e8fb3a4c" title="Runs the thread message loop.">Run()</a>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramname">callback</td><td>A pointer to the completion callback to execute from the message loop.</td></tr>
+<tr><td class="paramname">delay_ms</td><td>The number of milliseconds to delay execution of the given completion callback. Passing 0 means it will get queued normally and executed in order.</td></tr>
+</table>
+</dd>
+</dl>
+<p>The completion callback will be called with PP_OK as the "result" parameter if it is run normally. It is good practice to check for PP_OK and return early otherwise.</p>
+<p>The "required" flag on the completion callback is ignored. If there is an error posting your callback, the error will be returned from PostWork and the callback will never be run (because there is no appropriate place to run your callback with an error without causing unexpected threading problems). If you associate memory with the completion callback (for example, you're using the C++ <a class="el" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe...">CompletionCallbackFactory</a>), you will need to free this or manually run the callback. See "Desctruction and error
+ handling" above.</p>
+<p>You can call this function before the message loop has started and the work will get queued until the message loop is run. You can also post work after the message loop has exited as long as should_destroy was PP_FALSE. It will be queued until the next invocation of <a class="el" href="classpp_1_1_message_loop.html#ad5ac96f80c12d701acfbe558e8fb3a4c" title="Runs the thread message loop.">Run()</a>.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
+<li>PP_OK: The work was posted to the message loop's queue. As described above, this does not mean that the work has been or will be executed (if you never run the message loop after posting).</li>
+<li>PP_ERROR_BADRESOURCE: The given message loop resource is invalid.</li>
+<li>PP_ERROR_BADARGUMENT: The function pointer for the completion callback is null (this will be the case if you pass PP_BlockUntilComplete()).</li>
+<li>PP_ERROR_FAILED: The message loop has been destroyed. </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<a class="anchor" id="ad5ac96f80c12d701acfbe558e8fb3a4c"></a><!-- doxytag: member="pp::MessageLoop::Run" ref="ad5ac96f80c12d701acfbe558e8fb3a4c" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_message_loop.html#ad5ac96f80c12d701acfbe558e8fb3a4c">pp::MessageLoop::Run</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Runs the thread message loop. </p>
+<p>Running the message loop is required for you to get issued completion callbacks on the thread.</p>
+<p>The message loop identified by the argument must have been previously successfully attached to the current thread.</p>
+<p>You may not run nested message loops. Since the main thread has an implicit message loop that the system runs, you may not call Run on the main thread.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
+<li>PP_OK: The message loop was successfully run. Note that on success, the message loop will only exit when you call <a class="el" href="classpp_1_1_message_loop.html#a2311af860834b866076fb518ac27eab5" title="Posts a quit message to the given message loop's work queue.">PostQuit()</a>.</li>
+<li>PP_ERROR_BADRESOURCE: The given message loop resource is invalid.</li>
+<li>PP_ERROR_WRONG_THREAD: You are attempting to run a message loop that has not been successfully attached to the current thread. Call <a class="el" href="classpp_1_1_message_loop.html#ad5373c3f4b64dbb34d2a8334a23d0f95" title="Sets the given message loop resource as being the associated message loop for the currently running t...">AttachToCurrentThread()</a>.</li>
+<li>PP_ERROR_INPROGRESS: You are attempting to call Run in a nested fashion (Run is already on the stack). This will occur if you attempt to call run on the main thread's message loop (see above). </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="message__loop_8h.html">message_loop.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_message_loop__inherit__graph.png b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_message_loop__inherit__graph.png
new file mode 100644
index 0000000..ea47998
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_message_loop__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_module-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_module-members.html
new file mode 100644
index 0000000..bdedb389
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_module-members.html
@@ -0,0 +1,30 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_module.html">pp::Module</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_module.html#aeddc6021140b4bdea3a83c36e7b8ec7e">AddPluginInterface</a>(const std::string &interface_name, const void *vtable)</td><td><a class="el" href="classpp_1_1_module.html">pp::Module</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_module.html#afd1d02002faaa6a4531ad06ca0423c9f">core</a>()</td><td><a class="el" href="classpp_1_1_module.html">pp::Module</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_module.html#a648f236af50501bac40ce40296611825">CreateInstance</a>(PP_Instance instance)=0</td><td><a class="el" href="classpp_1_1_module.html">pp::Module</a></td><td><code> [protected, pure virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_module.html#a3b9ec2c079aa51ceeedfe98f4c9e1a98">current_instances</a>() const </td><td><a class="el" href="classpp_1_1_module.html">pp::Module</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_module.html#ac8cca5d744e812ec3221bc391086b026">Get</a>()</td><td><a class="el" href="classpp_1_1_module.html">pp::Module</a></td><td><code> [static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_module.html#a8955edbfec01524388338b440633850a">get_browser_interface</a>() const </td><td><a class="el" href="classpp_1_1_module.html">pp::Module</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_module.html#a2aece372fdef35ded56d69a4e881a376">GetBrowserInterface</a>(const char *interface_name)</td><td><a class="el" href="classpp_1_1_module.html">pp::Module</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_module.html#a8c8c946f741e140ff7dd21b36b1a42a5">GetPluginInterface</a>(const char *interface_name)</td><td><a class="el" href="classpp_1_1_module.html">pp::Module</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_module.html#a873a824f0e462008d1167e34544ad360">Init</a>()</td><td><a class="el" href="classpp_1_1_module.html">pp::Module</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_module.html#ab0f2ba24fd03fa31fc2e47d4f8ceb158">Instance_DidCreate</a>(PP_Instance pp_instance, uint32_t argc, const char *argn[], const char *argv[])</td><td><a class="el" href="classpp_1_1_module.html">pp::Module</a></td><td><code> [friend]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_module.html#accf4ce5410f02db9c87dcca045043128">Instance_DidDestroy</a>(PP_Instance instance)</td><td><a class="el" href="classpp_1_1_module.html">pp::Module</a></td><td><code> [friend]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_module.html#ab57a787b61cd72fdcea0d232ed88eaef">InstanceForPPInstance</a>(PP_Instance instance)</td><td><a class="el" href="classpp_1_1_module.html">pp::Module</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_module.html#a47cd6188f0321e74b71126a5fd014b12">InstanceMap</a> typedef</td><td><a class="el" href="classpp_1_1_module.html">pp::Module</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_module.html#acd9a63a4b364c28abfeac39687f2fa1a">InternalInit</a>(PP_Module mod, PPB_GetInterface get_browser_interface)</td><td><a class="el" href="classpp_1_1_module.html">pp::Module</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_module.html#a67b76ad37316a2e89ebd2902a6503686">Module</a>()</td><td><a class="el" href="classpp_1_1_module.html">pp::Module</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_module.html#a95bb3148c925f46938ee0f267b1c66e5">pp_module</a>() const </td><td><a class="el" href="classpp_1_1_module.html">pp::Module</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_module.html#ac3c912841726117a128d2e056f15210e">~Module</a>()</td><td><a class="el" href="classpp_1_1_module.html">pp::Module</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_module.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_module.html
new file mode 100644
index 0000000..3bc085e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_module.html
@@ -0,0 +1,424 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::Module Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::Module" -->
+<p><a href="classpp_1_1_module-members.html">List of all members.</a></p>
+<h2>
+Public Types</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">typedef std::map< PP_Instance, <br class="typebreak" />
+<a class="el" href="classpp_1_1_instance.html">Instance</a> * > </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html#a47cd6188f0321e74b71126a5fd014b12">InstanceMap</a></td></tr>
+</table><h2>
+Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html#a67b76ad37316a2e89ebd2902a6503686">Module</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html#ac3c912841726117a128d2e056f15210e">~Module</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html#a873a824f0e462008d1167e34544ad360">Init</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_Module </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html#a95bb3148c925f46938ee0f267b1c66e5">pp_module</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PPB_GetInterface </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html#a8955edbfec01524388338b440633850a">get_browser_interface</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_core.html">Core</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html#afd1d02002faaa6a4531ad06ca0423c9f">core</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const void * </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html#a8c8c946f741e140ff7dd21b36b1a42a5">GetPluginInterface</a> (const char *interface_name)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const void * </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html#a2aece372fdef35ded56d69a4e881a376">GetBrowserInterface</a> (const char *interface_name)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_instance.html">Instance</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html#ab57a787b61cd72fdcea0d232ed88eaef">InstanceForPPInstance</a> (PP_Instance instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html#aeddc6021140b4bdea3a83c36e7b8ec7e">AddPluginInterface</a> (const std::string &interface_name, const void *vtable)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html#acd9a63a4b364c28abfeac39687f2fa1a">InternalInit</a> (PP_Module mod, PPB_GetInterface <a class="el" href="classpp_1_1_module.html#a8955edbfec01524388338b440633850a">get_browser_interface</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classpp_1_1_module.html#a47cd6188f0321e74b71126a5fd014b12">InstanceMap</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html#a3b9ec2c079aa51ceeedfe98f4c9e1a98">current_instances</a> () const </td></tr>
+</table><h2>
+Static Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classpp_1_1_module.html">Module</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html#ac8cca5d744e812ec3221bc391086b026">Get</a> ()</td></tr>
+</table><h2>
+Protected Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classpp_1_1_instance.html">Instance</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html#a648f236af50501bac40ce40296611825">CreateInstance</a> (PP_Instance instance)=0</td></tr>
+</table><h2>
+Friends</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">PP_Bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html#ab0f2ba24fd03fa31fc2e47d4f8ceb158">Instance_DidCreate</a> (PP_Instance pp_instance, uint32_t argc, const char *argn[], const char *argv[])</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html#accf4ce5410f02db9c87dcca045043128">Instance_DidDestroy</a> (PP_Instance instance)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <a class="el" href="classpp_1_1_module.html" title="The Module class.">Module</a> class. </p>
+<p>The browser calls <a class="el" href="classpp_1_1_module.html#a648f236af50501bac40ce40296611825" title="CreateInstance() should be overridden to create your own module type.">CreateInstance()</a> to create an instance of your module on the web page. The browser creates a new instance for each <code><embed></code> tag with <code>type="application/x-nacl"</code> </p>
+</div><hr /><h2>Member Typedef Documentation</h2>
+<a class="anchor" id="a47cd6188f0321e74b71126a5fd014b12"></a><!-- doxytag: member="pp::Module::InstanceMap" ref="a47cd6188f0321e74b71126a5fd014b12" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef std::map<PP_Instance, <a class="el" href="classpp_1_1_instance.html">Instance</a>*> <a class="el" href="classpp_1_1_module.html#a47cd6188f0321e74b71126a5fd014b12">pp::Module::InstanceMap</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a67b76ad37316a2e89ebd2902a6503686"></a><!-- doxytag: member="pp::Module::Module" ref="a67b76ad37316a2e89ebd2902a6503686" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_module.html#a67b76ad37316a2e89ebd2902a6503686">pp::Module::Module</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ac3c912841726117a128d2e056f15210e"></a><!-- doxytag: member="pp::Module::~Module" ref="ac3c912841726117a128d2e056f15210e" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_module.html#ac3c912841726117a128d2e056f15210e">pp::Module::~Module</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="aeddc6021140b4bdea3a83c36e7b8ec7e"></a><!-- doxytag: member="pp::Module::AddPluginInterface" ref="aeddc6021140b4bdea3a83c36e7b8ec7e" args="(const std::string &interface_name, const void *vtable)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_module.html#aeddc6021140b4bdea3a83c36e7b8ec7e">pp::Module::AddPluginInterface</a> </td>
+<td>(</td>
+<td class="paramtype">const std::string & </td>
+<td class="paramname"><em>interface_name</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const void * </td>
+<td class="paramname"><em>vtable</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_module.html#aeddc6021140b4bdea3a83c36e7b8ec7e" title="AddPluginInterface() adds a handler for a provided interface name.">AddPluginInterface()</a> adds a handler for a provided interface name. </p>
+<p>When the browser requests that interface name, the provided <code>vtable</code> will be returned.</p>
+<p>In general, modules will not need to call this directly. Instead, the C++ wrappers for each interface will register themselves with this function.</p>
+<p>This function may be called more than once with the same interface name and vtable with no effect. However, it may not be used to register a different vtable for an already-registered interface. It will assert for a different registration for an already-registered interface in debug mode, and just ignore the registration in release mode.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">interface_name</td><td>The interface name that will receive a handler. </td></tr>
+<tr><td class="paramdir">[in,out]</td><td class="paramname">vtable</td><td>The vtable to return for <code>interface_name</code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="afd1d02002faaa6a4531ad06ca0423c9f"></a><!-- doxytag: member="pp::Module::core" ref="afd1d02002faaa6a4531ad06ca0423c9f" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_core.html">Core</a>* <a class="el" href="classpp_1_1_module.html#afd1d02002faaa6a4531ad06ca0423c9f">pp::Module::core</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <a class="el" href="classpp_1_1_module.html#afd1d02002faaa6a4531ad06ca0423c9f" title="The core() function returns the core interface for doing basic global operations.">core()</a> function returns the core interface for doing basic global operations. </p>
+<p>The return value is guaranteed to be non-NULL once the module has successfully initialized and during the <a class="el" href="classpp_1_1_module.html#a873a824f0e462008d1167e34544ad360" title="Init() is automatically called after the object is created.">Init()</a> call.</p>
+<p>It will be NULL before <a class="el" href="classpp_1_1_module.html#a873a824f0e462008d1167e34544ad360" title="Init() is automatically called after the object is created.">Init()</a> has been called.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The core interface for doing basic global operations. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a648f236af50501bac40ce40296611825"></a><!-- doxytag: member="pp::Module::CreateInstance" ref="a648f236af50501bac40ce40296611825" args="(PP_Instance instance)=0" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_instance.html">Instance</a>* <a class="el" href="classpp_1_1_module.html#a648f236af50501bac40ce40296611825">pp::Module::CreateInstance</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Instance </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td><code> [protected, pure virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_module.html#a648f236af50501bac40ce40296611825" title="CreateInstance() should be overridden to create your own module type.">CreateInstance()</a> should be overridden to create your own module type. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The resulting instance. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a3b9ec2c079aa51ceeedfe98f4c9e1a98"></a><!-- doxytag: member="pp::Module::current_instances" ref="a3b9ec2c079aa51ceeedfe98f4c9e1a98" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">const <a class="el" href="classpp_1_1_module.html#a47cd6188f0321e74b71126a5fd014b12">InstanceMap</a>& <a class="el" href="classpp_1_1_module.html#a3b9ec2c079aa51ceeedfe98f4c9e1a98">pp::Module::current_instances</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <a class="el" href="classpp_1_1_module.html#a3b9ec2c079aa51ceeedfe98f4c9e1a98" title="The current_instances() function allows iteration over the current instances in the module...">current_instances()</a> function allows iteration over the current instances in the module. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An <code>InstanceMap</code> of all instances in the module. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ac8cca5d744e812ec3221bc391086b026"></a><!-- doxytag: member="pp::Module::Get" ref="ac8cca5d744e812ec3221bc391086b026" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static <a class="el" href="classpp_1_1_module.html">Module</a>* <a class="el" href="classpp_1_1_module.html#ac8cca5d744e812ec3221bc391086b026">pp::Module::Get</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_module.html#ac8cca5d744e812ec3221bc391086b026" title="Get() returns the global instance of this module object, or NULL if the module is not initialized yet...">Get()</a> returns the global instance of this module object, or NULL if the module is not initialized yet. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The global instance of the module object. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a8955edbfec01524388338b440633850a"></a><!-- doxytag: member="pp::Module::get_browser_interface" ref="a8955edbfec01524388338b440633850a" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PPB_GetInterface <a class="el" href="classpp_1_1_module.html#a8955edbfec01524388338b440633850a">pp::Module::get_browser_interface</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <a class="el" href="classpp_1_1_module.html#a8955edbfec01524388338b440633850a" title="The get_browser_interface() function returns the internal get_browser_interface pointer.">get_browser_interface()</a> function returns the internal <code>get_browser_interface</code> pointer. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PPB_GetInterface</code> internal pointer. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2aece372fdef35ded56d69a4e881a376"></a><!-- doxytag: member="pp::Module::GetBrowserInterface" ref="a2aece372fdef35ded56d69a4e881a376" args="(const char *interface_name)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">const void* <a class="el" href="classpp_1_1_module.html#a2aece372fdef35ded56d69a4e881a376">pp::Module::GetBrowserInterface</a> </td>
+<td>(</td>
+<td class="paramtype">const char * </td>
+<td class="paramname"><em>interface_name</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_module.html#a2aece372fdef35ded56d69a4e881a376" title="GetBrowserInterface() returns interfaces which the browser implements (i.e.">GetBrowserInterface()</a> returns interfaces which the browser implements (i.e. </p>
+<p>PPB interfaces). </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">interface_name</td><td>The browser interface for the module to get. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a8c8c946f741e140ff7dd21b36b1a42a5"></a><!-- doxytag: member="pp::Module::GetPluginInterface" ref="a8c8c946f741e140ff7dd21b36b1a42a5" args="(const char *interface_name)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">const void* <a class="el" href="classpp_1_1_module.html#a8c8c946f741e140ff7dd21b36b1a42a5">pp::Module::GetPluginInterface</a> </td>
+<td>(</td>
+<td class="paramtype">const char * </td>
+<td class="paramname"><em>interface_name</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_module.html#a8c8c946f741e140ff7dd21b36b1a42a5" title="GetPluginInterface() implements GetInterface for the browser to get module interfaces.">GetPluginInterface()</a> implements <code>GetInterface</code> for the browser to get module interfaces. </p>
+<p>If you need to provide your own implementations of new interfaces, use <a class="el" href="classpp_1_1_module.html#aeddc6021140b4bdea3a83c36e7b8ec7e" title="AddPluginInterface() adds a handler for a provided interface name.">AddPluginInterface()</a> which this function will use.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">interface_name</td><td>The module interface for the browser to get. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a873a824f0e462008d1167e34544ad360"></a><!-- doxytag: member="pp::Module::Init" ref="a873a824f0e462008d1167e34544ad360" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual bool <a class="el" href="classpp_1_1_module.html#a873a824f0e462008d1167e34544ad360">pp::Module::Init</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_module.html#a873a824f0e462008d1167e34544ad360" title="Init() is automatically called after the object is created.">Init()</a> is automatically called after the object is created. </p>
+<p>This is where you can put functions that rely on other parts of the API, now that the module has been created.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab57a787b61cd72fdcea0d232ed88eaef"></a><!-- doxytag: member="pp::Module::InstanceForPPInstance" ref="ab57a787b61cd72fdcea0d232ed88eaef" args="(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_instance.html">Instance</a>* <a class="el" href="classpp_1_1_module.html#ab57a787b61cd72fdcea0d232ed88eaef">pp::Module::InstanceForPPInstance</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Instance </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_module.html#ab57a787b61cd72fdcea0d232ed88eaef" title="InstanceForPPInstance() returns the object associated with this PP_Instance, or NULL if one is not fo...">InstanceForPPInstance()</a> returns the object associated with this <code>PP_Instance</code>, or NULL if one is not found. </p>
+<p>This should only be called from the main thread! This instance object may be destroyed at any time on the main thread, so using it on other threads may cause a crash.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>This <code>PP_Instance</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The object associated with this <code>PP_Instance</code>, or NULL if one is not found. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="acd9a63a4b364c28abfeac39687f2fa1a"></a><!-- doxytag: member="pp::Module::InternalInit" ref="acd9a63a4b364c28abfeac39687f2fa1a" args="(PP_Module mod, PPB_GetInterface get_browser_interface)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_module.html#acd9a63a4b364c28abfeac39687f2fa1a">pp::Module::InternalInit</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Module </td>
+<td class="paramname"><em>mod</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PPB_GetInterface </td>
+<td class="paramname"><em>get_browser_interface</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>function that can be overridden by the base classes. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">mod</td><td>A <code>PP_Module</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">get_browser_interface</td><td>The browser interface to set.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a95bb3148c925f46938ee0f267b1c66e5"></a><!-- doxytag: member="pp::Module::pp_module" ref="a95bb3148c925f46938ee0f267b1c66e5" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_Module <a class="el" href="classpp_1_1_module.html#a95bb3148c925f46938ee0f267b1c66e5">pp::Module::pp_module</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <a class="el" href="classpp_1_1_module.html#a95bb3148c925f46938ee0f267b1c66e5" title="The pp_module() function returns the internal module handle.">pp_module()</a> function returns the internal module handle. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Module</code> internal module handle. </dd></dl>
+</div>
+</div>
+<hr /><h2>Friends And Related Function Documentation</h2>
+<a class="anchor" id="ab0f2ba24fd03fa31fc2e47d4f8ceb158"></a><!-- doxytag: member="pp::Module::Instance_DidCreate" ref="ab0f2ba24fd03fa31fc2e47d4f8ceb158" args="(PP_Instance pp_instance, uint32_t argc, const char *argn[], const char *argv[])" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_Bool <a class="el" href="classpp_1_1_module.html#ab0f2ba24fd03fa31fc2e47d4f8ceb158">Instance_DidCreate</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Instance </td>
+<td class="paramname"><em>pp_instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>argc</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const char * </td>
+<td class="paramname"><em>argn</em>[], </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const char * </td>
+<td class="paramname"><em>argv</em>[] </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [friend]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="accf4ce5410f02db9c87dcca045043128"></a><!-- doxytag: member="pp::Module::Instance_DidDestroy" ref="accf4ce5410f02db9c87dcca045043128" args="(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_module.html#accf4ce5410f02db9c87dcca045043128">Instance_DidDestroy</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Instance </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td><code> [friend]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="module_8h.html">module.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_mouse_cursor-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_mouse_cursor-members.html
new file mode 100644
index 0000000..07d2ae9d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_mouse_cursor-members.html
@@ -0,0 +1,14 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_mouse_cursor.html">pp::MouseCursor</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_mouse_cursor.html#a94fc61cd6f995af87e1bf198c3fe788d">SetCursor</a>(const InstanceHandle &instance, PP_MouseCursor_Type type, const ImageData &image=ImageData(), const Point &hot_spot=Point(0, 0))</td><td><a class="el" href="classpp_1_1_mouse_cursor.html">pp::MouseCursor</a></td><td><code> [static]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_mouse_cursor.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_mouse_cursor.html
new file mode 100644
index 0000000..cb5efaa
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_mouse_cursor.html
@@ -0,0 +1,74 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::MouseCursor Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::MouseCursor" -->
+<p><a href="classpp_1_1_mouse_cursor-members.html">List of all members.</a></p>
+<h2>
+Static Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_cursor.html#a94fc61cd6f995af87e1bf198c3fe788d">SetCursor</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, PP_MouseCursor_Type type, const <a class="el" href="classpp_1_1_image_data.html">ImageData</a> &image=<a class="el" href="classpp_1_1_image_data.html">ImageData</a>(), const <a class="el" href="classpp_1_1_point.html">Point</a> &hot_spot=<a class="el" href="classpp_1_1_point.html">Point</a>(0, 0))</td></tr>
+</table>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a94fc61cd6f995af87e1bf198c3fe788d"></a><!-- doxytag: member="pp::MouseCursor::SetCursor" ref="a94fc61cd6f995af87e1bf198c3fe788d" args="(const InstanceHandle &instance, PP_MouseCursor_Type type, const ImageData &image=ImageData(), const Point &hot_spot=Point(0, 0))" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static bool <a class="el" href="classpp_1_1_mouse_cursor.html#a94fc61cd6f995af87e1bf198c3fe788d">pp::MouseCursor::SetCursor</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_MouseCursor_Type </td>
+<td class="paramname"><em>type</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_image_data.html">ImageData</a> & </td>
+<td class="paramname"><em>image</em> = <code><a class="el" href="classpp_1_1_image_data.html">ImageData</a>()</code>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">Point</a> & </td>
+<td class="paramname"><em>hot_spot</em> = <code><a class="el" href="classpp_1_1_point.html">Point</a>(0, 0)</code> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sets the given mouse cursor. </p>
+<p>The mouse cursor will be in effect whenever the mouse is over the given instance until it is set again by another call. Note that you can hide the mouse cursor by setting it to the <code>PP_MOUSECURSOR_TYPE_NONE</code> type.</p>
+<p>This function allows setting both system defined mouse cursors and custom cursors. To set a system-defined cursor, pass the type you want and set the custom image to a default-constructor <a class="el" href="classpp_1_1_image_data.html">ImageData</a> object. To set a custom cursor, set the type to <code>PP_MOUSECURSOR_TYPE_CUSTOM</code> and specify your image and hot spot.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A handle identifying the instance that the mouse cursor will affect.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>A <code>PP_MouseCursor_Type</code> identifying the type of mouse cursor to show. See <code>ppapi/c/ppb_mouse_cursor.h</code>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">image</td><td>A <code><a class="el" href="classpp_1_1_image_data.html">ImageData</a></code> object identifying the custom image to set when the type is <code>PP_MOUSECURSOR_TYPE_CUSTOM</code>. The image must be less than 32 pixels in each direction and must be of the system's native image format. When you are specifying a predefined cursor, this parameter should be a default-constructed <a class="el" href="classpp_1_1_image_data.html">ImageData</a>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">hot_spot</td><td>When setting a custom cursor, this identifies the pixel position within the given image of the "hot spot" of the cursor. When specifying a stock cursor, this parameter is ignored.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false if the instance or cursor type was invalid or if the image was too large. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="mouse__cursor_8h.html">mouse_cursor.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_mouse_input_event-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_mouse_input_event-members.html
new file mode 100644
index 0000000..de1c98a6
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_mouse_input_event-members.html
@@ -0,0 +1,37 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_mouse_input_event.html">pp::MouseInputEvent</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_mouse_input_event.html#ae953b64120ab5c84c31114d1e5d15e1b">GetButton</a>() const </td><td><a class="el" href="classpp_1_1_mouse_input_event.html">pp::MouseInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_mouse_input_event.html#a2e125cde20848ee70495e2f981b7417e">GetClickCount</a>() const </td><td><a class="el" href="classpp_1_1_mouse_input_event.html">pp::MouseInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a6f94a5cd8453f1b69e55aadde73354e7">GetModifiers</a>() const </td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_mouse_input_event.html#a33e589dc8460c5fd2064cef39f19970b">GetMovement</a>() const </td><td><a class="el" href="classpp_1_1_mouse_input_event.html">pp::MouseInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_mouse_input_event.html#a95bb484c3628871ed4d8cbd3b44effe2">GetPosition</a>() const </td><td><a class="el" href="classpp_1_1_mouse_input_event.html">pp::MouseInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#acc79ecdcf19f5b8a8a7268fc8ff51531">GetTimeStamp</a>() const </td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a73ca79c06ff9a39304e3b390090f03dc">GetType</a>() const </td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#ac7581e4321abe8de6f3b48d70f4aa65d">InputEvent</a>()</td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a1d4f7d3fb88de3cccc60ab26b92ccf23">InputEvent</a>(PP_Resource input_event_resource)</td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_mouse_input_event.html#a3a7fa73996bd504fc3aa86c447222761">MouseInputEvent</a>()</td><td><a class="el" href="classpp_1_1_mouse_input_event.html">pp::MouseInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_mouse_input_event.html#ad63fc6a3e5f29b5cb787fc74ebf0b33d">MouseInputEvent</a>(const InputEvent &event)</td><td><a class="el" href="classpp_1_1_mouse_input_event.html">pp::MouseInputEvent</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_mouse_input_event.html#a4e2f16fb54382135f07cf53e22905d3a">MouseInputEvent</a>(const InstanceHandle &instance, PP_InputEvent_Type type, PP_TimeTicks time_stamp, uint32_t modifiers, PP_InputEvent_MouseButton mouse_button, const Point &mouse_position, int32_t click_count, const Point &mouse_movement)</td><td><a class="el" href="classpp_1_1_mouse_input_event.html">pp::MouseInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a2492183af4fecec44a423a5b7eae6faf">~InputEvent</a>()</td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_mouse_input_event.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_mouse_input_event.html
new file mode 100644
index 0000000..7a428c06
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_mouse_input_event.html
@@ -0,0 +1,222 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::MouseInputEvent Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::MouseInputEvent" --><!-- doxytag: inherits="pp::InputEvent" --><div class="dynheader">
+Inheritance diagram for pp::MouseInputEvent:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_mouse_input_event__inherit__graph.png" border="0" usemap="#pp_1_1_mouse_input_event_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_mouse_input_event_inherit__map" id="pp_1_1_mouse_input_event_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_input_event.html" title="This class represents an input event resource." alt="" coords="25,83,140,112"></area><area shape="rect" id="node4" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="31,5,135,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_mouse_input_event-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_input_event.html#a3a7fa73996bd504fc3aa86c447222761">MouseInputEvent</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_input_event.html#ad63fc6a3e5f29b5cb787fc74ebf0b33d">MouseInputEvent</a> (const <a class="el" href="classpp_1_1_input_event.html">InputEvent</a> &event)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_input_event.html#a4e2f16fb54382135f07cf53e22905d3a">MouseInputEvent</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, PP_InputEvent_Type type, PP_TimeTicks time_stamp, uint32_t modifiers, PP_InputEvent_MouseButton mouse_button, const <a class="el" href="classpp_1_1_point.html">Point</a> &mouse_position, int32_t click_count, const <a class="el" href="classpp_1_1_point.html">Point</a> &mouse_movement)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_InputEvent_MouseButton </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_input_event.html#ae953b64120ab5c84c31114d1e5d15e1b">GetButton</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_point.html">Point</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_input_event.html#a95bb484c3628871ed4d8cbd3b44effe2">GetPosition</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_input_event.html#a2e125cde20848ee70495e2f981b7417e">GetClickCount</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_point.html">Point</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_input_event.html#a33e589dc8460c5fd2064cef39f19970b">GetMovement</a> () const </td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This class handles mouse events. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a3a7fa73996bd504fc3aa86c447222761"></a><!-- doxytag: member="pp::MouseInputEvent::MouseInputEvent" ref="a3a7fa73996bd504fc3aa86c447222761" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_mouse_input_event.html#a3a7fa73996bd504fc3aa86c447222761">pp::MouseInputEvent::MouseInputEvent</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> mouse input event object. </p>
+</div>
+</div>
+<a class="anchor" id="ad63fc6a3e5f29b5cb787fc74ebf0b33d"></a><!-- doxytag: member="pp::MouseInputEvent::MouseInputEvent" ref="ad63fc6a3e5f29b5cb787fc74ebf0b33d" args="(const InputEvent &event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_mouse_input_event.html#a3a7fa73996bd504fc3aa86c447222761">pp::MouseInputEvent::MouseInputEvent</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_input_event.html">InputEvent</a> & </td>
+<td class="paramname"><em>event</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This constructor constructs a mouse input event object from the provided generic input event. </p>
+<p>If the given event is itself <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> or is not a mouse input event, the mouse object will be <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramname">event</td><td>An <code><a class="el" href="classpp_1_1_input_event.html" title="This class represents an input event resource.">InputEvent</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a4e2f16fb54382135f07cf53e22905d3a"></a><!-- doxytag: member="pp::MouseInputEvent::MouseInputEvent" ref="a4e2f16fb54382135f07cf53e22905d3a" args="(const InstanceHandle &instance, PP_InputEvent_Type type, PP_TimeTicks time_stamp, uint32_t modifiers, PP_InputEvent_MouseButton mouse_button, const Point &mouse_position, int32_t click_count, const Point &mouse_movement)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_mouse_input_event.html#a3a7fa73996bd504fc3aa86c447222761">pp::MouseInputEvent::MouseInputEvent</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_InputEvent_Type </td>
+<td class="paramname"><em>type</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_TimeTicks </td>
+<td class="paramname"><em>time_stamp</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>modifiers</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_InputEvent_MouseButton </td>
+<td class="paramname"><em>mouse_button</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">Point</a> & </td>
+<td class="paramname"><em>mouse_position</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>click_count</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">Point</a> & </td>
+<td class="paramname"><em>mouse_movement</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This constructor manually constructs a mouse event from the provided parameters. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance for which this event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>A <code>PP_InputEvent_Type</code> identifying the type of input event.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">time_stamp</td><td>A <code>PP_TimeTicks</code> indicating the time when the event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">modifiers</td><td>A bit field combination of the <code>PP_InputEvent_Modifier</code> flags.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">mouse_button</td><td>The button that changed for mouse down or up events. This value will be <code>PP_EVENT_MOUSEBUTTON_NONE</code> for mouse move, enter, and leave events.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">mouse_position</td><td>A <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code> containing the x and y position of the mouse when the event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">click_count</td><td></td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">mouse_movement</td><td>The change in position of the mouse. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="ae953b64120ab5c84c31114d1e5d15e1b"></a><!-- doxytag: member="pp::MouseInputEvent::GetButton" ref="ae953b64120ab5c84c31114d1e5d15e1b" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_InputEvent_MouseButton <a class="el" href="classpp_1_1_mouse_input_event.html#ae953b64120ab5c84c31114d1e5d15e1b">pp::MouseInputEvent::GetButton</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_mouse_input_event.html#ae953b64120ab5c84c31114d1e5d15e1b" title="GetButton() returns the mouse position for a mouse input event.">GetButton()</a> returns the mouse position for a mouse input event. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The mouse button associated with mouse down and up events. This value will be PP_EVENT_MOUSEBUTTON_NONE for mouse move, enter, and leave events, and for all non-mouse events. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2e125cde20848ee70495e2f981b7417e"></a><!-- doxytag: member="pp::MouseInputEvent::GetClickCount" ref="a2e125cde20848ee70495e2f981b7417e" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_mouse_input_event.html#a2e125cde20848ee70495e2f981b7417e">pp::MouseInputEvent::GetClickCount</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a33e589dc8460c5fd2064cef39f19970b"></a><!-- doxytag: member="pp::MouseInputEvent::GetMovement" ref="a33e589dc8460c5fd2064cef39f19970b" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_point.html">Point</a> <a class="el" href="classpp_1_1_mouse_input_event.html#a33e589dc8460c5fd2064cef39f19970b">pp::MouseInputEvent::GetMovement</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns the change in position of the mouse. </p>
+<p>When the mouse is locked, although the mouse position doesn't actually change, this function still provides movement information, which indicates what the change in position would be had the mouse not been locked.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The change in position of the mouse, relative to the previous position. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a95bb484c3628871ed4d8cbd3b44effe2"></a><!-- doxytag: member="pp::MouseInputEvent::GetPosition" ref="a95bb484c3628871ed4d8cbd3b44effe2" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_point.html">Point</a> <a class="el" href="classpp_1_1_mouse_input_event.html#a95bb484c3628871ed4d8cbd3b44effe2">pp::MouseInputEvent::GetPosition</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_mouse_input_event.html#a95bb484c3628871ed4d8cbd3b44effe2" title="GetPosition() returns the pixel location of a mouse input event.">GetPosition()</a> returns the pixel location of a mouse input event. </p>
+<p>When the mouse is locked, it returns the last known mouse position just as mouse lock was entered.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The point associated with the mouse event, relative to the upper- left of the instance receiving the event. These values can be negative for mouse drags. The return value will be (0, 0) for non-mouse events. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="input__event_8h.html">input_event.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_mouse_input_event__inherit__graph.png b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_mouse_input_event__inherit__graph.png
new file mode 100644
index 0000000..c2e0c0e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_mouse_input_event__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_mouse_lock-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_mouse_lock-members.html
new file mode 100644
index 0000000..e22d66c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_mouse_lock-members.html
@@ -0,0 +1,18 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_mouse_lock.html">pp::MouseLock</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_mouse_lock.html#ad17ce49daa092ec8ec6ca56aebf5b2cc">LockMouse</a>(const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_mouse_lock.html">pp::MouseLock</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_mouse_lock.html#a2c304f04bbcca852cfff575595de291f">MouseLock</a>(Instance *instance)</td><td><a class="el" href="classpp_1_1_mouse_lock.html">pp::MouseLock</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_mouse_lock.html#a325767b75e132ae0c1ca7d4776f5d05c">MouseLockLost</a>()=0</td><td><a class="el" href="classpp_1_1_mouse_lock.html">pp::MouseLock</a></td><td><code> [pure virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_mouse_lock.html#ad896ad4a23395cc6735930437bfb92e6">UnlockMouse</a>()</td><td><a class="el" href="classpp_1_1_mouse_lock.html">pp::MouseLock</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_mouse_lock.html#a2ac121eb177f22d69c46066d979e06a8">~MouseLock</a>()</td><td><a class="el" href="classpp_1_1_mouse_lock.html">pp::MouseLock</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_mouse_lock.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_mouse_lock.html
new file mode 100644
index 0000000..58d5fe2
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_mouse_lock.html
@@ -0,0 +1,147 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::MouseLock Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::MouseLock" -->
+<p><a href="classpp_1_1_mouse_lock-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_lock.html#a2c304f04bbcca852cfff575595de291f">MouseLock</a> (<a class="el" href="classpp_1_1_instance.html">Instance</a> *instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_lock.html#a2ac121eb177f22d69c46066d979e06a8">~MouseLock</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_lock.html#a325767b75e132ae0c1ca7d4776f5d05c">MouseLockLost</a> ()=0</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_lock.html#ad17ce49daa092ec8ec6ca56aebf5b2cc">LockMouse</a> (const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_lock.html#ad896ad4a23395cc6735930437bfb92e6">UnlockMouse</a> ()</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This class allows you to associate the <code>PPP_MouseLock</code> and <code>PPB_MouseLock</code> C-based interfaces with an object. </p>
+<p>It associates itself with the given instance, and registers as the global handler for handling the <code>PPP_MouseLock</code> interface that the browser calls.</p>
+<p>You would typically use this class by inheritance on your instance or by composition.</p>
+<p><b>Example (inheritance):</b> </p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">class </span>MyInstance : <span class="keyword">public</span> pp::Instance, <span class="keyword">public</span> pp::<a class="code" href="classpp_1_1_mouse_lock.html#a2c304f04bbcca852cfff575595de291f" title="A constructor for creating a MouseLock.">MouseLock</a> {
+ <span class="keyword">class </span>MyInstance() : pp::<a class="code" href="classpp_1_1_mouse_lock.html#a2c304f04bbcca852cfff575595de291f" title="A constructor for creating a MouseLock.">MouseLock</a>(this) {
+ }
+ ...
+ };
+</pre></div><p><b>Example (composition):</b> </p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">class </span>MyMouseLock : <span class="keyword">public</span> pp::<a class="code" href="classpp_1_1_mouse_lock.html#a2c304f04bbcca852cfff575595de291f" title="A constructor for creating a MouseLock.">MouseLock</a> {
+ ...
+ };
+
+ <span class="keyword">class </span>MyInstance : <span class="keyword">public</span> pp::Instance {
+ MyInstance() : mouse_lock_(this) {
+ }
+
+ MyMouseLock mouse_lock_;
+ };
+</pre></div> </div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a2c304f04bbcca852cfff575595de291f"></a><!-- doxytag: member="pp::MouseLock::MouseLock" ref="a2c304f04bbcca852cfff575595de291f" args="(Instance *instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_mouse_lock.html#a2c304f04bbcca852cfff575595de291f">pp::MouseLock::MouseLock</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="classpp_1_1_instance.html">Instance</a> * </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor for creating a <code><a class="el" href="classpp_1_1_mouse_lock.html" title="This class allows you to associate the PPP_MouseLock and PPB_MouseLock C-based interfaces with an obj...">MouseLock</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a2ac121eb177f22d69c46066d979e06a8"></a><!-- doxytag: member="pp::MouseLock::~MouseLock" ref="a2ac121eb177f22d69c46066d979e06a8" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_mouse_lock.html#a2ac121eb177f22d69c46066d979e06a8">pp::MouseLock::~MouseLock</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Destructor. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="ad17ce49daa092ec8ec6ca56aebf5b2cc"></a><!-- doxytag: member="pp::MouseLock::LockMouse" ref="ad17ce49daa092ec8ec6ca56aebf5b2cc" args="(const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_mouse_lock.html#ad17ce49daa092ec8ec6ca56aebf5b2cc">pp::MouseLock::LockMouse</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_mouse_lock.html#ad17ce49daa092ec8ec6ca56aebf5b2cc" title="LockMouse() requests the mouse to be locked.">LockMouse()</a> requests the mouse to be locked. </p>
+<p>While the mouse is locked, the cursor is implicitly hidden from the user. Any movement of the mouse will generate a <code>PP_INPUTEVENT_TYPE_MOUSEMOVE</code> event. The <code>GetPosition()</code> function in <code>InputEvent()</code> reports the last known mouse position just as mouse lock was entered. The <code>GetMovement()</code> function provides relative movement information indicating what the change in position of the mouse would be had it not been locked.</p>
+<p>The browser may revoke the mouse lock for reasons including (but not limited to) the user pressing the ESC key, the user activating another program using a reserved keystroke (e.g. ALT+TAB), or some other system event.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a325767b75e132ae0c1ca7d4776f5d05c"></a><!-- doxytag: member="pp::MouseLock::MouseLockLost" ref="a325767b75e132ae0c1ca7d4776f5d05c" args="()=0" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual void <a class="el" href="classpp_1_1_mouse_lock.html#a325767b75e132ae0c1ca7d4776f5d05c">pp::MouseLock::MouseLockLost</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [pure virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>PPP_MouseLock functions exposed as virtual functions for you to override. </p>
+</div>
+</div>
+<a class="anchor" id="ad896ad4a23395cc6735930437bfb92e6"></a><!-- doxytag: member="pp::MouseLock::UnlockMouse" ref="ad896ad4a23395cc6735930437bfb92e6" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_mouse_lock.html#ad896ad4a23395cc6735930437bfb92e6">pp::MouseLock::UnlockMouse</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>UnlockMouse causes the mouse to be unlocked, allowing it to track user movement again. </p>
+<p>This is an asynchronous operation. The module instance will be notified using the <code>PPP_MouseLock</code> interface when it has lost the mouse lock. </p>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="mouse__lock_8h.html">mouse_lock.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_net_address-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_net_address-members.html
new file mode 100644
index 0000000..cb30d20
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_net_address-members.html
@@ -0,0 +1,36 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_net_address.html">pp::NetAddress</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_net_address.html#a3fdbd86db0384bf334dabcefa5e46237">DescribeAsIPv4Address</a>(PP_NetAddress_IPv4 *ipv4_addr) const </td><td><a class="el" href="classpp_1_1_net_address.html">pp::NetAddress</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_net_address.html#a81991279a52f8d38d9b75e1e607a81a5">DescribeAsIPv6Address</a>(PP_NetAddress_IPv6 *ipv6_addr) const </td><td><a class="el" href="classpp_1_1_net_address.html">pp::NetAddress</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_net_address.html#a9ff9ad19269af1c00ff02542397e92cc">DescribeAsString</a>(bool include_port) const </td><td><a class="el" href="classpp_1_1_net_address.html">pp::NetAddress</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_net_address.html#a271533da67cd5c6f536c6595b439bd9b">GetFamily</a>() const </td><td><a class="el" href="classpp_1_1_net_address.html">pp::NetAddress</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_net_address.html#a15547416a0b50b6ebd271ca421a91068">IsAvailable</a>()</td><td><a class="el" href="classpp_1_1_net_address.html">pp::NetAddress</a></td><td><code> [static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_net_address.html#abe4887a33342dac27318079f07bb012d">NetAddress</a>()</td><td><a class="el" href="classpp_1_1_net_address.html">pp::NetAddress</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_net_address.html#ade2ad27841d2ccedbb202ee2c1eade14">NetAddress</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_net_address.html">pp::NetAddress</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_net_address.html#ae54044b80f97d259cb23b924a877ce53">NetAddress</a>(const InstanceHandle &instance, const PP_NetAddress_IPv4 &ipv4_addr)</td><td><a class="el" href="classpp_1_1_net_address.html">pp::NetAddress</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_net_address.html#a76442610ed533079115a5150b7a9c98c">NetAddress</a>(const InstanceHandle &instance, const PP_NetAddress_IPv6 &ipv6_addr)</td><td><a class="el" href="classpp_1_1_net_address.html">pp::NetAddress</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_net_address.html#a8c0b559bd205387c199aba688c356298">NetAddress</a>(const NetAddress &other)</td><td><a class="el" href="classpp_1_1_net_address.html">pp::NetAddress</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_net_address.html#ab12bb266c9714d818aedc9cce7a209cf">operator=</a>(const NetAddress &other)</td><td><a class="el" href="classpp_1_1_net_address.html">pp::NetAddress</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">pp::Resource::operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_net_address.html#a06b05fdecaf0b32ee74e7ebbb85a0674">~NetAddress</a>()</td><td><a class="el" href="classpp_1_1_net_address.html">pp::NetAddress</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_net_address.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_net_address.html
new file mode 100644
index 0000000..3960d12
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_net_address.html
@@ -0,0 +1,334 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::NetAddress Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::NetAddress" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::NetAddress:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_net_address__inherit__graph.png" border="0" usemap="#pp_1_1_net_address_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_net_address_inherit__map" id="pp_1_1_net_address_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="13,5,117,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_net_address-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_net_address.html#abe4887a33342dac27318079f07bb012d">NetAddress</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_net_address.html#ade2ad27841d2ccedbb202ee2c1eade14">NetAddress</a> (<a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a>, PP_Resource resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_net_address.html#ae54044b80f97d259cb23b924a877ce53">NetAddress</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, const PP_NetAddress_IPv4 &ipv4_addr)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_net_address.html#a76442610ed533079115a5150b7a9c98c">NetAddress</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, const PP_NetAddress_IPv6 &ipv6_addr)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_net_address.html#a8c0b559bd205387c199aba688c356298">NetAddress</a> (const <a class="el" href="classpp_1_1_net_address.html">NetAddress</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_net_address.html#a06b05fdecaf0b32ee74e7ebbb85a0674">~NetAddress</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_net_address.html">NetAddress</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_net_address.html#ab12bb266c9714d818aedc9cce7a209cf">operator=</a> (const <a class="el" href="classpp_1_1_net_address.html">NetAddress</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_NetAddress_Family </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_net_address.html#a271533da67cd5c6f536c6595b439bd9b">GetFamily</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_net_address.html#a9ff9ad19269af1c00ff02542397e92cc">DescribeAsString</a> (bool include_port) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_net_address.html#a3fdbd86db0384bf334dabcefa5e46237">DescribeAsIPv4Address</a> (PP_NetAddress_IPv4 *ipv4_addr) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_net_address.html#a81991279a52f8d38d9b75e1e607a81a5">DescribeAsIPv6Address</a> (PP_NetAddress_IPv6 *ipv6_addr) const </td></tr>
+</table><h2>
+Static Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_net_address.html#a15547416a0b50b6ebd271ca421a91068">IsAvailable</a> ()</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code> class represents a network address. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="abe4887a33342dac27318079f07bb012d"></a><!-- doxytag: member="pp::NetAddress::NetAddress" ref="abe4887a33342dac27318079f07bb012d" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_net_address.html#abe4887a33342dac27318079f07bb012d">pp::NetAddress::NetAddress</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor for creating an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code> object. </p>
+</div>
+</div>
+<a class="anchor" id="ade2ad27841d2ccedbb202ee2c1eade14"></a><!-- doxytag: member="pp::NetAddress::NetAddress" ref="ade2ad27841d2ccedbb202ee2c1eade14" args="(PassRef, PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_net_address.html#abe4887a33342dac27318079f07bb012d">pp::NetAddress::NetAddress</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a> </td>
+<td class="paramname">, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>resource</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used when you have received a <code>PP_Resource</code> as a return value that has had 1 ref added for you. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PPB_NetAddress</code> resource. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ae54044b80f97d259cb23b924a877ce53"></a><!-- doxytag: member="pp::NetAddress::NetAddress" ref="ae54044b80f97d259cb23b924a877ce53" args="(const InstanceHandle &instance, const PP_NetAddress_IPv4 &ipv4_addr)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_net_address.html#abe4887a33342dac27318079f07bb012d">pp::NetAddress::NetAddress</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const PP_NetAddress_IPv4 & </td>
+<td class="paramname"><em>ipv4_addr</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used to create a <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code> object with the specified IPv4 address. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">ipv4_addr</td><td>An IPv4 address. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a76442610ed533079115a5150b7a9c98c"></a><!-- doxytag: member="pp::NetAddress::NetAddress" ref="a76442610ed533079115a5150b7a9c98c" args="(const InstanceHandle &instance, const PP_NetAddress_IPv6 &ipv6_addr)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_net_address.html#abe4887a33342dac27318079f07bb012d">pp::NetAddress::NetAddress</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const PP_NetAddress_IPv6 & </td>
+<td class="paramname"><em>ipv6_addr</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used to create a <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code> object with the specified IPv6 address. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">ipv6_addr</td><td>An IPv6 address. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a8c0b559bd205387c199aba688c356298"></a><!-- doxytag: member="pp::NetAddress::NetAddress" ref="a8c0b559bd205387c199aba688c356298" args="(const NetAddress &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_net_address.html#abe4887a33342dac27318079f07bb012d">pp::NetAddress::NetAddress</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_net_address.html">NetAddress</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The copy constructor for <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A reference to another <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a06b05fdecaf0b32ee74e7ebbb85a0674"></a><!-- doxytag: member="pp::NetAddress::~NetAddress" ref="a06b05fdecaf0b32ee74e7ebbb85a0674" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_net_address.html#a06b05fdecaf0b32ee74e7ebbb85a0674">pp::NetAddress::~NetAddress</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The destructor. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a3fdbd86db0384bf334dabcefa5e46237"></a><!-- doxytag: member="pp::NetAddress::DescribeAsIPv4Address" ref="a3fdbd86db0384bf334dabcefa5e46237" args="(PP_NetAddress_IPv4 *ipv4_addr) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_net_address.html#a3fdbd86db0384bf334dabcefa5e46237">pp::NetAddress::DescribeAsIPv4Address</a> </td>
+<td>(</td>
+<td class="paramtype">PP_NetAddress_IPv4 * </td>
+<td class="paramname"><em>ipv4_addr</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Fills a <code>PP_NetAddress_IPv4</code> structure if the network address is of <code>PP_NETADDRESS_FAMILY_IPV4</code> address family. </p>
+<p>Note that passing a network address of <code>PP_NETADDRESS_FAMILY_IPV6</code> address family will fail even if the address is an IPv4-mapped IPv6 address.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[out]</td><td class="paramname">ipv4_addr</td><td>A <code>PP_NetAddress_IPv4</code> structure to store the result.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A boolean value indicating whether the operation succeeded. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a81991279a52f8d38d9b75e1e607a81a5"></a><!-- doxytag: member="pp::NetAddress::DescribeAsIPv6Address" ref="a81991279a52f8d38d9b75e1e607a81a5" args="(PP_NetAddress_IPv6 *ipv6_addr) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_net_address.html#a81991279a52f8d38d9b75e1e607a81a5">pp::NetAddress::DescribeAsIPv6Address</a> </td>
+<td>(</td>
+<td class="paramtype">PP_NetAddress_IPv6 * </td>
+<td class="paramname"><em>ipv6_addr</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Fills a <code>PP_NetAddress_IPv6</code> structure if the network address is of <code>PP_NETADDRESS_FAMILY_IPV6</code> address family. </p>
+<p>Note that passing a network address of <code>PP_NETADDRESS_FAMILY_IPV4</code> address family will fail - this method doesn't map it to an IPv6 address.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[out]</td><td class="paramname">ipv6_addr</td><td>A <code>PP_NetAddress_IPv6</code> structure to store the result.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A boolean value indicating whether the operation succeeded. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a9ff9ad19269af1c00ff02542397e92cc"></a><!-- doxytag: member="pp::NetAddress::DescribeAsString" ref="a9ff9ad19269af1c00ff02542397e92cc" args="(bool include_port) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_net_address.html#a9ff9ad19269af1c00ff02542397e92cc">pp::NetAddress::DescribeAsString</a> </td>
+<td>(</td>
+<td class="paramtype">bool </td>
+<td class="paramname"><em>include_port</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns a human-readable description of the network address. </p>
+<p>The description is in the form of host [ ":" port ] and conforms to <a href="http://tools.ietf.org/html/rfc3986#section-3.2">http://tools.ietf.org/html/rfc3986#section-3.2</a> for IPv4 and IPv6 addresses (e.g., "192.168.0.1", "192.168.0.1:99", or "[::1]:80").</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">include_port</td><td>Whether to include the port number in the description.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A string <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> on success; an undefined <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a271533da67cd5c6f536c6595b439bd9b"></a><!-- doxytag: member="pp::NetAddress::GetFamily" ref="a271533da67cd5c6f536c6595b439bd9b" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_NetAddress_Family <a class="el" href="classpp_1_1_net_address.html#a271533da67cd5c6f536c6595b439bd9b">pp::NetAddress::GetFamily</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the address family. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The address family on success; <code>PP_NETADDRESS_FAMILY_UNSPECIFIED</code> on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a15547416a0b50b6ebd271ca421a91068"></a><!-- doxytag: member="pp::NetAddress::IsAvailable" ref="a15547416a0b50b6ebd271ca421a91068" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static bool <a class="el" href="classpp_1_1_net_address.html#a15547416a0b50b6ebd271ca421a91068">pp::NetAddress::IsAvailable</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Static function for determining whether the browser supports the <code>PPB_NetAddress</code> interface. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the interface is available, false otherwise. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab12bb266c9714d818aedc9cce7a209cf"></a><!-- doxytag: member="pp::NetAddress::operator=" ref="ab12bb266c9714d818aedc9cce7a209cf" args="(const NetAddress &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_net_address.html">NetAddress</a>& pp::NetAddress::operator= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_net_address.html">NetAddress</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The assignment operator for <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A reference to another <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A reference to this <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code> object. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="net__address_8h.html">net_address.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_net_address__inherit__graph.png b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_net_address__inherit__graph.png
new file mode 100644
index 0000000..96ea0c8
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_net_address__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_network_list-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_network_list-members.html
new file mode 100644
index 0000000..48b7cf4
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_network_list-members.html
@@ -0,0 +1,34 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_network_list.html">pp::NetworkList</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_network_list.html#a4dd51a7af2b0af6c6b962e975131c3e2">GetCount</a>() const </td><td><a class="el" href="classpp_1_1_network_list.html">pp::NetworkList</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_network_list.html#a5a9aff0b4b03205a35ba0298fb9d383f">GetDisplayName</a>(uint32_t index) const </td><td><a class="el" href="classpp_1_1_network_list.html">pp::NetworkList</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_network_list.html#ab2dee43ce3ac787852438210b80361d8">GetIpAddresses</a>(uint32_t index, std::vector< NetAddress > *addresses) const </td><td><a class="el" href="classpp_1_1_network_list.html">pp::NetworkList</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_network_list.html#aebbb32231a87568e7fbe29e50e16fc58">GetMTU</a>(uint32_t index) const </td><td><a class="el" href="classpp_1_1_network_list.html">pp::NetworkList</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_network_list.html#acb253aedb772fc42bdfbb5d05331d8b1">GetName</a>(uint32_t index) const </td><td><a class="el" href="classpp_1_1_network_list.html">pp::NetworkList</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_network_list.html#a9c4a05d5bc5d0d23aac52f59f1718e32">GetState</a>(uint32_t index) const </td><td><a class="el" href="classpp_1_1_network_list.html">pp::NetworkList</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_network_list.html#a61d4a2421294e176d749115cbf5fb91b">GetType</a>(uint32_t index) const </td><td><a class="el" href="classpp_1_1_network_list.html">pp::NetworkList</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_network_list.html#ab059a90bb9e2aced3f0e709853d0e61f">IsAvailable</a>()</td><td><a class="el" href="classpp_1_1_network_list.html">pp::NetworkList</a></td><td><code> [static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_network_list.html#a2f79e2f0c884db428a4e1df63b64e2c0">NetworkList</a>()</td><td><a class="el" href="classpp_1_1_network_list.html">pp::NetworkList</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_network_list.html#a3d91fdce92976477be4a131fdd5c21e1">NetworkList</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_network_list.html">pp::NetworkList</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_network_list.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_network_list.html
new file mode 100644
index 0000000..55a49fe
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_network_list.html
@@ -0,0 +1,226 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::NetworkList Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::NetworkList" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::NetworkList:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_network_list__inherit__graph.png" border="0" usemap="#pp_1_1_network_list_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_network_list_inherit__map" id="pp_1_1_network_list_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="13,5,117,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_network_list-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_list.html#a2f79e2f0c884db428a4e1df63b64e2c0">NetworkList</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_list.html#a3d91fdce92976477be4a131fdd5c21e1">NetworkList</a> (<a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a>, PP_Resource resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_list.html#a4dd51a7af2b0af6c6b962e975131c3e2">GetCount</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_list.html#acb253aedb772fc42bdfbb5d05331d8b1">GetName</a> (uint32_t index) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_NetworkList_Type </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_list.html#a61d4a2421294e176d749115cbf5fb91b">GetType</a> (uint32_t index) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_NetworkList_State </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_list.html#a9c4a05d5bc5d0d23aac52f59f1718e32">GetState</a> (uint32_t index) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_list.html#ab2dee43ce3ac787852438210b80361d8">GetIpAddresses</a> (uint32_t index, std::vector< <a class="el" href="classpp_1_1_net_address.html">NetAddress</a> > *addresses) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_list.html#a5a9aff0b4b03205a35ba0298fb9d383f">GetDisplayName</a> (uint32_t index) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_list.html#aebbb32231a87568e7fbe29e50e16fc58">GetMTU</a> (uint32_t index) const </td></tr>
+</table><h2>
+Static Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_list.html#ab059a90bb9e2aced3f0e709853d0e61f">IsAvailable</a> ()</td></tr>
+</table>
+<hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a2f79e2f0c884db428a4e1df63b64e2c0"></a><!-- doxytag: member="pp::NetworkList::NetworkList" ref="a2f79e2f0c884db428a4e1df63b64e2c0" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_network_list.html#a2f79e2f0c884db428a4e1df63b64e2c0">pp::NetworkList::NetworkList</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a3d91fdce92976477be4a131fdd5c21e1"></a><!-- doxytag: member="pp::NetworkList::NetworkList" ref="a3d91fdce92976477be4a131fdd5c21e1" args="(PassRef, PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_network_list.html#a2f79e2f0c884db428a4e1df63b64e2c0">pp::NetworkList::NetworkList</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a> </td>
+<td class="paramname">, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>resource</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a4dd51a7af2b0af6c6b962e975131c3e2"></a><!-- doxytag: member="pp::NetworkList::GetCount" ref="a4dd51a7af2b0af6c6b962e975131c3e2" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="classpp_1_1_network_list.html#a4dd51a7af2b0af6c6b962e975131c3e2">pp::NetworkList::GetCount</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the number of available network interfaces or 0 if the list has never been updated. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a5a9aff0b4b03205a35ba0298fb9d383f"></a><!-- doxytag: member="pp::NetworkList::GetDisplayName" ref="a5a9aff0b4b03205a35ba0298fb9d383f" args="(uint32_t index) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">std::string <a class="el" href="classpp_1_1_network_list.html#a5a9aff0b4b03205a35ba0298fb9d383f">pp::NetworkList::GetDisplayName</a> </td>
+<td>(</td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>index</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the display name for the network interface with the specified <code>index</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab2dee43ce3ac787852438210b80361d8"></a><!-- doxytag: member="pp::NetworkList::GetIpAddresses" ref="ab2dee43ce3ac787852438210b80361d8" args="(uint32_t index, std::vector< NetAddress > *addresses) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_network_list.html#ab2dee43ce3ac787852438210b80361d8">pp::NetworkList::GetIpAddresses</a> </td>
+<td>(</td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>index</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">std::vector< <a class="el" href="classpp_1_1_net_address.html">NetAddress</a> > * </td>
+<td class="paramname"><em>addresses</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the list of IP addresses for the network interface with the specified <code>index</code> and stores them in <code>addresses</code>. </p>
+</div>
+</div>
+<a class="anchor" id="aebbb32231a87568e7fbe29e50e16fc58"></a><!-- doxytag: member="pp::NetworkList::GetMTU" ref="aebbb32231a87568e7fbe29e50e16fc58" args="(uint32_t index) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="classpp_1_1_network_list.html#aebbb32231a87568e7fbe29e50e16fc58">pp::NetworkList::GetMTU</a> </td>
+<td>(</td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>index</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the MTU for the network interface with the specified <code>index</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="acb253aedb772fc42bdfbb5d05331d8b1"></a><!-- doxytag: member="pp::NetworkList::GetName" ref="acb253aedb772fc42bdfbb5d05331d8b1" args="(uint32_t index) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">std::string <a class="el" href="classpp_1_1_network_list.html#acb253aedb772fc42bdfbb5d05331d8b1">pp::NetworkList::GetName</a> </td>
+<td>(</td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>index</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the name for the network interface with the specified <code>index</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a9c4a05d5bc5d0d23aac52f59f1718e32"></a><!-- doxytag: member="pp::NetworkList::GetState" ref="a9c4a05d5bc5d0d23aac52f59f1718e32" args="(uint32_t index) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_NetworkList_State <a class="el" href="classpp_1_1_network_list.html#a9c4a05d5bc5d0d23aac52f59f1718e32">pp::NetworkList::GetState</a> </td>
+<td>(</td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>index</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the current state of the network interface with the specified <code>index</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a61d4a2421294e176d749115cbf5fb91b"></a><!-- doxytag: member="pp::NetworkList::GetType" ref="a61d4a2421294e176d749115cbf5fb91b" args="(uint32_t index) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_NetworkList_Type <a class="el" href="classpp_1_1_network_list.html#a61d4a2421294e176d749115cbf5fb91b">pp::NetworkList::GetType</a> </td>
+<td>(</td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>index</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the type of the network interface with the specified <code>index</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab059a90bb9e2aced3f0e709853d0e61f"></a><!-- doxytag: member="pp::NetworkList::IsAvailable" ref="ab059a90bb9e2aced3f0e709853d0e61f" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static bool <a class="el" href="classpp_1_1_network_list.html#ab059a90bb9e2aced3f0e709853d0e61f">pp::NetworkList::IsAvailable</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns true if the required interface is available. </p>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="network__list_8h.html">network_list.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_network_list__inherit__graph.png b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_network_list__inherit__graph.png
new file mode 100644
index 0000000..8f698b7
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_network_list__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_network_monitor-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_network_monitor-members.html
new file mode 100644
index 0000000..8606ba7
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_network_monitor-members.html
@@ -0,0 +1,27 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_network_monitor.html">pp::NetworkMonitor</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_network_monitor.html#a951ffd9408df8ad2d0372d7d20a82c18">IsAvailable</a>()</td><td><a class="el" href="classpp_1_1_network_monitor.html">pp::NetworkMonitor</a></td><td><code> [static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_network_monitor.html#adb2a70430cea008097334e7986cd2cad">NetworkMonitor</a>(const InstanceHandle &instance)</td><td><a class="el" href="classpp_1_1_network_monitor.html">pp::NetworkMonitor</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_network_monitor.html#a1eb2853161f04d36ec6f7260518b7408">UpdateNetworkList</a>(const CompletionCallbackWithOutput< NetworkList > &callback)</td><td><a class="el" href="classpp_1_1_network_monitor.html">pp::NetworkMonitor</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_network_monitor.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_network_monitor.html
new file mode 100644
index 0000000..44e8049
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_network_monitor.html
@@ -0,0 +1,81 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::NetworkMonitor Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::NetworkMonitor" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::NetworkMonitor:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_network_monitor__inherit__graph.png" border="0" usemap="#pp_1_1_network_monitor_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_network_monitor_inherit__map" id="pp_1_1_network_monitor_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="27,5,131,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_network_monitor-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_monitor.html#adb2a70430cea008097334e7986cd2cad">NetworkMonitor</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_monitor.html#a1eb2853161f04d36ec6f7260518b7408">UpdateNetworkList</a> (const <a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a>< <a class="el" href="classpp_1_1_network_list.html">NetworkList</a> > &callback)</td></tr>
+</table><h2>
+Static Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_monitor.html#a951ffd9408df8ad2d0372d7d20a82c18">IsAvailable</a> ()</td></tr>
+</table>
+<hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="adb2a70430cea008097334e7986cd2cad"></a><!-- doxytag: member="pp::NetworkMonitor::NetworkMonitor" ref="adb2a70430cea008097334e7986cd2cad" args="(const InstanceHandle &instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_network_monitor.html#adb2a70430cea008097334e7986cd2cad">pp::NetworkMonitor::NetworkMonitor</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a951ffd9408df8ad2d0372d7d20a82c18"></a><!-- doxytag: member="pp::NetworkMonitor::IsAvailable" ref="a951ffd9408df8ad2d0372d7d20a82c18" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static bool <a class="el" href="classpp_1_1_network_monitor.html#a951ffd9408df8ad2d0372d7d20a82c18">pp::NetworkMonitor::IsAvailable</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a1eb2853161f04d36ec6f7260518b7408"></a><!-- doxytag: member="pp::NetworkMonitor::UpdateNetworkList" ref="a1eb2853161f04d36ec6f7260518b7408" args="(const CompletionCallbackWithOutput< NetworkList > &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_network_monitor.html#a1eb2853161f04d36ec6f7260518b7408">pp::NetworkMonitor::UpdateNetworkList</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a>< <a class="el" href="classpp_1_1_network_list.html">NetworkList</a> > & </td>
+<td class="paramname"><em>callback</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="network__monitor_8h.html">network_monitor.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_network_monitor__inherit__graph.png b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_network_monitor__inherit__graph.png
new file mode 100644
index 0000000..dc7826c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_network_monitor__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_network_proxy-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_network_proxy-members.html
new file mode 100644
index 0000000..3e0d713
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_network_proxy-members.html
@@ -0,0 +1,15 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_network_proxy.html">pp::NetworkProxy</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_network_proxy.html#a03ae12454a920710272c15431039b6fd">GetProxyForURL</a>(const InstanceHandle &instance, const Var &url, const pp::CompletionCallbackWithOutput< Var > &callback)</td><td><a class="el" href="classpp_1_1_network_proxy.html">pp::NetworkProxy</a></td><td><code> [static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_network_proxy.html#a864362732834af39e12f699ff5e1888d">IsAvailable</a>()</td><td><a class="el" href="classpp_1_1_network_proxy.html">pp::NetworkProxy</a></td><td><code> [static]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_network_proxy.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_network_proxy.html
new file mode 100644
index 0000000..9da0317
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_network_proxy.html
@@ -0,0 +1,86 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::NetworkProxy Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::NetworkProxy" -->
+<p><a href="classpp_1_1_network_proxy-members.html">List of all members.</a></p>
+<h2>
+Static Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_proxy.html#a864362732834af39e12f699ff5e1888d">IsAvailable</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_proxy.html#a03ae12454a920710272c15431039b6fd">GetProxyForURL</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, const <a class="el" href="classpp_1_1_var.html">Var</a> &url, const <a class="el" href="classpp_1_1_completion_callback_with_output.html">pp::CompletionCallbackWithOutput</a>< <a class="el" href="classpp_1_1_var.html">Var</a> > &callback)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This class provides a way to determine the appropriate proxy settings for for a given URL. </p>
+<p>Permissions: Apps permission <code>socket</code> with subrule <code>resolve-proxy</code> is required for using this API. For more details about network communication permissions, please see: <a href="http://developer.chrome.com/apps/app_network.html">http://developer.chrome.com/apps/app_network.html</a> </p>
+</div><hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a03ae12454a920710272c15431039b6fd"></a><!-- doxytag: member="pp::NetworkProxy::GetProxyForURL" ref="a03ae12454a920710272c15431039b6fd" args="(const InstanceHandle &instance, const Var &url, const pp::CompletionCallbackWithOutput< Var > &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static int32_t <a class="el" href="classpp_1_1_network_proxy.html#a03ae12454a920710272c15431039b6fd">pp::NetworkProxy::GetProxyForURL</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>url</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback_with_output.html">pp::CompletionCallbackWithOutput</a>< <a class="el" href="classpp_1_1_var.html">Var</a> > & </td>
+<td class="paramname"><em>callback</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Retrieves the proxy that will be used for the given URL. </p>
+<p>The result will be a string in PAC format. For more details about PAC format, please see <a href="http://en.wikipedia.org/wiki/Proxy_auto-config">http://en.wikipedia.org/wiki/Proxy_auto-config</a></p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>An <code><a class="el" href="classpp_1_1_instance_handle.html" title="An instance handle identifies an instance in a constructor for a resource.">InstanceHandle</a></code> identifying one instance of a module.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">url</td><td>A string <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing a URL.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a></code> to be called upon completion. It will be passed a string <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing the appropriate PAC string for <code>url</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a864362732834af39e12f699ff5e1888d"></a><!-- doxytag: member="pp::NetworkProxy::IsAvailable" ref="a864362732834af39e12f699ff5e1888d" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static bool <a class="el" href="classpp_1_1_network_proxy.html#a864362732834af39e12f699ff5e1888d">pp::NetworkProxy::IsAvailable</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns true if the browser supports this API, false otherwise. </p>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="network__proxy_8h.html">network_proxy.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_point-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_point-members.html
new file mode 100644
index 0000000..d151438
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_point-members.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_point.html">pp::Point</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_point.html#a2d5803331cba5ef9f6fea1dca3fb0773">operator PP_Point</a>() const </td><td><a class="el" href="classpp_1_1_point.html">pp::Point</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_point.html#a7f2e778a029a9c6303f9606c165bcd73">operator+</a>(const Point &other) const </td><td><a class="el" href="classpp_1_1_point.html">pp::Point</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_point.html#a560a8ea46bd77f995f201437e78c26a9">operator+=</a>(const Point &other)</td><td><a class="el" href="classpp_1_1_point.html">pp::Point</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_point.html#a098ba0a739056bec9da6706e7be28f2b">operator-</a>(const Point &other) const </td><td><a class="el" href="classpp_1_1_point.html">pp::Point</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_point.html#a94cb2c93b7ab92c441bb4fc49a4223a3">operator-=</a>(const Point &other)</td><td><a class="el" href="classpp_1_1_point.html">pp::Point</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_point.html#a0175483c538fdf65c7bd056f0dc25b90">Point</a>()</td><td><a class="el" href="classpp_1_1_point.html">pp::Point</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_point.html#a18c7d4691920879ed45bde20b79c8d76">Point</a>(int32_t in_x, int32_t in_y)</td><td><a class="el" href="classpp_1_1_point.html">pp::Point</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_point.html#a3d572a358d2f3ce860bc7d0406e1c1da">Point</a>(const PP_Point &point)</td><td><a class="el" href="classpp_1_1_point.html">pp::Point</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_point.html#a1e25e160421a213924a4956a1d8da8b8">pp_point</a>() const </td><td><a class="el" href="classpp_1_1_point.html">pp::Point</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_point.html#afff81b0164d11767c03a49e8e6ee3509">pp_point</a>()</td><td><a class="el" href="classpp_1_1_point.html">pp::Point</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_point.html#a1282f3331d3565beafd7e939d6ffcac7">set_x</a>(int32_t in_x)</td><td><a class="el" href="classpp_1_1_point.html">pp::Point</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_point.html#af3e1a26a8dd635d8c77c5f86d81deb3c">set_y</a>(int32_t in_y)</td><td><a class="el" href="classpp_1_1_point.html">pp::Point</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_point.html#a197414e35cbd23b762fb04cb39bb2296">swap</a>(Point &other)</td><td><a class="el" href="classpp_1_1_point.html">pp::Point</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_point.html#a802963acd6223e5520c4e93a0ae7c1ab">x</a>() const </td><td><a class="el" href="classpp_1_1_point.html">pp::Point</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_point.html#a870a9bfcf7a54c18f4e5f382f69fc60d">y</a>() const </td><td><a class="el" href="classpp_1_1_point.html">pp::Point</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_point.html#abd093db1c01b63642cf8a8b73620626e">~Point</a>()</td><td><a class="el" href="classpp_1_1_point.html">pp::Point</a></td><td><code> [inline]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_point.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_point.html
new file mode 100644
index 0000000..61d6109
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_point.html
@@ -0,0 +1,384 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::Point Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::Point" -->
+<p><a href="classpp_1_1_point-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_point.html#a0175483c538fdf65c7bd056f0dc25b90">Point</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_point.html#a18c7d4691920879ed45bde20b79c8d76">Point</a> (int32_t in_x, int32_t in_y)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_point.html#a3d572a358d2f3ce860bc7d0406e1c1da">Point</a> (const PP_Point &point)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_point.html#abd093db1c01b63642cf8a8b73620626e">~Point</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_point.html#a2d5803331cba5ef9f6fea1dca3fb0773">operator PP_Point</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const PP_Point & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_point.html#a1e25e160421a213924a4956a1d8da8b8">pp_point</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_Point & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_point.html#afff81b0164d11767c03a49e8e6ee3509">pp_point</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_point.html#a802963acd6223e5520c4e93a0ae7c1ab">x</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_point.html#a1282f3331d3565beafd7e939d6ffcac7">set_x</a> (int32_t in_x)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_point.html#a870a9bfcf7a54c18f4e5f382f69fc60d">y</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_point.html#af3e1a26a8dd635d8c77c5f86d81deb3c">set_y</a> (int32_t in_y)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_point.html">Point</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_point.html#a7f2e778a029a9c6303f9606c165bcd73">operator+</a> (const <a class="el" href="classpp_1_1_point.html">Point</a> &other) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_point.html">Point</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_point.html#a098ba0a739056bec9da6706e7be28f2b">operator-</a> (const <a class="el" href="classpp_1_1_point.html">Point</a> &other) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_point.html">Point</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_point.html#a560a8ea46bd77f995f201437e78c26a9">operator+=</a> (const <a class="el" href="classpp_1_1_point.html">Point</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_point.html">Point</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_point.html#a94cb2c93b7ab92c441bb4fc49a4223a3">operator-=</a> (const <a class="el" href="classpp_1_1_point.html">Point</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_point.html#a197414e35cbd23b762fb04cb39bb2296">swap</a> (<a class="el" href="classpp_1_1_point.html">Point</a> &other)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>A 2 dimensional point with 0,0 being the upper-left starting coordinate. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a0175483c538fdf65c7bd056f0dc25b90"></a><!-- doxytag: member="pp::Point::Point" ref="a0175483c538fdf65c7bd056f0dc25b90" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_point.html#a0175483c538fdf65c7bd056f0dc25b90">pp::Point::Point</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The default constructor for a point at 0,0. </p>
+</div>
+</div>
+<a class="anchor" id="a18c7d4691920879ed45bde20b79c8d76"></a><!-- doxytag: member="pp::Point::Point" ref="a18c7d4691920879ed45bde20b79c8d76" args="(int32_t in_x, int32_t in_y)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_point.html#a0175483c538fdf65c7bd056f0dc25b90">pp::Point::Point</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>in_x</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>in_y</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor accepting two int32_t values for x and y and converting them to a <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">in_x</td><td>An int32_t value representing a horizontal coordinate of a point, starting with 0 as the left-most coordinate. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">in_y</td><td>An int32_t value representing a vertical coordinate of a point, starting with 0 as the top-most coordinate. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a3d572a358d2f3ce860bc7d0406e1c1da"></a><!-- doxytag: member="pp::Point::Point" ref="a3d572a358d2f3ce860bc7d0406e1c1da" args="(const PP_Point &point)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_point.html#a0175483c538fdf65c7bd056f0dc25b90">pp::Point::Point</a> </td>
+<td>(</td>
+<td class="paramtype">const PP_Point & </td>
+<td class="paramname"><em>point</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor accepting a pointer to a PP_Point and converting the PP_Point to a <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a>. </p>
+<p>This is an implicit conversion constructor.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">point</td><td>A pointer to a PP_Point. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="abd093db1c01b63642cf8a8b73620626e"></a><!-- doxytag: member="pp::Point::~Point" ref="abd093db1c01b63642cf8a8b73620626e" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_point.html#abd093db1c01b63642cf8a8b73620626e">pp::Point::~Point</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Destructor. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a2d5803331cba5ef9f6fea1dca3fb0773"></a><!-- doxytag: member="pp::Point::operator PP_Point" ref="a2d5803331cba5ef9f6fea1dca3fb0773" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">pp::Point::operator PP_Point </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A function allowing implicit conversion of a <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> to a PP_Point. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a7f2e778a029a9c6303f9606c165bcd73"></a><!-- doxytag: member="pp::Point::operator+" ref="a7f2e778a029a9c6303f9606c165bcd73" args="(const Point &other) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_point.html">Point</a> pp::Point::operator+ </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">Point</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Adds two Points (this and other) together by adding their x values and y values. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A new <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> containing the result. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a560a8ea46bd77f995f201437e78c26a9"></a><!-- doxytag: member="pp::Point::operator+=" ref="a560a8ea46bd77f995f201437e78c26a9" args="(const Point &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_point.html">Point</a>& pp::Point::operator+= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">Point</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Adds two Points (this and other) together by adding their x and y values. </p>
+<p>Returns this point as the result.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>This <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> containing the result. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a098ba0a739056bec9da6706e7be28f2b"></a><!-- doxytag: member="pp::Point::operator-" ref="a098ba0a739056bec9da6706e7be28f2b" args="(const Point &other) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_point.html">Point</a> pp::Point::operator- </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">Point</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Subtracts one <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> from another <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> by subtracting their x values and y values. </p>
+<p>Returns a new point with the result.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A new <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> containing the result. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a94cb2c93b7ab92c441bb4fc49a4223a3"></a><!-- doxytag: member="pp::Point::operator-=" ref="a94cb2c93b7ab92c441bb4fc49a4223a3" args="(const Point &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_point.html">Point</a>& pp::Point::operator-= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">Point</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Subtracts one <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> from another <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> by subtracting their x values and y values. </p>
+<p>Returns this point as the result.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>This <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> containing the result. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a1e25e160421a213924a4956a1d8da8b8"></a><!-- doxytag: member="pp::Point::pp_point" ref="a1e25e160421a213924a4956a1d8da8b8" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">const PP_Point& <a class="el" href="classpp_1_1_point.html#a1e25e160421a213924a4956a1d8da8b8">pp::Point::pp_point</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the internal PP_Point struct. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A const reference to the internal PP_Point struct. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="afff81b0164d11767c03a49e8e6ee3509"></a><!-- doxytag: member="pp::Point::pp_point" ref="afff81b0164d11767c03a49e8e6ee3509" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_Point& <a class="el" href="classpp_1_1_point.html#a1e25e160421a213924a4956a1d8da8b8">pp::Point::pp_point</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the internal PP_Point struct. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A mutable reference to the PP_Point struct. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a1282f3331d3565beafd7e939d6ffcac7"></a><!-- doxytag: member="pp::Point::set_x" ref="a1282f3331d3565beafd7e939d6ffcac7" args="(int32_t in_x)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_point.html#a1282f3331d3565beafd7e939d6ffcac7">pp::Point::set_x</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>in_x</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Setter function for setting the value of x. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">in_x</td><td>A new x value. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="af3e1a26a8dd635d8c77c5f86d81deb3c"></a><!-- doxytag: member="pp::Point::set_y" ref="af3e1a26a8dd635d8c77c5f86d81deb3c" args="(int32_t in_y)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_point.html#af3e1a26a8dd635d8c77c5f86d81deb3c">pp::Point::set_y</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>in_y</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Setter function for setting the value of y. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">in_y</td><td>A new y value. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a197414e35cbd23b762fb04cb39bb2296"></a><!-- doxytag: member="pp::Point::swap" ref="a197414e35cbd23b762fb04cb39bb2296" args="(Point &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_point.html#a197414e35cbd23b762fb04cb39bb2296">pp::Point::swap</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="classpp_1_1_point.html">Point</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Swaps the coordinates of two Points. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a802963acd6223e5520c4e93a0ae7c1ab"></a><!-- doxytag: member="pp::Point::x" ref="a802963acd6223e5520c4e93a0ae7c1ab" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_point.html#a802963acd6223e5520c4e93a0ae7c1ab">pp::Point::x</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the value of x. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The value of x for this <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a870a9bfcf7a54c18f4e5f382f69fc60d"></a><!-- doxytag: member="pp::Point::y" ref="a870a9bfcf7a54c18f4e5f382f69fc60d" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_point.html#a870a9bfcf7a54c18f4e5f382f69fc60d">pp::Point::y</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the value of y. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The value of y for this <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="point_8h.html">point.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_rect-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_rect-members.html
new file mode 100644
index 0000000..07b5f9e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_rect-members.html
@@ -0,0 +1,54 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_rect.html">pp::Rect</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#aa6d25f1179956e0ee13467e10d169bbc">AdjustToFit</a>(const Rect &rect) const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a2554e9d4a85d5741dd3cc4e121a15643">bottom</a>() const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a86ceef39ee91844a877554a2e72bf49f">CenterPoint</a>() const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#aae5394eb09b76d2ef7c9251b1e738a3f">Contains</a>(int32_t point_x, int32_t point_y) const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a9386508708c88be8820bd19eedbd1862">Contains</a>(const Point &point) const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a419d8b63aafcb6626538969abcc7573a">Contains</a>(const Rect &rect) const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#ab7e196b0fba7f34246bf8106f562ff34">height</a>() const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a83e4d334a41b6d612f1f18ea958767f7">Inset</a>(int32_t horizontal, int32_t vertical)</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a17d964545980ac3ae785ef4484c5315a">Inset</a>(int32_t left, int32_t top, int32_t right, int32_t bottom)</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#af903bf60faa68544372f5a58b00144aa">Intersect</a>(const Rect &rect) const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a32a682a28a1de0b7fa5793a3660514b0">Intersects</a>(const Rect &rect) const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a8092af1866d23f91f517058b4f612eb5">IsEmpty</a>() const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a3c39cdfe70b05c4cb172848daf4cd093">Offset</a>(int32_t horizontal, int32_t vertical)</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a8fdc680fc8d23ca24f5a10ec93db3414">Offset</a>(const Point &point)</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a02e46c92ffedee393caff7ae0f7aca2f">operator PP_Rect</a>() const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#ad4d6b9c43472620d8363cbe091f8c5b3">point</a>() const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#adf531599805a31e63098782c3108c0e0">pp_rect</a>() const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#af278a4ae7b2a1af26a7cc8d4f0b629e6">pp_rect</a>()</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a839431b4022e2ebdba8472444035401a">Rect</a>()</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a1625c1989e873e231cac08fe0877df4a">Rect</a>(const PP_Rect &rect)</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a46617cae1905a1793ecc9ea0d2dd64e6">Rect</a>(int32_t w, int32_t h)</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a0d444f7609de3ba609a80c232aa7c857">Rect</a>(int32_t x, int32_t y, int32_t w, int32_t h)</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#ac2a745a2ef59463bf9f17814035f27dd">Rect</a>(const Size &s)</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline, explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a8c4b37a52ccf96670b6ca1f732af07fe">Rect</a>(const Point &origin, const Size &size)</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a83ecc36b001f2c24d99e3088d1cc45a2">right</a>() const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a7f816974533715510bfbe1a77bf09e98">set_height</a>(int32_t h)</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#aa099aad16ade23466364968d1cfbb68e">set_point</a>(const Point &origin)</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a484a54bc72ce43eae283dd04d5258a42">set_size</a>(const Size &s)</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#ad8b7a557c0a3b7b09a71cc7da3b8cac3">set_width</a>(int32_t w)</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#ac5e698050a5de8bcb57847ac876279cc">set_x</a>(int32_t in_x)</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a99d75f24b47d11e05aadde0bcf11b128">set_y</a>(int32_t in_y)</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#aff9442d9ee78ad390129625379b2103f">SetRect</a>(int32_t x, int32_t y, int32_t w, int32_t h)</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#ad19e517179cc55db2a16d317d2e8904a">SetRect</a>(const PP_Rect &rect)</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a2471b9960ecbbb006330cd1bb6d51701">SharesEdgeWith</a>(const Rect &rect) const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#ae545e94421d1384fb292b270222b812e">size</a>() const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#acb5c5d3c44facb488723c609f95b3d72">Subtract</a>(const Rect &rect) const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#ab7f3bfc56fddca606125f806f8752880">Union</a>(const Rect &rect) const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a102299d70d5cd970298c6de5b8ec260d">width</a>() const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#acf8feb9af84a42d30917e2c590eafb33">x</a>() const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#af84b03d10a656af3bbdabae6e0f37972">y</a>() const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#af8bb88a4f39237b78ff8ebf5f3a429e2">~Rect</a>()</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_rect.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_rect.html
new file mode 100644
index 0000000..637912b
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_rect.html
@@ -0,0 +1,1066 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::Rect Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::Rect" -->
+<p><a href="classpp_1_1_rect-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a839431b4022e2ebdba8472444035401a">Rect</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a1625c1989e873e231cac08fe0877df4a">Rect</a> (const PP_Rect &rect)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a46617cae1905a1793ecc9ea0d2dd64e6">Rect</a> (int32_t w, int32_t h)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a0d444f7609de3ba609a80c232aa7c857">Rect</a> (int32_t <a class="el" href="classpp_1_1_rect.html#acf8feb9af84a42d30917e2c590eafb33">x</a>, int32_t <a class="el" href="classpp_1_1_rect.html#af84b03d10a656af3bbdabae6e0f37972">y</a>, int32_t w, int32_t h)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#ac2a745a2ef59463bf9f17814035f27dd">Rect</a> (const <a class="el" href="classpp_1_1_size.html">Size</a> &s)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a8c4b37a52ccf96670b6ca1f732af07fe">Rect</a> (const <a class="el" href="classpp_1_1_point.html">Point</a> &origin, const <a class="el" href="classpp_1_1_size.html">Size</a> &<a class="el" href="classpp_1_1_rect.html#ae545e94421d1384fb292b270222b812e">size</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#af8bb88a4f39237b78ff8ebf5f3a429e2">~Rect</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a02e46c92ffedee393caff7ae0f7aca2f">operator PP_Rect</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const PP_Rect & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#adf531599805a31e63098782c3108c0e0">pp_rect</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_Rect & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#af278a4ae7b2a1af26a7cc8d4f0b629e6">pp_rect</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#acf8feb9af84a42d30917e2c590eafb33">x</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#ac5e698050a5de8bcb57847ac876279cc">set_x</a> (int32_t in_x)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#af84b03d10a656af3bbdabae6e0f37972">y</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a99d75f24b47d11e05aadde0bcf11b128">set_y</a> (int32_t in_y)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a102299d70d5cd970298c6de5b8ec260d">width</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#ad8b7a557c0a3b7b09a71cc7da3b8cac3">set_width</a> (int32_t w)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#ab7e196b0fba7f34246bf8106f562ff34">height</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a7f816974533715510bfbe1a77bf09e98">set_height</a> (int32_t h)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_point.html">Point</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#ad4d6b9c43472620d8363cbe091f8c5b3">point</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#aa099aad16ade23466364968d1cfbb68e">set_point</a> (const <a class="el" href="classpp_1_1_point.html">Point</a> &origin)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_size.html">Size</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#ae545e94421d1384fb292b270222b812e">size</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a484a54bc72ce43eae283dd04d5258a42">set_size</a> (const <a class="el" href="classpp_1_1_size.html">Size</a> &s)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a83ecc36b001f2c24d99e3088d1cc45a2">right</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a2554e9d4a85d5741dd3cc4e121a15643">bottom</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#aff9442d9ee78ad390129625379b2103f">SetRect</a> (int32_t <a class="el" href="classpp_1_1_rect.html#acf8feb9af84a42d30917e2c590eafb33">x</a>, int32_t <a class="el" href="classpp_1_1_rect.html#af84b03d10a656af3bbdabae6e0f37972">y</a>, int32_t w, int32_t h)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#ad19e517179cc55db2a16d317d2e8904a">SetRect</a> (const PP_Rect &rect)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a83e4d334a41b6d612f1f18ea958767f7">Inset</a> (int32_t horizontal, int32_t vertical)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a17d964545980ac3ae785ef4484c5315a">Inset</a> (int32_t left, int32_t top, int32_t <a class="el" href="classpp_1_1_rect.html#a83ecc36b001f2c24d99e3088d1cc45a2">right</a>, int32_t <a class="el" href="classpp_1_1_rect.html#a2554e9d4a85d5741dd3cc4e121a15643">bottom</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a3c39cdfe70b05c4cb172848daf4cd093">Offset</a> (int32_t horizontal, int32_t vertical)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a8fdc680fc8d23ca24f5a10ec93db3414">Offset</a> (const <a class="el" href="classpp_1_1_point.html">Point</a> &<a class="el" href="classpp_1_1_rect.html#ad4d6b9c43472620d8363cbe091f8c5b3">point</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a8092af1866d23f91f517058b4f612eb5">IsEmpty</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#aae5394eb09b76d2ef7c9251b1e738a3f">Contains</a> (int32_t point_x, int32_t point_y) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a9386508708c88be8820bd19eedbd1862">Contains</a> (const <a class="el" href="classpp_1_1_point.html">Point</a> &<a class="el" href="classpp_1_1_rect.html#ad4d6b9c43472620d8363cbe091f8c5b3">point</a>) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a419d8b63aafcb6626538969abcc7573a">Contains</a> (const <a class="el" href="classpp_1_1_rect.html">Rect</a> &rect) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a32a682a28a1de0b7fa5793a3660514b0">Intersects</a> (const <a class="el" href="classpp_1_1_rect.html">Rect</a> &rect) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_rect.html">Rect</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#af903bf60faa68544372f5a58b00144aa">Intersect</a> (const <a class="el" href="classpp_1_1_rect.html">Rect</a> &rect) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_rect.html">Rect</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#ab7f3bfc56fddca606125f806f8752880">Union</a> (const <a class="el" href="classpp_1_1_rect.html">Rect</a> &rect) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_rect.html">Rect</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#acb5c5d3c44facb488723c609f95b3d72">Subtract</a> (const <a class="el" href="classpp_1_1_rect.html">Rect</a> &rect) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_rect.html">Rect</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#aa6d25f1179956e0ee13467e10d169bbc">AdjustToFit</a> (const <a class="el" href="classpp_1_1_rect.html">Rect</a> &rect) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_point.html">Point</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a86ceef39ee91844a877554a2e72bf49f">CenterPoint</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a2471b9960ecbbb006330cd1bb6d51701">SharesEdgeWith</a> (const <a class="el" href="classpp_1_1_rect.html">Rect</a> &rect) const </td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>A 2 dimensional rectangle. </p>
+<p>A rectangle is represented by x and y (which identifies the upper-left corner of the rectangle), width, and height. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a839431b4022e2ebdba8472444035401a"></a><!-- doxytag: member="pp::Rect::Rect" ref="a839431b4022e2ebdba8472444035401a" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_rect.html#a839431b4022e2ebdba8472444035401a">pp::Rect::Rect</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The default constructor. </p>
+<p>Creates a <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code> in the upper-left at 0,0 with height and width of 0. </p>
+</div>
+</div>
+<a class="anchor" id="a1625c1989e873e231cac08fe0877df4a"></a><!-- doxytag: member="pp::Rect::Rect" ref="a1625c1989e873e231cac08fe0877df4a" args="(const PP_Rect &rect)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_rect.html#a839431b4022e2ebdba8472444035401a">pp::Rect::Rect</a> </td>
+<td>(</td>
+<td class="paramtype">const PP_Rect & </td>
+<td class="paramname"><em>rect</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor accepting a reference to a <code>PP_Rect and</code> converting the <code>PP_Rect</code> to a <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code>. </p>
+<p>This is an implicit conversion constructor.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">rect</td><td>A <code>PP_Rect</code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a46617cae1905a1793ecc9ea0d2dd64e6"></a><!-- doxytag: member="pp::Rect::Rect" ref="a46617cae1905a1793ecc9ea0d2dd64e6" args="(int32_t w, int32_t h)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_rect.html#a839431b4022e2ebdba8472444035401a">pp::Rect::Rect</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>w</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>h</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor accepting two int32_t values for width and height and converting them to a <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code> in the upper-left starting coordinate of 0,0. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">w</td><td>An int32_t value representing a width. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>An int32_t value representing a height. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a0d444f7609de3ba609a80c232aa7c857"></a><!-- doxytag: member="pp::Rect::Rect" ref="a0d444f7609de3ba609a80c232aa7c857" args="(int32_t x, int32_t y, int32_t w, int32_t h)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_rect.html#a839431b4022e2ebdba8472444035401a">pp::Rect::Rect</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>x</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>y</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>w</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>h</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor accepting four int32_t values for width, height, x, and y. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>An int32_t value representing a horizontal coordinate of a point, starting with 0 as the left-most coordinate. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>An int32_t value representing a vertical coordinate of a point, starting with 0 as the top-most coordinate. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">w</td><td>An int32_t value representing a width. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>An int32_t value representing a height. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ac2a745a2ef59463bf9f17814035f27dd"></a><!-- doxytag: member="pp::Rect::Rect" ref="ac2a745a2ef59463bf9f17814035f27dd" args="(const Size &s)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_rect.html#a839431b4022e2ebdba8472444035401a">pp::Rect::Rect</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_size.html">Size</a> & </td>
+<td class="paramname"><em>s</em></td><td>)</td>
+<td><code> [inline, explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor accepting a pointer to a <a class="el" href="classpp_1_1_size.html" title="A size of an object based on width and height.">Size</a> and converting the <code><a class="el" href="classpp_1_1_size.html" title="A size of an object based on width and height.">Size</a></code> to a <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code> in the upper-left starting coordinate of 0,0. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>A pointer to a <code><a class="el" href="classpp_1_1_size.html" title="A size of an object based on width and height.">Size</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a8c4b37a52ccf96670b6ca1f732af07fe"></a><!-- doxytag: member="pp::Rect::Rect" ref="a8c4b37a52ccf96670b6ca1f732af07fe" args="(const Point &origin, const Size &size)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_rect.html#a839431b4022e2ebdba8472444035401a">pp::Rect::Rect</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">Point</a> & </td>
+<td class="paramname"><em>origin</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_size.html">Size</a> & </td>
+<td class="paramname"><em>size</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor accepting a pointer to a <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code> representing the origin of the rectangle and a pointer to a <code><a class="el" href="classpp_1_1_size.html" title="A size of an object based on width and height.">Size</a></code> representing the height and width. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">origin</td><td>A pointer to a <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code> representing the upper-left starting coordinate. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>A pointer to a <code><a class="el" href="classpp_1_1_size.html" title="A size of an object based on width and height.">Size</a></code> representing the height and width. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="af8bb88a4f39237b78ff8ebf5f3a429e2"></a><!-- doxytag: member="pp::Rect::~Rect" ref="af8bb88a4f39237b78ff8ebf5f3a429e2" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_rect.html#af8bb88a4f39237b78ff8ebf5f3a429e2">pp::Rect::~Rect</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Destructor. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="aa6d25f1179956e0ee13467e10d169bbc"></a><!-- doxytag: member="pp::Rect::AdjustToFit" ref="aa6d25f1179956e0ee13467e10d169bbc" args="(const Rect &rect) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_rect.html">Rect</a> <a class="el" href="classpp_1_1_rect.html#aa6d25f1179956e0ee13467e10d169bbc">pp::Rect::AdjustToFit</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">Rect</a> & </td>
+<td class="paramname"><em>rect</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_rect.html#aa6d25f1179956e0ee13467e10d169bbc" title="AdjustToFit() fits as much of the receiving rectangle within the supplied rectangle as possible...">AdjustToFit()</a> fits as much of the receiving rectangle within the supplied rectangle as possible, returning the result. </p>
+<p>For example, if the receiver had a x-location of 2 and a width of 4, and the supplied rectangle had an x-location of 0 with a width of 5, the returned rectangle would have an x-location of 1 with a width of 4.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">rect</td><td>A pointer to a <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code> representing the difference between this rectangle and the receiving rectangle. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2554e9d4a85d5741dd3cc4e121a15643"></a><!-- doxytag: member="pp::Rect::bottom" ref="a2554e9d4a85d5741dd3cc4e121a15643" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_rect.html#a2554e9d4a85d5741dd3cc4e121a15643">pp::Rect::bottom</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function to get the upper-bound for the y-coordinates of the rectangle. </p>
+<p>Note that this coordinate value is one past the highest xy value of pixels in the rectangle. This loop will access all the pixels in a horizontal line in the rectangle: <code>for (int32_t y = rect.y(); y < rect.bottom(); ++y) {}</code></p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The value of y + height for this point. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a86ceef39ee91844a877554a2e72bf49f"></a><!-- doxytag: member="pp::Rect::CenterPoint" ref="a86ceef39ee91844a877554a2e72bf49f" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_point.html">Point</a> <a class="el" href="classpp_1_1_rect.html#a86ceef39ee91844a877554a2e72bf49f">pp::Rect::CenterPoint</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_rect.html#a86ceef39ee91844a877554a2e72bf49f" title="CenterPoint() determines the center of this rectangle.">CenterPoint()</a> determines the center of this rectangle. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code> representing the center of this rectangle. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aae5394eb09b76d2ef7c9251b1e738a3f"></a><!-- doxytag: member="pp::Rect::Contains" ref="aae5394eb09b76d2ef7c9251b1e738a3f" args="(int32_t point_x, int32_t point_y) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_rect.html#aae5394eb09b76d2ef7c9251b1e738a3f">pp::Rect::Contains</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>point_x</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>point_y</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_rect.html#aae5394eb09b76d2ef7c9251b1e738a3f" title="Contains() determines if the point identified by point_x and point_y falls inside this rectangle...">Contains()</a> determines if the point identified by point_x and point_y falls inside this rectangle. </p>
+<p>The point (x, y) is inside the rectangle, but the point (x + width, y + height) is not.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">point_x</td><td>An int32_t value representing a x value. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">point_y</td><td>An int32_t value representing a y value.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the point_x and point_y fall inside the rectangle. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a9386508708c88be8820bd19eedbd1862"></a><!-- doxytag: member="pp::Rect::Contains" ref="a9386508708c88be8820bd19eedbd1862" args="(const Point &point) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_rect.html#aae5394eb09b76d2ef7c9251b1e738a3f">pp::Rect::Contains</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">Point</a> & </td>
+<td class="paramname"><em>point</em></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_rect.html#aae5394eb09b76d2ef7c9251b1e738a3f" title="Contains() determines if the point identified by point_x and point_y falls inside this rectangle...">Contains()</a> determines if the specified point is contained by this rectangle. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">point</td><td>A pointer to a <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> representing a 2D coordinate.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the point_x and point_y fall inside the rectangle. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a419d8b63aafcb6626538969abcc7573a"></a><!-- doxytag: member="pp::Rect::Contains" ref="a419d8b63aafcb6626538969abcc7573a" args="(const Rect &rect) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_rect.html#aae5394eb09b76d2ef7c9251b1e738a3f">pp::Rect::Contains</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">Rect</a> & </td>
+<td class="paramname"><em>rect</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_rect.html#aae5394eb09b76d2ef7c9251b1e738a3f" title="Contains() determines if the point identified by point_x and point_y falls inside this rectangle...">Contains()</a> determines if this rectangle contains the specified rectangle. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">rect</td><td>A pointer to a <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the rectangle fall inside this rectangle. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab7e196b0fba7f34246bf8106f562ff34"></a><!-- doxytag: member="pp::Rect::height" ref="ab7e196b0fba7f34246bf8106f562ff34" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_rect.html#ab7e196b0fba7f34246bf8106f562ff34">pp::Rect::height</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the value of height. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The value of height for this <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a83e4d334a41b6d612f1f18ea958767f7"></a><!-- doxytag: member="pp::Rect::Inset" ref="a83e4d334a41b6d612f1f18ea958767f7" args="(int32_t horizontal, int32_t vertical)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_rect.html#a83e4d334a41b6d612f1f18ea958767f7">pp::Rect::Inset</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>horizontal</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>vertical</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_rect.html#a83e4d334a41b6d612f1f18ea958767f7" title="Inset() shrinks the rectangle by a horizontal and vertical distance on all sides.">Inset()</a> shrinks the rectangle by a horizontal and vertical distance on all sides. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">horizontal</td><td>An int32_t value representing a horizontal shrinking distance. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">vertical</td><td>An int32_t value representing a vertical shrinking distance. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a17d964545980ac3ae785ef4484c5315a"></a><!-- doxytag: member="pp::Rect::Inset" ref="a17d964545980ac3ae785ef4484c5315a" args="(int32_t left, int32_t top, int32_t right, int32_t bottom)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_rect.html#a83e4d334a41b6d612f1f18ea958767f7">pp::Rect::Inset</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>left</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>top</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>right</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>bottom</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_rect.html#a83e4d334a41b6d612f1f18ea958767f7" title="Inset() shrinks the rectangle by a horizontal and vertical distance on all sides.">Inset()</a> shrinks the rectangle by the specified amount on each side. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">left</td><td>An int32_t value representing a left shrinking distance. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">top</td><td>An int32_t value representing a top shrinking distance. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">right</td><td>An int32_t value representing a right shrinking distance. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">bottom</td><td>An int32_t value representing a bottom shrinking distance. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="af903bf60faa68544372f5a58b00144aa"></a><!-- doxytag: member="pp::Rect::Intersect" ref="af903bf60faa68544372f5a58b00144aa" args="(const Rect &rect) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_rect.html">Rect</a> <a class="el" href="classpp_1_1_rect.html#af903bf60faa68544372f5a58b00144aa">pp::Rect::Intersect</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">Rect</a> & </td>
+<td class="paramname"><em>rect</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_rect.html#af903bf60faa68544372f5a58b00144aa" title="Intersect() computes the intersection of this rectangle with the given rectangle.">Intersect()</a> computes the intersection of this rectangle with the given rectangle. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">rect</td><td>A pointer to a <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code> representing the intersection. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a32a682a28a1de0b7fa5793a3660514b0"></a><!-- doxytag: member="pp::Rect::Intersects" ref="a32a682a28a1de0b7fa5793a3660514b0" args="(const Rect &rect) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_rect.html#a32a682a28a1de0b7fa5793a3660514b0">pp::Rect::Intersects</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">Rect</a> & </td>
+<td class="paramname"><em>rect</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_rect.html#a32a682a28a1de0b7fa5793a3660514b0" title="Intersects() determines if this rectangle intersects the specified rectangle.">Intersects()</a> determines if this rectangle intersects the specified rectangle. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">rect</td><td>A pointer to a <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the rectangle intersects this rectangle. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a8092af1866d23f91f517058b4f612eb5"></a><!-- doxytag: member="pp::Rect::IsEmpty" ref="a8092af1866d23f91f517058b4f612eb5" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_rect.html#a8092af1866d23f91f517058b4f612eb5">pp::Rect::IsEmpty</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_rect.html#a8092af1866d23f91f517058b4f612eb5" title="IsEmpty() determines if the area of a rectangle is zero.">IsEmpty()</a> determines if the area of a rectangle is zero. </p>
+<p>Returns true if the area of the rectangle is zero.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the area of the rectangle is zero. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a3c39cdfe70b05c4cb172848daf4cd093"></a><!-- doxytag: member="pp::Rect::Offset" ref="a3c39cdfe70b05c4cb172848daf4cd093" args="(int32_t horizontal, int32_t vertical)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_rect.html#a3c39cdfe70b05c4cb172848daf4cd093">pp::Rect::Offset</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>horizontal</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>vertical</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_rect.html#a3c39cdfe70b05c4cb172848daf4cd093" title="Offset() moves the rectangle by a horizontal and vertical distance.">Offset()</a> moves the rectangle by a horizontal and vertical distance. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">horizontal</td><td>An int32_t value representing a horizontal move distance. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">vertical</td><td>An int32_t value representing a vertical move distance. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a8fdc680fc8d23ca24f5a10ec93db3414"></a><!-- doxytag: member="pp::Rect::Offset" ref="a8fdc680fc8d23ca24f5a10ec93db3414" args="(const Point &point)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_rect.html#a3c39cdfe70b05c4cb172848daf4cd093">pp::Rect::Offset</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">Point</a> & </td>
+<td class="paramname"><em>point</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_rect.html#a3c39cdfe70b05c4cb172848daf4cd093" title="Offset() moves the rectangle by a horizontal and vertical distance.">Offset()</a> moves the rectangle by a horizontal and vertical distance. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">point</td><td>A pointer to a <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code> representing the horizontal and vertical move distances. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a02e46c92ffedee393caff7ae0f7aca2f"></a><!-- doxytag: member="pp::Rect::operator PP_Rect" ref="a02e46c92ffedee393caff7ae0f7aca2f" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">pp::Rect::operator PP_Rect </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>PP_Rect() allows implicit conversion of a <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code> to a <code>PP_Rect</code>. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ad4d6b9c43472620d8363cbe091f8c5b3"></a><!-- doxytag: member="pp::Rect::point" ref="ad4d6b9c43472620d8363cbe091f8c5b3" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_point.html">Point</a> <a class="el" href="classpp_1_1_rect.html#ad4d6b9c43472620d8363cbe091f8c5b3">pp::Rect::point</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code>. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="adf531599805a31e63098782c3108c0e0"></a><!-- doxytag: member="pp::Rect::pp_rect" ref="adf531599805a31e63098782c3108c0e0" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">const PP_Rect& <a class="el" href="classpp_1_1_rect.html#adf531599805a31e63098782c3108c0e0">pp::Rect::pp_rect</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the internal <code>PP_Rect</code> struct. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A const reference to the internal <code>PP_Rect</code> struct. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="af278a4ae7b2a1af26a7cc8d4f0b629e6"></a><!-- doxytag: member="pp::Rect::pp_rect" ref="af278a4ae7b2a1af26a7cc8d4f0b629e6" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_Rect& <a class="el" href="classpp_1_1_rect.html#adf531599805a31e63098782c3108c0e0">pp::Rect::pp_rect</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the internal <code>PP_Rect</code> struct. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A mutable reference to the <code>PP_Rect</code> struct. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a83ecc36b001f2c24d99e3088d1cc45a2"></a><!-- doxytag: member="pp::Rect::right" ref="a83ecc36b001f2c24d99e3088d1cc45a2" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_rect.html#a83ecc36b001f2c24d99e3088d1cc45a2">pp::Rect::right</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function to get the upper-bound for the x-coordinates of the rectangle. </p>
+<p>Note that this coordinate value is one past the highest x value of pixels in the rectangle. This loop will access all the pixels in a horizontal line in the rectangle: <code>for (int32_t x = rect.x(); x < rect.right(); ++x) {}</code></p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The value of x + width for this point. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a7f816974533715510bfbe1a77bf09e98"></a><!-- doxytag: member="pp::Rect::set_height" ref="a7f816974533715510bfbe1a77bf09e98" args="(int32_t h)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_rect.html#a7f816974533715510bfbe1a77bf09e98">pp::Rect::set_height</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>h</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Setter function for setting the value of height. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>A new width height. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="aa099aad16ade23466364968d1cfbb68e"></a><!-- doxytag: member="pp::Rect::set_point" ref="aa099aad16ade23466364968d1cfbb68e" args="(const Point &origin)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_rect.html#aa099aad16ade23466364968d1cfbb68e">pp::Rect::set_point</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">Point</a> & </td>
+<td class="paramname"><em>origin</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Setter function for setting the value of the <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">origin</td><td>A <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code> representing the upper-left starting coordinate. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a484a54bc72ce43eae283dd04d5258a42"></a><!-- doxytag: member="pp::Rect::set_size" ref="a484a54bc72ce43eae283dd04d5258a42" args="(const Size &s)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_rect.html#a484a54bc72ce43eae283dd04d5258a42">pp::Rect::set_size</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_size.html">Size</a> & </td>
+<td class="paramname"><em>s</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Setter function for setting the <code><a class="el" href="classpp_1_1_size.html" title="A size of an object based on width and height.">Size</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>A pointer to a <code><a class="el" href="classpp_1_1_size.html" title="A size of an object based on width and height.">Size</a></code> representing the height and width. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ad8b7a557c0a3b7b09a71cc7da3b8cac3"></a><!-- doxytag: member="pp::Rect::set_width" ref="ad8b7a557c0a3b7b09a71cc7da3b8cac3" args="(int32_t w)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_rect.html#ad8b7a557c0a3b7b09a71cc7da3b8cac3">pp::Rect::set_width</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>w</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Setter function for setting the value of width. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">w</td><td>A new width value. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ac5e698050a5de8bcb57847ac876279cc"></a><!-- doxytag: member="pp::Rect::set_x" ref="ac5e698050a5de8bcb57847ac876279cc" args="(int32_t in_x)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_rect.html#ac5e698050a5de8bcb57847ac876279cc">pp::Rect::set_x</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>in_x</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Setter function for setting the value of x. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">in_x</td><td>A new x value. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a99d75f24b47d11e05aadde0bcf11b128"></a><!-- doxytag: member="pp::Rect::set_y" ref="a99d75f24b47d11e05aadde0bcf11b128" args="(int32_t in_y)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_rect.html#a99d75f24b47d11e05aadde0bcf11b128">pp::Rect::set_y</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>in_y</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Setter function for setting the value of y. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">in_y</td><td>A new y value. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="aff9442d9ee78ad390129625379b2103f"></a><!-- doxytag: member="pp::Rect::SetRect" ref="aff9442d9ee78ad390129625379b2103f" args="(int32_t x, int32_t y, int32_t w, int32_t h)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_rect.html#aff9442d9ee78ad390129625379b2103f">pp::Rect::SetRect</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>x</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>y</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>w</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>h</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Setter function for setting the value of the <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>A new x value. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>A new y value. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">w</td><td>A new width value. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>A new height value. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ad19e517179cc55db2a16d317d2e8904a"></a><!-- doxytag: member="pp::Rect::SetRect" ref="ad19e517179cc55db2a16d317d2e8904a" args="(const PP_Rect &rect)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_rect.html#aff9442d9ee78ad390129625379b2103f">pp::Rect::SetRect</a> </td>
+<td>(</td>
+<td class="paramtype">const PP_Rect & </td>
+<td class="paramname"><em>rect</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Setter function for setting the value of the <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">rect</td><td>A pointer to a <code>PP_Rect</code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a2471b9960ecbbb006330cd1bb6d51701"></a><!-- doxytag: member="pp::Rect::SharesEdgeWith" ref="a2471b9960ecbbb006330cd1bb6d51701" args="(const Rect &rect) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_rect.html#a2471b9960ecbbb006330cd1bb6d51701">pp::Rect::SharesEdgeWith</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">Rect</a> & </td>
+<td class="paramname"><em>rect</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_rect.html#a2471b9960ecbbb006330cd1bb6d51701" title="SharesEdgeWith() determines if this rectangle shares an entire edge (same width or same height) with ...">SharesEdgeWith()</a> determines if this rectangle shares an entire edge (same width or same height) with the given rectangle, and the rectangles do not overlap. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">rect</td><td>A pointer to a <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if this rectangle and supplied rectangle share an edge. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ae545e94421d1384fb292b270222b812e"></a><!-- doxytag: member="pp::Rect::size" ref="ae545e94421d1384fb292b270222b812e" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_size.html">Size</a> <a class="el" href="classpp_1_1_rect.html#ae545e94421d1384fb292b270222b812e">pp::Rect::size</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the <code><a class="el" href="classpp_1_1_size.html" title="A size of an object based on width and height.">Size</a></code>. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The size of the rectangle. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="acb5c5d3c44facb488723c609f95b3d72"></a><!-- doxytag: member="pp::Rect::Subtract" ref="acb5c5d3c44facb488723c609f95b3d72" args="(const Rect &rect) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_rect.html">Rect</a> <a class="el" href="classpp_1_1_rect.html#acb5c5d3c44facb488723c609f95b3d72">pp::Rect::Subtract</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">Rect</a> & </td>
+<td class="paramname"><em>rect</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_rect.html#acb5c5d3c44facb488723c609f95b3d72" title="Subtract() computes the rectangle resulting from subtracting rect from this Rect.">Subtract()</a> computes the rectangle resulting from subtracting <code>rect</code> from this <a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a>. </p>
+<p>If <code>rect</code>does not intersect completely in either the x or y direction, then <code>*this</code> is returned. If <code>rect</code> contains <code>this</code>, then an empty <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code> is returned.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">rect</td><td>A pointer to a <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code> representing the subtraction. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab7f3bfc56fddca606125f806f8752880"></a><!-- doxytag: member="pp::Rect::Union" ref="ab7f3bfc56fddca606125f806f8752880" args="(const Rect &rect) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_rect.html">Rect</a> <a class="el" href="classpp_1_1_rect.html#ab7f3bfc56fddca606125f806f8752880">pp::Rect::Union</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">Rect</a> & </td>
+<td class="paramname"><em>rect</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_rect.html#ab7f3bfc56fddca606125f806f8752880" title="Union() computes the union of this rectangle with the given rectangle.">Union()</a> computes the union of this rectangle with the given rectangle. </p>
+<p>The union is the smallest rectangle containing both rectangles.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">rect</td><td>A pointer to a <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code> representing the union. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a102299d70d5cd970298c6de5b8ec260d"></a><!-- doxytag: member="pp::Rect::width" ref="a102299d70d5cd970298c6de5b8ec260d" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_rect.html#a102299d70d5cd970298c6de5b8ec260d">pp::Rect::width</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the value of width. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The value of width for this <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="acf8feb9af84a42d30917e2c590eafb33"></a><!-- doxytag: member="pp::Rect::x" ref="acf8feb9af84a42d30917e2c590eafb33" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_rect.html#acf8feb9af84a42d30917e2c590eafb33">pp::Rect::x</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the value of x. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The value of x for this <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="af84b03d10a656af3bbdabae6e0f37972"></a><!-- doxytag: member="pp::Rect::y" ref="af84b03d10a656af3bbdabae6e0f37972" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_rect.html#af84b03d10a656af3bbdabae6e0f37972">pp::Rect::y</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the value of y. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The value of y for this <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="rect_8h.html">rect.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_resource-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_resource-members.html
new file mode 100644
index 0000000..efb3b02
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_resource-members.html
@@ -0,0 +1,25 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_resource.html">pp::Resource</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aef268205011788a4a9f05ed201384ace">VarResource_Dev</a> class</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [friend]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_resource.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_resource.html
new file mode 100644
index 0000000..396db90b
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_resource.html
@@ -0,0 +1,281 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::Resource Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::Resource:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_resource__inherit__graph.png" border="0" usemap="#pp_1_1_resource_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_resource_inherit__map" id="pp_1_1_resource_inherit__map">
+<area shape="rect" id="node3" href="classpp_1_1_audio.html" title="An audio resource." alt="" coords="193,5,276,35"></area><area shape="rect" id="node5" href="classpp_1_1_audio_config.html" title="A 16 bit stereo AudioConfig resource." alt="" coords="173,59,296,88"></area><area shape="rect" id="node7" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file." alt="" coords="196,112,273,141"></area><area shape="rect" id="node9" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.' alt="" coords="192,165,277,195"></area><area shape="rect" id="node11" href="classpp_1_1_file_system.html" title="The FileSystem class identifies the file system type associated with a file." alt="" coords="177,219,292,248"></area><area shape="rect" id="node13" href="classpp_1_1_graphics2_d.html" title="pp::Graphics2D" alt="" coords="175,272,295,301"></area><area shape="rect" id="node15" href="classpp_1_1_graphics3_d.html" title="This class represents a 3D rendering context in the browser." alt="" coords="175,325,295,355"></area><area shape="rect" id="node17" href="classpp_1_1_host_resolver.html" title="The HostResolver class supports host name resolution." alt="" coords="171,379,299,408"></area><area shape="rect" id="node19" href="classpp_1_1_image_data.html" title="pp::ImageData" alt="" coords="176,432,293,461"></area><area shape="rect" id="node21" href="classpp_1_1_input_event.html" title="This class represents an input event resource." alt="" coords="177,485,292,515"></area><area shape="rect" id="node33" href="classpp_1_1_message_loop.html" title="A message loop allows PPAPI calls to be issued on a thread." alt="" coords="168,539,301,568"></area><area shape="rect" id="node35" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address." alt="" coords="175,592,295,621"></area><area shape="rect" id="node37" href="classpp_1_1_network_list.html" title="pp::NetworkList" alt="" coords="175,645,295,675"></area><area shape="rect" id="node39" href="classpp_1_1_network_monitor.html" title="pp::NetworkMonitor" alt="" coords="161,699,308,728"></area><area shape="rect" id="node41" href="classpp_1_1_t_c_p_socket.html" title="The TCPSocket class provides TCP socket operations." alt="" coords="179,752,291,781"></area><area shape="rect" id="node43" href="classpp_1_1_u_d_p_socket.html" title="The UDPSocket class provides UDP socket operations." alt="" coords="176,805,293,835"></area><area shape="rect" id="node45" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs." alt="" coords="177,859,292,888"></area><area shape="rect" id="node47" href="classpp_1_1_u_r_l_request_info.html" title="URLRequestInfo provides an API for creating and manipulating URL requests." alt="" coords="163,912,307,941"></area><area shape="rect" id="node49" href="classpp_1_1_u_r_l_response_info.html" title="URLResponseInfo provides an API for examining URL responses." alt="" coords="157,965,312,995"></area><area shape="rect" id="node51" href="classpp_1_1_view.html" title="This class represents the state of the view for an instance and contains functions for retrieving the..." alt="" coords="197,1019,272,1048"></area><area shape="rect" id="node53" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket..." alt="" coords="177,1072,292,1101"></area><area shape="rect" id="node23" href="classpp_1_1_i_m_e_input_event.html" title="pp::IMEInputEvent" alt="" coords="379,379,515,408"></area><area shape="rect" id="node25" href="classpp_1_1_keyboard_input_event.html" title="pp::KeyboardInputEvent" alt="" coords="360,432,533,461"></area><area shape="rect" id="node27" href="classpp_1_1_mouse_input_event.html" title="This class handles mouse events." alt="" coords="369,485,524,515"></area><area shape="rect" id="node29" href="classpp_1_1_touch_input_event.html" title="pp::TouchInputEvent" alt="" coords="372,539,521,568"></area><area shape="rect" id="node31" href="classpp_1_1_wheel_input_event.html" title="pp::WheelInputEvent" alt="" coords="371,592,523,621"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_resource-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a> (const <a class="el" href="classpp_1_1_resource.html">Resource</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_resource.html">Resource</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a> (const <a class="el" href="classpp_1_1_resource.html">Resource</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_Resource </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_Resource </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a> ()</td></tr>
+</table><h2>
+Protected Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a> (PP_Resource resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a> (<a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a>, PP_Resource resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a> (PP_Resource resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a> ()</td></tr>
+</table><h2>
+Friends</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_resource.html#aef268205011788a4a9f05ed201384ace">VarResource_Dev</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>A reference counted module resource. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a56679e93a58101c8dce5dc510811a094"></a><!-- doxytag: member="pp::Resource::Resource" ref="a56679e93a58101c8dce5dc510811a094" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">pp::Resource::Resource</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The default constructor. </p>
+</div>
+</div>
+<a class="anchor" id="ab0f664099ca06367180f220ea7e0b831"></a><!-- doxytag: member="pp::Resource::Resource" ref="ab0f664099ca06367180f220ea7e0b831" args="(const Resource &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">pp::Resource::Resource</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_resource.html">Resource</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor for copying a resource. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A <code><a class="el" href="classpp_1_1_resource.html" title="A reference counted module resource.">Resource</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a081165265e2bd8217eaa2be2aeeb3aa3"></a><!-- doxytag: member="pp::Resource::~Resource" ref="a081165265e2bd8217eaa2be2aeeb3aa3" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">pp::Resource::~Resource</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Destructor. </p>
+</div>
+</div>
+<a class="anchor" id="a555de93fdf4793f7db1183bf71d20580"></a><!-- doxytag: member="pp::Resource::Resource" ref="a555de93fdf4793f7db1183bf71d20580" args="(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">pp::Resource::Resource</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>resource</em></td><td>)</td>
+<td><code> [explicit, protected]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used when a <code>PP_Resource</code> is provided as a return value whose reference count we need to increment. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a resource. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a907d3d6b7e292587c8cb9ff30d0a418d"></a><!-- doxytag: member="pp::Resource::Resource" ref="a907d3d6b7e292587c8cb9ff30d0a418d" args="(PassRef, PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">pp::Resource::Resource</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a> </td>
+<td class="paramname">, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>resource</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [protected]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructor used when a <code>PP_Resource</code> already has a ref count assigned. </p>
+<p>Add additional refcount is not taken. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="ad4016f37d3022863ca0188acb26ac9c4"></a><!-- doxytag: member="pp::Resource::Clear" ref="ad4016f37d3022863ca0188acb26ac9c4" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">pp::Resource::Clear</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [protected]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sets this resource to null. This releases ownership of the resource. </p>
+</div>
+</div>
+<a class="anchor" id="a81b9246381bdddacca3ac25f6ded2bfd"></a><!-- doxytag: member="pp::Resource::detach" ref="a81b9246381bdddacca3ac25f6ded2bfd" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_Resource <a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">pp::Resource::detach</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function releases ownership of this resource and returns it to the caller. </p>
+<p>Note that the reference count on the resource is unchanged and the caller needs to release the resource.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The detached <code>PP_Resource</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a859068e34cdc2dc0b78754c255323aa9"></a><!-- doxytag: member="pp::Resource::is_null" ref="a859068e34cdc2dc0b78754c255323aa9" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">pp::Resource::is_null</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This functions determines if this resource is invalid or uninitialized. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if this resource is invalid or uninitialized. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aaf808a98bdaa7998d82e19514aa87423"></a><!-- doxytag: member="pp::Resource::operator=" ref="aaf808a98bdaa7998d82e19514aa87423" args="(const Resource &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_resource.html">Resource</a>& pp::Resource::operator= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_resource.html">Resource</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function assigns one <code><a class="el" href="classpp_1_1_resource.html" title="A reference counted module resource.">Resource</a></code> to another <code><a class="el" href="classpp_1_1_resource.html" title="A reference counted module resource.">Resource</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A <a class="el" href="classpp_1_1_resource.html" title="A reference counted module resource.">Resource</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <a class="el" href="classpp_1_1_resource.html" title="A reference counted module resource.">Resource</a> containing the assigned <a class="el" href="classpp_1_1_resource.html" title="A reference counted module resource.">Resource</a>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a3eda014529127a818df8d5bb5ec2fdf0"></a><!-- doxytag: member="pp::Resource::PassRefFromConstructor" ref="a3eda014529127a818df8d5bb5ec2fdf0" args="(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">pp::Resource::PassRefFromConstructor</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>resource</em></td><td>)</td>
+<td><code> [protected]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>PassRefFromConstructor is called by derived class' constructors to initialize this <code><a class="el" href="classpp_1_1_resource.html" title="A reference counted module resource.">Resource</a></code> with a <code>PP_Resource</code> that has already had its reference count incremented by <code><a class="el" href="classpp_1_1_core.html#a09c663df7fcb527b3e5e71ea07531899" title="AddRefResource() increments the reference count for the provided resource.">Core::AddRefResource</a></code>. </p>
+<p>It also assumes this object has no current resource.</p>
+<p>The intended usage of this function that the derived class constructor will call the default <code><a class="el" href="classpp_1_1_resource.html" title="A reference counted module resource.">Resource</a></code> constructor, then make a call to create a resource. It then wants to assign the new resource (which, since it was returned by the browser, already had its reference count increased).</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a resource. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a46a6123de0b007ad3fcb6f666534ccb4"></a><!-- doxytag: member="pp::Resource::pp_resource" ref="a46a6123de0b007ad3fcb6f666534ccb4" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_Resource <a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp::Resource::pp_resource</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Friends And Related Function Documentation</h2>
+<a class="anchor" id="aef268205011788a4a9f05ed201384ace"></a><!-- doxytag: member="pp::Resource::VarResource_Dev" ref="aef268205011788a4a9f05ed201384ace" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">friend class <a class="el" href="classpp_1_1_resource.html#aef268205011788a4a9f05ed201384ace">VarResource_Dev</a><code> [friend]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="resource_8h.html">resource.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_resource__inherit__graph.png b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_resource__inherit__graph.png
new file mode 100644
index 0000000..fc41995
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_resource__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_size-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_size-members.html
new file mode 100644
index 0000000..727c213
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_size-members.html
@@ -0,0 +1,28 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_size.html">pp::Size</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_size.html#a51a74964f27e139003b82aad55dd63f5">Enlarge</a>(int w, int h)</td><td><a class="el" href="classpp_1_1_size.html">pp::Size</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_size.html#ac056add4f1e8b1f90a6e3c65afa4ba3b">GetArea</a>() const </td><td><a class="el" href="classpp_1_1_size.html">pp::Size</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_size.html#a61a68178eefa2589ead95491ac079139">height</a>() const </td><td><a class="el" href="classpp_1_1_size.html">pp::Size</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_size.html#a11e791714686761966773adcc94218bb">IsEmpty</a>() const </td><td><a class="el" href="classpp_1_1_size.html">pp::Size</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_size.html#a72cbb6066dd37615daaa3d3c1a0c595a">operator PP_Size</a>()</td><td><a class="el" href="classpp_1_1_size.html">pp::Size</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_size.html#ad61947a5f2a3bbe90dc62c62cc799174">pp_size</a>() const </td><td><a class="el" href="classpp_1_1_size.html">pp::Size</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_size.html#ae20ce070c015adec8b5411b047db5917">pp_size</a>()</td><td><a class="el" href="classpp_1_1_size.html">pp::Size</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_size.html#a2805413bf372ad033fcf505c8d3cce34">set_height</a>(int h)</td><td><a class="el" href="classpp_1_1_size.html">pp::Size</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_size.html#a104cf1f6a95c1430f7cd15a26815e82a">set_width</a>(int w)</td><td><a class="el" href="classpp_1_1_size.html">pp::Size</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_size.html#a25d85979d55798a9b672ca73c1d48222">SetSize</a>(int w, int h)</td><td><a class="el" href="classpp_1_1_size.html">pp::Size</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_size.html#a5ffffc4488c677716baed27752b6a6c1">Size</a>()</td><td><a class="el" href="classpp_1_1_size.html">pp::Size</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_size.html#aa050f55ab1775d0ee1b0ae174e1495df">Size</a>(const PP_Size &s)</td><td><a class="el" href="classpp_1_1_size.html">pp::Size</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_size.html#a14a1c612454596e43a94c01da338bc1e">Size</a>(int w, int h)</td><td><a class="el" href="classpp_1_1_size.html">pp::Size</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_size.html#af043a504c701e32c504c63b9e91ac500">width</a>() const </td><td><a class="el" href="classpp_1_1_size.html">pp::Size</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_size.html#aff4a88df9882be410ca78d338d2d87dc">~Size</a>()</td><td><a class="el" href="classpp_1_1_size.html">pp::Size</a></td><td><code> [inline]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_size.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_size.html
new file mode 100644
index 0000000..8969c00
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_size.html
@@ -0,0 +1,363 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::Size Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::Size" -->
+<p><a href="classpp_1_1_size-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_size.html#a5ffffc4488c677716baed27752b6a6c1">Size</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_size.html#aa050f55ab1775d0ee1b0ae174e1495df">Size</a> (const PP_Size &s)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_size.html#a14a1c612454596e43a94c01da338bc1e">Size</a> (int w, int h)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_size.html#aff4a88df9882be410ca78d338d2d87dc">~Size</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_size.html#a72cbb6066dd37615daaa3d3c1a0c595a">operator PP_Size</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const PP_Size & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_size.html#ad61947a5f2a3bbe90dc62c62cc799174">pp_size</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_Size & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_size.html#ae20ce070c015adec8b5411b047db5917">pp_size</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_size.html#af043a504c701e32c504c63b9e91ac500">width</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_size.html#a104cf1f6a95c1430f7cd15a26815e82a">set_width</a> (int w)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_size.html#a61a68178eefa2589ead95491ac079139">height</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_size.html#a2805413bf372ad033fcf505c8d3cce34">set_height</a> (int h)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_size.html#ac056add4f1e8b1f90a6e3c65afa4ba3b">GetArea</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_size.html#a25d85979d55798a9b672ca73c1d48222">SetSize</a> (int w, int h)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_size.html#a51a74964f27e139003b82aad55dd63f5">Enlarge</a> (int w, int h)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_size.html#a11e791714686761966773adcc94218bb">IsEmpty</a> () const </td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>A size of an object based on width and height. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a5ffffc4488c677716baed27752b6a6c1"></a><!-- doxytag: member="pp::Size::Size" ref="a5ffffc4488c677716baed27752b6a6c1" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_size.html#a5ffffc4488c677716baed27752b6a6c1">pp::Size::Size</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The default constructor. Initializes the width and height to 0. </p>
+</div>
+</div>
+<a class="anchor" id="aa050f55ab1775d0ee1b0ae174e1495df"></a><!-- doxytag: member="pp::Size::Size" ref="aa050f55ab1775d0ee1b0ae174e1495df" args="(const PP_Size &s)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_size.html#a5ffffc4488c677716baed27752b6a6c1">pp::Size::Size</a> </td>
+<td>(</td>
+<td class="paramtype">const PP_Size & </td>
+<td class="paramname"><em>s</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor accepting a pointer to a <code>PP_Size</code> and converting the <code>PP_Size</code> to a <code><a class="el" href="classpp_1_1_size.html" title="A size of an object based on width and height.">Size</a></code>. </p>
+<p>This is an implicit conversion constructor.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>A pointer to a <code>PP_Size</code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a14a1c612454596e43a94c01da338bc1e"></a><!-- doxytag: member="pp::Size::Size" ref="a14a1c612454596e43a94c01da338bc1e" args="(int w, int h)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_size.html#a5ffffc4488c677716baed27752b6a6c1">pp::Size::Size</a> </td>
+<td>(</td>
+<td class="paramtype">int </td>
+<td class="paramname"><em>w</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int </td>
+<td class="paramname"><em>h</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor accepting two int values for width and height and converting them to a <code><a class="el" href="classpp_1_1_size.html" title="A size of an object based on width and height.">Size</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">w</td><td>An int value representing a width. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>An int value representing a height. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="aff4a88df9882be410ca78d338d2d87dc"></a><!-- doxytag: member="pp::Size::~Size" ref="aff4a88df9882be410ca78d338d2d87dc" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_size.html#aff4a88df9882be410ca78d338d2d87dc">pp::Size::~Size</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Destructor. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a51a74964f27e139003b82aad55dd63f5"></a><!-- doxytag: member="pp::Size::Enlarge" ref="a51a74964f27e139003b82aad55dd63f5" args="(int w, int h)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_size.html#a51a74964f27e139003b82aad55dd63f5">pp::Size::Enlarge</a> </td>
+<td>(</td>
+<td class="paramtype">int </td>
+<td class="paramname"><em>w</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int </td>
+<td class="paramname"><em>h</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_size.html#a51a74964f27e139003b82aad55dd63f5" title="Enlarge() enlarges the size of an object.">Enlarge()</a> enlarges the size of an object. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">w</td><td>A width to add the current width. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>A height to add to the current height. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ac056add4f1e8b1f90a6e3c65afa4ba3b"></a><!-- doxytag: member="pp::Size::GetArea" ref="ac056add4f1e8b1f90a6e3c65afa4ba3b" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int <a class="el" href="classpp_1_1_size.html#ac056add4f1e8b1f90a6e3c65afa4ba3b">pp::Size::GetArea</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_size.html#ac056add4f1e8b1f90a6e3c65afa4ba3b" title="GetArea() determines the area (width * height).">GetArea()</a> determines the area (width * height). </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The area. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a61a68178eefa2589ead95491ac079139"></a><!-- doxytag: member="pp::Size::height" ref="a61a68178eefa2589ead95491ac079139" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int <a class="el" href="classpp_1_1_size.html#a61a68178eefa2589ead95491ac079139">pp::Size::height</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the value of height. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The value of height for this <code><a class="el" href="classpp_1_1_size.html" title="A size of an object based on width and height.">Size</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a11e791714686761966773adcc94218bb"></a><!-- doxytag: member="pp::Size::IsEmpty" ref="a11e791714686761966773adcc94218bb" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_size.html#a11e791714686761966773adcc94218bb">pp::Size::IsEmpty</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_size.html#a11e791714686761966773adcc94218bb" title="IsEmpty() determines if the size is zero.">IsEmpty()</a> determines if the size is zero. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the size is zero. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a72cbb6066dd37615daaa3d3c1a0c595a"></a><!-- doxytag: member="pp::Size::operator PP_Size" ref="a72cbb6066dd37615daaa3d3c1a0c595a" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">pp::Size::operator PP_Size </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>PP_Size() allows implicit conversion of a <code><a class="el" href="classpp_1_1_size.html" title="A size of an object based on width and height.">Size</a></code> to a <code>PP_Size</code>. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <a class="el" href="classpp_1_1_size.html" title="A size of an object based on width and height.">Size</a>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ad61947a5f2a3bbe90dc62c62cc799174"></a><!-- doxytag: member="pp::Size::pp_size" ref="ad61947a5f2a3bbe90dc62c62cc799174" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">const PP_Size& <a class="el" href="classpp_1_1_size.html#ad61947a5f2a3bbe90dc62c62cc799174">pp::Size::pp_size</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the internal <code>PP_Size</code> struct. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A const reference to the internal <code>PP_Size</code> struct. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ae20ce070c015adec8b5411b047db5917"></a><!-- doxytag: member="pp::Size::pp_size" ref="ae20ce070c015adec8b5411b047db5917" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_Size& <a class="el" href="classpp_1_1_size.html#ad61947a5f2a3bbe90dc62c62cc799174">pp::Size::pp_size</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the internal <code>PP_Size</code> struct. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A mutable reference to the <code>PP_Size</code> struct. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2805413bf372ad033fcf505c8d3cce34"></a><!-- doxytag: member="pp::Size::set_height" ref="a2805413bf372ad033fcf505c8d3cce34" args="(int h)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_size.html#a2805413bf372ad033fcf505c8d3cce34">pp::Size::set_height</a> </td>
+<td>(</td>
+<td class="paramtype">int </td>
+<td class="paramname"><em>h</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Setter function for setting the value of height. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>A new height value. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a104cf1f6a95c1430f7cd15a26815e82a"></a><!-- doxytag: member="pp::Size::set_width" ref="a104cf1f6a95c1430f7cd15a26815e82a" args="(int w)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_size.html#a104cf1f6a95c1430f7cd15a26815e82a">pp::Size::set_width</a> </td>
+<td>(</td>
+<td class="paramtype">int </td>
+<td class="paramname"><em>w</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Setter function for setting the value of width. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">w</td><td>A new width value. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a25d85979d55798a9b672ca73c1d48222"></a><!-- doxytag: member="pp::Size::SetSize" ref="a25d85979d55798a9b672ca73c1d48222" args="(int w, int h)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_size.html#a25d85979d55798a9b672ca73c1d48222">pp::Size::SetSize</a> </td>
+<td>(</td>
+<td class="paramtype">int </td>
+<td class="paramname"><em>w</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int </td>
+<td class="paramname"><em>h</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_size.html#a25d85979d55798a9b672ca73c1d48222" title="SetSize() sets the value of width and height.">SetSize()</a> sets the value of width and height. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">w</td><td>A new width value. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>A new height value. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="af043a504c701e32c504c63b9e91ac500"></a><!-- doxytag: member="pp::Size::width" ref="af043a504c701e32c504c63b9e91ac500" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int <a class="el" href="classpp_1_1_size.html#af043a504c701e32c504c63b9e91ac500">pp::Size::width</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the value of width. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The value of width for this <code><a class="el" href="classpp_1_1_size.html" title="A size of an object based on width and height.">Size</a></code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="size_8h.html">size.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_t_c_p_socket-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_t_c_p_socket-members.html
new file mode 100644
index 0000000..d4a6931d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_t_c_p_socket-members.html
@@ -0,0 +1,41 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_t_c_p_socket.html#aef5daadffa0cf98464d30c418f1eceb1">Accept</a>(const CompletionCallbackWithOutput< TCPSocket > &callback)</td><td><a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_t_c_p_socket.html#a266c28928c7524fa8bad8bca513c8f2b">Bind</a>(const NetAddress &addr, const CompletionCallback &callback)</td><td><a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_t_c_p_socket.html#abc186103df13872795525a65ab48a478">Close</a>()</td><td><a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_t_c_p_socket.html#a939f7d319a58c60afcb71f6356223aac">Connect</a>(const NetAddress &addr, const CompletionCallback &callback)</td><td><a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_t_c_p_socket.html#ad35bf6762cac2eceb4469eba0275ed7f">GetLocalAddress</a>() const </td><td><a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_t_c_p_socket.html#a6d8c7d3ab135c58f0cd92202946c1ea8">GetRemoteAddress</a>() const </td><td><a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_t_c_p_socket.html#addc35d01f8547e3128358c401a2a8e47">IsAvailable</a>()</td><td><a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a></td><td><code> [static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_t_c_p_socket.html#afed8c462e80b265b132a53e8cbd87fbb">Listen</a>(int32_t backlog, const CompletionCallback &callback)</td><td><a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_t_c_p_socket.html#ae7c8888a8f6ef5187547de8b8db3bb98">operator=</a>(const TCPSocket &other)</td><td><a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">pp::Resource::operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_t_c_p_socket.html#a598efe777f0ef2eb9117b11437e1bedb">Read</a>(char *buffer, int32_t bytes_to_read, const CompletionCallback &callback)</td><td><a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_t_c_p_socket.html#a71fdfb61f8ab4fbc805bb66b34a77484">SetOption</a>(PP_TCPSocket_Option name, const Var &value, const CompletionCallback &callback)</td><td><a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_t_c_p_socket.html#a8752f9c331ea25e01bf4a80be95117ef">TCPSocket</a>()</td><td><a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_t_c_p_socket.html#af33619315cc5eeff15174a78b0fff44d">TCPSocket</a>(const InstanceHandle &instance)</td><td><a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_t_c_p_socket.html#aa7af4b57237e461a79ba33e044d688fe">TCPSocket</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_t_c_p_socket.html#a528305852766af8c12284e6ef7e94058">TCPSocket</a>(const TCPSocket &other)</td><td><a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_t_c_p_socket.html#aef066de742e7271ca72fa8e4e177f63b">Write</a>(const char *buffer, int32_t bytes_to_write, const CompletionCallback &callback)</td><td><a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_t_c_p_socket.html#a32547904059796aa6def4c9ab6107c80">~TCPSocket</a>()</td><td><a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_t_c_p_socket.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_t_c_p_socket.html
new file mode 100644
index 0000000..b984778
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_t_c_p_socket.html
@@ -0,0 +1,537 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::TCPSocket Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::TCPSocket" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::TCPSocket:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_t_c_p_socket__inherit__graph.png" border="0" usemap="#pp_1_1_t_c_p_socket_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_t_c_p_socket_inherit__map" id="pp_1_1_t_c_p_socket_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="9,5,113,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_t_c_p_socket-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html#a8752f9c331ea25e01bf4a80be95117ef">TCPSocket</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html#af33619315cc5eeff15174a78b0fff44d">TCPSocket</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html#aa7af4b57237e461a79ba33e044d688fe">TCPSocket</a> (<a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a>, PP_Resource resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html#a528305852766af8c12284e6ef7e94058">TCPSocket</a> (const <a class="el" href="classpp_1_1_t_c_p_socket.html">TCPSocket</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html#a32547904059796aa6def4c9ab6107c80">~TCPSocket</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_t_c_p_socket.html">TCPSocket</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html#ae7c8888a8f6ef5187547de8b8db3bb98">operator=</a> (const <a class="el" href="classpp_1_1_t_c_p_socket.html">TCPSocket</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html#a266c28928c7524fa8bad8bca513c8f2b">Bind</a> (const <a class="el" href="classpp_1_1_net_address.html">NetAddress</a> &addr, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html#a939f7d319a58c60afcb71f6356223aac">Connect</a> (const <a class="el" href="classpp_1_1_net_address.html">NetAddress</a> &addr, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_net_address.html">NetAddress</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html#ad35bf6762cac2eceb4469eba0275ed7f">GetLocalAddress</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_net_address.html">NetAddress</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html#a6d8c7d3ab135c58f0cd92202946c1ea8">GetRemoteAddress</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html#a598efe777f0ef2eb9117b11437e1bedb">Read</a> (char *buffer, int32_t bytes_to_read, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html#aef066de742e7271ca72fa8e4e177f63b">Write</a> (const char *buffer, int32_t bytes_to_write, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html#afed8c462e80b265b132a53e8cbd87fbb">Listen</a> (int32_t backlog, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html#aef5daadffa0cf98464d30c418f1eceb1">Accept</a> (const <a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a>< <a class="el" href="classpp_1_1_t_c_p_socket.html">TCPSocket</a> > &callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html#abc186103df13872795525a65ab48a478">Close</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html#a71fdfb61f8ab4fbc805bb66b34a77484">SetOption</a> (PP_TCPSocket_Option name, const <a class="el" href="classpp_1_1_var.html">Var</a> &value, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &callback)</td></tr>
+</table><h2>
+Static Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html#addc35d01f8547e3128358c401a2a8e47">IsAvailable</a> ()</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="classpp_1_1_t_c_p_socket.html" title="The TCPSocket class provides TCP socket operations.">TCPSocket</a></code> class provides TCP socket operations. </p>
+<p>Permissions: Apps permission <code>socket</code> with subrule <code>tcp-connect</code> is required for <code><a class="el" href="classpp_1_1_t_c_p_socket.html#a939f7d319a58c60afcb71f6356223aac" title="Connects the socket to the given address.">Connect()</a></code>; subrule <code>tcp-listen</code> is required for <code><a class="el" href="classpp_1_1_t_c_p_socket.html#afed8c462e80b265b132a53e8cbd87fbb" title="Starts listening.">Listen()</a></code>. For more details about network communication permissions, please see: <a href="http://developer.chrome.com/apps/app_network.html">http://developer.chrome.com/apps/app_network.html</a> </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a8752f9c331ea25e01bf4a80be95117ef"></a><!-- doxytag: member="pp::TCPSocket::TCPSocket" ref="a8752f9c331ea25e01bf4a80be95117ef" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_t_c_p_socket.html#a8752f9c331ea25e01bf4a80be95117ef">pp::TCPSocket::TCPSocket</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor for creating an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> <code><a class="el" href="classpp_1_1_t_c_p_socket.html" title="The TCPSocket class provides TCP socket operations.">TCPSocket</a></code> object. </p>
+</div>
+</div>
+<a class="anchor" id="af33619315cc5eeff15174a78b0fff44d"></a><!-- doxytag: member="pp::TCPSocket::TCPSocket" ref="af33619315cc5eeff15174a78b0fff44d" args="(const InstanceHandle &instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_t_c_p_socket.html#a8752f9c331ea25e01bf4a80be95117ef">pp::TCPSocket::TCPSocket</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used to create a <code><a class="el" href="classpp_1_1_t_c_p_socket.html" title="The TCPSocket class provides TCP socket operations.">TCPSocket</a></code> object. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="aa7af4b57237e461a79ba33e044d688fe"></a><!-- doxytag: member="pp::TCPSocket::TCPSocket" ref="aa7af4b57237e461a79ba33e044d688fe" args="(PassRef, PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_t_c_p_socket.html#a8752f9c331ea25e01bf4a80be95117ef">pp::TCPSocket::TCPSocket</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a> </td>
+<td class="paramname">, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>resource</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used when you have received a <code>PP_Resource</code> as a return value that has had 1 ref added for you. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PPB_TCPSocket</code> resource. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a528305852766af8c12284e6ef7e94058"></a><!-- doxytag: member="pp::TCPSocket::TCPSocket" ref="a528305852766af8c12284e6ef7e94058" args="(const TCPSocket &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_t_c_p_socket.html#a8752f9c331ea25e01bf4a80be95117ef">pp::TCPSocket::TCPSocket</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_t_c_p_socket.html">TCPSocket</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The copy constructor for <code><a class="el" href="classpp_1_1_t_c_p_socket.html" title="The TCPSocket class provides TCP socket operations.">TCPSocket</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A reference to another <code><a class="el" href="classpp_1_1_t_c_p_socket.html" title="The TCPSocket class provides TCP socket operations.">TCPSocket</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a32547904059796aa6def4c9ab6107c80"></a><!-- doxytag: member="pp::TCPSocket::~TCPSocket" ref="a32547904059796aa6def4c9ab6107c80" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_t_c_p_socket.html#a32547904059796aa6def4c9ab6107c80">pp::TCPSocket::~TCPSocket</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The destructor. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="aef5daadffa0cf98464d30c418f1eceb1"></a><!-- doxytag: member="pp::TCPSocket::Accept" ref="aef5daadffa0cf98464d30c418f1eceb1" args="(const CompletionCallbackWithOutput< TCPSocket > &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_t_c_p_socket.html#aef5daadffa0cf98464d30c418f1eceb1">pp::TCPSocket::Accept</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a>< <a class="el" href="classpp_1_1_t_c_p_socket.html">TCPSocket</a> > & </td>
+<td class="paramname"><em>callback</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Accepts a connection. </p>
+<p>The socket must be listening.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>, including (but not limited to):<ul>
+<li><code>PP_ERROR_CONNECTION_ABORTED</code>: A connection has been aborted. </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<a class="anchor" id="a266c28928c7524fa8bad8bca513c8f2b"></a><!-- doxytag: member="pp::TCPSocket::Bind" ref="a266c28928c7524fa8bad8bca513c8f2b" args="(const NetAddress &addr, const CompletionCallback &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_t_c_p_socket.html#a266c28928c7524fa8bad8bca513c8f2b">pp::TCPSocket::Bind</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_net_address.html">NetAddress</a> & </td>
+<td class="paramname"><em>addr</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>callback</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Binds the socket to the given address. </p>
+<p>The socket must not be bound.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>A <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code> object. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>, including (but not limited to):<ul>
+<li><code>PP_ERROR_ADDRESS_IN_USE</code>: the address is already in use.</li>
+<li><code>PP_ERROR_ADDRESS_INVALID</code>: the address is invalid. </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<a class="anchor" id="abc186103df13872795525a65ab48a478"></a><!-- doxytag: member="pp::TCPSocket::Close" ref="abc186103df13872795525a65ab48a478" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_t_c_p_socket.html#abc186103df13872795525a65ab48a478">pp::TCPSocket::Close</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Cancels all pending operations and closes the socket. </p>
+<p>Any pending callbacks will still run, reporting <code>PP_ERROR_ABORTED</code> if pending IO was interrupted. After a call to this method, no output buffer pointers passed into previous <code><a class="el" href="classpp_1_1_t_c_p_socket.html#a598efe777f0ef2eb9117b11437e1bedb" title="Reads data from the socket.">Read()</a></code> or <code><a class="el" href="classpp_1_1_t_c_p_socket.html#aef5daadffa0cf98464d30c418f1eceb1" title="Accepts a connection.">Accept()</a></code> calls will be accessed. It is not valid to call <code><a class="el" href="classpp_1_1_t_c_p_socket.html#a939f7d319a58c60afcb71f6356223aac" title="Connects the socket to the given address.">Connect()</a></code> or <code><a class="el" href="classpp_1_1_t_c_p_socket.html#afed8c462e80b265b132a53e8cbd87fbb" title="Starts listening.">Listen()</a></code> again.</p>
+<p>The socket is implicitly closed if it is destroyed, so you are not required to call this method. </p>
+</div>
+</div>
+<a class="anchor" id="a939f7d319a58c60afcb71f6356223aac"></a><!-- doxytag: member="pp::TCPSocket::Connect" ref="a939f7d319a58c60afcb71f6356223aac" args="(const NetAddress &addr, const CompletionCallback &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_t_c_p_socket.html#a939f7d319a58c60afcb71f6356223aac">pp::TCPSocket::Connect</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_net_address.html">NetAddress</a> & </td>
+<td class="paramname"><em>addr</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>callback</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Connects the socket to the given address. </p>
+<p>The socket must not be listening. Binding the socket beforehand is optional.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>A <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code> object. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>, including (but not limited to):<ul>
+<li><code>PP_ERROR_NOACCESS</code>: the caller doesn't have required permissions.</li>
+<li><code>PP_ERROR_ADDRESS_UNREACHABLE</code>: <code>addr</code> is unreachable.</li>
+<li><code>PP_ERROR_CONNECTION_REFUSED</code>: the connection attempt was refused.</li>
+<li><code>PP_ERROR_CONNECTION_FAILED</code>: the connection attempt failed.</li>
+<li><code>PP_ERROR_CONNECTION_TIMEDOUT</code>: the connection attempt timed out.</li>
+</ul>
+</dd></dl>
+<p>Since version 1.1, if the socket is listening/connected or has a pending listen/connect request, <code><a class="el" href="classpp_1_1_t_c_p_socket.html#a939f7d319a58c60afcb71f6356223aac" title="Connects the socket to the given address.">Connect()</a></code> will fail without starting a connection attempt. Otherwise, any failure during the connection attempt will cause the socket to be closed. </p>
+</div>
+</div>
+<a class="anchor" id="ad35bf6762cac2eceb4469eba0275ed7f"></a><!-- doxytag: member="pp::TCPSocket::GetLocalAddress" ref="ad35bf6762cac2eceb4469eba0275ed7f" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_net_address.html">NetAddress</a> <a class="el" href="classpp_1_1_t_c_p_socket.html#ad35bf6762cac2eceb4469eba0275ed7f">pp::TCPSocket::GetLocalAddress</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the local address of the socket, if it is bound. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code> object. The object will be null (i.e., <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> returns true) on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a6d8c7d3ab135c58f0cd92202946c1ea8"></a><!-- doxytag: member="pp::TCPSocket::GetRemoteAddress" ref="a6d8c7d3ab135c58f0cd92202946c1ea8" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_net_address.html">NetAddress</a> <a class="el" href="classpp_1_1_t_c_p_socket.html#a6d8c7d3ab135c58f0cd92202946c1ea8">pp::TCPSocket::GetRemoteAddress</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the remote address of the socket, if it is connected. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code> object. The object will be null (i.e., <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> returns true) on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="addc35d01f8547e3128358c401a2a8e47"></a><!-- doxytag: member="pp::TCPSocket::IsAvailable" ref="addc35d01f8547e3128358c401a2a8e47" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static bool <a class="el" href="classpp_1_1_t_c_p_socket.html#addc35d01f8547e3128358c401a2a8e47">pp::TCPSocket::IsAvailable</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Static function for determining whether the browser supports the <code>PPB_TCPSocket</code> interface. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the interface is available, false otherwise. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="afed8c462e80b265b132a53e8cbd87fbb"></a><!-- doxytag: member="pp::TCPSocket::Listen" ref="afed8c462e80b265b132a53e8cbd87fbb" args="(int32_t backlog, const CompletionCallback &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_t_c_p_socket.html#afed8c462e80b265b132a53e8cbd87fbb">pp::TCPSocket::Listen</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>backlog</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>callback</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Starts listening. </p>
+<p>The socket must be bound and not connected.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">backlog</td><td>A hint to determine the maximum length to which the queue of pending connections may grow. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>, including (but not limited to):<ul>
+<li><code>PP_ERROR_NOACCESS</code>: the caller doesn't have required permissions.</li>
+<li><code>PP_ERROR_ADDRESS_IN_USE</code>: Another socket is already listening on the same port. </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<a class="anchor" id="ae7c8888a8f6ef5187547de8b8db3bb98"></a><!-- doxytag: member="pp::TCPSocket::operator=" ref="ae7c8888a8f6ef5187547de8b8db3bb98" args="(const TCPSocket &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_t_c_p_socket.html">TCPSocket</a>& pp::TCPSocket::operator= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_t_c_p_socket.html">TCPSocket</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The assignment operator for <code><a class="el" href="classpp_1_1_t_c_p_socket.html" title="The TCPSocket class provides TCP socket operations.">TCPSocket</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A reference to another <code><a class="el" href="classpp_1_1_t_c_p_socket.html" title="The TCPSocket class provides TCP socket operations.">TCPSocket</a></code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A reference to this <code><a class="el" href="classpp_1_1_t_c_p_socket.html" title="The TCPSocket class provides TCP socket operations.">TCPSocket</a></code> object. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a598efe777f0ef2eb9117b11437e1bedb"></a><!-- doxytag: member="pp::TCPSocket::Read" ref="a598efe777f0ef2eb9117b11437e1bedb" args="(char *buffer, int32_t bytes_to_read, const CompletionCallback &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_t_c_p_socket.html#a598efe777f0ef2eb9117b11437e1bedb">pp::TCPSocket::Read</a> </td>
+<td>(</td>
+<td class="paramtype">char * </td>
+<td class="paramname"><em>buffer</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>bytes_to_read</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>callback</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Reads data from the socket. </p>
+<p>The socket must be connected. It may perform a partial read.</p>
+<p><b>Caveat:</b> You should be careful about the lifetime of <code>buffer</code>. Typically you will use a <code><a class="el" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe...">CompletionCallbackFactory</a></code> to scope callbacks to the lifetime of your class. When your class goes out of scope, the callback factory will not actually cancel the operation, but will rather just skip issuing the callback on your class. This means that if the underlying <code>PPB_TCPSocket</code> resource outlives your class, the browser will still try to write into your buffer when the operation completes. The buffer must be kept valid until then to avoid memory corruption. If you want to release the buffer while the <code><a class="el" href="classpp_1_1_t_c_p_socket.html#a598efe777f0ef2eb9117b11437e1bedb" title="Reads data from the socket.">Read()</a></code> call is still pending, you should call <code><a class="el" href="classpp_1_1_t_c_p_socket.html#abc186103df13872795525a65ab48a478" title="Cancels all pending operations and closes the socket.">Close()</a></code> to ensure that the buffer won't be accessed in the future.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[out]</td><td class="paramname">buffer</td><td>The buffer to store the received data on success. It must be at least as large as <code>bytes_to_read</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">bytes_to_read</td><td>The number of bytes to read. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A non-negative number on success to indicate how many bytes have been read, 0 means that end-of-file was reached; otherwise, an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a71fdfb61f8ab4fbc805bb66b34a77484"></a><!-- doxytag: member="pp::TCPSocket::SetOption" ref="a71fdfb61f8ab4fbc805bb66b34a77484" args="(PP_TCPSocket_Option name, const Var &value, const CompletionCallback &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_t_c_p_socket.html#a71fdfb61f8ab4fbc805bb66b34a77484">pp::TCPSocket::SetOption</a> </td>
+<td>(</td>
+<td class="paramtype">PP_TCPSocket_Option </td>
+<td class="paramname"><em>name</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>value</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>callback</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sets a socket option on the TCP socket. </p>
+<p>Please see the <code>PP_TCPSocket_Option</code> description for option names, value types and allowed values.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>The option to set. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The option value to set. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aef066de742e7271ca72fa8e4e177f63b"></a><!-- doxytag: member="pp::TCPSocket::Write" ref="aef066de742e7271ca72fa8e4e177f63b" args="(const char *buffer, int32_t bytes_to_write, const CompletionCallback &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_t_c_p_socket.html#aef066de742e7271ca72fa8e4e177f63b">pp::TCPSocket::Write</a> </td>
+<td>(</td>
+<td class="paramtype">const char * </td>
+<td class="paramname"><em>buffer</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>bytes_to_write</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>callback</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Writes data to the socket. </p>
+<p>The socket must be connected. It may perform a partial write.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">buffer</td><td>The buffer containing the data to write. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">bytes_to_write</td><td>The number of bytes to write. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A non-negative number on success to indicate how many bytes have been written; otherwise, an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="tcp__socket_8h.html">tcp_socket.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_t_c_p_socket__inherit__graph.png b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_t_c_p_socket__inherit__graph.png
new file mode 100644
index 0000000..d0827c6
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_t_c_p_socket__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_text_input_controller-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_text_input_controller-members.html
new file mode 100644
index 0000000..1186ccf2
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_text_input_controller-members.html
@@ -0,0 +1,19 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_text_input_controller.html">pp::TextInputController</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_text_input_controller.html#a19329ad0e0ca3e7a7d31cf51462643cb">CancelCompositionText</a>()</td><td><a class="el" href="classpp_1_1_text_input_controller.html">pp::TextInputController</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_text_input_controller.html#acef9638552ba5254401ea3330140e67f">SetTextInputType</a>(PP_TextInput_Type type)</td><td><a class="el" href="classpp_1_1_text_input_controller.html">pp::TextInputController</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_text_input_controller.html#a6fe3648b0322ad724f0d103b61cbaee9">TextInputController</a>(const InstanceHandle &instance)</td><td><a class="el" href="classpp_1_1_text_input_controller.html">pp::TextInputController</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_text_input_controller.html#a884a00a9d265d812424874542c2ee34c">UpdateCaretPosition</a>(const Rect &caret)</td><td><a class="el" href="classpp_1_1_text_input_controller.html">pp::TextInputController</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_text_input_controller.html#a59fc139f69ed425f632c16313e69ceca">UpdateSurroundingText</a>(const Var &text, uint32_t caret, uint32_t anchor)</td><td><a class="el" href="classpp_1_1_text_input_controller.html">pp::TextInputController</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_text_input_controller.html#a19e3cd5588f61113d4037cbf15069a96">~TextInputController</a>()</td><td><a class="el" href="classpp_1_1_text_input_controller.html">pp::TextInputController</a></td><td></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_text_input_controller.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_text_input_controller.html
new file mode 100644
index 0000000..071c792
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_text_input_controller.html
@@ -0,0 +1,173 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::TextInputController Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::TextInputController" -->
+<p><a href="classpp_1_1_text_input_controller-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_text_input_controller.html#a6fe3648b0322ad724f0d103b61cbaee9">TextInputController</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_text_input_controller.html#a19e3cd5588f61113d4037cbf15069a96">~TextInputController</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_text_input_controller.html#acef9638552ba5254401ea3330140e67f">SetTextInputType</a> (PP_TextInput_Type type)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_text_input_controller.html#a884a00a9d265d812424874542c2ee34c">UpdateCaretPosition</a> (const <a class="el" href="classpp_1_1_rect.html">Rect</a> &caret)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_text_input_controller.html#a19329ad0e0ca3e7a7d31cf51462643cb">CancelCompositionText</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_text_input_controller.html#a59fc139f69ed425f632c16313e69ceca">UpdateSurroundingText</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &text, uint32_t caret, uint32_t anchor)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This class can be used for giving hints to the browser about the text input status of plugins. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a6fe3648b0322ad724f0d103b61cbaee9"></a><!-- doxytag: member="pp::TextInputController::TextInputController" ref="a6fe3648b0322ad724f0d103b61cbaee9" args="(const InstanceHandle &instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_text_input_controller.html#a6fe3648b0322ad724f0d103b61cbaee9">pp::TextInputController::TextInputController</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor for creating a <code><a class="el" href="classpp_1_1_text_input_controller.html" title="This class can be used for giving hints to the browser about the text input status of plugins...">TextInputController</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a19e3cd5588f61113d4037cbf15069a96"></a><!-- doxytag: member="pp::TextInputController::~TextInputController" ref="a19e3cd5588f61113d4037cbf15069a96" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_text_input_controller.html#a19e3cd5588f61113d4037cbf15069a96">pp::TextInputController::~TextInputController</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Destructor. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a19329ad0e0ca3e7a7d31cf51462643cb"></a><!-- doxytag: member="pp::TextInputController::CancelCompositionText" ref="a19329ad0e0ca3e7a7d31cf51462643cb" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_text_input_controller.html#a19329ad0e0ca3e7a7d31cf51462643cb">pp::TextInputController::CancelCompositionText</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_text_input_controller.html#a19329ad0e0ca3e7a7d31cf51462643cb" title="CancelCompositionText() informs the browser that the current composition text is cancelled by the plu...">CancelCompositionText()</a> informs the browser that the current composition text is cancelled by the plugin. </p>
+</div>
+</div>
+<a class="anchor" id="acef9638552ba5254401ea3330140e67f"></a><!-- doxytag: member="pp::TextInputController::SetTextInputType" ref="acef9638552ba5254401ea3330140e67f" args="(PP_TextInput_Type type)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_text_input_controller.html#acef9638552ba5254401ea3330140e67f">pp::TextInputController::SetTextInputType</a> </td>
+<td>(</td>
+<td class="paramtype">PP_TextInput_Type </td>
+<td class="paramname"><em>type</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_text_input_controller.html#acef9638552ba5254401ea3330140e67f" title="SetTextInputType() informs the browser about the current text input mode of the plugin.">SetTextInputType()</a> informs the browser about the current text input mode of the plugin. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>The type of text input type. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a884a00a9d265d812424874542c2ee34c"></a><!-- doxytag: member="pp::TextInputController::UpdateCaretPosition" ref="a884a00a9d265d812424874542c2ee34c" args="(const Rect &caret)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_text_input_controller.html#a884a00a9d265d812424874542c2ee34c">pp::TextInputController::UpdateCaretPosition</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">Rect</a> & </td>
+<td class="paramname"><em>caret</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_text_input_controller.html#a884a00a9d265d812424874542c2ee34c" title="UpdateCaretPosition() informs the browser about the coordinates of the text input caret area...">UpdateCaretPosition()</a> informs the browser about the coordinates of the text input caret area. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">caret</td><td>A rectangle indicating the caret area. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a59fc139f69ed425f632c16313e69ceca"></a><!-- doxytag: member="pp::TextInputController::UpdateSurroundingText" ref="a59fc139f69ed425f632c16313e69ceca" args="(const Var &text, uint32_t caret, uint32_t anchor)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_text_input_controller.html#a59fc139f69ed425f632c16313e69ceca">pp::TextInputController::UpdateSurroundingText</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>text</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>caret</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>anchor</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_text_input_controller.html#a59fc139f69ed425f632c16313e69ceca" title="UpdateSurroundingText() informs the browser about the current text selection and surrounding text...">UpdateSurroundingText()</a> informs the browser about the current text selection and surrounding text. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">text</td><td>A UTF-8 sting indicating string buffer of current input context.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">caret</td><td>A integer indicating the byte index of caret location in <code>text</code>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">caret</td><td>A integer indicating the byte index of anchor location in <code>text</code>. If there is no selection, this value should be equal to <code>caret</code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="text__input__controller_8h.html">text_input_controller.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_touch_input_event-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_touch_input_event-members.html
new file mode 100644
index 0000000..9d7d43a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_touch_input_event-members.html
@@ -0,0 +1,37 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_touch_input_event.html">pp::TouchInputEvent</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_touch_input_event.html#a0a323b8bd08e02d816b6fffa9b6299c0">AddTouchPoint</a>(PP_TouchListType list, PP_TouchPoint point)</td><td><a class="el" href="classpp_1_1_touch_input_event.html">pp::TouchInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a6f94a5cd8453f1b69e55aadde73354e7">GetModifiers</a>() const </td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#acc79ecdcf19f5b8a8a7268fc8ff51531">GetTimeStamp</a>() const </td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_touch_input_event.html#a66228762dbdfbb3404853a87c37b1736">GetTouchById</a>(PP_TouchListType list, uint32_t id) const </td><td><a class="el" href="classpp_1_1_touch_input_event.html">pp::TouchInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_touch_input_event.html#ac68cc82bbf2fcc88d449c5430cc02505">GetTouchByIndex</a>(PP_TouchListType list, uint32_t index) const </td><td><a class="el" href="classpp_1_1_touch_input_event.html">pp::TouchInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_touch_input_event.html#a5bdc7a4cd409586cab33e509dad43461">GetTouchCount</a>(PP_TouchListType list) const </td><td><a class="el" href="classpp_1_1_touch_input_event.html">pp::TouchInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a73ca79c06ff9a39304e3b390090f03dc">GetType</a>() const </td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#ac7581e4321abe8de6f3b48d70f4aa65d">InputEvent</a>()</td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a1d4f7d3fb88de3cccc60ab26b92ccf23">InputEvent</a>(PP_Resource input_event_resource)</td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_touch_input_event.html#a29020b28f060c5ce45ae5c3fc7512e43">TouchInputEvent</a>()</td><td><a class="el" href="classpp_1_1_touch_input_event.html">pp::TouchInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_touch_input_event.html#a601fab40cbb3e8f2f1824f655192b541">TouchInputEvent</a>(const InputEvent &event)</td><td><a class="el" href="classpp_1_1_touch_input_event.html">pp::TouchInputEvent</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_touch_input_event.html#a4a14ab4999f452f368e61c815c976eb3">TouchInputEvent</a>(const InstanceHandle &instance, PP_InputEvent_Type type, PP_TimeTicks time_stamp, uint32_t modifiers)</td><td><a class="el" href="classpp_1_1_touch_input_event.html">pp::TouchInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a2492183af4fecec44a423a5b7eae6faf">~InputEvent</a>()</td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_touch_input_event.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_touch_input_event.html
new file mode 100644
index 0000000..4f07665
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_touch_input_event.html
@@ -0,0 +1,216 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::TouchInputEvent Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::TouchInputEvent" --><!-- doxytag: inherits="pp::InputEvent" --><div class="dynheader">
+Inheritance diagram for pp::TouchInputEvent:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_touch_input_event__inherit__graph.png" border="0" usemap="#pp_1_1_touch_input_event_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_touch_input_event_inherit__map" id="pp_1_1_touch_input_event_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_input_event.html" title="This class represents an input event resource." alt="" coords="23,83,137,112"></area><area shape="rect" id="node4" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="28,5,132,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_touch_input_event-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_touch_input_event.html#a29020b28f060c5ce45ae5c3fc7512e43">TouchInputEvent</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_touch_input_event.html#a601fab40cbb3e8f2f1824f655192b541">TouchInputEvent</a> (const <a class="el" href="classpp_1_1_input_event.html">InputEvent</a> &event)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_touch_input_event.html#a4a14ab4999f452f368e61c815c976eb3">TouchInputEvent</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, PP_InputEvent_Type type, PP_TimeTicks time_stamp, uint32_t modifiers)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_touch_input_event.html#a0a323b8bd08e02d816b6fffa9b6299c0">AddTouchPoint</a> (PP_TouchListType list, PP_TouchPoint point)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_touch_input_event.html#a5bdc7a4cd409586cab33e509dad43461">GetTouchCount</a> (PP_TouchListType list) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_touch_point.html">TouchPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_touch_input_event.html#ac68cc82bbf2fcc88d449c5430cc02505">GetTouchByIndex</a> (PP_TouchListType list, uint32_t index) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_touch_point.html">TouchPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_touch_input_event.html#a66228762dbdfbb3404853a87c37b1736">GetTouchById</a> (PP_TouchListType list, uint32_t id) const </td></tr>
+</table>
+<hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a29020b28f060c5ce45ae5c3fc7512e43"></a><!-- doxytag: member="pp::TouchInputEvent::TouchInputEvent" ref="a29020b28f060c5ce45ae5c3fc7512e43" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_touch_input_event.html#a29020b28f060c5ce45ae5c3fc7512e43">pp::TouchInputEvent::TouchInputEvent</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> touch input event object. </p>
+</div>
+</div>
+<a class="anchor" id="a601fab40cbb3e8f2f1824f655192b541"></a><!-- doxytag: member="pp::TouchInputEvent::TouchInputEvent" ref="a601fab40cbb3e8f2f1824f655192b541" args="(const InputEvent &event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_touch_input_event.html#a29020b28f060c5ce45ae5c3fc7512e43">pp::TouchInputEvent::TouchInputEvent</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_input_event.html">InputEvent</a> & </td>
+<td class="paramname"><em>event</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs a touch input event object from the given generic input event. </p>
+<p>If the given event is itself <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> or is not a touch input event, the touch object will be <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a>. </p>
+</div>
+</div>
+<a class="anchor" id="a4a14ab4999f452f368e61c815c976eb3"></a><!-- doxytag: member="pp::TouchInputEvent::TouchInputEvent" ref="a4a14ab4999f452f368e61c815c976eb3" args="(const InstanceHandle &instance, PP_InputEvent_Type type, PP_TimeTicks time_stamp, uint32_t modifiers)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_touch_input_event.html#a29020b28f060c5ce45ae5c3fc7512e43">pp::TouchInputEvent::TouchInputEvent</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_InputEvent_Type </td>
+<td class="paramname"><em>type</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_TimeTicks </td>
+<td class="paramname"><em>time_stamp</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>modifiers</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs a touch input even from the given parameters. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance for which this event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>A <code>PP_InputEvent_Type</code> identifying the type of input event.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">time_stamp</td><td>A <code>PP_TimeTicks</code> indicating the time when the event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">modifiers</td><td>A bit field combination of the <code>PP_InputEvent_Modifier</code> flags. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a0a323b8bd08e02d816b6fffa9b6299c0"></a><!-- doxytag: member="pp::TouchInputEvent::AddTouchPoint" ref="a0a323b8bd08e02d816b6fffa9b6299c0" args="(PP_TouchListType list, PP_TouchPoint point)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_touch_input_event.html#a0a323b8bd08e02d816b6fffa9b6299c0">pp::TouchInputEvent::AddTouchPoint</a> </td>
+<td>(</td>
+<td class="paramtype">PP_TouchListType </td>
+<td class="paramname"><em>list</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_TouchPoint </td>
+<td class="paramname"><em>point</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Adds the touch-point to the specified TouchList. </p>
+</div>
+</div>
+<a class="anchor" id="a66228762dbdfbb3404853a87c37b1736"></a><!-- doxytag: member="pp::TouchInputEvent::GetTouchById" ref="a66228762dbdfbb3404853a87c37b1736" args="(PP_TouchListType list, uint32_t id) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_touch_point.html">TouchPoint</a> <a class="el" href="classpp_1_1_touch_input_event.html#a66228762dbdfbb3404853a87c37b1736">pp::TouchInputEvent::GetTouchById</a> </td>
+<td>(</td>
+<td class="paramtype">PP_TouchListType </td>
+<td class="paramname"><em>list</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>id</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>The <a class="el" href="classpp_1_1_touch_point.html" title="Wrapper class for PP_TouchPoint.">TouchPoint</a> in the given list with the given identifier, or an empty <a class="el" href="classpp_1_1_touch_point.html" title="Wrapper class for PP_TouchPoint.">TouchPoint</a> if the list does not contain a <a class="el" href="classpp_1_1_touch_point.html" title="Wrapper class for PP_TouchPoint.">TouchPoint</a> with that identifier. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ac68cc82bbf2fcc88d449c5430cc02505"></a><!-- doxytag: member="pp::TouchInputEvent::GetTouchByIndex" ref="ac68cc82bbf2fcc88d449c5430cc02505" args="(PP_TouchListType list, uint32_t index) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_touch_point.html">TouchPoint</a> <a class="el" href="classpp_1_1_touch_input_event.html#ac68cc82bbf2fcc88d449c5430cc02505">pp::TouchInputEvent::GetTouchByIndex</a> </td>
+<td>(</td>
+<td class="paramtype">PP_TouchListType </td>
+<td class="paramname"><em>list</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>index</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>The <a class="el" href="classpp_1_1_touch_point.html" title="Wrapper class for PP_TouchPoint.">TouchPoint</a> at the given index of the given list, or an empty <a class="el" href="classpp_1_1_touch_point.html" title="Wrapper class for PP_TouchPoint.">TouchPoint</a> if the index is out of range. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a5bdc7a4cd409586cab33e509dad43461"></a><!-- doxytag: member="pp::TouchInputEvent::GetTouchCount" ref="a5bdc7a4cd409586cab33e509dad43461" args="(PP_TouchListType list) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="classpp_1_1_touch_input_event.html#a5bdc7a4cd409586cab33e509dad43461">pp::TouchInputEvent::GetTouchCount</a> </td>
+<td>(</td>
+<td class="paramtype">PP_TouchListType </td>
+<td class="paramname"><em>list</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>The number of TouchPoints in this TouchList. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="input__event_8h.html">input_event.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_touch_input_event__inherit__graph.png b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_touch_input_event__inherit__graph.png
new file mode 100644
index 0000000..5e6dced
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_touch_input_event__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_touch_point-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_touch_point-members.html
new file mode 100644
index 0000000..da79431
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_touch_point-members.html
@@ -0,0 +1,20 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_touch_point.html">pp::TouchPoint</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_touch_point.html#a9bc0e1ce3579b52927da1104646b994b">id</a>() const </td><td><a class="el" href="classpp_1_1_touch_point.html">pp::TouchPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_touch_point.html#aa4a407b747e9c523844eba4aaf861773">position</a>() const </td><td><a class="el" href="classpp_1_1_touch_point.html">pp::TouchPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_touch_point.html#a4e09d5e4a892da9f6b32c9986a25376c">pressure</a>() const </td><td><a class="el" href="classpp_1_1_touch_point.html">pp::TouchPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_touch_point.html#a92f3376a9db010e20bed4a5fe3e42f0f">radii</a>() const </td><td><a class="el" href="classpp_1_1_touch_point.html">pp::TouchPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_touch_point.html#a82c6f0f579e30d37d0f14cdbb3ca9177">rotation_angle</a>() const </td><td><a class="el" href="classpp_1_1_touch_point.html">pp::TouchPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_touch_point.html#a76b04de6cd756e80d3b039988faed697">TouchPoint</a>()</td><td><a class="el" href="classpp_1_1_touch_point.html">pp::TouchPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_touch_point.html#affadca4389137e288a0a9a53019a2211">TouchPoint</a>(const PP_TouchPoint &point)</td><td><a class="el" href="classpp_1_1_touch_point.html">pp::TouchPoint</a></td><td><code> [inline]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_touch_point.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_touch_point.html
new file mode 100644
index 0000000..e6b7656
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_touch_point.html
@@ -0,0 +1,143 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::TouchPoint Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::TouchPoint" -->
+<p><a href="classpp_1_1_touch_point-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_touch_point.html#a76b04de6cd756e80d3b039988faed697">TouchPoint</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_touch_point.html#affadca4389137e288a0a9a53019a2211">TouchPoint</a> (const PP_TouchPoint &point)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_touch_point.html#a9bc0e1ce3579b52927da1104646b994b">id</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_touch_point.html#aa4a407b747e9c523844eba4aaf861773">position</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_touch_point.html#a92f3376a9db010e20bed4a5fe3e42f0f">radii</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_touch_point.html#a82c6f0f579e30d37d0f14cdbb3ca9177">rotation_angle</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_touch_point.html#a4e09d5e4a892da9f6b32c9986a25376c">pressure</a> () const </td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Wrapper class for PP_TouchPoint. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a76b04de6cd756e80d3b039988faed697"></a><!-- doxytag: member="pp::TouchPoint::TouchPoint" ref="a76b04de6cd756e80d3b039988faed697" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_touch_point.html#a76b04de6cd756e80d3b039988faed697">pp::TouchPoint::TouchPoint</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="affadca4389137e288a0a9a53019a2211"></a><!-- doxytag: member="pp::TouchPoint::TouchPoint" ref="affadca4389137e288a0a9a53019a2211" args="(const PP_TouchPoint &point)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_touch_point.html#a76b04de6cd756e80d3b039988faed697">pp::TouchPoint::TouchPoint</a> </td>
+<td>(</td>
+<td class="paramtype">const PP_TouchPoint & </td>
+<td class="paramname"><em>point</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a9bc0e1ce3579b52927da1104646b994b"></a><!-- doxytag: member="pp::TouchPoint::id" ref="a9bc0e1ce3579b52927da1104646b994b" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="classpp_1_1_touch_point.html#a9bc0e1ce3579b52927da1104646b994b">pp::TouchPoint::id</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>The identifier for this <a class="el" href="classpp_1_1_touch_point.html" title="Wrapper class for PP_TouchPoint.">TouchPoint</a>. This corresponds to the order in which the points were pressed. For example, the first point to be pressed has an id of 0, the second has an id of 1, and so on. An id can be reused when a touch point is released. For example, if two fingers are down, with id 0 and 1, and finger 0 releases, the next finger to be pressed can be assigned to id 0. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aa4a407b747e9c523844eba4aaf861773"></a><!-- doxytag: member="pp::TouchPoint::position" ref="aa4a407b747e9c523844eba4aaf861773" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> <a class="el" href="classpp_1_1_touch_point.html#aa4a407b747e9c523844eba4aaf861773">pp::TouchPoint::position</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>The x-y coordinates of this <a class="el" href="classpp_1_1_touch_point.html" title="Wrapper class for PP_TouchPoint.">TouchPoint</a>, in DOM coordinate space. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a4e09d5e4a892da9f6b32c9986a25376c"></a><!-- doxytag: member="pp::TouchPoint::pressure" ref="a4e09d5e4a892da9f6b32c9986a25376c" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="classpp_1_1_touch_point.html#a4e09d5e4a892da9f6b32c9986a25376c">pp::TouchPoint::pressure</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>The pressure applied to this <a class="el" href="classpp_1_1_touch_point.html" title="Wrapper class for PP_TouchPoint.">TouchPoint</a>. This is typically a value between 0 and 1, with 0 indicating no pressure and 1 indicating some maximum pressure, but scaling differs depending on the hardware and the value is not guaranteed to stay within that range. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a92f3376a9db010e20bed4a5fe3e42f0f"></a><!-- doxytag: member="pp::TouchPoint::radii" ref="a92f3376a9db010e20bed4a5fe3e42f0f" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> <a class="el" href="classpp_1_1_touch_point.html#a92f3376a9db010e20bed4a5fe3e42f0f">pp::TouchPoint::radii</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>The elliptical radii, in screen pixels, in the x and y direction of this <a class="el" href="classpp_1_1_touch_point.html" title="Wrapper class for PP_TouchPoint.">TouchPoint</a>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a82c6f0f579e30d37d0f14cdbb3ca9177"></a><!-- doxytag: member="pp::TouchPoint::rotation_angle" ref="a82c6f0f579e30d37d0f14cdbb3ca9177" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="classpp_1_1_touch_point.html#a82c6f0f579e30d37d0f14cdbb3ca9177">pp::TouchPoint::rotation_angle</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>The angle of rotation of the elliptical model of this <a class="el" href="classpp_1_1_touch_point.html" title="Wrapper class for PP_TouchPoint.">TouchPoint</a> from the y-axis. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="touch__point_8h.html">touch_point.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_u_d_p_socket-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_u_d_p_socket-members.html
new file mode 100644
index 0000000..e46a9b6
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_u_d_p_socket-members.html
@@ -0,0 +1,37 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_u_d_p_socket.html">pp::UDPSocket</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_d_p_socket.html#a5f9b7edf613c59091eb66dc074d7f7c1">Bind</a>(const NetAddress &addr, const CompletionCallback &callback)</td><td><a class="el" href="classpp_1_1_u_d_p_socket.html">pp::UDPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_d_p_socket.html#aa1f03d8d0e7ef59c40724e2691f165f2">Close</a>()</td><td><a class="el" href="classpp_1_1_u_d_p_socket.html">pp::UDPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_d_p_socket.html#ae98c9decb3c3ea4ba1006943577b684d">GetBoundAddress</a>()</td><td><a class="el" href="classpp_1_1_u_d_p_socket.html">pp::UDPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_d_p_socket.html#a76a2e93f2fa01d0dce8d8216d53b4f44">IsAvailable</a>()</td><td><a class="el" href="classpp_1_1_u_d_p_socket.html">pp::UDPSocket</a></td><td><code> [static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_d_p_socket.html#a72112f67b757bbbfaaf67ae3cfe2f602">operator=</a>(const UDPSocket &other)</td><td><a class="el" href="classpp_1_1_u_d_p_socket.html">pp::UDPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">pp::Resource::operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_d_p_socket.html#a496b1742a9b4ef27d23c9b4b96b9fd0a">RecvFrom</a>(char *buffer, int32_t num_bytes, const CompletionCallbackWithOutput< NetAddress > &callback)</td><td><a class="el" href="classpp_1_1_u_d_p_socket.html">pp::UDPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_d_p_socket.html#a657309cd3bc38cf28e25f4c71190d1a0">SendTo</a>(const char *buffer, int32_t num_bytes, const NetAddress &addr, const CompletionCallback &callback)</td><td><a class="el" href="classpp_1_1_u_d_p_socket.html">pp::UDPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_d_p_socket.html#a5ff91fd2342e534b57980c0c2e414251">SetOption</a>(PP_UDPSocket_Option name, const Var &value, const CompletionCallback &callback)</td><td><a class="el" href="classpp_1_1_u_d_p_socket.html">pp::UDPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_d_p_socket.html#aba8a6c1b62bc3c8883296a9445131da5">UDPSocket</a>()</td><td><a class="el" href="classpp_1_1_u_d_p_socket.html">pp::UDPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_d_p_socket.html#aa2b691e69558b5d7d43a91bd61550b2c">UDPSocket</a>(const InstanceHandle &instance)</td><td><a class="el" href="classpp_1_1_u_d_p_socket.html">pp::UDPSocket</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_d_p_socket.html#ac824fba529205830d0c2c54a21ed449b">UDPSocket</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_u_d_p_socket.html">pp::UDPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_d_p_socket.html#a88fb9b2ed5c7726d0f4bf55948ef5be2">UDPSocket</a>(const UDPSocket &other)</td><td><a class="el" href="classpp_1_1_u_d_p_socket.html">pp::UDPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_d_p_socket.html#a5fe143ce6bcaf1ac67748325acde1c50">~UDPSocket</a>()</td><td><a class="el" href="classpp_1_1_u_d_p_socket.html">pp::UDPSocket</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_u_d_p_socket.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_u_d_p_socket.html
new file mode 100644
index 0000000..5eb6aaf
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_u_d_p_socket.html
@@ -0,0 +1,407 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::UDPSocket Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::UDPSocket" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::UDPSocket:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_u_d_p_socket__inherit__graph.png" border="0" usemap="#pp_1_1_u_d_p_socket_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_u_d_p_socket_inherit__map" id="pp_1_1_u_d_p_socket_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="12,5,116,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_u_d_p_socket-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_d_p_socket.html#aba8a6c1b62bc3c8883296a9445131da5">UDPSocket</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_d_p_socket.html#aa2b691e69558b5d7d43a91bd61550b2c">UDPSocket</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_d_p_socket.html#ac824fba529205830d0c2c54a21ed449b">UDPSocket</a> (<a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a>, PP_Resource resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_d_p_socket.html#a88fb9b2ed5c7726d0f4bf55948ef5be2">UDPSocket</a> (const <a class="el" href="classpp_1_1_u_d_p_socket.html">UDPSocket</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_d_p_socket.html#a5fe143ce6bcaf1ac67748325acde1c50">~UDPSocket</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_u_d_p_socket.html">UDPSocket</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_d_p_socket.html#a72112f67b757bbbfaaf67ae3cfe2f602">operator=</a> (const <a class="el" href="classpp_1_1_u_d_p_socket.html">UDPSocket</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_d_p_socket.html#a5f9b7edf613c59091eb66dc074d7f7c1">Bind</a> (const <a class="el" href="classpp_1_1_net_address.html">NetAddress</a> &addr, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_net_address.html">NetAddress</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_d_p_socket.html#ae98c9decb3c3ea4ba1006943577b684d">GetBoundAddress</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_d_p_socket.html#a496b1742a9b4ef27d23c9b4b96b9fd0a">RecvFrom</a> (char *buffer, int32_t num_bytes, const <a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a>< <a class="el" href="classpp_1_1_net_address.html">NetAddress</a> > &callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_d_p_socket.html#a657309cd3bc38cf28e25f4c71190d1a0">SendTo</a> (const char *buffer, int32_t num_bytes, const <a class="el" href="classpp_1_1_net_address.html">NetAddress</a> &addr, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_d_p_socket.html#aa1f03d8d0e7ef59c40724e2691f165f2">Close</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_d_p_socket.html#a5ff91fd2342e534b57980c0c2e414251">SetOption</a> (PP_UDPSocket_Option name, const <a class="el" href="classpp_1_1_var.html">Var</a> &value, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &callback)</td></tr>
+</table><h2>
+Static Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_d_p_socket.html#a76a2e93f2fa01d0dce8d8216d53b4f44">IsAvailable</a> ()</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="classpp_1_1_u_d_p_socket.html" title="The UDPSocket class provides UDP socket operations.">UDPSocket</a></code> class provides UDP socket operations. </p>
+<p>Permissions: Apps permission <code>socket</code> with subrule <code>udp-bind</code> is required for <code><a class="el" href="classpp_1_1_u_d_p_socket.html#a5f9b7edf613c59091eb66dc074d7f7c1" title="Binds the socket to the given address.">Bind()</a></code>; subrule <code>udp-send-to</code> is required for <code><a class="el" href="classpp_1_1_u_d_p_socket.html#a657309cd3bc38cf28e25f4c71190d1a0" title="Sends data to a specific destination.">SendTo()</a></code>. For more details about network communication permissions, please see: <a href="http://developer.chrome.com/apps/app_network.html">http://developer.chrome.com/apps/app_network.html</a> </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="aba8a6c1b62bc3c8883296a9445131da5"></a><!-- doxytag: member="pp::UDPSocket::UDPSocket" ref="aba8a6c1b62bc3c8883296a9445131da5" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_u_d_p_socket.html#aba8a6c1b62bc3c8883296a9445131da5">pp::UDPSocket::UDPSocket</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor for creating an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> <code><a class="el" href="classpp_1_1_u_d_p_socket.html" title="The UDPSocket class provides UDP socket operations.">UDPSocket</a></code> object. </p>
+</div>
+</div>
+<a class="anchor" id="aa2b691e69558b5d7d43a91bd61550b2c"></a><!-- doxytag: member="pp::UDPSocket::UDPSocket" ref="aa2b691e69558b5d7d43a91bd61550b2c" args="(const InstanceHandle &instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_u_d_p_socket.html#aba8a6c1b62bc3c8883296a9445131da5">pp::UDPSocket::UDPSocket</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used to create a <code><a class="el" href="classpp_1_1_u_d_p_socket.html" title="The UDPSocket class provides UDP socket operations.">UDPSocket</a></code> object. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ac824fba529205830d0c2c54a21ed449b"></a><!-- doxytag: member="pp::UDPSocket::UDPSocket" ref="ac824fba529205830d0c2c54a21ed449b" args="(PassRef, PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_u_d_p_socket.html#aba8a6c1b62bc3c8883296a9445131da5">pp::UDPSocket::UDPSocket</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a> </td>
+<td class="paramname">, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>resource</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used when you have received a <code>PP_Resource</code> as a return value that has had 1 ref added for you. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PPB_UDPSocket</code> resource. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a88fb9b2ed5c7726d0f4bf55948ef5be2"></a><!-- doxytag: member="pp::UDPSocket::UDPSocket" ref="a88fb9b2ed5c7726d0f4bf55948ef5be2" args="(const UDPSocket &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_u_d_p_socket.html#aba8a6c1b62bc3c8883296a9445131da5">pp::UDPSocket::UDPSocket</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_u_d_p_socket.html">UDPSocket</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The copy constructor for <code><a class="el" href="classpp_1_1_u_d_p_socket.html" title="The UDPSocket class provides UDP socket operations.">UDPSocket</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A reference to another <code><a class="el" href="classpp_1_1_u_d_p_socket.html" title="The UDPSocket class provides UDP socket operations.">UDPSocket</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a5fe143ce6bcaf1ac67748325acde1c50"></a><!-- doxytag: member="pp::UDPSocket::~UDPSocket" ref="a5fe143ce6bcaf1ac67748325acde1c50" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_u_d_p_socket.html#a5fe143ce6bcaf1ac67748325acde1c50">pp::UDPSocket::~UDPSocket</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The destructor. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a5f9b7edf613c59091eb66dc074d7f7c1"></a><!-- doxytag: member="pp::UDPSocket::Bind" ref="a5f9b7edf613c59091eb66dc074d7f7c1" args="(const NetAddress &addr, const CompletionCallback &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_u_d_p_socket.html#a5f9b7edf613c59091eb66dc074d7f7c1">pp::UDPSocket::Bind</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_net_address.html">NetAddress</a> & </td>
+<td class="paramname"><em>addr</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>callback</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Binds the socket to the given address. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>A <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code> object. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. <code>PP_ERROR_NOACCESS</code> will be returned if the caller doesn't have required permissions. <code>PP_ERROR_ADDRESS_IN_USE</code> will be returned if the address is already in use. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aa1f03d8d0e7ef59c40724e2691f165f2"></a><!-- doxytag: member="pp::UDPSocket::Close" ref="aa1f03d8d0e7ef59c40724e2691f165f2" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_u_d_p_socket.html#aa1f03d8d0e7ef59c40724e2691f165f2">pp::UDPSocket::Close</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Cancels all pending reads and writes, and closes the socket. </p>
+<p>Any pending callbacks will still run, reporting <code>PP_ERROR_ABORTED</code> if pending IO was interrupted. After a call to this method, no output paramters passed into previous <code><a class="el" href="classpp_1_1_u_d_p_socket.html#a496b1742a9b4ef27d23c9b4b96b9fd0a" title="Receives data from the socket and stores the source address.">RecvFrom()</a></code> calls will be accessed. It is not valid to call <code><a class="el" href="classpp_1_1_u_d_p_socket.html#a5f9b7edf613c59091eb66dc074d7f7c1" title="Binds the socket to the given address.">Bind()</a></code> again.</p>
+<p>The socket is implicitly closed if it is destroyed, so you are not required to call this method. </p>
+</div>
+</div>
+<a class="anchor" id="ae98c9decb3c3ea4ba1006943577b684d"></a><!-- doxytag: member="pp::UDPSocket::GetBoundAddress" ref="ae98c9decb3c3ea4ba1006943577b684d" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_net_address.html">NetAddress</a> <a class="el" href="classpp_1_1_u_d_p_socket.html#ae98c9decb3c3ea4ba1006943577b684d">pp::UDPSocket::GetBoundAddress</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Get the address that the socket is bound to. </p>
+<p>The socket must be bound.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code> object. The object will be null (i.e., <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> returns true) on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a76a2e93f2fa01d0dce8d8216d53b4f44"></a><!-- doxytag: member="pp::UDPSocket::IsAvailable" ref="a76a2e93f2fa01d0dce8d8216d53b4f44" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static bool <a class="el" href="classpp_1_1_u_d_p_socket.html#a76a2e93f2fa01d0dce8d8216d53b4f44">pp::UDPSocket::IsAvailable</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Static function for determining whether the browser supports the <code>PPB_UDPSocket</code> interface. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the interface is available, false otherwise. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a72112f67b757bbbfaaf67ae3cfe2f602"></a><!-- doxytag: member="pp::UDPSocket::operator=" ref="a72112f67b757bbbfaaf67ae3cfe2f602" args="(const UDPSocket &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_u_d_p_socket.html">UDPSocket</a>& pp::UDPSocket::operator= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_u_d_p_socket.html">UDPSocket</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The assignment operator for <code><a class="el" href="classpp_1_1_u_d_p_socket.html" title="The UDPSocket class provides UDP socket operations.">UDPSocket</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A reference to another <code><a class="el" href="classpp_1_1_u_d_p_socket.html" title="The UDPSocket class provides UDP socket operations.">UDPSocket</a></code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A reference to this <code><a class="el" href="classpp_1_1_u_d_p_socket.html" title="The UDPSocket class provides UDP socket operations.">UDPSocket</a></code> object. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a496b1742a9b4ef27d23c9b4b96b9fd0a"></a><!-- doxytag: member="pp::UDPSocket::RecvFrom" ref="a496b1742a9b4ef27d23c9b4b96b9fd0a" args="(char *buffer, int32_t num_bytes, const CompletionCallbackWithOutput< NetAddress > &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_u_d_p_socket.html#a496b1742a9b4ef27d23c9b4b96b9fd0a">pp::UDPSocket::RecvFrom</a> </td>
+<td>(</td>
+<td class="paramtype">char * </td>
+<td class="paramname"><em>buffer</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>num_bytes</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a>< <a class="el" href="classpp_1_1_net_address.html">NetAddress</a> > & </td>
+<td class="paramname"><em>callback</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Receives data from the socket and stores the source address. </p>
+<p>The socket must be bound.</p>
+<p><b>Caveat:</b> You should be careful about the lifetime of <code>buffer</code>. Typically you will use a <code><a class="el" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe...">CompletionCallbackFactory</a></code> to scope callbacks to the lifetime of your class. When your class goes out of scope, the callback factory will not actually cancel the operation, but will rather just skip issuing the callback on your class. This means that if the underlying <code>PPB_UDPSocket</code> resource outlives your class, the browser will still try to write into your buffer when the operation completes. The buffer must be kept valid until then to avoid memory corruption. If you want to release the buffer while the <code><a class="el" href="classpp_1_1_u_d_p_socket.html#a496b1742a9b4ef27d23c9b4b96b9fd0a" title="Receives data from the socket and stores the source address.">RecvFrom()</a></code> call is still pending, you should call <code><a class="el" href="classpp_1_1_u_d_p_socket.html#aa1f03d8d0e7ef59c40724e2691f165f2" title="Cancels all pending reads and writes, and closes the socket.">Close()</a></code> to ensure that the buffer won't be accessed in the future.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[out]</td><td class="paramname">buffer</td><td>The buffer to store the received data on success. It must be at least as large as <code>num_bytes</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">num_bytes</td><td>The number of bytes to receive. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A non-negative number on success to indicate how many bytes have been received; otherwise, an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a657309cd3bc38cf28e25f4c71190d1a0"></a><!-- doxytag: member="pp::UDPSocket::SendTo" ref="a657309cd3bc38cf28e25f4c71190d1a0" args="(const char *buffer, int32_t num_bytes, const NetAddress &addr, const CompletionCallback &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_u_d_p_socket.html#a657309cd3bc38cf28e25f4c71190d1a0">pp::UDPSocket::SendTo</a> </td>
+<td>(</td>
+<td class="paramtype">const char * </td>
+<td class="paramname"><em>buffer</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>num_bytes</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_net_address.html">NetAddress</a> & </td>
+<td class="paramname"><em>addr</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>callback</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sends data to a specific destination. </p>
+<p>The socket must be bound.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">buffer</td><td>The buffer containing the data to send. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">num_bytes</td><td>The number of bytes to send. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>A <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code> object holding the destination address. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A non-negative number on success to indicate how many bytes have been sent; otherwise, an error code from <code>pp_errors.h</code>. <code>PP_ERROR_NOACCESS</code> will be returned if the caller doesn't have required permissions. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a5ff91fd2342e534b57980c0c2e414251"></a><!-- doxytag: member="pp::UDPSocket::SetOption" ref="a5ff91fd2342e534b57980c0c2e414251" args="(PP_UDPSocket_Option name, const Var &value, const CompletionCallback &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_u_d_p_socket.html#a5ff91fd2342e534b57980c0c2e414251">pp::UDPSocket::SetOption</a> </td>
+<td>(</td>
+<td class="paramtype">PP_UDPSocket_Option </td>
+<td class="paramname"><em>name</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>value</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>callback</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sets a socket option on the UDP socket. </p>
+<p>Please see the <code>PP_UDPSocket_Option</code> description for option names, value types and allowed values.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>The option to set. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The option value to set. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="udp__socket_8h.html">udp_socket.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_u_d_p_socket__inherit__graph.png b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_u_d_p_socket__inherit__graph.png
new file mode 100644
index 0000000..50dcf00
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_u_d_p_socket__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_u_r_l_loader-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_u_r_l_loader-members.html
new file mode 100644
index 0000000..a383e22
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_u_r_l_loader-members.html
@@ -0,0 +1,36 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_u_r_l_loader.html">pp::URLLoader</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_loader.html#a43858cb7d3c64dc37128434e18a2ea1c">Close</a>()</td><td><a class="el" href="classpp_1_1_u_r_l_loader.html">pp::URLLoader</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_loader.html#a2e40e91e7a9ffca3f697497abef843f4">FinishStreamingToFile</a>(const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_u_r_l_loader.html">pp::URLLoader</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_loader.html#a411a79d6e9e5335ce31d187d137420af">FollowRedirect</a>(const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_u_r_l_loader.html">pp::URLLoader</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_loader.html#ada4a1757e7883912626e2ece85ec1c53">GetDownloadProgress</a>(int64_t *bytes_received, int64_t *total_bytes_to_be_received) const </td><td><a class="el" href="classpp_1_1_u_r_l_loader.html">pp::URLLoader</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_loader.html#a92757c9e1261280cb4f8fd65e0c8df6f">GetResponseInfo</a>() const </td><td><a class="el" href="classpp_1_1_u_r_l_loader.html">pp::URLLoader</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_loader.html#a5e3723f5c5d10394329899f75121faf1">GetUploadProgress</a>(int64_t *bytes_sent, int64_t *total_bytes_to_be_sent) const </td><td><a class="el" href="classpp_1_1_u_r_l_loader.html">pp::URLLoader</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_loader.html#afb72f38f30b94a2d5494225e364395b8">Open</a>(const URLRequestInfo &request_info, const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_u_r_l_loader.html">pp::URLLoader</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_loader.html#a907697c3c268a68eb3b4ca341aea4812">ReadResponseBody</a>(void *buffer, int32_t bytes_to_read, const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_u_r_l_loader.html">pp::URLLoader</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_loader.html#a22b752c975a9302efa2eceb20ecf92ed">URLLoader</a>()</td><td><a class="el" href="classpp_1_1_u_r_l_loader.html">pp::URLLoader</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_loader.html#a187f5a2c8422c072c2a33bca4de9e39d">URLLoader</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_u_r_l_loader.html">pp::URLLoader</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_loader.html#a806606ad9e924708b69ae124b4c9d97d">URLLoader</a>(const InstanceHandle &instance)</td><td><a class="el" href="classpp_1_1_u_r_l_loader.html">pp::URLLoader</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_loader.html#ac590ce0a1992376bcf154c4e3cce1ab2">URLLoader</a>(const URLLoader &other)</td><td><a class="el" href="classpp_1_1_u_r_l_loader.html">pp::URLLoader</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_u_r_l_loader.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_u_r_l_loader.html
new file mode 100644
index 0000000..323e64c7
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_u_r_l_loader.html
@@ -0,0 +1,367 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::URLLoader Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::URLLoader" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::URLLoader:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_u_r_l_loader__inherit__graph.png" border="0" usemap="#pp_1_1_u_r_l_loader_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_u_r_l_loader_inherit__map" id="pp_1_1_u_r_l_loader_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="11,5,115,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_u_r_l_loader-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_loader.html#a22b752c975a9302efa2eceb20ecf92ed">URLLoader</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_loader.html#a187f5a2c8422c072c2a33bca4de9e39d">URLLoader</a> (PP_Resource resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_loader.html#a806606ad9e924708b69ae124b4c9d97d">URLLoader</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_loader.html#ac590ce0a1992376bcf154c4e3cce1ab2">URLLoader</a> (const <a class="el" href="classpp_1_1_u_r_l_loader.html">URLLoader</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_loader.html#afb72f38f30b94a2d5494225e364395b8">Open</a> (const <a class="el" href="classpp_1_1_u_r_l_request_info.html">URLRequestInfo</a> &request_info, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_loader.html#a411a79d6e9e5335ce31d187d137420af">FollowRedirect</a> (const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_loader.html#a5e3723f5c5d10394329899f75121faf1">GetUploadProgress</a> (int64_t *bytes_sent, int64_t *total_bytes_to_be_sent) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_loader.html#ada4a1757e7883912626e2ece85ec1c53">GetDownloadProgress</a> (int64_t *bytes_received, int64_t *total_bytes_to_be_received) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_u_r_l_response_info.html">URLResponseInfo</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_loader.html#a92757c9e1261280cb4f8fd65e0c8df6f">GetResponseInfo</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_loader.html#a907697c3c268a68eb3b4ca341aea4812">ReadResponseBody</a> (void *buffer, int32_t bytes_to_read, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_loader.html#a2e40e91e7a9ffca3f697497abef843f4">FinishStreamingToFile</a> (const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_loader.html#a43858cb7d3c64dc37128434e18a2ea1c">Close</a> ()</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs.">URLLoader</a> provides an API for loading URLs. </p>
+<p>Refer to <code>ppapi/examples/url_loader/streaming.cc</code> for an example of how to use this class. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a22b752c975a9302efa2eceb20ecf92ed"></a><!-- doxytag: member="pp::URLLoader::URLLoader" ref="a22b752c975a9302efa2eceb20ecf92ed" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_u_r_l_loader.html#a22b752c975a9302efa2eceb20ecf92ed">pp::URLLoader::URLLoader</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor for creating an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> <code><a class="el" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs.">URLLoader</a></code> object. </p>
+</div>
+</div>
+<a class="anchor" id="a187f5a2c8422c072c2a33bca4de9e39d"></a><!-- doxytag: member="pp::URLLoader::URLLoader" ref="a187f5a2c8422c072c2a33bca4de9e39d" args="(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_u_r_l_loader.html#a22b752c975a9302efa2eceb20ecf92ed">pp::URLLoader::URLLoader</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>resource</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used when a <code>PP_Resource</code> is provided as a return value whose reference count we need to increment. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a <code><a class="el" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs.">URLLoader</a></code> resource. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a806606ad9e924708b69ae124b4c9d97d"></a><!-- doxytag: member="pp::URLLoader::URLLoader" ref="a806606ad9e924708b69ae124b4c9d97d" args="(const InstanceHandle &instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_u_r_l_loader.html#a22b752c975a9302efa2eceb20ecf92ed">pp::URLLoader::URLLoader</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used to allocate a new <a class="el" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs.">URLLoader</a> in the browser. </p>
+<p>The resulting object will be <code>is_null</code> if the allocation failed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ac590ce0a1992376bcf154c4e3cce1ab2"></a><!-- doxytag: member="pp::URLLoader::URLLoader" ref="ac590ce0a1992376bcf154c4e3cce1ab2" args="(const URLLoader &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_u_r_l_loader.html#a22b752c975a9302efa2eceb20ecf92ed">pp::URLLoader::URLLoader</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_u_r_l_loader.html">URLLoader</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The copy constructor for <code><a class="el" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs.">URLLoader</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramname">other</td><td>A <code><a class="el" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs.">URLLoader</a></code> to be copied. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a43858cb7d3c64dc37128434e18a2ea1c"></a><!-- doxytag: member="pp::URLLoader::Close" ref="a43858cb7d3c64dc37128434e18a2ea1c" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_u_r_l_loader.html#a43858cb7d3c64dc37128434e18a2ea1c">pp::URLLoader::Close</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function is used to cancel any pending IO and close the <a class="el" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs.">URLLoader</a> object. </p>
+<p>Any pending callbacks will still run, reporting <code>PP_ERROR_ABORTED</code> if pending IO was interrupted. It is NOT valid to call <a class="el" href="classpp_1_1_u_r_l_loader.html#afb72f38f30b94a2d5494225e364395b8" title="This function begins loading the URLRequestInfo.">Open()</a> again after a call to this function.</p>
+<p><b>Note:</b> If the <code><a class="el" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs.">URLLoader</a></code> object is destroyed while it is still open, then it will be implicitly closed so you are not required to call <a class="el" href="classpp_1_1_u_r_l_loader.html#a43858cb7d3c64dc37128434e18a2ea1c" title="This function is used to cancel any pending IO and close the URLLoader object.">Close()</a>. </p>
+</div>
+</div>
+<a class="anchor" id="a2e40e91e7a9ffca3f697497abef843f4"></a><!-- doxytag: member="pp::URLLoader::FinishStreamingToFile" ref="a2e40e91e7a9ffca3f697497abef843f4" args="(const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_u_r_l_loader.html#a2e40e91e7a9ffca3f697497abef843f4">pp::URLLoader::FinishStreamingToFile</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function is used to wait for the response body to be completely downloaded to the file provided by the GetBodyAsFileRef() in the current <code><a class="el" href="classpp_1_1_u_r_l_response_info.html" title="URLResponseInfo provides an API for examining URL responses.">URLResponseInfo</a></code>. </p>
+<p>This function is only used if <code>PP_URLREQUESTPROPERTY_STREAMTOFILE</code> was set on the <code><a class="el" href="classpp_1_1_u_r_l_request_info.html" title="URLRequestInfo provides an API for creating and manipulating URL requests.">URLRequestInfo</a></code> passed to <a class="el" href="classpp_1_1_u_r_l_loader.html#afb72f38f30b94a2d5494225e364395b8" title="This function begins loading the URLRequestInfo.">Open()</a>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to run on asynchronous completion. This callback will run when body is downloaded or an error occurs after <a class="el" href="classpp_1_1_u_r_l_loader.html#a2e40e91e7a9ffca3f697497abef843f4" title="This function is used to wait for the response body to be completely downloaded to the file provided ...">FinishStreamingToFile()</a> returns <code>PP_OK_COMPLETIONPENDING</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing the number of bytes read or an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a411a79d6e9e5335ce31d187d137420af"></a><!-- doxytag: member="pp::URLLoader::FollowRedirect" ref="a411a79d6e9e5335ce31d187d137420af" args="(const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_u_r_l_loader.html#a411a79d6e9e5335ce31d187d137420af">pp::URLLoader::FollowRedirect</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function can be invoked to follow a redirect after <a class="el" href="classpp_1_1_u_r_l_loader.html#afb72f38f30b94a2d5494225e364395b8" title="This function begins loading the URLRequestInfo.">Open()</a> completed on receiving redirect headers. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to run on asynchronous completion of <a class="el" href="classpp_1_1_u_r_l_loader.html#a411a79d6e9e5335ce31d187d137420af" title="This function can be invoked to follow a redirect after Open() completed on receiving redirect header...">FollowRedirect()</a>. This callback will run when response headers for the redirect url are received or error occurred. This callback will only run if <a class="el" href="classpp_1_1_u_r_l_loader.html#a411a79d6e9e5335ce31d187d137420af" title="This function can be invoked to follow a redirect after Open() completed on receiving redirect header...">FollowRedirect()</a> returns <code>PP_OK_COMPLETIONPENDING</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ada4a1757e7883912626e2ece85ec1c53"></a><!-- doxytag: member="pp::URLLoader::GetDownloadProgress" ref="ada4a1757e7883912626e2ece85ec1c53" args="(int64_t *bytes_received, int64_t *total_bytes_to_be_received) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_loader.html#ada4a1757e7883912626e2ece85ec1c53">pp::URLLoader::GetDownloadProgress</a> </td>
+<td>(</td>
+<td class="paramtype">int64_t * </td>
+<td class="paramname"><em>bytes_received</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int64_t * </td>
+<td class="paramname"><em>total_bytes_to_be_received</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function returns the current download progress, which is meaningful after <a class="el" href="classpp_1_1_u_r_l_loader.html#afb72f38f30b94a2d5494225e364395b8" title="This function begins loading the URLRequestInfo.">Open()</a> has been called. </p>
+<p>Progress only refers to the response body and does not include the headers.</p>
+<p>This data is only available if the <code><a class="el" href="classpp_1_1_u_r_l_request_info.html" title="URLRequestInfo provides an API for creating and manipulating URL requests.">URLRequestInfo</a></code> passed to <a class="el" href="classpp_1_1_u_r_l_loader.html#afb72f38f30b94a2d5494225e364395b8" title="This function begins loading the URLRequestInfo.">Open()</a> had the <code>PP_URLREQUESTPROPERTY_REPORTDOWNLOADPROGRESS</code> property set to PP_TRUE.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">bytes_received</td><td>The number of bytes received thus far. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">total_bytes_to_be_received</td><td>The total number of bytes to be received. The total bytes to be received may be unknown, in which case <code>total_bytes_to_be_received</code> will be set to -1.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the download progress is available, false if it is not available. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a92757c9e1261280cb4f8fd65e0c8df6f"></a><!-- doxytag: member="pp::URLLoader::GetResponseInfo" ref="a92757c9e1261280cb4f8fd65e0c8df6f" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_u_r_l_response_info.html">URLResponseInfo</a> <a class="el" href="classpp_1_1_u_r_l_loader.html#a92757c9e1261280cb4f8fd65e0c8df6f">pp::URLLoader::GetResponseInfo</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This is a function that returns the current <code><a class="el" href="classpp_1_1_u_r_l_response_info.html" title="URLResponseInfo provides an API for examining URL responses.">URLResponseInfo</a></code> object. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_u_r_l_response_info.html" title="URLResponseInfo provides an API for examining URL responses.">URLResponseInfo</a></code> corresponding to the <code><a class="el" href="classpp_1_1_u_r_l_response_info.html" title="URLResponseInfo provides an API for examining URL responses.">URLResponseInfo</a></code> if successful, an <code>is_null</code> object if the loader is not a valid resource or if <a class="el" href="classpp_1_1_u_r_l_loader.html#afb72f38f30b94a2d5494225e364395b8" title="This function begins loading the URLRequestInfo.">Open()</a> has not been called. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a5e3723f5c5d10394329899f75121faf1"></a><!-- doxytag: member="pp::URLLoader::GetUploadProgress" ref="a5e3723f5c5d10394329899f75121faf1" args="(int64_t *bytes_sent, int64_t *total_bytes_to_be_sent) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_loader.html#a5e3723f5c5d10394329899f75121faf1">pp::URLLoader::GetUploadProgress</a> </td>
+<td>(</td>
+<td class="paramtype">int64_t * </td>
+<td class="paramname"><em>bytes_sent</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int64_t * </td>
+<td class="paramname"><em>total_bytes_to_be_sent</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function returns the current upload progress (which is only meaningful after <a class="el" href="classpp_1_1_u_r_l_loader.html#afb72f38f30b94a2d5494225e364395b8" title="This function begins loading the URLRequestInfo.">Open()</a> has been called). </p>
+<p>Progress only refers to the request body and does not include the headers.</p>
+<p>This data is only available if the <code><a class="el" href="classpp_1_1_u_r_l_request_info.html" title="URLRequestInfo provides an API for creating and manipulating URL requests.">URLRequestInfo</a></code> passed to <a class="el" href="classpp_1_1_u_r_l_loader.html#afb72f38f30b94a2d5494225e364395b8" title="This function begins loading the URLRequestInfo.">Open()</a> had the <code>PP_URLREQUESTPROPERTY_REPORTUPLOADPROGRESS</code> property set to <code>PP_TRUE</code>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">bytes_sent</td><td>The number of bytes sent thus far. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">total_bytes_to_be_sent</td><td>The total number of bytes to be sent.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the upload progress is available, false if it is not available. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="afb72f38f30b94a2d5494225e364395b8"></a><!-- doxytag: member="pp::URLLoader::Open" ref="afb72f38f30b94a2d5494225e364395b8" args="(const URLRequestInfo &request_info, const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_u_r_l_loader.html#afb72f38f30b94a2d5494225e364395b8">pp::URLLoader::Open</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_u_r_l_request_info.html">URLRequestInfo</a> & </td>
+<td class="paramname"><em>request_info</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function begins loading the <code><a class="el" href="classpp_1_1_u_r_l_request_info.html" title="URLRequestInfo provides an API for creating and manipulating URL requests.">URLRequestInfo</a></code>. </p>
+<p>The operation completes when response headers are received or when an error occurs. Use <a class="el" href="classpp_1_1_u_r_l_loader.html#a92757c9e1261280cb4f8fd65e0c8df6f" title="This is a function that returns the current URLResponseInfo object.">GetResponseInfo()</a> to access the response headers.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">request_info</td><td>A <code><a class="el" href="classpp_1_1_u_r_l_request_info.html" title="URLRequestInfo provides an API for creating and manipulating URL requests.">URLRequestInfo</a></code> corresponding to a <a class="el" href="classpp_1_1_u_r_l_request_info.html" title="URLRequestInfo provides an API for creating and manipulating URL requests.">URLRequestInfo</a>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to run on asynchronous completion of <a class="el" href="classpp_1_1_u_r_l_loader.html#afb72f38f30b94a2d5494225e364395b8" title="This function begins loading the URLRequestInfo.">Open()</a>. This callback will run when response headers for the url are received or error occurred. This callback will only run if <a class="el" href="classpp_1_1_u_r_l_loader.html#afb72f38f30b94a2d5494225e364395b8" title="This function begins loading the URLRequestInfo.">Open()</a> returns <code>PP_OK_COMPLETIONPENDING</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a907697c3c268a68eb3b4ca341aea4812"></a><!-- doxytag: member="pp::URLLoader::ReadResponseBody" ref="a907697c3c268a68eb3b4ca341aea4812" args="(void *buffer, int32_t bytes_to_read, const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_u_r_l_loader.html#a907697c3c268a68eb3b4ca341aea4812">pp::URLLoader::ReadResponseBody</a> </td>
+<td>(</td>
+<td class="paramtype">void * </td>
+<td class="paramname"><em>buffer</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>bytes_to_read</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function is used to read the response body. </p>
+<p>The size of the buffer must be large enough to hold the specified number of bytes to read. This function might perform a partial read.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in,out]</td><td class="paramname">buffer</td><td>A pointer to the buffer for the response body. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">bytes_to_read</td><td>The number of bytes to read. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to run on asynchronous completion. The callback will run if the bytes (full or partial) are read or an error occurs asynchronously. This callback will run only if this function returns <code>PP_OK_COMPLETIONPENDING</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing the number of bytes read or an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="url__loader_8h.html">url_loader.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_u_r_l_loader__inherit__graph.png b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_u_r_l_loader__inherit__graph.png
new file mode 100644
index 0000000..49e12dc
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_u_r_l_loader__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_u_r_l_request_info-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_u_r_l_request_info-members.html
new file mode 100644
index 0000000..74f0ff2
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_u_r_l_request_info-members.html
@@ -0,0 +1,45 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#ab16f2efba1f2ddc434e2fc860dcbe900">AppendDataToBody</a>(const void *data, uint32_t len)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#a1ae72c8ac65a6cd6c174c8df238038fd">AppendFileRangeToBody</a>(const FileRef &file_ref, int64_t start_offset, int64_t length, PP_Time expected_last_modified_time=0)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#af19afd7e5849e68497f1e4f4b7400995">AppendFileToBody</a>(const FileRef &file_ref, PP_Time expected_last_modified_time=0)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#afa23501e503ee1787c4663d74f00d0c4">SetAllowCredentials</a>(bool enable)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#a39a5000e734a378d412fbe87e38dabe4">SetAllowCrossOriginRequests</a>(bool enable)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#af25b7f4b3aa00af49140921d28fa09c9">SetCustomContentTransferEncoding</a>(const Var &content_transfer_encoding)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#af6232dbb546c37c5438fadbada30353a">SetCustomReferrerURL</a>(const Var &url)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#aaaf79f763cd4d72c8507c2fa19b7fcaf">SetCustomUserAgent</a>(const Var &user_agent)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#a72dd5d3b335a429af0ffa266e338a110">SetFollowRedirects</a>(bool enable)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#a7105409f66e2eb5595eec0e0ae07c4f6">SetHeaders</a>(const Var &headers_string)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#abf4024d196a5139dbca2e95b9ab9bdb6">SetMethod</a>(const Var &method_string)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#a498fc64ad75ed2d44e33f2fdb3c0cad3">SetPrefetchBufferLowerThreshold</a>(int32_t size)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#aa2c6bb4f07e5372bd4b0ed49f9b67990">SetPrefetchBufferUpperThreshold</a>(int32_t size)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#a679c2c4a7247e0b0985595c24e61cf9c">SetProperty</a>(PP_URLRequestProperty property, const Var &value)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#aca69393ce31673c1cc5407d15774e310">SetRecordDownloadProgress</a>(bool enable)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#a52cfef994077173627a809bdf891e01a">SetRecordUploadProgress</a>(bool enable)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#a7bd36cb47bc0bc3579292f81581359b8">SetStreamToFile</a>(bool enable)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#a97cdeb02a63922704d47c585a4e2baaf">SetURL</a>(const Var &url_string)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#afd2068e004d90104cdc8472756d6131d">URLRequestInfo</a>()</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#a95ae0d638a82bcd18318ae6340735321">URLRequestInfo</a>(const InstanceHandle &instance)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#a6f52f41f98fa5917addd412417b7d5d4">URLRequestInfo</a>(const URLRequestInfo &other)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_u_r_l_request_info.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_u_r_l_request_info.html
new file mode 100644
index 0000000..72f1931
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_u_r_l_request_info.html
@@ -0,0 +1,624 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::URLRequestInfo Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::URLRequestInfo" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::URLRequestInfo:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_u_r_l_request_info__inherit__graph.png" border="0" usemap="#pp_1_1_u_r_l_request_info_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_u_r_l_request_info_inherit__map" id="pp_1_1_u_r_l_request_info_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="25,5,129,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_u_r_l_request_info-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#afd2068e004d90104cdc8472756d6131d">URLRequestInfo</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#a95ae0d638a82bcd18318ae6340735321">URLRequestInfo</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#a6f52f41f98fa5917addd412417b7d5d4">URLRequestInfo</a> (const <a class="el" href="classpp_1_1_u_r_l_request_info.html">URLRequestInfo</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#a679c2c4a7247e0b0985595c24e61cf9c">SetProperty</a> (PP_URLRequestProperty property, const <a class="el" href="classpp_1_1_var.html">Var</a> &value)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#ab16f2efba1f2ddc434e2fc860dcbe900">AppendDataToBody</a> (const void *data, uint32_t len)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#af19afd7e5849e68497f1e4f4b7400995">AppendFileToBody</a> (const <a class="el" href="classpp_1_1_file_ref.html">FileRef</a> &file_ref, PP_Time expected_last_modified_time=0)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#a1ae72c8ac65a6cd6c174c8df238038fd">AppendFileRangeToBody</a> (const <a class="el" href="classpp_1_1_file_ref.html">FileRef</a> &file_ref, int64_t start_offset, int64_t length, PP_Time expected_last_modified_time=0)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#a97cdeb02a63922704d47c585a4e2baaf">SetURL</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &url_string)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#abf4024d196a5139dbca2e95b9ab9bdb6">SetMethod</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &method_string)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#a7105409f66e2eb5595eec0e0ae07c4f6">SetHeaders</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &headers_string)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#a7bd36cb47bc0bc3579292f81581359b8">SetStreamToFile</a> (bool enable)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#a72dd5d3b335a429af0ffa266e338a110">SetFollowRedirects</a> (bool enable)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#aca69393ce31673c1cc5407d15774e310">SetRecordDownloadProgress</a> (bool enable)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#a52cfef994077173627a809bdf891e01a">SetRecordUploadProgress</a> (bool enable)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#af6232dbb546c37c5438fadbada30353a">SetCustomReferrerURL</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &url)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#a39a5000e734a378d412fbe87e38dabe4">SetAllowCrossOriginRequests</a> (bool enable)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#afa23501e503ee1787c4663d74f00d0c4">SetAllowCredentials</a> (bool enable)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#af25b7f4b3aa00af49140921d28fa09c9">SetCustomContentTransferEncoding</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &content_transfer_encoding)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#aa2c6bb4f07e5372bd4b0ed49f9b67990">SetPrefetchBufferUpperThreshold</a> (int32_t size)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#a498fc64ad75ed2d44e33f2fdb3c0cad3">SetPrefetchBufferLowerThreshold</a> (int32_t size)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#aaaf79f763cd4d72c8507c2fa19b7fcaf">SetCustomUserAgent</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &user_agent)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="classpp_1_1_u_r_l_request_info.html" title="URLRequestInfo provides an API for creating and manipulating URL requests.">URLRequestInfo</a> provides an API for creating and manipulating URL requests. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="afd2068e004d90104cdc8472756d6131d"></a><!-- doxytag: member="pp::URLRequestInfo::URLRequestInfo" ref="afd2068e004d90104cdc8472756d6131d" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_u_r_l_request_info.html#afd2068e004d90104cdc8472756d6131d">pp::URLRequestInfo::URLRequestInfo</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor. </p>
+<p>This constructor creates an <code>is_null</code> resource. </p>
+</div>
+</div>
+<a class="anchor" id="a95ae0d638a82bcd18318ae6340735321"></a><!-- doxytag: member="pp::URLRequestInfo::URLRequestInfo" ref="a95ae0d638a82bcd18318ae6340735321" args="(const InstanceHandle &instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_u_r_l_request_info.html#afd2068e004d90104cdc8472756d6131d">pp::URLRequestInfo::URLRequestInfo</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used to allocate a new <code><a class="el" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs.">URLLoader</a></code> in the browser. </p>
+<p>The resulting object will be <code>is_null</code> if the allocation failed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a6f52f41f98fa5917addd412417b7d5d4"></a><!-- doxytag: member="pp::URLRequestInfo::URLRequestInfo" ref="a6f52f41f98fa5917addd412417b7d5d4" args="(const URLRequestInfo &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_u_r_l_request_info.html#afd2068e004d90104cdc8472756d6131d">pp::URLRequestInfo::URLRequestInfo</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_u_r_l_request_info.html">URLRequestInfo</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The copy constructor for <code><a class="el" href="classpp_1_1_u_r_l_request_info.html" title="URLRequestInfo provides an API for creating and manipulating URL requests.">URLRequestInfo</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A <code><a class="el" href="classpp_1_1_u_r_l_request_info.html" title="URLRequestInfo provides an API for creating and manipulating URL requests.">URLRequestInfo</a></code> to be copied. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="ab16f2efba1f2ddc434e2fc860dcbe900"></a><!-- doxytag: member="pp::URLRequestInfo::AppendDataToBody" ref="ab16f2efba1f2ddc434e2fc860dcbe900" args="(const void *data, uint32_t len)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_request_info.html#ab16f2efba1f2ddc434e2fc860dcbe900">pp::URLRequestInfo::AppendDataToBody</a> </td>
+<td>(</td>
+<td class="paramtype">const void * </td>
+<td class="paramname"><em>data</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>len</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_u_r_l_request_info.html#ab16f2efba1f2ddc434e2fc860dcbe900" title="AppendDataToBody() appends data to the request body.">AppendDataToBody()</a> appends data to the request body. </p>
+<p>A content-length request header will be automatically generated.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>A pointer to a buffer holding the data. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>The length, in bytes, of the data.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, false if any of the parameters are invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a1ae72c8ac65a6cd6c174c8df238038fd"></a><!-- doxytag: member="pp::URLRequestInfo::AppendFileRangeToBody" ref="a1ae72c8ac65a6cd6c174c8df238038fd" args="(const FileRef &file_ref, int64_t start_offset, int64_t length, PP_Time expected_last_modified_time=0)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_request_info.html#a1ae72c8ac65a6cd6c174c8df238038fd">pp::URLRequestInfo::AppendFileRangeToBody</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_file_ref.html">FileRef</a> & </td>
+<td class="paramname"><em>file_ref</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int64_t </td>
+<td class="paramname"><em>start_offset</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int64_t </td>
+<td class="paramname"><em>length</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_Time </td>
+<td class="paramname"><em>expected_last_modified_time</em> = <code>0</code> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_u_r_l_request_info.html#a1ae72c8ac65a6cd6c174c8df238038fd" title="AppendFileRangeToBody() is a pointer to a function used to append part or all of a file...">AppendFileRangeToBody()</a> is a pointer to a function used to append part or all of a file, to be uploaded, to the request body. </p>
+<p>A content-length request header will be automatically generated.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_ref</td><td>A <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code> containing the file reference. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">start_offset</td><td>An optional starting point offset within the file. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>An optional number of bytes of the file to be included. If the value is -1, then the sub-range to upload extends to the end of the file. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">expected_last_modified_time</td><td>An optional (non-zero) last modified time stamp used to validate that the file was not modified since the given time before it was uploaded. The upload will fail with an error code of <code>PP_ERROR_FILECHANGED</code> if the file has been modified since the given time. If expected_last_modified_time is 0, then no validation is performed.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, false if any of the parameters are invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="af19afd7e5849e68497f1e4f4b7400995"></a><!-- doxytag: member="pp::URLRequestInfo::AppendFileToBody" ref="af19afd7e5849e68497f1e4f4b7400995" args="(const FileRef &file_ref, PP_Time expected_last_modified_time=0)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_request_info.html#af19afd7e5849e68497f1e4f4b7400995">pp::URLRequestInfo::AppendFileToBody</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_file_ref.html">FileRef</a> & </td>
+<td class="paramname"><em>file_ref</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_Time </td>
+<td class="paramname"><em>expected_last_modified_time</em> = <code>0</code> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_u_r_l_request_info.html#af19afd7e5849e68497f1e4f4b7400995" title="AppendFileToBody() is used to append an entire file, to be uploaded, to the request body...">AppendFileToBody()</a> is used to append an entire file, to be uploaded, to the request body. </p>
+<p>A content-length request header will be automatically generated.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_ref</td><td>A <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code> containing the file reference. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">expected_last_modified_time</td><td>An optional (non-zero) last modified time stamp used to validate that the file was not modified since the given time before it was uploaded. The upload will fail with an error code of <code>PP_ERROR_FILECHANGED</code> if the file has been modified since the given time. If expected_last_modified_time is 0, then no validation is performed.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, false if any of the parameters are invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="afa23501e503ee1787c4663d74f00d0c4"></a><!-- doxytag: member="pp::URLRequestInfo::SetAllowCredentials" ref="afa23501e503ee1787c4663d74f00d0c4" args="(bool enable)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_request_info.html#afa23501e503ee1787c4663d74f00d0c4">pp::URLRequestInfo::SetAllowCredentials</a> </td>
+<td>(</td>
+<td class="paramtype">bool </td>
+<td class="paramname"><em>enable</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_u_r_l_request_info.html#afa23501e503ee1787c4663d74f00d0c4" title="SetAllowCredentials() sets the PP_URLREQUESTPROPERTY_ALLOWCREDENTIALS (corresponding to a bool of typ...">SetAllowCredentials()</a> sets the <code>PP_URLREQUESTPROPERTY_ALLOWCREDENTIALS</code> (corresponding to a bool of type <code>PP_VARTYPE_BOOL</code>). </p>
+<p>The default of the property is false. Whether HTTP credentials are sent with cross-origin requests. If false, no credentials are sent with the request and cookies are ignored in the response. If the request is not cross-origin, this property is ignored.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">enable</td><td>A <code>bool</code> containing the property value.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, false if the parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a39a5000e734a378d412fbe87e38dabe4"></a><!-- doxytag: member="pp::URLRequestInfo::SetAllowCrossOriginRequests" ref="a39a5000e734a378d412fbe87e38dabe4" args="(bool enable)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_request_info.html#a39a5000e734a378d412fbe87e38dabe4">pp::URLRequestInfo::SetAllowCrossOriginRequests</a> </td>
+<td>(</td>
+<td class="paramtype">bool </td>
+<td class="paramname"><em>enable</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_u_r_l_request_info.html#a39a5000e734a378d412fbe87e38dabe4" title="SetAllowCrossOriginRequests() sets the PP_URLREQUESTPROPERTY_ALLOWCROSSORIGINREQUESTS (corresponding ...">SetAllowCrossOriginRequests()</a> sets the <code>PP_URLREQUESTPROPERTY_ALLOWCROSSORIGINREQUESTS</code> (corresponding to a bool of type <code>PP_VARTYPE_BOOL</code>). </p>
+<p>The default of the property is false. Whether cross-origin requests are allowed. Cross-origin requests are made using the CORS (Cross-Origin <a class="el" href="classpp_1_1_resource.html" title="A reference counted module resource.">Resource</a> Sharing) algorithm to check whether the request should be allowed. For the complete CORS algorithm, refer to the <a href="http://www.w3.org/TR/access-control">Cross-Origin Resource Sharing</a> documentation.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">enable</td><td>A <code>bool</code> containing the property value.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, false if the parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="af25b7f4b3aa00af49140921d28fa09c9"></a><!-- doxytag: member="pp::URLRequestInfo::SetCustomContentTransferEncoding" ref="af25b7f4b3aa00af49140921d28fa09c9" args="(const Var &content_transfer_encoding)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_request_info.html#af25b7f4b3aa00af49140921d28fa09c9">pp::URLRequestInfo::SetCustomContentTransferEncoding</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>content_transfer_encoding</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_u_r_l_request_info.html#af25b7f4b3aa00af49140921d28fa09c9" title="SetCustomContentTransferEncoding() sets the PP_URLREQUESTPROPERTY_CUSTOMCONTENTTRANSFERENCODING (corr...">SetCustomContentTransferEncoding()</a> sets the <code>PP_URLREQUESTPROPERTY_CUSTOMCONTENTTRANSFERENCODING</code> (corresponding to a string of type <code>PP_VARTYPE_STRING</code> or might be set to undefined as <code>PP_VARTYPE_UNDEFINED</code>). </p>
+<p>Set it to a string to set a custom content-transfer-encoding header (if empty, that header will be omitted), or to undefined to use the default (if any). Only loaders with universal access (only available on trusted implementations) will accept <code><a class="el" href="classpp_1_1_u_r_l_request_info.html" title="URLRequestInfo provides an API for creating and manipulating URL requests.">URLRequestInfo</a></code> objects that try to set a custom content transfer encoding; if given to a loader without universal access, <code>PP_ERROR_BADARGUMENT</code> will result.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">content_transfer_encoding</td><td>A <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing the property value. To use the default content transfer encoding, set <code>content_transfer_encoding</code> to an undefined <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, false if the parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="af6232dbb546c37c5438fadbada30353a"></a><!-- doxytag: member="pp::URLRequestInfo::SetCustomReferrerURL" ref="af6232dbb546c37c5438fadbada30353a" args="(const Var &url)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_request_info.html#af6232dbb546c37c5438fadbada30353a">pp::URLRequestInfo::SetCustomReferrerURL</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>url</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_u_r_l_request_info.html#af6232dbb546c37c5438fadbada30353a" title="SetCustomReferrerURL() sets the PP_URLREQUESTPROPERTY_CUSTOMREFERRERURL (corresponding to a string of...">SetCustomReferrerURL()</a> sets the <code>PP_URLREQUESTPROPERTY_CUSTOMREFERRERURL</code> (corresponding to a string of type <code>PP_VARTYPE_STRING</code> or might be set to undefined as <code>PP_VARTYPE_UNDEFINED</code>). </p>
+<p>Set it to a string to set a custom referrer (if empty, the referrer header will be omitted), or to undefined to use the default referrer. Only loaders with universal access (only available on trusted implementations) will accept <code><a class="el" href="classpp_1_1_u_r_l_request_info.html" title="URLRequestInfo provides an API for creating and manipulating URL requests.">URLRequestInfo</a></code> objects that try to set a custom referrer; if given to a loader without universal access, <code>PP_ERROR_BADARGUMENT</code> will result.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">url</td><td>A <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing the property value.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, false if the parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aaaf79f763cd4d72c8507c2fa19b7fcaf"></a><!-- doxytag: member="pp::URLRequestInfo::SetCustomUserAgent" ref="aaaf79f763cd4d72c8507c2fa19b7fcaf" args="(const Var &user_agent)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_request_info.html#aaaf79f763cd4d72c8507c2fa19b7fcaf">pp::URLRequestInfo::SetCustomUserAgent</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>user_agent</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_u_r_l_request_info.html#aaaf79f763cd4d72c8507c2fa19b7fcaf" title="SetCustomUserAgent() sets the PP_URLREQUESTPROPERTY_CUSTOMUSERAGENT (corresponding to a string of typ...">SetCustomUserAgent()</a> sets the <code>PP_URLREQUESTPROPERTY_CUSTOMUSERAGENT</code> (corresponding to a string of type <code>PP_VARTYPE_STRING</code> or might be set to undefined as <code>PP_VARTYPE_UNDEFINED</code>). </p>
+<p>Set it to a string to set a custom user-agent header (if empty, that header will be omitted), or to undefined to use the default. Only loaders with universal access (only available on trusted implementations) will accept <code><a class="el" href="classpp_1_1_u_r_l_request_info.html" title="URLRequestInfo provides an API for creating and manipulating URL requests.">URLRequestInfo</a></code> objects that try to set a custom user agent; if given to a loader without universal access, <code>PP_ERROR_BADARGUMENT</code> will result.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">user_agent</td><td>A <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing the property value. To use the default user agent, set <code>user_agent</code> to an undefined <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, false if the parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a72dd5d3b335a429af0ffa266e338a110"></a><!-- doxytag: member="pp::URLRequestInfo::SetFollowRedirects" ref="a72dd5d3b335a429af0ffa266e338a110" args="(bool enable)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_request_info.html#a72dd5d3b335a429af0ffa266e338a110">pp::URLRequestInfo::SetFollowRedirects</a> </td>
+<td>(</td>
+<td class="paramtype">bool </td>
+<td class="paramname"><em>enable</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_u_r_l_request_info.html#a72dd5d3b335a429af0ffa266e338a110" title="SetFollowRedirects() sets the PP_URLREQUESTPROPERTY_FOLLOWREDIRECT (corresponding to a bool of type P...">SetFollowRedirects()</a> sets the <code>PP_URLREQUESTPROPERTY_FOLLOWREDIRECT</code> (corresponding to a bool of type <code>PP_VARTYPE_BOOL</code>). </p>
+<p>The default of the property is true. Set this value to false if you want to use URLLoader::FollowRedirects() to follow the redirects only after examining redirect headers.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">enable</td><td>A <code>bool</code> containing the property value.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, false if the parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a7105409f66e2eb5595eec0e0ae07c4f6"></a><!-- doxytag: member="pp::URLRequestInfo::SetHeaders" ref="a7105409f66e2eb5595eec0e0ae07c4f6" args="(const Var &headers_string)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_request_info.html#a7105409f66e2eb5595eec0e0ae07c4f6">pp::URLRequestInfo::SetHeaders</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>headers_string</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_u_r_l_request_info.html#a7105409f66e2eb5595eec0e0ae07c4f6" title="SetHeaders() sets the PP_URLREQUESTPROPERTY_HEADERS (corresponding to a delimited string of type PP...">SetHeaders()</a> sets the <code>PP_URLREQUESTPROPERTY_HEADERS</code> (corresponding to a <code><br />
+</code> delimited string of type <code>PP_VARTYPE_STRING</code>) property for the request. </p>
+<p>Refer to the <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html"Header Field Definitions documentation for further information.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">headers_string</td><td>A <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing the property value.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, false if the parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="abf4024d196a5139dbca2e95b9ab9bdb6"></a><!-- doxytag: member="pp::URLRequestInfo::SetMethod" ref="abf4024d196a5139dbca2e95b9ab9bdb6" args="(const Var &method_string)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_request_info.html#abf4024d196a5139dbca2e95b9ab9bdb6">pp::URLRequestInfo::SetMethod</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>method_string</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_u_r_l_request_info.html#abf4024d196a5139dbca2e95b9ab9bdb6" title="SetMethod() sets the PP_URLREQUESTPROPERTY_METHOD (corresponding to a string of type PP_VARTYPE_STRIN...">SetMethod()</a> sets the <code>PP_URLREQUESTPROPERTY_METHOD</code> (corresponding to a string of type <code>PP_VARTYPE_STRING</code>) property for the request. </p>
+<p>This string is either a POST or GET. Refer to the <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html">HTTP Methods</a> documentation for further information.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">method_string</td><td>A <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing the property value.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, false if the parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a498fc64ad75ed2d44e33f2fdb3c0cad3"></a><!-- doxytag: member="pp::URLRequestInfo::SetPrefetchBufferLowerThreshold" ref="a498fc64ad75ed2d44e33f2fdb3c0cad3" args="(int32_t size)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_request_info.html#a498fc64ad75ed2d44e33f2fdb3c0cad3">pp::URLRequestInfo::SetPrefetchBufferLowerThreshold</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>size</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_u_r_l_request_info.html#a498fc64ad75ed2d44e33f2fdb3c0cad3" title="SetPrefetchBufferLowerThreshold() sets the PP_URLREQUESTPROPERTY_PREFETCHBUFFERLOWERTHRESHOLD (corres...">SetPrefetchBufferLowerThreshold()</a> sets the <code>PP_URLREQUESTPROPERTY_PREFETCHBUFFERLOWERTHRESHOLD</code> (corresponding to a integer of type <code>PP_VARTYPE_INT32</code>). </p>
+<p>The default is not defined and is set by the browser to a value appropriate for the default <code>PP_URLREQUESTPROPERTY_PREFETCHBUFFERUPPERTHRESHOLD</code>. Set it to an integer to set a lower threshold for the prefetched buffer of an asynchronous load. When reached, the browser will resume loading if If <code>PP_URLREQUESTPROPERTY_PREFETCHBUFFERLOWERERTHRESHOLD</code> had previously been reached. When setting this property, <code>PP_URLREQUESTPROPERTY_PREFETCHBUFFERUPPERTHRESHOLD</code> must also be set. Behavior is undefined if the former is >= the latter.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>An int32_t containing the property value.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, false if the parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aa2c6bb4f07e5372bd4b0ed49f9b67990"></a><!-- doxytag: member="pp::URLRequestInfo::SetPrefetchBufferUpperThreshold" ref="aa2c6bb4f07e5372bd4b0ed49f9b67990" args="(int32_t size)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_request_info.html#aa2c6bb4f07e5372bd4b0ed49f9b67990">pp::URLRequestInfo::SetPrefetchBufferUpperThreshold</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>size</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_u_r_l_request_info.html#aa2c6bb4f07e5372bd4b0ed49f9b67990" title="SetPrefetchBufferUpperThreshold() sets the PP_URLREQUESTPROPERTY_PREFETCHBUFFERUPPERTHRESHOLD (corres...">SetPrefetchBufferUpperThreshold()</a> sets the <code>PP_URLREQUESTPROPERTY_PREFETCHBUFFERUPPERTHRESHOLD</code> (corresponding to a integer of type <code>PP_VARTYPE_INT32</code>). </p>
+<p>The default is not defined and is set by the browser possibly depending on system capabilities. Set it to an integer to set an upper threshold for the prefetched buffer of an asynchronous load. When exceeded, the browser will defer loading until <code>PP_URLREQUESTPROPERTY_PREFETCHBUFFERLOWERERTHRESHOLD</code> is hit, at which time it will begin prefetching again. When setting this property, <code>PP_URLREQUESTPROPERTY_PREFETCHBUFFERLOWERERTHRESHOLD</code> must also be set. Behavior is undefined if the former is <= the latter.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>An int32_t containing the property value.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, false if the parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a679c2c4a7247e0b0985595c24e61cf9c"></a><!-- doxytag: member="pp::URLRequestInfo::SetProperty" ref="a679c2c4a7247e0b0985595c24e61cf9c" args="(PP_URLRequestProperty property, const Var &value)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_request_info.html#a679c2c4a7247e0b0985595c24e61cf9c">pp::URLRequestInfo::SetProperty</a> </td>
+<td>(</td>
+<td class="paramtype">PP_URLRequestProperty </td>
+<td class="paramname"><em>property</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>value</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_u_r_l_request_info.html#a679c2c4a7247e0b0985595c24e61cf9c" title="SetProperty() sets a request property.">SetProperty()</a> sets a request property. </p>
+<p>The value of the property must be the correct type according to the property being set.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">property</td><td>A <code>PP_URLRequestProperty</code> identifying the property to set. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>A <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing the property value.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, false if any of the parameters are invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aca69393ce31673c1cc5407d15774e310"></a><!-- doxytag: member="pp::URLRequestInfo::SetRecordDownloadProgress" ref="aca69393ce31673c1cc5407d15774e310" args="(bool enable)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_request_info.html#aca69393ce31673c1cc5407d15774e310">pp::URLRequestInfo::SetRecordDownloadProgress</a> </td>
+<td>(</td>
+<td class="paramtype">bool </td>
+<td class="paramname"><em>enable</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_u_r_l_request_info.html#aca69393ce31673c1cc5407d15774e310" title="SetRecordDownloadProgress() sets the PP_URLREQUESTPROPERTY_RECORDDOWNLOADPROGESS (corresponding to a ...">SetRecordDownloadProgress()</a> sets the <code>PP_URLREQUESTPROPERTY_RECORDDOWNLOADPROGESS</code> (corresponding to a bool of type <code>PP_VARTYPE_BOOL</code>). </p>
+<p>The default of the property is false. Set this value to true if you want to be able to poll the download progress using <a class="el" href="classpp_1_1_u_r_l_loader.html#ada4a1757e7883912626e2ece85ec1c53" title="This function returns the current download progress, which is meaningful after Open() has been called...">URLLoader::GetDownloadProgress()</a>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">enable</td><td>A <code>bool</code> containing the property value.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, false if the parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a52cfef994077173627a809bdf891e01a"></a><!-- doxytag: member="pp::URLRequestInfo::SetRecordUploadProgress" ref="a52cfef994077173627a809bdf891e01a" args="(bool enable)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_request_info.html#a52cfef994077173627a809bdf891e01a">pp::URLRequestInfo::SetRecordUploadProgress</a> </td>
+<td>(</td>
+<td class="paramtype">bool </td>
+<td class="paramname"><em>enable</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_u_r_l_request_info.html#a52cfef994077173627a809bdf891e01a" title="SetRecordUploadProgress() sets the PP_URLREQUESTPROPERTY_RECORDUPLOADPROGRESS (corresponding to a boo...">SetRecordUploadProgress()</a> sets the <code>PP_URLREQUESTPROPERTY_RECORDUPLOADPROGRESS</code> (corresponding to a bool of type <code>PP_VARTYPE_BOOL</code>). </p>
+<p>The default of the property is false. Set this value to true if you want to be able to poll the upload progress using <a class="el" href="classpp_1_1_u_r_l_loader.html#a5e3723f5c5d10394329899f75121faf1" title="This function returns the current upload progress (which is only meaningful after Open() has been cal...">URLLoader::GetUploadProgress()</a>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">enable</td><td>A <code>bool</code> containing the property value.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, false if the parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a7bd36cb47bc0bc3579292f81581359b8"></a><!-- doxytag: member="pp::URLRequestInfo::SetStreamToFile" ref="a7bd36cb47bc0bc3579292f81581359b8" args="(bool enable)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_request_info.html#a7bd36cb47bc0bc3579292f81581359b8">pp::URLRequestInfo::SetStreamToFile</a> </td>
+<td>(</td>
+<td class="paramtype">bool </td>
+<td class="paramname"><em>enable</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_u_r_l_request_info.html#a7bd36cb47bc0bc3579292f81581359b8" title="SetStreamToFile() sets the PP_URLREQUESTPROPERTY_STREAMTOFILE (corresponding to a bool of type PP_VAR...">SetStreamToFile()</a> sets the <code>PP_URLREQUESTPROPERTY_STREAMTOFILE</code> (corresponding to a bool of type <code>PP_VARTYPE_BOOL</code>). </p>
+<p>The default of the property is false. Set this value to true if you want to download the data to a file. Use URL_Loader::FinishStreamingToFile() to complete the download.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">enable</td><td>A <code>bool</code> containing the property value.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, false if the parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a97cdeb02a63922704d47c585a4e2baaf"></a><!-- doxytag: member="pp::URLRequestInfo::SetURL" ref="a97cdeb02a63922704d47c585a4e2baaf" args="(const Var &url_string)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_request_info.html#a97cdeb02a63922704d47c585a4e2baaf">pp::URLRequestInfo::SetURL</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>url_string</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_u_r_l_request_info.html#a97cdeb02a63922704d47c585a4e2baaf" title="SetURL() sets the PP_URLREQUESTPROPERTY_URL property for the request.">SetURL()</a> sets the <code>PP_URLREQUESTPROPERTY_URL</code> property for the request. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">url_string</td><td>A <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing the property value.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, false if the parameter is invalid. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="url__request__info_8h.html">url_request_info.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_u_r_l_request_info__inherit__graph.png b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_u_r_l_request_info__inherit__graph.png
new file mode 100644
index 0000000..d1a4f77e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_u_r_l_request_info__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_u_r_l_response_info-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_u_r_l_response_info-members.html
new file mode 100644
index 0000000..8befbd9b
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_u_r_l_response_info-members.html
@@ -0,0 +1,35 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_u_r_l_response_info.html">pp::URLResponseInfo</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_response_info.html#a77debd316d7b575b6cae43cb1bb14cbc">GetBodyAsFileRef</a>() const </td><td><a class="el" href="classpp_1_1_u_r_l_response_info.html">pp::URLResponseInfo</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_response_info.html#ae1fbc3ec4025534fbbf7e152af8308c7">GetHeaders</a>() const </td><td><a class="el" href="classpp_1_1_u_r_l_response_info.html">pp::URLResponseInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_response_info.html#ac30d83aa38148e6d90f3c22ab01b10dc">GetProperty</a>(PP_URLResponseProperty property) const </td><td><a class="el" href="classpp_1_1_u_r_l_response_info.html">pp::URLResponseInfo</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_response_info.html#a3ae355f52b46a6d2e65fed19bfcec323">GetRedirectMethod</a>() const </td><td><a class="el" href="classpp_1_1_u_r_l_response_info.html">pp::URLResponseInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_response_info.html#a6c25ffe56f7d9da0817fd84346bbaf10">GetRedirectURL</a>() const </td><td><a class="el" href="classpp_1_1_u_r_l_response_info.html">pp::URLResponseInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_response_info.html#aa7d27c0d6af582dc374461c8d0f868b3">GetStatusCode</a>() const </td><td><a class="el" href="classpp_1_1_u_r_l_response_info.html">pp::URLResponseInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_response_info.html#aa6b506dff751344d0b85f596ab1a41a8">GetStatusLine</a>() const </td><td><a class="el" href="classpp_1_1_u_r_l_response_info.html">pp::URLResponseInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_response_info.html#ad53acecc41062e0b60167b78c268a0bb">GetURL</a>() const </td><td><a class="el" href="classpp_1_1_u_r_l_response_info.html">pp::URLResponseInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_response_info.html#a239b1eb1076f2da6c75af416c8f02e6b">URLResponseInfo</a>()</td><td><a class="el" href="classpp_1_1_u_r_l_response_info.html">pp::URLResponseInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_response_info.html#a157bf323368bc4b7e63ce604ecc272c1">URLResponseInfo</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_u_r_l_response_info.html">pp::URLResponseInfo</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_response_info.html#aa2fb382084c248e56dffb09e1191a6f1">URLResponseInfo</a>(const URLResponseInfo &other)</td><td><a class="el" href="classpp_1_1_u_r_l_response_info.html">pp::URLResponseInfo</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_u_r_l_response_info.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_u_r_l_response_info.html
new file mode 100644
index 0000000..9b303ec4
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_u_r_l_response_info.html
@@ -0,0 +1,253 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::URLResponseInfo Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::URLResponseInfo" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::URLResponseInfo:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_u_r_l_response_info__inherit__graph.png" border="0" usemap="#pp_1_1_u_r_l_response_info_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_u_r_l_response_info_inherit__map" id="pp_1_1_u_r_l_response_info_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="31,5,135,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_u_r_l_response_info-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_response_info.html#a239b1eb1076f2da6c75af416c8f02e6b">URLResponseInfo</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_response_info.html#a157bf323368bc4b7e63ce604ecc272c1">URLResponseInfo</a> (<a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a>, PP_Resource resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_response_info.html#aa2fb382084c248e56dffb09e1191a6f1">URLResponseInfo</a> (const <a class="el" href="classpp_1_1_u_r_l_response_info.html">URLResponseInfo</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_response_info.html#ac30d83aa38148e6d90f3c22ab01b10dc">GetProperty</a> (PP_URLResponseProperty property) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_file_ref.html">FileRef</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_response_info.html#a77debd316d7b575b6cae43cb1bb14cbc">GetBodyAsFileRef</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_response_info.html#ad53acecc41062e0b60167b78c268a0bb">GetURL</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_response_info.html#a6c25ffe56f7d9da0817fd84346bbaf10">GetRedirectURL</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_response_info.html#a3ae355f52b46a6d2e65fed19bfcec323">GetRedirectMethod</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_response_info.html#aa7d27c0d6af582dc374461c8d0f868b3">GetStatusCode</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_response_info.html#aa6b506dff751344d0b85f596ab1a41a8">GetStatusLine</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_response_info.html#ae1fbc3ec4025534fbbf7e152af8308c7">GetHeaders</a> () const </td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="classpp_1_1_u_r_l_response_info.html" title="URLResponseInfo provides an API for examining URL responses.">URLResponseInfo</a> provides an API for examining URL responses. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a239b1eb1076f2da6c75af416c8f02e6b"></a><!-- doxytag: member="pp::URLResponseInfo::URLResponseInfo" ref="a239b1eb1076f2da6c75af416c8f02e6b" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_u_r_l_response_info.html#a239b1eb1076f2da6c75af416c8f02e6b">pp::URLResponseInfo::URLResponseInfo</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor. </p>
+<p>This constructor creates an <code>is_null</code> resource. </p>
+</div>
+</div>
+<a class="anchor" id="a157bf323368bc4b7e63ce604ecc272c1"></a><!-- doxytag: member="pp::URLResponseInfo::URLResponseInfo" ref="a157bf323368bc4b7e63ce604ecc272c1" args="(PassRef, PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_u_r_l_response_info.html#a239b1eb1076f2da6c75af416c8f02e6b">pp::URLResponseInfo::URLResponseInfo</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a> </td>
+<td class="paramname">, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>resource</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used when you have received a <code>PP_Resource</code> as a return value that has already been reference counted. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a resource. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="aa2fb382084c248e56dffb09e1191a6f1"></a><!-- doxytag: member="pp::URLResponseInfo::URLResponseInfo" ref="aa2fb382084c248e56dffb09e1191a6f1" args="(const URLResponseInfo &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_u_r_l_response_info.html#a239b1eb1076f2da6c75af416c8f02e6b">pp::URLResponseInfo::URLResponseInfo</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_u_r_l_response_info.html">URLResponseInfo</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The copy constructor for <code><a class="el" href="classpp_1_1_u_r_l_response_info.html" title="URLResponseInfo provides an API for examining URL responses.">URLResponseInfo</a></code>. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a77debd316d7b575b6cae43cb1bb14cbc"></a><!-- doxytag: member="pp::URLResponseInfo::GetBodyAsFileRef" ref="a77debd316d7b575b6cae43cb1bb14cbc" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_file_ref.html">FileRef</a> <a class="el" href="classpp_1_1_u_r_l_response_info.html#a77debd316d7b575b6cae43cb1bb14cbc">pp::URLResponseInfo::GetBodyAsFileRef</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function returns a <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code> pointing to the file containing the response body. </p>
+<p>This is only valid if <code>PP_URLREQUESTPROPERTY_STREAMTOFILE</code> was set on the <code><a class="el" href="classpp_1_1_u_r_l_request_info.html" title="URLRequestInfo provides an API for creating and manipulating URL requests.">URLRequestInfo</a></code> used to produce this response. This file remains valid until the <code><a class="el" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs.">URLLoader</a></code> associated with this <code><a class="el" href="classpp_1_1_u_r_l_response_info.html" title="URLResponseInfo provides an API for examining URL responses.">URLResponseInfo</a></code> is closed or destroyed.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code> corresponding to a <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code> if successful, an <code>is_null</code> object if <code>PP_URLREQUESTPROPERTY_STREAMTOFILE</code> was not requested or if the <code><a class="el" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs.">URLLoader</a></code> has not been opened yet. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ae1fbc3ec4025534fbbf7e152af8308c7"></a><!-- doxytag: member="pp::URLResponseInfo::GetHeaders" ref="ae1fbc3ec4025534fbbf7e152af8308c7" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_u_r_l_response_info.html#ae1fbc3ec4025534fbbf7e152af8308c7">pp::URLResponseInfo::GetHeaders</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function gets the <code>PP_URLRESPONSEPROPERTY_HEADERS</code> property for the response. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An <code>is_string <a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing the response property value if successful, <code>is_undefined <a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> if an input parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ac30d83aa38148e6d90f3c22ab01b10dc"></a><!-- doxytag: member="pp::URLResponseInfo::GetProperty" ref="ac30d83aa38148e6d90f3c22ab01b10dc" args="(PP_URLResponseProperty property) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_u_r_l_response_info.html#ac30d83aa38148e6d90f3c22ab01b10dc">pp::URLResponseInfo::GetProperty</a> </td>
+<td>(</td>
+<td class="paramtype">PP_URLResponseProperty </td>
+<td class="paramname"><em>property</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function gets a response property. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">property</td><td>A <code>PP_URLResponseProperty</code> identifying the type of property in the response.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing the response property value if successful, <code>is_undefined <a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> if an input parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a3ae355f52b46a6d2e65fed19bfcec323"></a><!-- doxytag: member="pp::URLResponseInfo::GetRedirectMethod" ref="a3ae355f52b46a6d2e65fed19bfcec323" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_u_r_l_response_info.html#a3ae355f52b46a6d2e65fed19bfcec323">pp::URLResponseInfo::GetRedirectMethod</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function gets the <code>PP_URLRESPONSEPROPERTY_REDIRECTMETHOD</code> property for the response. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An <code>is_string <a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing the response property value if successful, <code>is_undefined <a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> if an input parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a6c25ffe56f7d9da0817fd84346bbaf10"></a><!-- doxytag: member="pp::URLResponseInfo::GetRedirectURL" ref="a6c25ffe56f7d9da0817fd84346bbaf10" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_u_r_l_response_info.html#a6c25ffe56f7d9da0817fd84346bbaf10">pp::URLResponseInfo::GetRedirectURL</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function gets the <code>PP_URLRESPONSEPROPERTY_REDIRECTURL</code> property for the response. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An <code>is_string <a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing the response property value if successful, <code>is_undefined <a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> if an input parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aa7d27c0d6af582dc374461c8d0f868b3"></a><!-- doxytag: member="pp::URLResponseInfo::GetStatusCode" ref="aa7d27c0d6af582dc374461c8d0f868b3" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_u_r_l_response_info.html#aa7d27c0d6af582dc374461c8d0f868b3">pp::URLResponseInfo::GetStatusCode</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function gets the <code>PP_URLRESPONSEPROPERTY_STATUSCODE</code> property for the response. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A int32_t containing the response property value if successful, <code>is_undefined <a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> if an input parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aa6b506dff751344d0b85f596ab1a41a8"></a><!-- doxytag: member="pp::URLResponseInfo::GetStatusLine" ref="aa6b506dff751344d0b85f596ab1a41a8" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_u_r_l_response_info.html#aa6b506dff751344d0b85f596ab1a41a8">pp::URLResponseInfo::GetStatusLine</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function gets the <code>PP_URLRESPONSEPROPERTY_STATUSLINE</code> property for the response. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An <code>is_string <a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing the response property value if successful, <code>is_undefined <a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> if an input parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ad53acecc41062e0b60167b78c268a0bb"></a><!-- doxytag: member="pp::URLResponseInfo::GetURL" ref="ad53acecc41062e0b60167b78c268a0bb" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_u_r_l_response_info.html#ad53acecc41062e0b60167b78c268a0bb">pp::URLResponseInfo::GetURL</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function gets the <code>PP_URLRESPONSEPROPERTY_URL</code> property for the response. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An <code>is_string <a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing the response property value if successful, <code>is_undefined <a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> if an input parameter is invalid. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="url__response__info_8h.html">url_response_info.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_u_r_l_response_info__inherit__graph.png b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_u_r_l_response_info__inherit__graph.png
new file mode 100644
index 0000000..512a045c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_u_r_l_response_info__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_var-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_var-members.html
new file mode 100644
index 0000000..f847823e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_var-members.html
@@ -0,0 +1,48 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_var.html">pp::Var</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a07e7a4ea38b990e6c230109823347e70">AsBool</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a8a798b08e197948c161737fc7b745af6">AsDouble</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ad31cdb379b6ceaae967125e358c81d16">AsInt</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a22a1e3b2a0783b949bedcdae49c07c97">AsString</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a835b1e5a601d6e5ceb9a7d1b5fb7a66f">DebugString</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a84a725a42640a63747f7f6bc252b65d4">Detach</a>()</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a7a28894a77f9d69d1a4b0272bf80d657">is_array</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ac0fd1d153203f8fe6c23b88618a5ef65">is_array_buffer</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a83773e6f9e2ac3723e33b6a1586d5c1e">is_bool</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ae061050e5deaac345eb089b9cd8796ea">is_dictionary</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a4a9e093ddf1475542bf0b3231e03d631">is_double</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ae7dd6f7e851c81ee259095f3e826f3fd">is_int</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a94bec264c03634f7ba66fb46ed4fda0b">is_managed_</a></td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#aa4a9d8309d3390aa56a4f2966daf6533">is_null</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ae803a32764804c873dd16c48bd4fdc83">is_number</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a79ed26c49d64b536619a1ee574848a36">is_object</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a8ed51b6cd4e1b6fee46d8fdf27c98ef1">is_resource</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a57ce2eb7f023f383194155b25b53d297">is_string</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#afe677b5834bfb5f1364d212a52f1879e">is_undefined</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a65601024610f1625c9945acb8725d7c4">operator=</a>(const Var &other)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ad689c287e64f984eb951c57af303a444">operator==</a>(const Var &other) const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ad828439641c93930ff188b45b45b4261">pp_var</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">Var</a>()</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a8dc13cf4d873293e06e6d23325ab2544">Var</a>(Null)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a6eba29ce9f635feb4ffbdfba1014ff99">Var</a>(bool b)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a6de6c1f791f105b70d0cf815f63c2304">Var</a>(int32_t i)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a9bbdfd7d1aa2bd6c8d526ff5f6a2c035">Var</a>(double d)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a24ae309e6e0335d2b16aab6039c231fa">Var</a>(const char *utf8_str)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a4b0c8c5ef714c9444cfd8f1dd4a9fb25">Var</a>(const std::string &utf8_str)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a64a857e38d59b1e012a02d7b8f98680f">Var</a>(PassRef, const PP_Var &var)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a52415e7de337c97b08eb70b06e0cda4b">Var</a>(const PP_Var &var)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a2356640f40527226f295cc15ec01f302">Var</a>(DontManage, const PP_Var &var)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#aa87cbd4cc4bc47b6f1f8a749f60aa062">Var</a>(const Var &other)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a7c1225564a0e3ab910823fc20d2611ab">var_</a></td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a148a5009f2f445edfec0a5f83ed94cf4">~Var</a>()</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_var.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_var.html
new file mode 100644
index 0000000..d56dea4
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_var.html
@@ -0,0 +1,729 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::Var Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::Var" --><div class="dynheader">
+Inheritance diagram for pp::Var:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_var__inherit__graph.png" border="0" usemap="#pp_1_1_var_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_var_inherit__map" id="pp_1_1_var_inherit__map">
+<area shape="rect" id="node3" href="classpp_1_1_var_array.html" title="pp::VarArray" alt="" coords="5,83,107,112"></area><area shape="rect" id="node5" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ..." alt="" coords="131,83,269,112"></area><area shape="rect" id="node7" href="classpp_1_1_var_dictionary.html" title="pp::VarDictionary" alt="" coords="293,83,424,112"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_var-members.html">List of all members.</a></p>
+<h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1_var_1_1_dont_manage.html">DontManage</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1_var_1_1_null.html">Null</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Special value passed to constructor to make <code>NULL</code>. <a href="structpp_1_1_var_1_1_null.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_1_1_out_exception.html">OutException</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This class is used when calling the raw C PPAPI when using the C++ <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> as a possible NULL exception. <a href="classpp_1_1_var_1_1_out_exception.html#details">More...</a><br /></td></tr>
+</table><h2>
+Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">Var</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a8dc13cf4d873293e06e6d23325ab2544">Var</a> (<a class="el" href="structpp_1_1_var_1_1_null.html">Null</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a6eba29ce9f635feb4ffbdfba1014ff99">Var</a> (bool b)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a6de6c1f791f105b70d0cf815f63c2304">Var</a> (int32_t i)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a9bbdfd7d1aa2bd6c8d526ff5f6a2c035">Var</a> (double d)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a24ae309e6e0335d2b16aab6039c231fa">Var</a> (const char *utf8_str)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a4b0c8c5ef714c9444cfd8f1dd4a9fb25">Var</a> (const std::string &utf8_str)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a64a857e38d59b1e012a02d7b8f98680f">Var</a> (<a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a>, const PP_Var &var)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a52415e7de337c97b08eb70b06e0cda4b">Var</a> (const PP_Var &var)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a2356640f40527226f295cc15ec01f302">Var</a> (<a class="el" href="structpp_1_1_var_1_1_dont_manage.html">DontManage</a>, const PP_Var &var)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#aa87cbd4cc4bc47b6f1f8a749f60aa062">Var</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a148a5009f2f445edfec0a5f83ed94cf4">~Var</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classpp_1_1_var.html">Var</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a65601024610f1625c9945acb8725d7c4">operator=</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#ad689c287e64f984eb951c57af303a444">operator==</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &other) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#afe677b5834bfb5f1364d212a52f1879e">is_undefined</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#aa4a9d8309d3390aa56a4f2966daf6533">is_null</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a83773e6f9e2ac3723e33b6a1586d5c1e">is_bool</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a57ce2eb7f023f383194155b25b53d297">is_string</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a79ed26c49d64b536619a1ee574848a36">is_object</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a7a28894a77f9d69d1a4b0272bf80d657">is_array</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#ae061050e5deaac345eb089b9cd8796ea">is_dictionary</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a8ed51b6cd4e1b6fee46d8fdf27c98ef1">is_resource</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#ae7dd6f7e851c81ee259095f3e826f3fd">is_int</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a4a9e093ddf1475542bf0b3231e03d631">is_double</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#ae803a32764804c873dd16c48bd4fdc83">is_number</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#ac0fd1d153203f8fe6c23b88618a5ef65">is_array_buffer</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a07e7a4ea38b990e6c230109823347e70">AsBool</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#ad31cdb379b6ceaae967125e358c81d16">AsInt</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a8a798b08e197948c161737fc7b745af6">AsDouble</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a22a1e3b2a0783b949bedcdae49c07c97">AsString</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const PP_Var & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#ad828439641c93930ff188b45b45b4261">pp_var</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_Var </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a84a725a42640a63747f7f6bc252b65d4">Detach</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a835b1e5a601d6e5ceb9a7d1b5fb7a66f">DebugString</a> () const </td></tr>
+</table><h2>
+Protected Attributes</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">PP_Var </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a7c1225564a0e3ab910823fc20d2611ab">var_</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a94bec264c03634f7ba66fb46ed4fda0b">is_managed_</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>A generic type used for passing data types between the module and the page. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="af571fae55754a20ae95ffd140726d04c"></a><!-- doxytag: member="pp::Var::Var" ref="af571fae55754a20ae95ffd140726d04c" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">pp::Var::Var</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor. </p>
+<p>Creates a <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> of type <code>Undefined</code>. </p>
+</div>
+</div>
+<a class="anchor" id="a8dc13cf4d873293e06e6d23325ab2544"></a><!-- doxytag: member="pp::Var::Var" ref="a8dc13cf4d873293e06e6d23325ab2544" args="(Null)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">pp::Var::Var</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="structpp_1_1_var_1_1_null.html">Null</a> </td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used to create a <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> of type <code><a class="el" href="structpp_1_1_var_1_1_null.html" title="Special value passed to constructor to make NULL.">Null</a></code>. </p>
+</div>
+</div>
+<a class="anchor" id="a6eba29ce9f635feb4ffbdfba1014ff99"></a><!-- doxytag: member="pp::Var::Var" ref="a6eba29ce9f635feb4ffbdfba1014ff99" args="(bool b)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">pp::Var::Var</a> </td>
+<td>(</td>
+<td class="paramtype">bool </td>
+<td class="paramname"><em>b</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used to create a <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> of type <code>Bool</code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>A boolean value. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a6de6c1f791f105b70d0cf815f63c2304"></a><!-- doxytag: member="pp::Var::Var" ref="a6de6c1f791f105b70d0cf815f63c2304" args="(int32_t i)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">pp::Var::Var</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>i</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used to create a 32 bit integer <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">i</td><td>A 32 bit integer value. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a9bbdfd7d1aa2bd6c8d526ff5f6a2c035"></a><!-- doxytag: member="pp::Var::Var" ref="a9bbdfd7d1aa2bd6c8d526ff5f6a2c035" args="(double d)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">pp::Var::Var</a> </td>
+<td>(</td>
+<td class="paramtype">double </td>
+<td class="paramname"><em>d</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used to create a double value <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">d</td><td>A double value. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a24ae309e6e0335d2b16aab6039c231fa"></a><!-- doxytag: member="pp::Var::Var" ref="a24ae309e6e0335d2b16aab6039c231fa" args="(const char *utf8_str)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">pp::Var::Var</a> </td>
+<td>(</td>
+<td class="paramtype">const char * </td>
+<td class="paramname"><em>utf8_str</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used to create a UTF-8 character <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>. </p>
+</div>
+</div>
+<a class="anchor" id="a4b0c8c5ef714c9444cfd8f1dd4a9fb25"></a><!-- doxytag: member="pp::Var::Var" ref="a4b0c8c5ef714c9444cfd8f1dd4a9fb25" args="(const std::string &utf8_str)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">pp::Var::Var</a> </td>
+<td>(</td>
+<td class="paramtype">const std::string & </td>
+<td class="paramname"><em>utf8_str</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used to create a UTF-8 character <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>. </p>
+</div>
+</div>
+<a class="anchor" id="a64a857e38d59b1e012a02d7b8f98680f"></a><!-- doxytag: member="pp::Var::Var" ref="a64a857e38d59b1e012a02d7b8f98680f" args="(PassRef, const PP_Var &var)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">pp::Var::Var</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a> </td>
+<td class="paramname">, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const PP_Var & </td>
+<td class="paramname"><em>var</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used when you have received a <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> as a return value that has had its reference count incremented for you. </p>
+<p>You will not normally need to use this constructor because the reference count will not normally be incremented for you. </p>
+</div>
+</div>
+<a class="anchor" id="a52415e7de337c97b08eb70b06e0cda4b"></a><!-- doxytag: member="pp::Var::Var" ref="a52415e7de337c97b08eb70b06e0cda4b" args="(const PP_Var &var)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">pp::Var::Var</a> </td>
+<td>(</td>
+<td class="paramtype">const PP_Var & </td>
+<td class="paramname"><em>var</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor that increments the reference count. </p>
+</div>
+</div>
+<a class="anchor" id="a2356640f40527226f295cc15ec01f302"></a><!-- doxytag: member="pp::Var::Var" ref="a2356640f40527226f295cc15ec01f302" args="(DontManage, const PP_Var &var)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">pp::Var::Var</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="structpp_1_1_var_1_1_dont_manage.html">DontManage</a> </td>
+<td class="paramname">, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const PP_Var & </td>
+<td class="paramname"><em>var</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This constructor is used when we've given a <code>PP_Var</code> as an input argument from somewhere and that reference is managing the reference count for us. </p>
+<p>The object will not have its reference count increased or decreased by this class instance.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">var</td><td>A <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="aa87cbd4cc4bc47b6f1f8a749f60aa062"></a><!-- doxytag: member="pp::Var::Var" ref="aa87cbd4cc4bc47b6f1f8a749f60aa062" args="(const Var &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">pp::Var::Var</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor for copying a <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>. </p>
+</div>
+</div>
+<a class="anchor" id="a148a5009f2f445edfec0a5f83ed94cf4"></a><!-- doxytag: member="pp::Var::~Var" ref="a148a5009f2f445edfec0a5f83ed94cf4" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_var.html#a148a5009f2f445edfec0a5f83ed94cf4">pp::Var::~Var</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Destructor. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a07e7a4ea38b990e6c230109823347e70"></a><!-- doxytag: member="pp::Var::AsBool" ref="a07e7a4ea38b990e6c230109823347e70" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_var.html#a07e7a4ea38b990e6c230109823347e70">pp::Var::AsBool</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_var.html#a07e7a4ea38b990e6c230109823347e70" title="AsBool() converts this Var to a bool.">AsBool()</a> converts this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> to a bool. </p>
+<p>Assumes the internal representation <a class="el" href="classpp_1_1_var.html#a83773e6f9e2ac3723e33b6a1586d5c1e" title="This function determines if this Var is a bool value.">is_bool()</a>. If it's not, it will assert in debug mode, and return false.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A bool version of this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a8a798b08e197948c161737fc7b745af6"></a><!-- doxytag: member="pp::Var::AsDouble" ref="a8a798b08e197948c161737fc7b745af6" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">double <a class="el" href="classpp_1_1_var.html#a8a798b08e197948c161737fc7b745af6">pp::Var::AsDouble</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_var.html#a8a798b08e197948c161737fc7b745af6" title="AsDouble() converts this Var to a double.">AsDouble()</a> converts this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> to a double. </p>
+<p>This function is necessary because JavaScript doesn't have a concept of ints and doubles, only numbers. The distinction between the two is an optimization inside the compiler. Since converting from a double to an int may be lossy, if you care about the distinction, either always work in doubles, or check !is_double() before calling <a class="el" href="classpp_1_1_var.html#ad31cdb379b6ceaae967125e358c81d16" title="AsInt() converts this Var to an int32_t.">AsInt()</a>.</p>
+<p>These functions will assert in debug mode and return 0 if the internal representation is not <a class="el" href="classpp_1_1_var.html#ae803a32764804c873dd16c48bd4fdc83" title="This function determines if this Var is a number.">is_number()</a>.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An double version of this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ad31cdb379b6ceaae967125e358c81d16"></a><!-- doxytag: member="pp::Var::AsInt" ref="ad31cdb379b6ceaae967125e358c81d16" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_var.html#ad31cdb379b6ceaae967125e358c81d16">pp::Var::AsInt</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_var.html#ad31cdb379b6ceaae967125e358c81d16" title="AsInt() converts this Var to an int32_t.">AsInt()</a> converts this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> to an int32_t. </p>
+<p>This function is required because JavaScript doesn't have a concept of ints and doubles, only numbers. The distinction between the two is an optimization inside the compiler. Since converting from a double to an int may be lossy, if you care about the distinction, either always work in doubles, or check !is_double() before calling <a class="el" href="classpp_1_1_var.html#ad31cdb379b6ceaae967125e358c81d16" title="AsInt() converts this Var to an int32_t.">AsInt()</a>.</p>
+<p>These functions will assert in debug mode and return 0 if the internal representation is not <a class="el" href="classpp_1_1_var.html#ae803a32764804c873dd16c48bd4fdc83" title="This function determines if this Var is a number.">is_number()</a>.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t version of this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a22a1e3b2a0783b949bedcdae49c07c97"></a><!-- doxytag: member="pp::Var::AsString" ref="a22a1e3b2a0783b949bedcdae49c07c97" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">std::string <a class="el" href="classpp_1_1_var.html#a22a1e3b2a0783b949bedcdae49c07c97">pp::Var::AsString</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_var.html#a22a1e3b2a0783b949bedcdae49c07c97" title="AsString() converts this Var to a string.">AsString()</a> converts this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> to a string. </p>
+<p>If this object is not a string, it will assert in debug mode, and return an empty string.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A string version of this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a835b1e5a601d6e5ceb9a7d1b5fb7a66f"></a><!-- doxytag: member="pp::Var::DebugString" ref="a835b1e5a601d6e5ceb9a7d1b5fb7a66f" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">std::string <a class="el" href="classpp_1_1_var.html#a835b1e5a601d6e5ceb9a7d1b5fb7a66f">pp::Var::DebugString</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_var.html#a835b1e5a601d6e5ceb9a7d1b5fb7a66f" title='DebugString() returns a short description "Var<X>" that can be used for logging, where "X" is the und...'>DebugString()</a> returns a short description "Var<X>" that can be used for logging, where "X" is the underlying scalar or "UNDEFINED" or "OBJ" as it does not call into the browser to get the object description. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A string displaying the value of this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>. This function is used for debugging. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a84a725a42640a63747f7f6bc252b65d4"></a><!-- doxytag: member="pp::Var::Detach" ref="a84a725a42640a63747f7f6bc252b65d4" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_Var <a class="el" href="classpp_1_1_var.html#a84a725a42640a63747f7f6bc252b65d4">pp::Var::Detach</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_var.html#a84a725a42640a63747f7f6bc252b65d4" title="Detach() detaches from the internal PP_Var of this object, keeping the reference count the same...">Detach()</a> detaches from the internal <code>PP_Var</code> of this object, keeping the reference count the same. </p>
+<p>This is used when returning a <code>PP_Var</code> from an API function where the caller expects the return value to have the reference count incremented for it.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A detached version of this object without affecting the reference count. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a7a28894a77f9d69d1a4b0272bf80d657"></a><!-- doxytag: member="pp::Var::is_array" ref="a7a28894a77f9d69d1a4b0272bf80d657" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_var.html#a7a28894a77f9d69d1a4b0272bf80d657">pp::Var::is_array</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function determines if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is an array. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is an array, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ac0fd1d153203f8fe6c23b88618a5ef65"></a><!-- doxytag: member="pp::Var::is_array_buffer" ref="ac0fd1d153203f8fe6c23b88618a5ef65" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_var.html#ac0fd1d153203f8fe6c23b88618a5ef65">pp::Var::is_array_buffer</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function determines if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is an ArrayBuffer. </p>
+</div>
+</div>
+<a class="anchor" id="a83773e6f9e2ac3723e33b6a1586d5c1e"></a><!-- doxytag: member="pp::Var::is_bool" ref="a83773e6f9e2ac3723e33b6a1586d5c1e" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_var.html#a83773e6f9e2ac3723e33b6a1586d5c1e">pp::Var::is_bool</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function determines if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is a bool value. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is a bool, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ae061050e5deaac345eb089b9cd8796ea"></a><!-- doxytag: member="pp::Var::is_dictionary" ref="ae061050e5deaac345eb089b9cd8796ea" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_var.html#ae061050e5deaac345eb089b9cd8796ea">pp::Var::is_dictionary</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function determines if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is a dictionary. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is a dictionary, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a4a9e093ddf1475542bf0b3231e03d631"></a><!-- doxytag: member="pp::Var::is_double" ref="a4a9e093ddf1475542bf0b3231e03d631" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_var.html#a4a9e093ddf1475542bf0b3231e03d631">pp::Var::is_double</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function determines if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is a double value. </p>
+<p>The <code>is_double</code> function returns the internal representation. The JavaScript runtime may convert between the two as needed, so the distinction may not be relevant in all cases (int is really an optimization inside the runtime). So most of the time, you will want to check <a class="el" href="classpp_1_1_var.html#ae803a32764804c873dd16c48bd4fdc83" title="This function determines if this Var is a number.">is_number()</a>.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is a double, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ae7dd6f7e851c81ee259095f3e826f3fd"></a><!-- doxytag: member="pp::Var::is_int" ref="ae7dd6f7e851c81ee259095f3e826f3fd" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_var.html#ae7dd6f7e851c81ee259095f3e826f3fd">pp::Var::is_int</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function determines if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is an integer value. </p>
+<p>The <code>is_int</code> function returns the internal representation. The JavaScript runtime may convert between the two as needed, so the distinction may not be relevant in all cases (int is really an optimization inside the runtime). So most of the time, you will want to check <a class="el" href="classpp_1_1_var.html#ae803a32764804c873dd16c48bd4fdc83" title="This function determines if this Var is a number.">is_number()</a>.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is an integer, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aa4a9d8309d3390aa56a4f2966daf6533"></a><!-- doxytag: member="pp::Var::is_null" ref="aa4a9d8309d3390aa56a4f2966daf6533" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_var.html#aa4a9d8309d3390aa56a4f2966daf6533">pp::Var::is_null</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function determines if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is a null value. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is null, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ae803a32764804c873dd16c48bd4fdc83"></a><!-- doxytag: member="pp::Var::is_number" ref="ae803a32764804c873dd16c48bd4fdc83" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_var.html#ae803a32764804c873dd16c48bd4fdc83">pp::Var::is_number</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function determines if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is a number. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is an int32 or double number, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a79ed26c49d64b536619a1ee574848a36"></a><!-- doxytag: member="pp::Var::is_object" ref="a79ed26c49d64b536619a1ee574848a36" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_var.html#a79ed26c49d64b536619a1ee574848a36">pp::Var::is_object</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function determines if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is an object. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is an object, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a8ed51b6cd4e1b6fee46d8fdf27c98ef1"></a><!-- doxytag: member="pp::Var::is_resource" ref="a8ed51b6cd4e1b6fee46d8fdf27c98ef1" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_var.html#a8ed51b6cd4e1b6fee46d8fdf27c98ef1">pp::Var::is_resource</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function determines if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is a resource. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is a resource, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a57ce2eb7f023f383194155b25b53d297"></a><!-- doxytag: member="pp::Var::is_string" ref="a57ce2eb7f023f383194155b25b53d297" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_var.html#a57ce2eb7f023f383194155b25b53d297">pp::Var::is_string</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function determines if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is a string value. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is a string, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="afe677b5834bfb5f1364d212a52f1879e"></a><!-- doxytag: member="pp::Var::is_undefined" ref="afe677b5834bfb5f1364d212a52f1879e" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_var.html#afe677b5834bfb5f1364d212a52f1879e">pp::Var::is_undefined</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function determines if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is an undefined value. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is undefined, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a65601024610f1625c9945acb8725d7c4"></a><!-- doxytag: member="pp::Var::operator=" ref="a65601024610f1625c9945acb8725d7c4" args="(const Var &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_var.html">Var</a>& pp::Var::operator= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function assigns one <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> to another <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>The <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> to be assigned.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A resulting <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>. </dd></dl>
+<p>Reimplemented in <a class="el" href="classpp_1_1_var_array_buffer.html#a9cbb8584d8edc5d03875de67dec4086c">pp::VarArrayBuffer</a>, <a class="el" href="classpp_1_1_var_dictionary.html#a689815e0b4e50e2f1e9aaa8b1ef34e00">pp::VarDictionary</a>, and <a class="el" href="classpp_1_1_var_array.html#aeb98c95929dd46d1f64eba13db724154">pp::VarArray</a>.</p>
+</div>
+</div>
+<a class="anchor" id="ad689c287e64f984eb951c57af303a444"></a><!-- doxytag: member="pp::Var::operator==" ref="ad689c287e64f984eb951c57af303a444" args="(const Var &other) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool pp::Var::operator== </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function compares object identity (rather than value identity) for objects, dictionaries, and arrays. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>The <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> to be compared to this <a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the <code>other</code> <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is the same as this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ad828439641c93930ff188b45b45b4261"></a><!-- doxytag: member="pp::Var::pp_var" ref="ad828439641c93930ff188b45b45b4261" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">const PP_Var& <a class="el" href="classpp_1_1_var.html#ad828439641c93930ff188b45b45b4261">pp::Var::pp_var</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function returns the internal <code>PP_Var</code> managed by this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> object. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A const reference to a <code>PP_Var</code>. </dd></dl>
+</div>
+</div>
+<hr /><h2>Member Data Documentation</h2>
+<a class="anchor" id="a94bec264c03634f7ba66fb46ed4fda0b"></a><!-- doxytag: member="pp::Var::is_managed_" ref="a94bec264c03634f7ba66fb46ed4fda0b" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_var.html#a94bec264c03634f7ba66fb46ed4fda0b">pp::Var::is_managed_</a><code> [protected]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a7c1225564a0e3ab910823fc20d2611ab"></a><!-- doxytag: member="pp::Var::var_" ref="a7c1225564a0e3ab910823fc20d2611ab" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_Var <a class="el" href="classpp_1_1_var.html#a7c1225564a0e3ab910823fc20d2611ab">pp::Var::var_</a><code> [protected]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="var_8h.html">var.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_var_1_1_out_exception-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_var_1_1_out_exception-members.html
new file mode 100644
index 0000000..accbc6cd
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_var_1_1_out_exception-members.html
@@ -0,0 +1,16 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_var_1_1_out_exception.html">pp::Var::OutException</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_1_1_out_exception.html#ae27bafd88243e3b2fffc3038a1f31971">get</a>()</td><td><a class="el" href="classpp_1_1_var_1_1_out_exception.html">pp::Var::OutException</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_1_1_out_exception.html#afa4be8888c046a7b4f54be2cec82e4e7">OutException</a>(Var *v)</td><td><a class="el" href="classpp_1_1_var_1_1_out_exception.html">pp::Var::OutException</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_1_1_out_exception.html#af2300053414367146b49f6f71c2eb513">~OutException</a>()</td><td><a class="el" href="classpp_1_1_var_1_1_out_exception.html">pp::Var::OutException</a></td><td><code> [inline]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_var_1_1_out_exception.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_var_1_1_out_exception.html
new file mode 100644
index 0000000..1a953e3
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_var_1_1_out_exception.html
@@ -0,0 +1,89 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::Var::OutException Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::Var::OutException" -->
+<p><a href="classpp_1_1_var_1_1_out_exception-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_1_1_out_exception.html#afa4be8888c046a7b4f54be2cec82e4e7">OutException</a> (<a class="el" href="classpp_1_1_var.html">Var</a> *v)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_1_1_out_exception.html#af2300053414367146b49f6f71c2eb513">~OutException</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_Var * </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_1_1_out_exception.html#ae27bafd88243e3b2fffc3038a1f31971">get</a> ()</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This class is used when calling the raw C PPAPI when using the C++ <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> as a possible NULL exception. </p>
+<p>This class will handle getting the address of the internal value out if it's non-NULL and fixing up the reference count.</p>
+<p><b>Warning:</b> this will only work for things with exception semantics, i.e. that the value will not be changed if it's a non-undefined exception. Otherwise, this class will mess up the refcounting.</p>
+<p>This is a bit subtle:</p>
+<ul>
+<li>If NULL is passed, we return NULL from <a class="el" href="classpp_1_1_var_1_1_out_exception.html#ae27bafd88243e3b2fffc3038a1f31971">get()</a> and do nothing.</li>
+</ul>
+<ul>
+<li>If a undefined value is passed, we return the address of a undefined var from get and have the output value take ownership of that var.</li>
+</ul>
+<ul>
+<li>If a non-undefined value is passed, we return the address of that var from get, and nothing else should change.</li>
+</ul>
+<p>Example: void FooBar(a, b, Var* exception = NULL) { foo_interface->Bar(a, b, Var::OutException(exception).<a class="el" href="classpp_1_1_var_1_1_out_exception.html#ae27bafd88243e3b2fffc3038a1f31971">get()</a>); } </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="afa4be8888c046a7b4f54be2cec82e4e7"></a><!-- doxytag: member="pp::Var::OutException::OutException" ref="afa4be8888c046a7b4f54be2cec82e4e7" args="(Var *v)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var_1_1_out_exception.html#afa4be8888c046a7b4f54be2cec82e4e7">pp::Var::OutException::OutException</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="classpp_1_1_var.html">Var</a> * </td>
+<td class="paramname"><em>v</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor. </p>
+</div>
+</div>
+<a class="anchor" id="af2300053414367146b49f6f71c2eb513"></a><!-- doxytag: member="pp::Var::OutException::~OutException" ref="af2300053414367146b49f6f71c2eb513" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var_1_1_out_exception.html#af2300053414367146b49f6f71c2eb513">pp::Var::OutException::~OutException</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Destructor. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="ae27bafd88243e3b2fffc3038a1f31971"></a><!-- doxytag: member="pp::Var::OutException::get" ref="ae27bafd88243e3b2fffc3038a1f31971" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_Var* <a class="el" href="classpp_1_1_var_1_1_out_exception.html#ae27bafd88243e3b2fffc3038a1f31971">pp::Var::OutException::get</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="var_8h.html">var.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_var__inherit__graph.png b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_var__inherit__graph.png
new file mode 100644
index 0000000..7c8c101d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_var__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_var_array-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_var_array-members.html
new file mode 100644
index 0000000..60533a3
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_var_array-members.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_var_array.html">pp::VarArray</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a07e7a4ea38b990e6c230109823347e70">AsBool</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a8a798b08e197948c161737fc7b745af6">AsDouble</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ad31cdb379b6ceaae967125e358c81d16">AsInt</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a22a1e3b2a0783b949bedcdae49c07c97">AsString</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a835b1e5a601d6e5ceb9a7d1b5fb7a66f">DebugString</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a84a725a42640a63747f7f6bc252b65d4">Detach</a>()</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array.html#a61f3bd9357da964824bc3dfbc7715b12">Get</a>(uint32_t index) const </td><td><a class="el" href="classpp_1_1_var_array.html">pp::VarArray</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array.html#afaa8006ed2c7fa4fb99a6d9d96b91f5a">GetLength</a>() const </td><td><a class="el" href="classpp_1_1_var_array.html">pp::VarArray</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a7a28894a77f9d69d1a4b0272bf80d657">is_array</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ac0fd1d153203f8fe6c23b88618a5ef65">is_array_buffer</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a83773e6f9e2ac3723e33b6a1586d5c1e">is_bool</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ae061050e5deaac345eb089b9cd8796ea">is_dictionary</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a4a9e093ddf1475542bf0b3231e03d631">is_double</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ae7dd6f7e851c81ee259095f3e826f3fd">is_int</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a94bec264c03634f7ba66fb46ed4fda0b">is_managed_</a></td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#aa4a9d8309d3390aa56a4f2966daf6533">is_null</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ae803a32764804c873dd16c48bd4fdc83">is_number</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a79ed26c49d64b536619a1ee574848a36">is_object</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a8ed51b6cd4e1b6fee46d8fdf27c98ef1">is_resource</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a57ce2eb7f023f383194155b25b53d297">is_string</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#afe677b5834bfb5f1364d212a52f1879e">is_undefined</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array.html#a5acb01cba7823e5b4096a3d1c1cf31be">operator=</a>(const VarArray &other)</td><td><a class="el" href="classpp_1_1_var_array.html">pp::VarArray</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array.html#aeb98c95929dd46d1f64eba13db724154">operator=</a>(const Var &other)</td><td><a class="el" href="classpp_1_1_var_array.html">pp::VarArray</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ad689c287e64f984eb951c57af303a444">operator==</a>(const Var &other) const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ad828439641c93930ff188b45b45b4261">pp_var</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array.html#a6769d254d64ca6f0e5a5321ad9158d89">Set</a>(uint32_t index, const Var &value)</td><td><a class="el" href="classpp_1_1_var_array.html">pp::VarArray</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array.html#a6d37da10169a4e9f66152d74231694b9">SetLength</a>(uint32_t length)</td><td><a class="el" href="classpp_1_1_var_array.html">pp::VarArray</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">Var</a>()</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a8dc13cf4d873293e06e6d23325ab2544">Var</a>(Null)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a6eba29ce9f635feb4ffbdfba1014ff99">Var</a>(bool b)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a6de6c1f791f105b70d0cf815f63c2304">Var</a>(int32_t i)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a9bbdfd7d1aa2bd6c8d526ff5f6a2c035">Var</a>(double d)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a24ae309e6e0335d2b16aab6039c231fa">Var</a>(const char *utf8_str)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a4b0c8c5ef714c9444cfd8f1dd4a9fb25">Var</a>(const std::string &utf8_str)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a64a857e38d59b1e012a02d7b8f98680f">Var</a>(PassRef, const PP_Var &var)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a52415e7de337c97b08eb70b06e0cda4b">Var</a>(const PP_Var &var)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a2356640f40527226f295cc15ec01f302">Var</a>(DontManage, const PP_Var &var)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#aa87cbd4cc4bc47b6f1f8a749f60aa062">Var</a>(const Var &other)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a7c1225564a0e3ab910823fc20d2611ab">var_</a></td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array.html#a780daccc2dc02eac8a52b3c6acf245ed">VarArray</a>()</td><td><a class="el" href="classpp_1_1_var_array.html">pp::VarArray</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array.html#a3aabef79f9d8af79a4ef5dda73a09c05">VarArray</a>(const Var &var)</td><td><a class="el" href="classpp_1_1_var_array.html">pp::VarArray</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array.html#abb66ecc726d9aca28bd4a430a391a5d3">VarArray</a>(const PP_Var &var)</td><td><a class="el" href="classpp_1_1_var_array.html">pp::VarArray</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array.html#a839cc2aa7b5a4698f3a11214f76e56c0">VarArray</a>(const VarArray &other)</td><td><a class="el" href="classpp_1_1_var_array.html">pp::VarArray</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a148a5009f2f445edfec0a5f83ed94cf4">~Var</a>()</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array.html#a667aca2cad8fd48469dab1228f479284">~VarArray</a>()</td><td><a class="el" href="classpp_1_1_var_array.html">pp::VarArray</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_var_array.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_var_array.html
new file mode 100644
index 0000000..2001fb3
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_var_array.html
@@ -0,0 +1,277 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::VarArray Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::VarArray" --><!-- doxytag: inherits="pp::Var" --><div class="dynheader">
+Inheritance diagram for pp::VarArray:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_var_array__inherit__graph.png" border="0" usemap="#pp_1_1_var_array_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_var_array_inherit__map" id="pp_1_1_var_array_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page." alt="" coords="23,5,89,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_var_array-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array.html#a780daccc2dc02eac8a52b3c6acf245ed">VarArray</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array.html#a3aabef79f9d8af79a4ef5dda73a09c05">VarArray</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &var)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array.html#abb66ecc726d9aca28bd4a430a391a5d3">VarArray</a> (const PP_Var &var)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array.html#a839cc2aa7b5a4698f3a11214f76e56c0">VarArray</a> (const <a class="el" href="classpp_1_1_var_array.html">VarArray</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array.html#a667aca2cad8fd48469dab1228f479284">~VarArray</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var_array.html">VarArray</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array.html#a5acb01cba7823e5b4096a3d1c1cf31be">operator=</a> (const <a class="el" href="classpp_1_1_var_array.html">VarArray</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classpp_1_1_var.html">Var</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array.html#aeb98c95929dd46d1f64eba13db724154">operator=</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array.html#a61f3bd9357da964824bc3dfbc7715b12">Get</a> (uint32_t index) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array.html#a6769d254d64ca6f0e5a5321ad9158d89">Set</a> (uint32_t index, const <a class="el" href="classpp_1_1_var.html">Var</a> &value)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array.html#afaa8006ed2c7fa4fb99a6d9d96b91f5a">GetLength</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array.html#a6d37da10169a4e9f66152d74231694b9">SetLength</a> (uint32_t length)</td></tr>
+</table>
+<hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a780daccc2dc02eac8a52b3c6acf245ed"></a><!-- doxytag: member="pp::VarArray::VarArray" ref="a780daccc2dc02eac8a52b3c6acf245ed" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var_array.html#a780daccc2dc02eac8a52b3c6acf245ed">pp::VarArray::VarArray</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs a new array var. </p>
+</div>
+</div>
+<a class="anchor" id="a3aabef79f9d8af79a4ef5dda73a09c05"></a><!-- doxytag: member="pp::VarArray::VarArray" ref="a3aabef79f9d8af79a4ef5dda73a09c05" args="(const Var &var)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var_array.html#a780daccc2dc02eac8a52b3c6acf245ed">pp::VarArray::VarArray</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>var</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs a <code><a class="el" href="classpp_1_1_var_array.html">VarArray</a></code> given a var for which <a class="el" href="classpp_1_1_var.html#a7a28894a77f9d69d1a4b0272bf80d657" title="This function determines if this Var is an array.">is_array()</a> is true. </p>
+<p>This will refer to the same array var, but allow you to access methods specific to arrays.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">var</td><td>An array var. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="abb66ecc726d9aca28bd4a430a391a5d3"></a><!-- doxytag: member="pp::VarArray::VarArray" ref="abb66ecc726d9aca28bd4a430a391a5d3" args="(const PP_Var &var)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var_array.html#a780daccc2dc02eac8a52b3c6acf245ed">pp::VarArray::VarArray</a> </td>
+<td>(</td>
+<td class="paramtype">const PP_Var & </td>
+<td class="paramname"><em>var</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs a <code><a class="el" href="classpp_1_1_var_array.html">VarArray</a></code> given a <code>PP_Var</code> of type PP_VARTYPE_ARRAY. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">var</td><td>A <code>PP_Var</code> of type PP_VARTYPE_ARRAY. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a839cc2aa7b5a4698f3a11214f76e56c0"></a><!-- doxytag: member="pp::VarArray::VarArray" ref="a839cc2aa7b5a4698f3a11214f76e56c0" args="(const VarArray &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var_array.html#a780daccc2dc02eac8a52b3c6acf245ed">pp::VarArray::VarArray</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var_array.html">VarArray</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Copy constructor. </p>
+</div>
+</div>
+<a class="anchor" id="a667aca2cad8fd48469dab1228f479284"></a><!-- doxytag: member="pp::VarArray::~VarArray" ref="a667aca2cad8fd48469dab1228f479284" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_var_array.html#a667aca2cad8fd48469dab1228f479284">pp::VarArray::~VarArray</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a61f3bd9357da964824bc3dfbc7715b12"></a><!-- doxytag: member="pp::VarArray::Get" ref="a61f3bd9357da964824bc3dfbc7715b12" args="(uint32_t index) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_var_array.html#a61f3bd9357da964824bc3dfbc7715b12">pp::VarArray::Get</a> </td>
+<td>(</td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>index</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets an element from the array. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>An index indicating which element to return.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The element at the specified position. If <code>index</code> is larger than or equal to the array length, an undefined var is returned. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="afaa8006ed2c7fa4fb99a6d9d96b91f5a"></a><!-- doxytag: member="pp::VarArray::GetLength" ref="afaa8006ed2c7fa4fb99a6d9d96b91f5a" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="classpp_1_1_var_array.html#afaa8006ed2c7fa4fb99a6d9d96b91f5a">pp::VarArray::GetLength</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the array length. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The array length. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a5acb01cba7823e5b4096a3d1c1cf31be"></a><!-- doxytag: member="pp::VarArray::operator=" ref="a5acb01cba7823e5b4096a3d1c1cf31be" args="(const VarArray &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var_array.html">VarArray</a>& pp::VarArray::operator= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var_array.html">VarArray</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Assignment operator. </p>
+</div>
+</div>
+<a class="anchor" id="aeb98c95929dd46d1f64eba13db724154"></a><!-- doxytag: member="pp::VarArray::operator=" ref="aeb98c95929dd46d1f64eba13db724154" args="(const Var &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_var.html">Var</a>& pp::VarArray::operator= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> assignment operator is overridden here so that we can check for assigning a non-array var to a <code><a class="el" href="classpp_1_1_var_array.html">VarArray</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>The array var to be assigned.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The resulting <code><a class="el" href="classpp_1_1_var_array.html">VarArray</a></code> (as a <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>&). </dd></dl>
+<p>Reimplemented from <a class="el" href="classpp_1_1_var.html#a65601024610f1625c9945acb8725d7c4">pp::Var</a>.</p>
+</div>
+</div>
+<a class="anchor" id="a6769d254d64ca6f0e5a5321ad9158d89"></a><!-- doxytag: member="pp::VarArray::Set" ref="a6769d254d64ca6f0e5a5321ad9158d89" args="(uint32_t index, const Var &value)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_var_array.html#a6769d254d64ca6f0e5a5321ad9158d89">pp::VarArray::Set</a> </td>
+<td>(</td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>index</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>value</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sets the value of an element in the array. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>An index indicating which element to modify. If <code>index</code> is larger than or equal to the array length, the length is updated to be <code>index</code> + 1. Any position in the array that hasn't been set before is set to undefined, i.e., <code>PP_Var</code> of type <code>PP_VARTYPE_UNDEFINED</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The value to set.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>bool</code> indicating whether the operation succeeds. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a6d37da10169a4e9f66152d74231694b9"></a><!-- doxytag: member="pp::VarArray::SetLength" ref="a6d37da10169a4e9f66152d74231694b9" args="(uint32_t length)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_var_array.html#a6d37da10169a4e9f66152d74231694b9">pp::VarArray::SetLength</a> </td>
+<td>(</td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>length</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sets the array length. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>The new array length. If <code>length</code> is smaller than its current value, the array is truncated to the new length; any elements that no longer fit are removed. If <code>length</code> is larger than its current value, undefined vars are appended to increase the array to the specified length.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>bool</code> indicating whether the operation succeeds. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="var__array_8h.html">var_array.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_var_array__inherit__graph.png b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_var_array__inherit__graph.png
new file mode 100644
index 0000000..43343d6b
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_var_array__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_var_array_buffer-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_var_array_buffer-members.html
new file mode 100644
index 0000000..04c6915
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_var_array_buffer-members.html
@@ -0,0 +1,57 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_var_array_buffer.html">pp::VarArrayBuffer</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a07e7a4ea38b990e6c230109823347e70">AsBool</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a8a798b08e197948c161737fc7b745af6">AsDouble</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ad31cdb379b6ceaae967125e358c81d16">AsInt</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a22a1e3b2a0783b949bedcdae49c07c97">AsString</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array_buffer.html#aee1fdb39f8a1ebcd8a78fb5e996e0af2">ByteLength</a>() const </td><td><a class="el" href="classpp_1_1_var_array_buffer.html">pp::VarArrayBuffer</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a835b1e5a601d6e5ceb9a7d1b5fb7a66f">DebugString</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a84a725a42640a63747f7f6bc252b65d4">Detach</a>()</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a7a28894a77f9d69d1a4b0272bf80d657">is_array</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ac0fd1d153203f8fe6c23b88618a5ef65">is_array_buffer</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a83773e6f9e2ac3723e33b6a1586d5c1e">is_bool</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ae061050e5deaac345eb089b9cd8796ea">is_dictionary</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a4a9e093ddf1475542bf0b3231e03d631">is_double</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ae7dd6f7e851c81ee259095f3e826f3fd">is_int</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a94bec264c03634f7ba66fb46ed4fda0b">is_managed_</a></td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#aa4a9d8309d3390aa56a4f2966daf6533">is_null</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ae803a32764804c873dd16c48bd4fdc83">is_number</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a79ed26c49d64b536619a1ee574848a36">is_object</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a8ed51b6cd4e1b6fee46d8fdf27c98ef1">is_resource</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a57ce2eb7f023f383194155b25b53d297">is_string</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#afe677b5834bfb5f1364d212a52f1879e">is_undefined</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array_buffer.html#ab81d9579bcacf5eb927a9638092d2f3b">Map</a>()</td><td><a class="el" href="classpp_1_1_var_array_buffer.html">pp::VarArrayBuffer</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array_buffer.html#afe636bd8a6011c04dce0eaa84af7c1ee">operator=</a>(const VarArrayBuffer &other)</td><td><a class="el" href="classpp_1_1_var_array_buffer.html">pp::VarArrayBuffer</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array_buffer.html#a9cbb8584d8edc5d03875de67dec4086c">operator=</a>(const Var &other)</td><td><a class="el" href="classpp_1_1_var_array_buffer.html">pp::VarArrayBuffer</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ad689c287e64f984eb951c57af303a444">operator==</a>(const Var &other) const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ad828439641c93930ff188b45b45b4261">pp_var</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array_buffer.html#a271e6bb122f313a758b5fce1dc751687">Unmap</a>()</td><td><a class="el" href="classpp_1_1_var_array_buffer.html">pp::VarArrayBuffer</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">Var</a>()</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a8dc13cf4d873293e06e6d23325ab2544">Var</a>(Null)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a6eba29ce9f635feb4ffbdfba1014ff99">Var</a>(bool b)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a6de6c1f791f105b70d0cf815f63c2304">Var</a>(int32_t i)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a9bbdfd7d1aa2bd6c8d526ff5f6a2c035">Var</a>(double d)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a24ae309e6e0335d2b16aab6039c231fa">Var</a>(const char *utf8_str)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a4b0c8c5ef714c9444cfd8f1dd4a9fb25">Var</a>(const std::string &utf8_str)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a64a857e38d59b1e012a02d7b8f98680f">Var</a>(PassRef, const PP_Var &var)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a52415e7de337c97b08eb70b06e0cda4b">Var</a>(const PP_Var &var)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a2356640f40527226f295cc15ec01f302">Var</a>(DontManage, const PP_Var &var)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#aa87cbd4cc4bc47b6f1f8a749f60aa062">Var</a>(const Var &other)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a7c1225564a0e3ab910823fc20d2611ab">var_</a></td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array_buffer.html#a3ce55ddf56dd4fe7bb37cf6cbf10a85a">VarArrayBuffer</a>()</td><td><a class="el" href="classpp_1_1_var_array_buffer.html">pp::VarArrayBuffer</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array_buffer.html#aa933ee36d23a31ae35acacbb10069a6b">VarArrayBuffer</a>(const Var &var)</td><td><a class="el" href="classpp_1_1_var_array_buffer.html">pp::VarArrayBuffer</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array_buffer.html#a7fd29347661fc1539dd474cc3f0e2a72">VarArrayBuffer</a>(uint32_t size_in_bytes)</td><td><a class="el" href="classpp_1_1_var_array_buffer.html">pp::VarArrayBuffer</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array_buffer.html#a9b76b96c7b11a10aa4424c02b4a5511b">VarArrayBuffer</a>(const VarArrayBuffer &buffer)</td><td><a class="el" href="classpp_1_1_var_array_buffer.html">pp::VarArrayBuffer</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a148a5009f2f445edfec0a5f83ed94cf4">~Var</a>()</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array_buffer.html#afc67644105914d333c2266c056c99190">~VarArrayBuffer</a>()</td><td><a class="el" href="classpp_1_1_var_array_buffer.html">pp::VarArrayBuffer</a></td><td><code> [inline, virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_var_array_buffer.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_var_array_buffer.html
new file mode 100644
index 0000000..399163b
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_var_array_buffer.html
@@ -0,0 +1,245 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::VarArrayBuffer Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::VarArrayBuffer" --><!-- doxytag: inherits="pp::Var" --><div class="dynheader">
+Inheritance diagram for pp::VarArrayBuffer:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_var_array_buffer__inherit__graph.png" border="0" usemap="#pp_1_1_var_array_buffer_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_var_array_buffer_inherit__map" id="pp_1_1_var_array_buffer_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page." alt="" coords="41,5,108,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_var_array_buffer-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array_buffer.html#a3ce55ddf56dd4fe7bb37cf6cbf10a85a">VarArrayBuffer</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array_buffer.html#aa933ee36d23a31ae35acacbb10069a6b">VarArrayBuffer</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &var)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array_buffer.html#a7fd29347661fc1539dd474cc3f0e2a72">VarArrayBuffer</a> (uint32_t size_in_bytes)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array_buffer.html#a9b76b96c7b11a10aa4424c02b4a5511b">VarArrayBuffer</a> (const <a class="el" href="classpp_1_1_var_array_buffer.html">VarArrayBuffer</a> &buffer)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array_buffer.html#afc67644105914d333c2266c056c99190">~VarArrayBuffer</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var_array_buffer.html">VarArrayBuffer</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array_buffer.html#afe636bd8a6011c04dce0eaa84af7c1ee">operator=</a> (const <a class="el" href="classpp_1_1_var_array_buffer.html">VarArrayBuffer</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classpp_1_1_var.html">Var</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array_buffer.html#a9cbb8584d8edc5d03875de67dec4086c">operator=</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array_buffer.html#aee1fdb39f8a1ebcd8a78fb5e996e0af2">ByteLength</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array_buffer.html#ab81d9579bcacf5eb927a9638092d2f3b">Map</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array_buffer.html#a271e6bb122f313a758b5fce1dc751687">Unmap</a> ()</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p><code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code> provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous sequence of bytes. </p>
+<p>Note that these vars are not part of the embedding page's DOM, and can only be shared with JavaScript using the <code>PostMessage</code> and <code>HandleMessage</code> functions of <code><a class="el" href="classpp_1_1_instance.html">Instance</a></code>. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a3ce55ddf56dd4fe7bb37cf6cbf10a85a"></a><!-- doxytag: member="pp::VarArrayBuffer::VarArrayBuffer" ref="a3ce55ddf56dd4fe7bb37cf6cbf10a85a" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var_array_buffer.html#a3ce55ddf56dd4fe7bb37cf6cbf10a85a">pp::VarArrayBuffer::VarArrayBuffer</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The default constructor constructs a <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code> which is 0 byte long. </p>
+</div>
+</div>
+<a class="anchor" id="aa933ee36d23a31ae35acacbb10069a6b"></a><!-- doxytag: member="pp::VarArrayBuffer::VarArrayBuffer" ref="aa933ee36d23a31ae35acacbb10069a6b" args="(const Var &var)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var_array_buffer.html#a3ce55ddf56dd4fe7bb37cf6cbf10a85a">pp::VarArrayBuffer::VarArrayBuffer</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>var</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Construct a <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code> given a var for which <a class="el" href="classpp_1_1_var.html#ac0fd1d153203f8fe6c23b88618a5ef65" title="This function determines if this Var is an ArrayBuffer.">is_array_buffer()</a> is true. </p>
+<p>This will refer to the same <code>ArrayBuffer</code> as var, but allows you to access methods specific to <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">var</td><td>An <code>ArrayBuffer</code> var. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a7fd29347661fc1539dd474cc3f0e2a72"></a><!-- doxytag: member="pp::VarArrayBuffer::VarArrayBuffer" ref="a7fd29347661fc1539dd474cc3f0e2a72" args="(uint32_t size_in_bytes)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var_array_buffer.html#a3ce55ddf56dd4fe7bb37cf6cbf10a85a">pp::VarArrayBuffer::VarArrayBuffer</a> </td>
+<td>(</td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>size_in_bytes</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Construct a new <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code> which is <code>size_in_bytes</code> bytes long and initialized to zero. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">size_in_bytes</td><td>The size of the constructed <code>ArrayBuffer</code> in bytes. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a9b76b96c7b11a10aa4424c02b4a5511b"></a><!-- doxytag: member="pp::VarArrayBuffer::VarArrayBuffer" ref="a9b76b96c7b11a10aa4424c02b4a5511b" args="(const VarArrayBuffer &buffer)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var_array_buffer.html#a3ce55ddf56dd4fe7bb37cf6cbf10a85a">pp::VarArrayBuffer::VarArrayBuffer</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var_array_buffer.html">VarArrayBuffer</a> & </td>
+<td class="paramname"><em>buffer</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Copy constructor. </p>
+</div>
+</div>
+<a class="anchor" id="afc67644105914d333c2266c056c99190"></a><!-- doxytag: member="pp::VarArrayBuffer::~VarArrayBuffer" ref="afc67644105914d333c2266c056c99190" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_var_array_buffer.html#afc67644105914d333c2266c056c99190">pp::VarArrayBuffer::~VarArrayBuffer</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline, virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="aee1fdb39f8a1ebcd8a78fb5e996e0af2"></a><!-- doxytag: member="pp::VarArrayBuffer::ByteLength" ref="aee1fdb39f8a1ebcd8a78fb5e996e0af2" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="classpp_1_1_var_array_buffer.html#aee1fdb39f8a1ebcd8a78fb5e996e0af2">pp::VarArrayBuffer::ByteLength</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_var_array_buffer.html#aee1fdb39f8a1ebcd8a78fb5e996e0af2" title="ByteLength() retrieves the length of the VarArrayBuffer in bytes.">ByteLength()</a> retrieves the length of the <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code> in bytes. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The length of the <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code> in bytes. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab81d9579bcacf5eb927a9638092d2f3b"></a><!-- doxytag: member="pp::VarArrayBuffer::Map" ref="ab81d9579bcacf5eb927a9638092d2f3b" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void* <a class="el" href="classpp_1_1_var_array_buffer.html#ab81d9579bcacf5eb927a9638092d2f3b">pp::VarArrayBuffer::Map</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_var_array_buffer.html#ab81d9579bcacf5eb927a9638092d2f3b" title="Map() maps the ArrayBuffer in to the module's address space and returns a pointer to the beginning of...">Map()</a> maps the <code>ArrayBuffer</code> in to the module's address space and returns a pointer to the beginning of the internal buffer for this <code>ArrayBuffer</code>. </p>
+<p>ArrayBuffers are copied when transmitted, so changes to the underlying memory are not automatically available to the embedding page.</p>
+<p>Note that calling <a class="el" href="classpp_1_1_var_array_buffer.html#ab81d9579bcacf5eb927a9638092d2f3b" title="Map() maps the ArrayBuffer in to the module's address space and returns a pointer to the beginning of...">Map()</a> can be a relatively expensive operation. Use care when calling it in performance-critical code. For example, you should call it only once when looping over an <code>ArrayBuffer</code>.</p>
+<p><b>Example:</b></p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">char</span>* data = <span class="keyword">static_cast<</span><span class="keywordtype">char</span>*<span class="keyword">></span>(array_buffer_var.Map());
+ uint32_t byte_length = array_buffer_var.ByteLength();
+ <span class="keywordflow">for</span> (uint32_t i = 0; i < byte_length; ++i)
+ data[i] = <span class="charliteral">'A'</span>;
+</pre></div><dl class="return"><dt><b>Returns:</b></dt><dd>A pointer to the internal buffer for this <code>ArrayBuffer</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="afe636bd8a6011c04dce0eaa84af7c1ee"></a><!-- doxytag: member="pp::VarArrayBuffer::operator=" ref="afe636bd8a6011c04dce0eaa84af7c1ee" args="(const VarArrayBuffer &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var_array_buffer.html">VarArrayBuffer</a>& pp::VarArrayBuffer::operator= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var_array_buffer.html">VarArrayBuffer</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function assigns one <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code> to another <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>The <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code> to be assigned.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The resulting <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a9cbb8584d8edc5d03875de67dec4086c"></a><!-- doxytag: member="pp::VarArrayBuffer::operator=" ref="a9cbb8584d8edc5d03875de67dec4086c" args="(const Var &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_var.html">Var</a>& pp::VarArrayBuffer::operator= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function assigns one <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code> to another <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code>. </p>
+<p>A <a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a>'s assignment operator is overloaded here so that we can check for assigning a non-ArrayBuffer var to a <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>The <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code> to be assigned.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The resulting <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code> (as a <a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a>&). </dd></dl>
+<p>Reimplemented from <a class="el" href="classpp_1_1_var.html#a65601024610f1625c9945acb8725d7c4">pp::Var</a>.</p>
+</div>
+</div>
+<a class="anchor" id="a271e6bb122f313a758b5fce1dc751687"></a><!-- doxytag: member="pp::VarArrayBuffer::Unmap" ref="a271e6bb122f313a758b5fce1dc751687" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_var_array_buffer.html#a271e6bb122f313a758b5fce1dc751687">pp::VarArrayBuffer::Unmap</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_var_array_buffer.html#a271e6bb122f313a758b5fce1dc751687" title="Unmap() unmaps this ArrayBuffer var from the module address space.">Unmap()</a> unmaps this <code>ArrayBuffer</code> var from the module address space. </p>
+<p>Use this if you want to save memory but might want to call <a class="el" href="classpp_1_1_var_array_buffer.html#ab81d9579bcacf5eb927a9638092d2f3b" title="Map() maps the ArrayBuffer in to the module's address space and returns a pointer to the beginning of...">Map()</a> to map the buffer again later. </p>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="var__array__buffer_8h.html">var_array_buffer.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_var_array_buffer__inherit__graph.png b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_var_array_buffer__inherit__graph.png
new file mode 100644
index 0000000..7989af08
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_var_array_buffer__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_var_dictionary-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_var_dictionary-members.html
new file mode 100644
index 0000000..3a501a41
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_var_dictionary-members.html
@@ -0,0 +1,59 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_var_dictionary.html">pp::VarDictionary</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a07e7a4ea38b990e6c230109823347e70">AsBool</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a8a798b08e197948c161737fc7b745af6">AsDouble</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ad31cdb379b6ceaae967125e358c81d16">AsInt</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a22a1e3b2a0783b949bedcdae49c07c97">AsString</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a835b1e5a601d6e5ceb9a7d1b5fb7a66f">DebugString</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_dictionary.html#a1a3c22688159becedcb855fa78619c8c">Delete</a>(const Var &key)</td><td><a class="el" href="classpp_1_1_var_dictionary.html">pp::VarDictionary</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a84a725a42640a63747f7f6bc252b65d4">Detach</a>()</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_dictionary.html#a2221719e6c6f35e4333f426f8366451b">Get</a>(const Var &key) const </td><td><a class="el" href="classpp_1_1_var_dictionary.html">pp::VarDictionary</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_dictionary.html#a90073effa08ca9664e357027ba4c8c48">GetKeys</a>() const </td><td><a class="el" href="classpp_1_1_var_dictionary.html">pp::VarDictionary</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_dictionary.html#a3fd937b874ff4c5361e5b0e21829bd6a">HasKey</a>(const Var &key) const </td><td><a class="el" href="classpp_1_1_var_dictionary.html">pp::VarDictionary</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a7a28894a77f9d69d1a4b0272bf80d657">is_array</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ac0fd1d153203f8fe6c23b88618a5ef65">is_array_buffer</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a83773e6f9e2ac3723e33b6a1586d5c1e">is_bool</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ae061050e5deaac345eb089b9cd8796ea">is_dictionary</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a4a9e093ddf1475542bf0b3231e03d631">is_double</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ae7dd6f7e851c81ee259095f3e826f3fd">is_int</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a94bec264c03634f7ba66fb46ed4fda0b">is_managed_</a></td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#aa4a9d8309d3390aa56a4f2966daf6533">is_null</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ae803a32764804c873dd16c48bd4fdc83">is_number</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a79ed26c49d64b536619a1ee574848a36">is_object</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a8ed51b6cd4e1b6fee46d8fdf27c98ef1">is_resource</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a57ce2eb7f023f383194155b25b53d297">is_string</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#afe677b5834bfb5f1364d212a52f1879e">is_undefined</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_dictionary.html#a0fc59e6a9751d35815e0bfa4a0d06217">operator=</a>(const VarDictionary &other)</td><td><a class="el" href="classpp_1_1_var_dictionary.html">pp::VarDictionary</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_dictionary.html#a689815e0b4e50e2f1e9aaa8b1ef34e00">operator=</a>(const Var &other)</td><td><a class="el" href="classpp_1_1_var_dictionary.html">pp::VarDictionary</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ad689c287e64f984eb951c57af303a444">operator==</a>(const Var &other) const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ad828439641c93930ff188b45b45b4261">pp_var</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_dictionary.html#a5655feba6620abf7654d008e245971d8">Set</a>(const Var &key, const Var &value)</td><td><a class="el" href="classpp_1_1_var_dictionary.html">pp::VarDictionary</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">Var</a>()</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a8dc13cf4d873293e06e6d23325ab2544">Var</a>(Null)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a6eba29ce9f635feb4ffbdfba1014ff99">Var</a>(bool b)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a6de6c1f791f105b70d0cf815f63c2304">Var</a>(int32_t i)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a9bbdfd7d1aa2bd6c8d526ff5f6a2c035">Var</a>(double d)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a24ae309e6e0335d2b16aab6039c231fa">Var</a>(const char *utf8_str)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a4b0c8c5ef714c9444cfd8f1dd4a9fb25">Var</a>(const std::string &utf8_str)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a64a857e38d59b1e012a02d7b8f98680f">Var</a>(PassRef, const PP_Var &var)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a52415e7de337c97b08eb70b06e0cda4b">Var</a>(const PP_Var &var)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a2356640f40527226f295cc15ec01f302">Var</a>(DontManage, const PP_Var &var)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#aa87cbd4cc4bc47b6f1f8a749f60aa062">Var</a>(const Var &other)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a7c1225564a0e3ab910823fc20d2611ab">var_</a></td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_dictionary.html#a8687ca12c7d53653e7ea164ca13c86f8">VarDictionary</a>()</td><td><a class="el" href="classpp_1_1_var_dictionary.html">pp::VarDictionary</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_dictionary.html#ae90f19faf752428dce18ab319a421aa7">VarDictionary</a>(const Var &var)</td><td><a class="el" href="classpp_1_1_var_dictionary.html">pp::VarDictionary</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_dictionary.html#aaca1887754d80b56503cd0c329397f74">VarDictionary</a>(const PP_Var &var)</td><td><a class="el" href="classpp_1_1_var_dictionary.html">pp::VarDictionary</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_dictionary.html#a42546bb501a2e5d74f1092e88cf162ac">VarDictionary</a>(const VarDictionary &other)</td><td><a class="el" href="classpp_1_1_var_dictionary.html">pp::VarDictionary</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a148a5009f2f445edfec0a5f83ed94cf4">~Var</a>()</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_dictionary.html#adc8bdb1aee0e5deaee3b88a755cbc9ff">~VarDictionary</a>()</td><td><a class="el" href="classpp_1_1_var_dictionary.html">pp::VarDictionary</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_var_dictionary.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_var_dictionary.html
new file mode 100644
index 0000000..38b4069
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_var_dictionary.html
@@ -0,0 +1,301 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::VarDictionary Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::VarDictionary" --><!-- doxytag: inherits="pp::Var" --><div class="dynheader">
+Inheritance diagram for pp::VarDictionary:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_var_dictionary__inherit__graph.png" border="0" usemap="#pp_1_1_var_dictionary_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_var_dictionary_inherit__map" id="pp_1_1_var_dictionary_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page." alt="" coords="37,5,104,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_var_dictionary-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_dictionary.html#a8687ca12c7d53653e7ea164ca13c86f8">VarDictionary</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_dictionary.html#ae90f19faf752428dce18ab319a421aa7">VarDictionary</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &var)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_dictionary.html#aaca1887754d80b56503cd0c329397f74">VarDictionary</a> (const PP_Var &var)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_dictionary.html#a42546bb501a2e5d74f1092e88cf162ac">VarDictionary</a> (const <a class="el" href="classpp_1_1_var_dictionary.html">VarDictionary</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_dictionary.html#adc8bdb1aee0e5deaee3b88a755cbc9ff">~VarDictionary</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var_dictionary.html">VarDictionary</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_dictionary.html#a0fc59e6a9751d35815e0bfa4a0d06217">operator=</a> (const <a class="el" href="classpp_1_1_var_dictionary.html">VarDictionary</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classpp_1_1_var.html">Var</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_dictionary.html#a689815e0b4e50e2f1e9aaa8b1ef34e00">operator=</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_dictionary.html#a2221719e6c6f35e4333f426f8366451b">Get</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &key) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_dictionary.html#a5655feba6620abf7654d008e245971d8">Set</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &key, const <a class="el" href="classpp_1_1_var.html">Var</a> &value)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_dictionary.html#a1a3c22688159becedcb855fa78619c8c">Delete</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &key)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_dictionary.html#a3fd937b874ff4c5361e5b0e21829bd6a">HasKey</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &key) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var_array.html">VarArray</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_dictionary.html#a90073effa08ca9664e357027ba4c8c48">GetKeys</a> () const </td></tr>
+</table>
+<hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a8687ca12c7d53653e7ea164ca13c86f8"></a><!-- doxytag: member="pp::VarDictionary::VarDictionary" ref="a8687ca12c7d53653e7ea164ca13c86f8" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var_dictionary.html#a8687ca12c7d53653e7ea164ca13c86f8">pp::VarDictionary::VarDictionary</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs a new dictionary var. </p>
+</div>
+</div>
+<a class="anchor" id="ae90f19faf752428dce18ab319a421aa7"></a><!-- doxytag: member="pp::VarDictionary::VarDictionary" ref="ae90f19faf752428dce18ab319a421aa7" args="(const Var &var)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var_dictionary.html#a8687ca12c7d53653e7ea164ca13c86f8">pp::VarDictionary::VarDictionary</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>var</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs a <code><a class="el" href="classpp_1_1_var_dictionary.html">VarDictionary</a></code> given a var for which <a class="el" href="classpp_1_1_var.html#ae061050e5deaac345eb089b9cd8796ea" title="This function determines if this Var is a dictionary.">is_dictionary()</a> is true. </p>
+<p>This will refer to the same dictionary var, but allow you to access methods specific to dictionary.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">var</td><td>A dictionary var. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="aaca1887754d80b56503cd0c329397f74"></a><!-- doxytag: member="pp::VarDictionary::VarDictionary" ref="aaca1887754d80b56503cd0c329397f74" args="(const PP_Var &var)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var_dictionary.html#a8687ca12c7d53653e7ea164ca13c86f8">pp::VarDictionary::VarDictionary</a> </td>
+<td>(</td>
+<td class="paramtype">const PP_Var & </td>
+<td class="paramname"><em>var</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs a <code><a class="el" href="classpp_1_1_var_dictionary.html">VarDictionary</a></code> given a <code>PP_Var</code> of type PP_VARTYPE_DICTIONARY. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">var</td><td>A <code>PP_Var</code> of type PP_VARTYPE_DICTIONARY. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a42546bb501a2e5d74f1092e88cf162ac"></a><!-- doxytag: member="pp::VarDictionary::VarDictionary" ref="a42546bb501a2e5d74f1092e88cf162ac" args="(const VarDictionary &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var_dictionary.html#a8687ca12c7d53653e7ea164ca13c86f8">pp::VarDictionary::VarDictionary</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var_dictionary.html">VarDictionary</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Copy constructor. </p>
+</div>
+</div>
+<a class="anchor" id="adc8bdb1aee0e5deaee3b88a755cbc9ff"></a><!-- doxytag: member="pp::VarDictionary::~VarDictionary" ref="adc8bdb1aee0e5deaee3b88a755cbc9ff" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_var_dictionary.html#adc8bdb1aee0e5deaee3b88a755cbc9ff">pp::VarDictionary::~VarDictionary</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a1a3c22688159becedcb855fa78619c8c"></a><!-- doxytag: member="pp::VarDictionary::Delete" ref="a1a3c22688159becedcb855fa78619c8c" args="(const Var &key)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_var_dictionary.html#a1a3c22688159becedcb855fa78619c8c">pp::VarDictionary::Delete</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>key</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Deletes the specified key and its associated value, if the key exists. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>A string var. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a2221719e6c6f35e4333f426f8366451b"></a><!-- doxytag: member="pp::VarDictionary::Get" ref="a2221719e6c6f35e4333f426f8366451b" args="(const Var &key) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_var_dictionary.html#a2221719e6c6f35e4333f426f8366451b">pp::VarDictionary::Get</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>key</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the value associated with the specified key. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>A string var.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The value that is associated with <code>key</code>. If <code>key</code> is not a string var, or it doesn't exist in the dictionary, an undefined var is returned. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a90073effa08ca9664e357027ba4c8c48"></a><!-- doxytag: member="pp::VarDictionary::GetKeys" ref="a90073effa08ca9664e357027ba4c8c48" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var_array.html">VarArray</a> <a class="el" href="classpp_1_1_var_dictionary.html#a90073effa08ca9664e357027ba4c8c48">pp::VarDictionary::GetKeys</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets all the keys in the dictionary. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An array var which contains all the keys of the dictionary. The elements are string vars. Returns an empty array var if failed. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a3fd937b874ff4c5361e5b0e21829bd6a"></a><!-- doxytag: member="pp::VarDictionary::HasKey" ref="a3fd937b874ff4c5361e5b0e21829bd6a" args="(const Var &key) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_var_dictionary.html#a3fd937b874ff4c5361e5b0e21829bd6a">pp::VarDictionary::HasKey</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>key</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Checks whether a key exists. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>A string var.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>bool</code> indicating whether the key exists. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a0fc59e6a9751d35815e0bfa4a0d06217"></a><!-- doxytag: member="pp::VarDictionary::operator=" ref="a0fc59e6a9751d35815e0bfa4a0d06217" args="(const VarDictionary &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var_dictionary.html">VarDictionary</a>& pp::VarDictionary::operator= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var_dictionary.html">VarDictionary</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Assignment operator. </p>
+</div>
+</div>
+<a class="anchor" id="a689815e0b4e50e2f1e9aaa8b1ef34e00"></a><!-- doxytag: member="pp::VarDictionary::operator=" ref="a689815e0b4e50e2f1e9aaa8b1ef34e00" args="(const Var &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_var.html">Var</a>& pp::VarDictionary::operator= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> assignment operator is overridden here so that we can check for assigning a non-dictionary var to a <code><a class="el" href="classpp_1_1_var_dictionary.html">VarDictionary</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>The dictionary var to be assigned.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The resulting <code><a class="el" href="classpp_1_1_var_dictionary.html">VarDictionary</a></code> (as a <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>&). </dd></dl>
+<p>Reimplemented from <a class="el" href="classpp_1_1_var.html#a65601024610f1625c9945acb8725d7c4">pp::Var</a>.</p>
+</div>
+</div>
+<a class="anchor" id="a5655feba6620abf7654d008e245971d8"></a><!-- doxytag: member="pp::VarDictionary::Set" ref="a5655feba6620abf7654d008e245971d8" args="(const Var &key, const Var &value)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_var_dictionary.html#a5655feba6620abf7654d008e245971d8">pp::VarDictionary::Set</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>key</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>value</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sets the value associated with the specified key. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>A string var. If this key hasn't existed in the dictionary, it is added and associated with <code>value</code>; otherwise, the previous value is replaced with <code>value</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The value to set.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>bool</code> indicating whether the operation succeeds. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="var__dictionary_8h.html">var_dictionary.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_var_dictionary__inherit__graph.png b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_var_dictionary__inherit__graph.png
new file mode 100644
index 0000000..da6715e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_var_dictionary__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_view-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_view-members.html
new file mode 100644
index 0000000..798b615
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_view-members.html
@@ -0,0 +1,33 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_view.html">pp::View</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_view.html#aff9a53367325d9138ab7d9cd39e40ce2">GetClipRect</a>() const </td><td><a class="el" href="classpp_1_1_view.html">pp::View</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_view.html#a42d5b4ab4ffed3f020d3fd303a14a9dd">GetCSSScale</a>() const </td><td><a class="el" href="classpp_1_1_view.html">pp::View</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_view.html#a52759c57da28a6c06a5da23d28519287">GetDeviceScale</a>() const </td><td><a class="el" href="classpp_1_1_view.html">pp::View</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_view.html#a37996c51fa6cc2dc25783461ecde0bb9">GetRect</a>() const </td><td><a class="el" href="classpp_1_1_view.html">pp::View</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_view.html#a2ae3a19ade644199982a2d09c6dd5c11">IsFullscreen</a>() const </td><td><a class="el" href="classpp_1_1_view.html">pp::View</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_view.html#a30a0919ba5e4209ef52207375c5fc5f6">IsPageVisible</a>() const </td><td><a class="el" href="classpp_1_1_view.html">pp::View</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_view.html#aff1f9900e594167a276a624e52e5ac4c">IsVisible</a>() const </td><td><a class="el" href="classpp_1_1_view.html">pp::View</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_view.html#aebcd4ab8818a6e1dfe68e2c435823ad9">View</a>()</td><td><a class="el" href="classpp_1_1_view.html">pp::View</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_view.html#a89cc79b6731f0e67d0821fe83b3e64fb">View</a>(PP_Resource view_resource)</td><td><a class="el" href="classpp_1_1_view.html">pp::View</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_view.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_view.html
new file mode 100644
index 0000000..bfb670d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_view.html
@@ -0,0 +1,208 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::View Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::View" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::View:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_view__inherit__graph.png" border="0" usemap="#pp_1_1_view_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_view_inherit__map" id="pp_1_1_view_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="5,5,109,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_view-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_view.html#aebcd4ab8818a6e1dfe68e2c435823ad9">View</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_view.html#a89cc79b6731f0e67d0821fe83b3e64fb">View</a> (PP_Resource view_resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_rect.html">Rect</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_view.html#a37996c51fa6cc2dc25783461ecde0bb9">GetRect</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_view.html#a2ae3a19ade644199982a2d09c6dd5c11">IsFullscreen</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_view.html#aff1f9900e594167a276a624e52e5ac4c">IsVisible</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_view.html#a30a0919ba5e4209ef52207375c5fc5f6">IsPageVisible</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_rect.html">Rect</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_view.html#aff9a53367325d9138ab7d9cd39e40ce2">GetClipRect</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_view.html#a52759c57da28a6c06a5da23d28519287">GetDeviceScale</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_view.html#a42d5b4ab4ffed3f020d3fd303a14a9dd">GetCSSScale</a> () const </td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This class represents the state of the view for an instance and contains functions for retrieving the current state of that view. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="aebcd4ab8818a6e1dfe68e2c435823ad9"></a><!-- doxytag: member="pp::View::View" ref="aebcd4ab8818a6e1dfe68e2c435823ad9" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_view.html#aebcd4ab8818a6e1dfe68e2c435823ad9">pp::View::View</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor for creating an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> <code><a class="el" href="classpp_1_1_view.html" title="This class represents the state of the view for an instance and contains functions for retrieving the...">View</a></code> object. </p>
+</div>
+</div>
+<a class="anchor" id="a89cc79b6731f0e67d0821fe83b3e64fb"></a><!-- doxytag: member="pp::View::View" ref="a89cc79b6731f0e67d0821fe83b3e64fb" args="(PP_Resource view_resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_view.html#aebcd4ab8818a6e1dfe68e2c435823ad9">pp::View::View</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>view_resource</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Creates a <a class="el" href="classpp_1_1_view.html" title="This class represents the state of the view for an instance and contains functions for retrieving the...">View</a> resource, taking and holding an additional reference to the given resource handle. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="aff9a53367325d9138ab7d9cd39e40ce2"></a><!-- doxytag: member="pp::View::GetClipRect" ref="aff9a53367325d9138ab7d9cd39e40ce2" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_rect.html">Rect</a> <a class="el" href="classpp_1_1_view.html#aff9a53367325d9138ab7d9cd39e40ce2">pp::View::GetClipRect</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_view.html#aff9a53367325d9138ab7d9cd39e40ce2" title="GetClipRect() returns the clip rectangle relative to the upper-left corner of the module instance...">GetClipRect()</a> returns the clip rectangle relative to the upper-left corner of the module instance. </p>
+<p>This rectangle indicates the portions of the module instance that are scrolled into view.</p>
+<p>If the module instance is scrolled off the view, the return value will be (0, 0, 0, 0). This clip rectangle does <em>not</em> take into account page visibility. Therefore, if the module instance is scrolled into view, but the page itself is on a tab that is not visible, the return rectangle will contain the visible rectangle as though the page were visible. Refer to <a class="el" href="classpp_1_1_view.html#a30a0919ba5e4209ef52207375c5fc5f6" title="IsPageVisible() determines if the page that contains the module instance is visible.">IsPageVisible()</a> and <a class="el" href="classpp_1_1_view.html#aff1f9900e594167a276a624e52e5ac4c" title="IsVisible() determines whether the module instance might be visible to the user.">IsVisible()</a> if you want to account for page visibility.</p>
+<p>Most applications will not need to worry about the clip rectangle. The recommended behavior is to do full updates if the module instance is visible, as determined by <a class="el" href="classpp_1_1_view.html#aff1f9900e594167a276a624e52e5ac4c" title="IsVisible() determines whether the module instance might be visible to the user.">IsVisible()</a>, and do no updates if it is not visible.</p>
+<p>However, if the cost for computing pixels is very high for your application, or the pages you're targeting frequently have very large module instances with small visible portions, you may wish to optimize further. In this case, the clip rectangle will tell you which parts of the module to update.</p>
+<p>Note that painting of the page and sending of view changed updates happens asynchronously. This means when the user scrolls, for example, it is likely that the previous backing store of the module instance will be used for the first paint, and will be updated later when your application generates new content with the new clip. This may cause flickering at the boundaries when scrolling. If you do choose to do partial updates, you may want to think about what color the invisible portions of your backing store contain (be it transparent or some background color) or to paint a certain region outside the clip to reduce the visual distraction when this happens.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The rectangle representing the visible part of the module instance. If the resource is invalid, the empty rectangle is returned. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a42d5b4ab4ffed3f020d3fd303a14a9dd"></a><!-- doxytag: member="pp::View::GetCSSScale" ref="a42d5b4ab4ffed3f020d3fd303a14a9dd" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="classpp_1_1_view.html#a42d5b4ab4ffed3f020d3fd303a14a9dd">pp::View::GetCSSScale</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>GetCSSScale returns the scale factor between DIPs and CSS pixels. </p>
+<p>This allows proper scaling between DIPs - as sent via the Pepper API - and CSS pixel coordinates used for Web content.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>float</code> value representing the number of DIPs per CSS pixel. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a52759c57da28a6c06a5da23d28519287"></a><!-- doxytag: member="pp::View::GetDeviceScale" ref="a52759c57da28a6c06a5da23d28519287" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="classpp_1_1_view.html#a52759c57da28a6c06a5da23d28519287">pp::View::GetDeviceScale</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>GetDeviceScale returns the scale factor between device pixels and DIPs (also known as logical pixels or UI pixels on some platforms). </p>
+<p>This allows the developer to render their contents at device resolution, even as coordinates / sizes are given in DIPs through the API.</p>
+<p>Note that the coordinate system for Pepper APIs is DIPs. Also note that one DIP might not equal one CSS pixel - when page scale/zoom is in effect.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>float</code> value representing the number of device pixels per DIP. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a37996c51fa6cc2dc25783461ecde0bb9"></a><!-- doxytag: member="pp::View::GetRect" ref="a37996c51fa6cc2dc25783461ecde0bb9" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_rect.html">Rect</a> <a class="el" href="classpp_1_1_view.html#a37996c51fa6cc2dc25783461ecde0bb9">pp::View::GetRect</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_view.html#a37996c51fa6cc2dc25783461ecde0bb9" title="GetRect() retrieves the rectangle of the module instance associated with a view changed notification ...">GetRect()</a> retrieves the rectangle of the module instance associated with a view changed notification relative to the upper-left of the browser viewport. </p>
+<p>This position changes when the page is scrolled.</p>
+<p>The returned rectangle may not be inside the visible portion of the viewport if the module instance is scrolled off the page. Therefore, the position may be negative or larger than the size of the page. The size will always reflect the size of the module were it to be scrolled entirely into view.</p>
+<p>In general, most modules will not need to worry about the position of the module instance in the viewport, and only need to use the size.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The rectangle of the instance. The default return value for an invalid <a class="el" href="classpp_1_1_view.html" title="This class represents the state of the view for an instance and contains functions for retrieving the...">View</a> is the empty rectangle. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2ae3a19ade644199982a2d09c6dd5c11"></a><!-- doxytag: member="pp::View::IsFullscreen" ref="a2ae3a19ade644199982a2d09c6dd5c11" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_view.html#a2ae3a19ade644199982a2d09c6dd5c11">pp::View::IsFullscreen</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_view.html#a2ae3a19ade644199982a2d09c6dd5c11" title="IsFullscreen() returns whether the instance is currently displaying in fullscreen mode...">IsFullscreen()</a> returns whether the instance is currently displaying in fullscreen mode. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if the instance is in full screen mode, or <code>false</code> if it's not or the resource is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a30a0919ba5e4209ef52207375c5fc5f6"></a><!-- doxytag: member="pp::View::IsPageVisible" ref="a30a0919ba5e4209ef52207375c5fc5f6" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_view.html#a30a0919ba5e4209ef52207375c5fc5f6">pp::View::IsPageVisible</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_view.html#a30a0919ba5e4209ef52207375c5fc5f6" title="IsPageVisible() determines if the page that contains the module instance is visible.">IsPageVisible()</a> determines if the page that contains the module instance is visible. </p>
+<p>The most common cause of invisible pages is that the page is in a background tab in the browser.</p>
+<p>Most applications should use <a class="el" href="classpp_1_1_view.html#aff1f9900e594167a276a624e52e5ac4c" title="IsVisible() determines whether the module instance might be visible to the user.">IsVisible()</a> instead of this function since the module instance could be scrolled off of a visible page, and this function will still return true. However, depending on how your module interacts with the page, there may be certain updates that you may want to perform when the page is visible even if your specific module instance is not visible.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if the instance might be visible to the user, <code>false</code> if it is definitely not visible. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aff1f9900e594167a276a624e52e5ac4c"></a><!-- doxytag: member="pp::View::IsVisible" ref="aff1f9900e594167a276a624e52e5ac4c" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_view.html#aff1f9900e594167a276a624e52e5ac4c">pp::View::IsVisible</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_view.html#aff1f9900e594167a276a624e52e5ac4c" title="IsVisible() determines whether the module instance might be visible to the user.">IsVisible()</a> determines whether the module instance might be visible to the user. </p>
+<p>For example, the Chrome window could be minimized or another window could be over it. In both of these cases, the module instance would not be visible to the user, but <a class="el" href="classpp_1_1_view.html#aff1f9900e594167a276a624e52e5ac4c" title="IsVisible() determines whether the module instance might be visible to the user.">IsVisible()</a> will return true.</p>
+<p>Use the result to speed up or stop updates for invisible module instances.</p>
+<p>This function performs the duties of <a class="el" href="classpp_1_1_view.html#a37996c51fa6cc2dc25783461ecde0bb9" title="GetRect() retrieves the rectangle of the module instance associated with a view changed notification ...">GetRect()</a> (determining whether the module instance is scrolled into view and the clip rectangle is nonempty) and <a class="el" href="classpp_1_1_view.html#a30a0919ba5e4209ef52207375c5fc5f6" title="IsPageVisible() determines if the page that contains the module instance is visible.">IsPageVisible()</a> (whether the page is visible to the user).</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if the instance might be visible to the user, <code>false</code> if it is definitely not visible. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="view_8h.html">view.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_view__inherit__graph.png b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_view__inherit__graph.png
new file mode 100644
index 0000000..671ba11
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_view__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_web_socket-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_web_socket-members.html
new file mode 100644
index 0000000..8f817321
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_web_socket-members.html
@@ -0,0 +1,38 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_web_socket.html">pp::WebSocket</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_web_socket.html#ae7913ea4019cc2a10c9a0390c5959071">Close</a>(uint16_t code, const Var &reason, const CompletionCallback &callback)</td><td><a class="el" href="classpp_1_1_web_socket.html">pp::WebSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_web_socket.html#ad8471399bfca7df23b87ded733d53141">Connect</a>(const Var &url, const Var protocols[], uint32_t protocol_count, const CompletionCallback &callback)</td><td><a class="el" href="classpp_1_1_web_socket.html">pp::WebSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_web_socket.html#aee920e33ef266c51ffdaeba8d6924e19">GetBufferedAmount</a>()</td><td><a class="el" href="classpp_1_1_web_socket.html">pp::WebSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_web_socket.html#ab1bb565b7800fd3c147177e4e3a3466f">GetCloseCode</a>()</td><td><a class="el" href="classpp_1_1_web_socket.html">pp::WebSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_web_socket.html#a27c9cf6d130706fcc5e6fe2f9ed51a7b">GetCloseReason</a>()</td><td><a class="el" href="classpp_1_1_web_socket.html">pp::WebSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_web_socket.html#a092b63f716b3e02fc8ec0696ac58df84">GetCloseWasClean</a>()</td><td><a class="el" href="classpp_1_1_web_socket.html">pp::WebSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_web_socket.html#ab22093b22b7ceea6957047e1cb5967d2">GetExtensions</a>()</td><td><a class="el" href="classpp_1_1_web_socket.html">pp::WebSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_web_socket.html#a1c4b81bb05d30fdef67a07ac904abf0f">GetProtocol</a>()</td><td><a class="el" href="classpp_1_1_web_socket.html">pp::WebSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_web_socket.html#afa09ce5acb5f7f168f17b8b3f5939317">GetReadyState</a>()</td><td><a class="el" href="classpp_1_1_web_socket.html">pp::WebSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_web_socket.html#ab76ccebfe20facff03464e71f4af7719">GetURL</a>()</td><td><a class="el" href="classpp_1_1_web_socket.html">pp::WebSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_web_socket.html#a1eb972115700589ebf6998db4f411c56">ReceiveMessage</a>(Var *message, const CompletionCallback &callback)</td><td><a class="el" href="classpp_1_1_web_socket.html">pp::WebSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_web_socket.html#a276b1aae76ba9d899475aaf9c2cd4f28">SendMessage</a>(const Var &message)</td><td><a class="el" href="classpp_1_1_web_socket.html">pp::WebSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_web_socket.html#aeaac3a412a9015a9378beec9f42d5809">WebSocket</a>(const InstanceHandle &instance)</td><td><a class="el" href="classpp_1_1_web_socket.html">pp::WebSocket</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_web_socket.html#aa4810e4b945c1fc92493dc206eb35c09">~WebSocket</a>()</td><td><a class="el" href="classpp_1_1_web_socket.html">pp::WebSocket</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_web_socket.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_web_socket.html
new file mode 100644
index 0000000..76cec8cde
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_web_socket.html
@@ -0,0 +1,372 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::WebSocket Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::WebSocket" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::WebSocket:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_web_socket__inherit__graph.png" border="0" usemap="#pp_1_1_web_socket_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_web_socket_inherit__map" id="pp_1_1_web_socket_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="11,5,115,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_web_socket-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_web_socket.html#aeaac3a412a9015a9378beec9f42d5809">WebSocket</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_web_socket.html#aa4810e4b945c1fc92493dc206eb35c09">~WebSocket</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_web_socket.html#ad8471399bfca7df23b87ded733d53141">Connect</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &url, const <a class="el" href="classpp_1_1_var.html">Var</a> protocols[], uint32_t protocol_count, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_web_socket.html#ae7913ea4019cc2a10c9a0390c5959071">Close</a> (uint16_t code, const <a class="el" href="classpp_1_1_var.html">Var</a> &reason, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_web_socket.html#a1eb972115700589ebf6998db4f411c56">ReceiveMessage</a> (<a class="el" href="classpp_1_1_var.html">Var</a> *message, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_web_socket.html#a276b1aae76ba9d899475aaf9c2cd4f28">SendMessage</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &message)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_web_socket.html#aee920e33ef266c51ffdaeba8d6924e19">GetBufferedAmount</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_web_socket.html#ab1bb565b7800fd3c147177e4e3a3466f">GetCloseCode</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_web_socket.html#a27c9cf6d130706fcc5e6fe2f9ed51a7b">GetCloseReason</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_web_socket.html#a092b63f716b3e02fc8ec0696ac58df84">GetCloseWasClean</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_web_socket.html#ab22093b22b7ceea6957047e1cb5967d2">GetExtensions</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_web_socket.html#a1c4b81bb05d30fdef67a07ac904abf0f">GetProtocol</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_WebSocketReadyState </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_web_socket.html#afa09ce5acb5f7f168f17b8b3f5939317">GetReadyState</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_web_socket.html#ab76ccebfe20facff03464e71f4af7719">GetURL</a> ()</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a></code> class providing bi-directional, full-duplex, communications over a single TCP socket. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="aeaac3a412a9015a9378beec9f42d5809"></a><!-- doxytag: member="pp::WebSocket::WebSocket" ref="aeaac3a412a9015a9378beec9f42d5809" args="(const InstanceHandle &instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_web_socket.html#aeaac3a412a9015a9378beec9f42d5809">pp::WebSocket::WebSocket</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs a <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> object. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="aa4810e4b945c1fc92493dc206eb35c09"></a><!-- doxytag: member="pp::WebSocket::~WebSocket" ref="aa4810e4b945c1fc92493dc206eb35c09" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_web_socket.html#aa4810e4b945c1fc92493dc206eb35c09">pp::WebSocket::~WebSocket</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Destructs a <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> object. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="ae7913ea4019cc2a10c9a0390c5959071"></a><!-- doxytag: member="pp::WebSocket::Close" ref="ae7913ea4019cc2a10c9a0390c5959071" args="(uint16_t code, const Var &reason, const CompletionCallback &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_web_socket.html#ae7913ea4019cc2a10c9a0390c5959071">pp::WebSocket::Close</a> </td>
+<td>(</td>
+<td class="paramtype">uint16_t </td>
+<td class="paramname"><em>code</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>reason</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>callback</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_web_socket.html#ae7913ea4019cc2a10c9a0390c5959071" title="Close() closes the specified WebSocket connection by specifying code and reason.">Close()</a> closes the specified <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> connection by specifying <code>code</code> and <code>reason</code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">code</td><td>The <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> close code. This is ignored if it is 0. <code>PP_WEBSOCKETSTATUSCODE_NORMAL_CLOSURE</code> must be used for the usual case. To indicate some specific error cases, codes in the range <code>PP_WEBSOCKETSTATUSCODE_USER_REGISTERED_MIN</code> to <code>PP_WEBSOCKETSTATUSCODE_USER_REGISTERED_MAX</code>, and in the range <code>PP_WEBSOCKETSTATUSCODE_USER_PRIVATE_MIN</code> to <code>PP_WEBSOCKETSTATUSCODE_USER_PRIVATE_MAX</code> are available.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">reason</td><td>A <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> of string type representing the close reason. This is ignored if it is an undefined type.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> called when the connection is closed or an error occurs in closing the connection.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. Returns <code>PP_ERROR_BADARGUMENT</code> if <code>reason</code> contains an invalid character as a UTF-8 string, or is longer than 123 bytes. <code>PP_ERROR_BADARGUMENT</code> corresponds to a JavaScript SyntaxError in the <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> API specification. Returns <code>PP_ERROR_NOACCESS</code> if the code is not an integer equal to 1000 or in the range 3000 to 4999. <code>PP_ERROR_NOACCESS</code> corresponds to an InvalidAccessError in the <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> API specification. Returns <code>PP_ERROR_INPROGRESS</code> if a previous call to <a class="el" href="classpp_1_1_web_socket.html#ae7913ea4019cc2a10c9a0390c5959071" title="Close() closes the specified WebSocket connection by specifying code and reason.">Close()</a> is not finished. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ad8471399bfca7df23b87ded733d53141"></a><!-- doxytag: member="pp::WebSocket::Connect" ref="ad8471399bfca7df23b87ded733d53141" args="(const Var &url, const Var protocols[], uint32_t protocol_count, const CompletionCallback &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_web_socket.html#ad8471399bfca7df23b87ded733d53141">pp::WebSocket::Connect</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>url</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> </td>
+<td class="paramname"><em>protocols</em>[], </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>protocol_count</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>callback</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_web_socket.html#ad8471399bfca7df23b87ded733d53141" title="Connect() connects to the specified WebSocket server.">Connect()</a> connects to the specified <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> server. </p>
+<p>You can call this function once for an object.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">url</td><td>A <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> of string type representing a <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> server URL.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">protocols</td><td>A pointer to an array of <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> of string type specifying sub-protocols. Each <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> represents one sub-protocol. This argument can be null only if <code>protocol_count</code> is 0.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">protocol_count</td><td>The number of sub-protocols in <code>protocols</code>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> called when a connection is established or an error occurs in establishing connection.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. Returns <code>PP_ERROR_BADARGUMENT</code> if specified <code>url</code>, or <code>protocols</code> contains invalid string as defined in the <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> API specification. <code>PP_ERROR_BADARGUMENT</code> corresponds to a SyntaxError in the <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> API specification. Returns <code>PP_ERROR_NOACCESS</code> if the protocol specified in the <code>url</code> is not a secure protocol, but the origin of the caller has a secure scheme. Also returns <code>PP_ERROR_NOACCESS</code> if the port specified in the <code>url</code> is a port that the user agent is configured to block access to because it is a well-known port like SMTP. <code>PP_ERROR_NOACCESS</code> corresponds to a SecurityError of the specification. Returns <code>PP_ERROR_INPROGRESS</code> if this is not the first call to <a class="el" href="classpp_1_1_web_socket.html#ad8471399bfca7df23b87ded733d53141" title="Connect() connects to the specified WebSocket server.">Connect()</a>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aee920e33ef266c51ffdaeba8d6924e19"></a><!-- doxytag: member="pp::WebSocket::GetBufferedAmount" ref="aee920e33ef266c51ffdaeba8d6924e19" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint64_t <a class="el" href="classpp_1_1_web_socket.html#aee920e33ef266c51ffdaeba8d6924e19">pp::WebSocket::GetBufferedAmount</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_web_socket.html#aee920e33ef266c51ffdaeba8d6924e19" title="GetBufferedAmount() returns the number of bytes of text and binary messages that have been queued for...">GetBufferedAmount()</a> returns the number of bytes of text and binary messages that have been queued for the <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> connection to send, but have not been transmitted to the network yet. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the number of bytes. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab1bb565b7800fd3c147177e4e3a3466f"></a><!-- doxytag: member="pp::WebSocket::GetCloseCode" ref="ab1bb565b7800fd3c147177e4e3a3466f" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint16_t <a class="el" href="classpp_1_1_web_socket.html#ab1bb565b7800fd3c147177e4e3a3466f">pp::WebSocket::GetCloseCode</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_web_socket.html#ab1bb565b7800fd3c147177e4e3a3466f" title="GetCloseCode() returns the connection close code for the WebSocket connection.">GetCloseCode()</a> returns the connection close code for the <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> connection. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns 0 if called before the close code is set. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a27c9cf6d130706fcc5e6fe2f9ed51a7b"></a><!-- doxytag: member="pp::WebSocket::GetCloseReason" ref="a27c9cf6d130706fcc5e6fe2f9ed51a7b" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_web_socket.html#a27c9cf6d130706fcc5e6fe2f9ed51a7b">pp::WebSocket::GetCloseReason</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_web_socket.html#a27c9cf6d130706fcc5e6fe2f9ed51a7b" title="GetCloseReason() returns the connection close reason for the WebSocket connection.">GetCloseReason()</a> returns the connection close reason for the <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> connection. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns a <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> of string type. If called before the close reason is set, the return value contains an empty string. Returns a <code>PP_VARTYPE_UNDEFINED</code> if called on an invalid resource. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a092b63f716b3e02fc8ec0696ac58df84"></a><!-- doxytag: member="pp::WebSocket::GetCloseWasClean" ref="a092b63f716b3e02fc8ec0696ac58df84" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_web_socket.html#a092b63f716b3e02fc8ec0696ac58df84">pp::WebSocket::GetCloseWasClean</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_web_socket.html#a092b63f716b3e02fc8ec0696ac58df84" title="GetCloseWasClean() returns if the connection was closed cleanly for the specified WebSocket connectio...">GetCloseWasClean()</a> returns if the connection was closed cleanly for the specified <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> connection. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>false</code> if called before the connection is closed, called on an invalid resource, or closed for abnormal reasons. Otherwise, returns <code>true</code> if the connection was closed cleanly. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab22093b22b7ceea6957047e1cb5967d2"></a><!-- doxytag: member="pp::WebSocket::GetExtensions" ref="ab22093b22b7ceea6957047e1cb5967d2" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_web_socket.html#ab22093b22b7ceea6957047e1cb5967d2">pp::WebSocket::GetExtensions</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_web_socket.html#ab22093b22b7ceea6957047e1cb5967d2" title="GetExtensions() returns the extensions selected by the server for the specified WebSocket connection...">GetExtensions()</a> returns the extensions selected by the server for the specified <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> connection. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns a <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> of string type. If called before the connection is established, the <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>'s data is an empty string. Returns a <code>PP_VARTYPE_UNDEFINED</code> if called on an invalid resource. Currently the <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>'s data for valid resources are always an empty string. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a1c4b81bb05d30fdef67a07ac904abf0f"></a><!-- doxytag: member="pp::WebSocket::GetProtocol" ref="a1c4b81bb05d30fdef67a07ac904abf0f" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_web_socket.html#a1c4b81bb05d30fdef67a07ac904abf0f">pp::WebSocket::GetProtocol</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_web_socket.html#a1c4b81bb05d30fdef67a07ac904abf0f" title="GetProtocol() returns the sub-protocol chosen by the server for the specified WebSocket connection...">GetProtocol()</a> returns the sub-protocol chosen by the server for the specified <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> connection. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns a <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> of string type. If called before the connection is established, the <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> contains the empty string. Returns a code>PP_VARTYPE_UNDEFINED if called on an invalid resource. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="afa09ce5acb5f7f168f17b8b3f5939317"></a><!-- doxytag: member="pp::WebSocket::GetReadyState" ref="afa09ce5acb5f7f168f17b8b3f5939317" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_WebSocketReadyState <a class="el" href="classpp_1_1_web_socket.html#afa09ce5acb5f7f168f17b8b3f5939317">pp::WebSocket::GetReadyState</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_web_socket.html#afa09ce5acb5f7f168f17b8b3f5939317" title="GetReadyState() returns the ready state of the specified WebSocket connection.">GetReadyState()</a> returns the ready state of the specified <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> connection. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>PP_WEBSOCKETREADYSTATE_INVALID</code> if called before <a class="el" href="classpp_1_1_web_socket.html#ad8471399bfca7df23b87ded733d53141" title="Connect() connects to the specified WebSocket server.">Connect()</a> is called, or if this function is called on an invalid resource. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab76ccebfe20facff03464e71f4af7719"></a><!-- doxytag: member="pp::WebSocket::GetURL" ref="ab76ccebfe20facff03464e71f4af7719" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_web_socket.html#ab76ccebfe20facff03464e71f4af7719">pp::WebSocket::GetURL</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_web_socket.html#ab76ccebfe20facff03464e71f4af7719" title="GetURL() returns the URL associated with specified WebSocket connection.">GetURL()</a> returns the URL associated with specified <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> connection. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns a <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> of string type. If called before the connection is established, the <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> contains the empty string. Returns a <code>PP_VARTYPE_UNDEFINED</code> if this function is called on an invalid resource. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a1eb972115700589ebf6998db4f411c56"></a><!-- doxytag: member="pp::WebSocket::ReceiveMessage" ref="a1eb972115700589ebf6998db4f411c56" args="(Var *message, const CompletionCallback &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_web_socket.html#a1eb972115700589ebf6998db4f411c56">pp::WebSocket::ReceiveMessage</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="classpp_1_1_var.html">Var</a> * </td>
+<td class="paramname"><em>message</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>callback</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_web_socket.html#a1eb972115700589ebf6998db4f411c56" title="ReceiveMessage() receives a message from the WebSocket server.">ReceiveMessage()</a> receives a message from the <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> server. </p>
+<p>This interface only returns a single message. That is, this interface must be called at least N times to receive N messages, no matter the size of each message.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[out]</td><td class="paramname">message</td><td>The received message is copied to provided <code>message</code>. The <code>message</code> must remain valid until <a class="el" href="classpp_1_1_web_socket.html#a1eb972115700589ebf6998db4f411c56" title="ReceiveMessage() receives a message from the WebSocket server.">ReceiveMessage()</a> completes. Its received <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> will be of string or ArrayBuffer type.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> called when <a class="el" href="classpp_1_1_web_socket.html#a1eb972115700589ebf6998db4f411c56" title="ReceiveMessage() receives a message from the WebSocket server.">ReceiveMessage()</a> completes. This callback is ignored if <a class="el" href="classpp_1_1_web_socket.html#a1eb972115700589ebf6998db4f411c56" title="ReceiveMessage() receives a message from the WebSocket server.">ReceiveMessage()</a> completes synchronously and returns <code>PP_OK</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. If an error is detected or connection is closed, <a class="el" href="classpp_1_1_web_socket.html#a1eb972115700589ebf6998db4f411c56" title="ReceiveMessage() receives a message from the WebSocket server.">ReceiveMessage()</a> returns <code>PP_ERROR_FAILED</code> after all buffered messages are received. Until buffered message become empty, <a class="el" href="classpp_1_1_web_socket.html#a1eb972115700589ebf6998db4f411c56" title="ReceiveMessage() receives a message from the WebSocket server.">ReceiveMessage()</a> continues to return <code>PP_OK</code> as if connection is still established without errors. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a276b1aae76ba9d899475aaf9c2cd4f28"></a><!-- doxytag: member="pp::WebSocket::SendMessage" ref="a276b1aae76ba9d899475aaf9c2cd4f28" args="(const Var &message)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_web_socket.html#a276b1aae76ba9d899475aaf9c2cd4f28">pp::WebSocket::SendMessage</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>message</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_web_socket.html#a276b1aae76ba9d899475aaf9c2cd4f28" title="SendMessage() sends a message to the WebSocket server.">SendMessage()</a> sends a message to the <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> server. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">message</td><td>A message to send. The message is copied to an internal buffer, so the caller can free <code>message</code> safely after returning from the function. This <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> must be of string or ArrayBuffer types.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. Returns <code>PP_ERROR_FAILED</code> if the ReadyState is <code>PP_WEBSOCKETREADYSTATE_CONNECTING</code>. <code>PP_ERROR_FAILED</code> corresponds to a JavaScript InvalidStateError in the <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> API specification. Returns <code>PP_ERROR_BADARGUMENT</code> if the provided <code>message</code> contains an invalid character as a UTF-8 string. <code>PP_ERROR_BADARGUMENT</code> corresponds to a JavaScript SyntaxError in the <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> API specification. Otherwise, returns <code>PP_OK</code>, but it doesn't necessarily mean that the server received the message. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="websocket_8h.html">websocket.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_web_socket__inherit__graph.png b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_web_socket__inherit__graph.png
new file mode 100644
index 0000000..9ab88e75
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_web_socket__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_wheel_input_event-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_wheel_input_event-members.html
new file mode 100644
index 0000000..7c263d40
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_wheel_input_event-members.html
@@ -0,0 +1,36 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_wheel_input_event.html">pp::WheelInputEvent</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_wheel_input_event.html#ac9cfe394244f9ea55a842a0cd5ee7ab8">GetDelta</a>() const </td><td><a class="el" href="classpp_1_1_wheel_input_event.html">pp::WheelInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a6f94a5cd8453f1b69e55aadde73354e7">GetModifiers</a>() const </td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_wheel_input_event.html#a8082fa4d12d5b66aa0364825d1549ca6">GetScrollByPage</a>() const </td><td><a class="el" href="classpp_1_1_wheel_input_event.html">pp::WheelInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_wheel_input_event.html#a6c841300d5c71d9cf83eec7da8bbf084">GetTicks</a>() const </td><td><a class="el" href="classpp_1_1_wheel_input_event.html">pp::WheelInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#acc79ecdcf19f5b8a8a7268fc8ff51531">GetTimeStamp</a>() const </td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a73ca79c06ff9a39304e3b390090f03dc">GetType</a>() const </td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#ac7581e4321abe8de6f3b48d70f4aa65d">InputEvent</a>()</td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a1d4f7d3fb88de3cccc60ab26b92ccf23">InputEvent</a>(PP_Resource input_event_resource)</td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_wheel_input_event.html#a85e0f60e68512da2339d61158371fa59">WheelInputEvent</a>()</td><td><a class="el" href="classpp_1_1_wheel_input_event.html">pp::WheelInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_wheel_input_event.html#ab933e1f6aac0f96cdb2d84153bf957ca">WheelInputEvent</a>(const InputEvent &event)</td><td><a class="el" href="classpp_1_1_wheel_input_event.html">pp::WheelInputEvent</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_wheel_input_event.html#a5b9fc5bc86d59a7a5f7703511e41fb33">WheelInputEvent</a>(const InstanceHandle &instance, PP_TimeTicks time_stamp, uint32_t modifiers, const FloatPoint &wheel_delta, const FloatPoint &wheel_ticks, bool scroll_by_page)</td><td><a class="el" href="classpp_1_1_wheel_input_event.html">pp::WheelInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a2492183af4fecec44a423a5b7eae6faf">~InputEvent</a>()</td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_wheel_input_event.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_wheel_input_event.html
new file mode 100644
index 0000000..49c3ff2
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_wheel_input_event.html
@@ -0,0 +1,193 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::WheelInputEvent Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::WheelInputEvent" --><!-- doxytag: inherits="pp::InputEvent" --><div class="dynheader">
+Inheritance diagram for pp::WheelInputEvent:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_wheel_input_event__inherit__graph.png" border="0" usemap="#pp_1_1_wheel_input_event_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_wheel_input_event_inherit__map" id="pp_1_1_wheel_input_event_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_input_event.html" title="This class represents an input event resource." alt="" coords="24,83,139,112"></area><area shape="rect" id="node4" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="29,5,133,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_wheel_input_event-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_wheel_input_event.html#a85e0f60e68512da2339d61158371fa59">WheelInputEvent</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_wheel_input_event.html#ab933e1f6aac0f96cdb2d84153bf957ca">WheelInputEvent</a> (const <a class="el" href="classpp_1_1_input_event.html">InputEvent</a> &event)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_wheel_input_event.html#a5b9fc5bc86d59a7a5f7703511e41fb33">WheelInputEvent</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, PP_TimeTicks time_stamp, uint32_t modifiers, const <a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> &wheel_delta, const <a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> &wheel_ticks, bool scroll_by_page)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_wheel_input_event.html#ac9cfe394244f9ea55a842a0cd5ee7ab8">GetDelta</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_wheel_input_event.html#a6c841300d5c71d9cf83eec7da8bbf084">GetTicks</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_wheel_input_event.html#a8082fa4d12d5b66aa0364825d1549ca6">GetScrollByPage</a> () const </td></tr>
+</table>
+<hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a85e0f60e68512da2339d61158371fa59"></a><!-- doxytag: member="pp::WheelInputEvent::WheelInputEvent" ref="a85e0f60e68512da2339d61158371fa59" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_wheel_input_event.html#a85e0f60e68512da2339d61158371fa59">pp::WheelInputEvent::WheelInputEvent</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> wheel input event object. </p>
+</div>
+</div>
+<a class="anchor" id="ab933e1f6aac0f96cdb2d84153bf957ca"></a><!-- doxytag: member="pp::WheelInputEvent::WheelInputEvent" ref="ab933e1f6aac0f96cdb2d84153bf957ca" args="(const InputEvent &event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_wheel_input_event.html#a85e0f60e68512da2339d61158371fa59">pp::WheelInputEvent::WheelInputEvent</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_input_event.html">InputEvent</a> & </td>
+<td class="paramname"><em>event</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This constructor constructs a wheel input event object from the provided generic input event. </p>
+<p>If the given event is itself <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> or is not a wheel input event, the wheel object will be <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">event</td><td>A generic input event. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a5b9fc5bc86d59a7a5f7703511e41fb33"></a><!-- doxytag: member="pp::WheelInputEvent::WheelInputEvent" ref="a5b9fc5bc86d59a7a5f7703511e41fb33" args="(const InstanceHandle &instance, PP_TimeTicks time_stamp, uint32_t modifiers, const FloatPoint &wheel_delta, const FloatPoint &wheel_ticks, bool scroll_by_page)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_wheel_input_event.html#a85e0f60e68512da2339d61158371fa59">pp::WheelInputEvent::WheelInputEvent</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_TimeTicks </td>
+<td class="paramname"><em>time_stamp</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>modifiers</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> & </td>
+<td class="paramname"><em>wheel_delta</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> & </td>
+<td class="paramname"><em>wheel_ticks</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">bool </td>
+<td class="paramname"><em>scroll_by_page</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs a wheel input even from the given parameters. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance for which this event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">time_stamp</td><td>A <code>PP_TimeTicks</code> indicating the time when the event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">modifiers</td><td>A bit field combination of the <code>PP_InputEvent_Modifier</code> flags.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">wheel_delta</td><td>The scroll wheel's horizontal and vertical scroll amounts.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">wheel_ticks</td><td>The number of "clicks" of the scroll wheel that have produced the event.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">scroll_by_page</td><td>When true, the user is requesting to scroll by pages. When false, the user is requesting to scroll by lines. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="ac9cfe394244f9ea55a842a0cd5ee7ab8"></a><!-- doxytag: member="pp::WheelInputEvent::GetDelta" ref="ac9cfe394244f9ea55a842a0cd5ee7ab8" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> <a class="el" href="classpp_1_1_wheel_input_event.html#ac9cfe394244f9ea55a842a0cd5ee7ab8">pp::WheelInputEvent::GetDelta</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_wheel_input_event.html#ac9cfe394244f9ea55a842a0cd5ee7ab8" title="GetDelta() returns the amount vertically and horizontally the user has requested to scroll by with th...">GetDelta()</a> returns the amount vertically and horizontally the user has requested to scroll by with their mouse wheel. </p>
+<p>A scroll down or to the right (where the content moves up or left) is represented as positive values, and a scroll up or to the left (where the content moves down or right) is represented as negative values.</p>
+<p>This amount is system dependent and will take into account the user's preferred scroll sensitivity and potentially also nonlinear acceleration based on the speed of the scrolling.</p>
+<p>Devices will be of varying resolution. Some mice with large detents will only generate integer scroll amounts. But fractional values are also possible, for example, on some trackpads and newer mice that don't have "clicks".</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The vertical and horizontal scroll values. The units are either in pixels (when scroll_by_page is false) or pages (when scroll_by_page is true). For example, y = -3 means scroll up 3 pixels when scroll_by_page is false, and scroll up 3 pages when scroll_by_page is true. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a8082fa4d12d5b66aa0364825d1549ca6"></a><!-- doxytag: member="pp::WheelInputEvent::GetScrollByPage" ref="a8082fa4d12d5b66aa0364825d1549ca6" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_wheel_input_event.html#a8082fa4d12d5b66aa0364825d1549ca6">pp::WheelInputEvent::GetScrollByPage</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_wheel_input_event.html#a8082fa4d12d5b66aa0364825d1549ca6" title="GetScrollByPage() indicates if the scroll delta x/y indicates pages or lines to scroll by...">GetScrollByPage()</a> indicates if the scroll delta x/y indicates pages or lines to scroll by. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the event is a wheel event and the user is scrolling by pages, false if not or if the resource is not a wheel event. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a6c841300d5c71d9cf83eec7da8bbf084"></a><!-- doxytag: member="pp::WheelInputEvent::GetTicks" ref="a6c841300d5c71d9cf83eec7da8bbf084" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> <a class="el" href="classpp_1_1_wheel_input_event.html#a6c841300d5c71d9cf83eec7da8bbf084">pp::WheelInputEvent::GetTicks</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_wheel_input_event.html#a6c841300d5c71d9cf83eec7da8bbf084" title='GetTicks() returns the number of "clicks" of the scroll wheel that have produced the event...'>GetTicks()</a> returns the number of "clicks" of the scroll wheel that have produced the event. </p>
+<p>The value may have system-specific acceleration applied to it, depending on the device. The positive and negative meanings are the same as for <a class="el" href="classpp_1_1_wheel_input_event.html#ac9cfe394244f9ea55a842a0cd5ee7ab8" title="GetDelta() returns the amount vertically and horizontally the user has requested to scroll by with th...">GetDelta()</a>.</p>
+<p>If you are scrolling, you probably want to use the delta values. These tick events can be useful if you aren't doing actual scrolling and don't want or pixel values. An example may be cycling between different items in a game.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The number of "clicks" of the scroll wheel. You may receive fractional values for the wheel ticks if the mouse wheel is high resolution or doesn't have "clicks". If your program wants discrete events (as in the "picking items" example) you should accumulate fractional click values from multiple messages until the total value reaches positive or negative one. This should represent a similar amount of scrolling as for a mouse that has a discrete mouse wheel. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="input__event_8h.html">input_event.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_wheel_input_event__inherit__graph.png b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_wheel_input_event__inherit__graph.png
new file mode 100644
index 0000000..7585736
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1_wheel_input_event__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1ext_1_1_ext_completion_callback_with_output-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1ext_1_1_ext_completion_callback_with_output-members.html
new file mode 100644
index 0000000..58be4144
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1ext_1_1_ext_completion_callback_with_output-members.html
@@ -0,0 +1,35 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">pp::ext::ExtCompletionCallbackWithOutput< T ></a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a90888e6422225fb8e3d310c6ee51ac04">APIArgType</a> typedef</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, internal::ExtCallbackOutputTraits< T > ></a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html#a481b5fb925f7e78ebe1d4d45e8c2680e">BaseType</a> typedef</td><td><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">pp::ext::ExtCompletionCallbackWithOutput< T ></a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#af071c756ff3eb007dfbea3f50df74111">cc_</a></td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a2dae27f9f015c3b9342a4a65f05bd356">CompletionCallback</a>()</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#afe88416d324795a748d5112e197b0131">CompletionCallback</a>(PP_CompletionCallback_Func func, void *user_data)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a14fd9478ff007a91a3cdfa397c8e6e56">CompletionCallback</a>(PP_CompletionCallback_Func func, void *user_data, int32_t flags)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a12536d4027ba401e4009404eeeaeeb97">CompletionCallbackWithOutputBase</a>(OutputStorageType *output)</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, internal::ExtCallbackOutputTraits< T > ></a></td><td><code> [inline, explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a00d091474d398b2b3a14c2dbe05b74a2">CompletionCallbackWithOutputBase</a>(PP_CompletionCallback_Func func, void *user_data, OutputStorageType *output)</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, internal::ExtCallbackOutputTraits< T > ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a19a3960c8990f8000a34062cc4534098">CompletionCallbackWithOutputBase</a>(PP_CompletionCallback_Func func, void *user_data, int32_t flags, OutputStorageType *output)</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, internal::ExtCallbackOutputTraits< T > ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html#aa87c7b22e765a86493282ae962d70808">ExtCompletionCallbackWithOutput</a>(typename BaseType::OutputStorageType *output)</td><td><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">pp::ext::ExtCompletionCallbackWithOutput< T ></a></td><td><code> [inline, explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html#abb7a1ffe2592a4fe66941a6c9cb3113d">ExtCompletionCallbackWithOutput</a>(PP_CompletionCallback_Func func, void *user_data, typename BaseType::OutputStorageType *output)</td><td><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">pp::ext::ExtCompletionCallbackWithOutput< T ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html#a8e28a5fbcd848df3e34178ac29d1ae60">ExtCompletionCallbackWithOutput</a>(PP_CompletionCallback_Func func, void *user_data, int32_t flags, typename BaseType::OutputStorageType *output)</td><td><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">pp::ext::ExtCompletionCallbackWithOutput< T ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a60e466572fe7de362969dd41179c971f">flags</a>() const </td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a6ce66ec2655c9157cab494f248551b5f">IsOptional</a>() const </td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a24d1648d1a92a5c36894ce081457e603">MayForce</a>(int32_t result) const </td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a23ceea58754e1d1b6570a268f6b669b8">output</a>() const</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, internal::ExtCallbackOutputTraits< T > ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">OutputStorageType</a> typedef</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, internal::ExtCallbackOutputTraits< T > ></a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#ada943a747c94eebb1e32dbd6914c2526">pp_completion_callback</a>() const </td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a7795404cc15a4f96523c28db21d364c4">Run</a>(int32_t result)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a2996ca2f2b640c7da6da9016a5b0cd16">RunAndClear</a>(int32_t result)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a89fb884e8af572e9bf38fb880e132438">set_flags</a>(int32_t flags)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6dea62f34b316631f576d61959693775">TraitsType</a> typedef</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, internal::ExtCallbackOutputTraits< T > ></a></td><td></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1ext_1_1_ext_completion_callback_with_output.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1ext_1_1_ext_completion_callback_with_output.html
new file mode 100644
index 0000000..c360ce5
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1ext_1_1_ext_completion_callback_with_output.html
@@ -0,0 +1,177 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::ext::ExtCompletionCallbackWithOutput< T > Class Template Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::ext::ExtCompletionCallbackWithOutput" --><!-- doxytag: inherits="CompletionCallbackWithOutputBase< T, internal::ExtCallbackOutputTraits< T > >" --><div class="dynheader">
+Inheritance diagram for pp::ext::ExtCompletionCallbackWithOutput< T >:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1ext_1_1_ext_completion_callback_with_output__inherit__graph.png" border="0" usemap="#pp_1_1ext_1_1_ext_completion_callback_with_output_3_01_t_01_4_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1ext_1_1_ext_completion_callback_with_output_3_01_t_01_4_inherit__map" id="pp_1_1ext_1_1_ext_completion_callback_with_output_3_01_t_01_4_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html" title="pp::internal::CompletionCallbackWithOutputBase\< T, internal::ExtCallbackOutputTraits\< T \> \>" alt="" coords="227,5,845,35"></area><area shape="rect" id="node4" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl..." alt="" coords="7,5,177,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1ext_1_1_ext_completion_callback_with_output-members.html">List of all members.</a></p>
+<h2>
+Public Types</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">typedef <br class="typebreak" />
+::<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase</a><br class="typebreak" />
+< T, <br class="typebreak" />
+internal::ExtCallbackOutputTraits<br class="typebreak" />
+< T > > </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html#a481b5fb925f7e78ebe1d4d45e8c2680e">BaseType</a></td></tr>
+</table><h2>
+Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html#aa87c7b22e765a86493282ae962d70808">ExtCompletionCallbackWithOutput</a> (typename <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">BaseType::OutputStorageType</a> *<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a23ceea58754e1d1b6570a268f6b669b8">output</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html#abb7a1ffe2592a4fe66941a6c9cb3113d">ExtCompletionCallbackWithOutput</a> (PP_CompletionCallback_Func func, void *user_data, typename <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">BaseType::OutputStorageType</a> *<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a23ceea58754e1d1b6570a268f6b669b8">output</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html#a8e28a5fbcd848df3e34178ac29d1ae60">ExtCompletionCallbackWithOutput</a> (PP_CompletionCallback_Func func, void *user_data, int32_t <a class="el" href="classpp_1_1_completion_callback.html#a60e466572fe7de362969dd41179c971f">flags</a>, typename <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">BaseType::OutputStorageType</a> *<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a23ceea58754e1d1b6570a268f6b669b8">output</a>)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><h3>template<typename T><br />
+class pp::ext::ExtCompletionCallbackWithOutput< T ></h3>
+<p><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html" title="ExtCompletionCallbackWithOutput is similar to CompletionCallbackWithOutput, but used by APIs within t...">ExtCompletionCallbackWithOutput</a> is similar to <a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a>, but used by APIs within the <a class="el" href="namespacepp_1_1ext.html">pp::ext</a> namespace. </p>
+<p>Usually it is used with the <a class="el" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe...">CompletionCallbackFactory</a>'s NewExtCallbackWithOutput. </p>
+</div><hr /><h2>Member Typedef Documentation</h2>
+<a class="anchor" id="a481b5fb925f7e78ebe1d4d45e8c2680e"></a><!-- doxytag: member="pp::ext::ExtCompletionCallbackWithOutput::BaseType" ref="a481b5fb925f7e78ebe1d4d45e8c2680e" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T > </div>
+<table class="memname">
+<tr>
+<td class="memname">typedef ::<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase</a>< T, internal::ExtCallbackOutputTraits<T> > <a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">pp::ext::ExtCompletionCallbackWithOutput</a>< T >::<a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html#a481b5fb925f7e78ebe1d4d45e8c2680e">BaseType</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="aa87c7b22e765a86493282ae962d70808"></a><!-- doxytag: member="pp::ext::ExtCompletionCallbackWithOutput::ExtCompletionCallbackWithOutput" ref="aa87c7b22e765a86493282ae962d70808" args="(typename BaseType::OutputStorageType *output)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">pp::ext::ExtCompletionCallbackWithOutput</a>< T >::<a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">ExtCompletionCallbackWithOutput</a> </td>
+<td>(</td>
+<td class="paramtype">typename <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">BaseType::OutputStorageType</a> * </td>
+<td class="paramname"><em>output</em></td><td>)</td>
+<td><code> [inline, explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The default constructor will create a blocking <code><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html" title="ExtCompletionCallbackWithOutput is similar to CompletionCallbackWithOutput, but used by APIs within t...">ExtCompletionCallbackWithOutput</a></code> that references the given output data. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">output</td><td>A pointer to the data associated with the callback. The caller must ensure that this pointer outlives the completion callback. <code>OutputStorageType</code> is either <code>ext::internal::ArrayVarOutputAdapterWithStorage<U></code> (if the template parameter T is of the form std::vector<U>) or <code>ext::internal::VarOutputAdapterWithStorage<T></code> (otherwise).</td></tr>
+</table>
+</dd>
+</dl>
+<p><b>Note:</b> Blocking completion callbacks are only allowed from background threads. </p>
+</div>
+</div>
+<a class="anchor" id="abb7a1ffe2592a4fe66941a6c9cb3113d"></a><!-- doxytag: member="pp::ext::ExtCompletionCallbackWithOutput::ExtCompletionCallbackWithOutput" ref="abb7a1ffe2592a4fe66941a6c9cb3113d" args="(PP_CompletionCallback_Func func, void *user_data, typename BaseType::OutputStorageType *output)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">pp::ext::ExtCompletionCallbackWithOutput</a>< T >::<a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">ExtCompletionCallbackWithOutput</a> </td>
+<td>(</td>
+<td class="paramtype">PP_CompletionCallback_Func </td>
+<td class="paramname"><em>func</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">void * </td>
+<td class="paramname"><em>user_data</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">typename <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">BaseType::OutputStorageType</a> * </td>
+<td class="paramname"><em>output</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor for creating an <code><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html" title="ExtCompletionCallbackWithOutput is similar to CompletionCallbackWithOutput, but used by APIs within t...">ExtCompletionCallbackWithOutput</a></code> that references the given output data. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">func</td><td>The function to be called on completion. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">user_data</td><td>The user data to be passed to the callback function. This is optional and is typically used to help track state in case of multiple pending callbacks. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">output</td><td>A pointer to the data associated with the callback. The caller must ensure that this pointer outlives the completion callback. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a8e28a5fbcd848df3e34178ac29d1ae60"></a><!-- doxytag: member="pp::ext::ExtCompletionCallbackWithOutput::ExtCompletionCallbackWithOutput" ref="a8e28a5fbcd848df3e34178ac29d1ae60" args="(PP_CompletionCallback_Func func, void *user_data, int32_t flags, typename BaseType::OutputStorageType *output)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">pp::ext::ExtCompletionCallbackWithOutput</a>< T >::<a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">ExtCompletionCallbackWithOutput</a> </td>
+<td>(</td>
+<td class="paramtype">PP_CompletionCallback_Func </td>
+<td class="paramname"><em>func</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">void * </td>
+<td class="paramname"><em>user_data</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>flags</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">typename <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">BaseType::OutputStorageType</a> * </td>
+<td class="paramname"><em>output</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor for creating an <code><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html" title="ExtCompletionCallbackWithOutput is similar to CompletionCallbackWithOutput, but used by APIs within t...">ExtCompletionCallbackWithOutput</a></code> that references the given output data. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">func</td><td>The function to be called on completion.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">user_data</td><td>The user data to be passed to the callback function. This is optional and is typically used to help track state in case of multiple pending callbacks.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>Bit field combination of <code>PP_CompletionCallback_Flag</code> flags used to control how non-NULL callbacks are scheduled by asynchronous methods.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">output</td><td>A pointer to the data associated with the callback. The caller must ensure that this pointer outlives the completion callback. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="completion__callback_8h.html">completion_callback.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1ext_1_1_ext_completion_callback_with_output__inherit__graph.png b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1ext_1_1_ext_completion_callback_with_output__inherit__graph.png
new file mode 100644
index 0000000..a8fcf5d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1ext_1_1_ext_completion_callback_with_output__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1internal_1_1_completion_callback_with_output_base-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1internal_1_1_completion_callback_with_output_base-members.html
new file mode 100644
index 0000000..2da28d6
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1internal_1_1_completion_callback_with_output_base-members.html
@@ -0,0 +1,31 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, Traits ></a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a90888e6422225fb8e3d310c6ee51ac04">APIArgType</a> typedef</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, Traits ></a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#af071c756ff3eb007dfbea3f50df74111">cc_</a></td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a2dae27f9f015c3b9342a4a65f05bd356">CompletionCallback</a>()</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#afe88416d324795a748d5112e197b0131">CompletionCallback</a>(PP_CompletionCallback_Func func, void *user_data)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a14fd9478ff007a91a3cdfa397c8e6e56">CompletionCallback</a>(PP_CompletionCallback_Func func, void *user_data, int32_t flags)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a12536d4027ba401e4009404eeeaeeb97">CompletionCallbackWithOutputBase</a>(OutputStorageType *output)</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, Traits ></a></td><td><code> [inline, explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a00d091474d398b2b3a14c2dbe05b74a2">CompletionCallbackWithOutputBase</a>(PP_CompletionCallback_Func func, void *user_data, OutputStorageType *output)</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, Traits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a19a3960c8990f8000a34062cc4534098">CompletionCallbackWithOutputBase</a>(PP_CompletionCallback_Func func, void *user_data, int32_t flags, OutputStorageType *output)</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, Traits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a60e466572fe7de362969dd41179c971f">flags</a>() const </td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a6ce66ec2655c9157cab494f248551b5f">IsOptional</a>() const </td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a24d1648d1a92a5c36894ce081457e603">MayForce</a>(int32_t result) const </td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a23ceea58754e1d1b6570a268f6b669b8">output</a>() const </td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, Traits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">OutputStorageType</a> typedef</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, Traits ></a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#ada943a747c94eebb1e32dbd6914c2526">pp_completion_callback</a>() const </td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a7795404cc15a4f96523c28db21d364c4">Run</a>(int32_t result)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a2996ca2f2b640c7da6da9016a5b0cd16">RunAndClear</a>(int32_t result)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a89fb884e8af572e9bf38fb880e132438">set_flags</a>(int32_t flags)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6dea62f34b316631f576d61959693775">TraitsType</a> typedef</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, Traits ></a></td><td></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1internal_1_1_completion_callback_with_output_base.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1internal_1_1_completion_callback_with_output_base.html
new file mode 100644
index 0000000..be325fb
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1internal_1_1_completion_callback_with_output_base.html
@@ -0,0 +1,195 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::internal::CompletionCallbackWithOutputBase< T, Traits > Class Template Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::internal::CompletionCallbackWithOutputBase" --><!-- doxytag: inherits="pp::CompletionCallback" --><div class="dynheader">
+Inheritance diagram for pp::internal::CompletionCallbackWithOutputBase< T, Traits >:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1internal_1_1_completion_callback_with_output_base__inherit__graph.png" border="0" usemap="#pp_1_1internal_1_1_completion_callback_with_output_base_3_01_t_00_01_traits_01_4_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1internal_1_1_completion_callback_with_output_base_3_01_t_00_01_traits_01_4_inherit__map" id="pp_1_1internal_1_1_completion_callback_with_output_base_3_01_t_00_01_traits_01_4_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl..." alt="" coords="124,5,295,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1internal_1_1_completion_callback_with_output_base-members.html">List of all members.</a></p>
+<h2>
+Public Types</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">typedef Traits::StorageType </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">OutputStorageType</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef Traits::APIArgType </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a90888e6422225fb8e3d310c6ee51ac04">APIArgType</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef Traits </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6dea62f34b316631f576d61959693775">TraitsType</a></td></tr>
+</table><h2>
+Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a12536d4027ba401e4009404eeeaeeb97">CompletionCallbackWithOutputBase</a> (<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">OutputStorageType</a> *<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a23ceea58754e1d1b6570a268f6b669b8">output</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a00d091474d398b2b3a14c2dbe05b74a2">CompletionCallbackWithOutputBase</a> (PP_CompletionCallback_Func func, void *user_data, <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">OutputStorageType</a> *<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a23ceea58754e1d1b6570a268f6b669b8">output</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a19a3960c8990f8000a34062cc4534098">CompletionCallbackWithOutputBase</a> (PP_CompletionCallback_Func func, void *user_data, int32_t <a class="el" href="classpp_1_1_completion_callback.html#a60e466572fe7de362969dd41179c971f">flags</a>, <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">OutputStorageType</a> *<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a23ceea58754e1d1b6570a268f6b669b8">output</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a90888e6422225fb8e3d310c6ee51ac04">APIArgType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a23ceea58754e1d1b6570a268f6b669b8">output</a> () const </td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><h3>template<typename T, typename Traits><br />
+class pp::internal::CompletionCallbackWithOutputBase< T, Traits ></h3>
+<p>The base class of [Ext]<a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a>. </p>
+<p>The template parameter Traits determines the storage type (OutputStorageType), the output parameter type used by the browser (APIArgType), and how to map OutputStorageType to APIArgType. </p>
+</div><hr /><h2>Member Typedef Documentation</h2>
+<a class="anchor" id="a90888e6422225fb8e3d310c6ee51ac04"></a><!-- doxytag: member="pp::internal::CompletionCallbackWithOutputBase::APIArgType" ref="a90888e6422225fb8e3d310c6ee51ac04" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T, typename Traits> </div>
+<table class="memname">
+<tr>
+<td class="memname">typedef Traits::APIArgType <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase</a>< T, Traits >::<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a90888e6422225fb8e3d310c6ee51ac04">APIArgType</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a6b6f033dd376edc4507951d82bd1ea18"></a><!-- doxytag: member="pp::internal::CompletionCallbackWithOutputBase::OutputStorageType" ref="a6b6f033dd376edc4507951d82bd1ea18" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T, typename Traits> </div>
+<table class="memname">
+<tr>
+<td class="memname">typedef Traits::StorageType <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase</a>< T, Traits >::<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">OutputStorageType</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a6dea62f34b316631f576d61959693775"></a><!-- doxytag: member="pp::internal::CompletionCallbackWithOutputBase::TraitsType" ref="a6dea62f34b316631f576d61959693775" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T, typename Traits> </div>
+<table class="memname">
+<tr>
+<td class="memname">typedef Traits <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase</a>< T, Traits >::<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6dea62f34b316631f576d61959693775">TraitsType</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a12536d4027ba401e4009404eeeaeeb97"></a><!-- doxytag: member="pp::internal::CompletionCallbackWithOutputBase::CompletionCallbackWithOutputBase" ref="a12536d4027ba401e4009404eeeaeeb97" args="(OutputStorageType *output)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T, typename Traits> </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase</a>< T, Traits >::<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">CompletionCallbackWithOutputBase</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">OutputStorageType</a> * </td>
+<td class="paramname"><em>output</em></td><td>)</td>
+<td><code> [inline, explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a00d091474d398b2b3a14c2dbe05b74a2"></a><!-- doxytag: member="pp::internal::CompletionCallbackWithOutputBase::CompletionCallbackWithOutputBase" ref="a00d091474d398b2b3a14c2dbe05b74a2" args="(PP_CompletionCallback_Func func, void *user_data, OutputStorageType *output)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T, typename Traits> </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase</a>< T, Traits >::<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">CompletionCallbackWithOutputBase</a> </td>
+<td>(</td>
+<td class="paramtype">PP_CompletionCallback_Func </td>
+<td class="paramname"><em>func</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">void * </td>
+<td class="paramname"><em>user_data</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype"><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">OutputStorageType</a> * </td>
+<td class="paramname"><em>output</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a19a3960c8990f8000a34062cc4534098"></a><!-- doxytag: member="pp::internal::CompletionCallbackWithOutputBase::CompletionCallbackWithOutputBase" ref="a19a3960c8990f8000a34062cc4534098" args="(PP_CompletionCallback_Func func, void *user_data, int32_t flags, OutputStorageType *output)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T, typename Traits> </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase</a>< T, Traits >::<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">CompletionCallbackWithOutputBase</a> </td>
+<td>(</td>
+<td class="paramtype">PP_CompletionCallback_Func </td>
+<td class="paramname"><em>func</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">void * </td>
+<td class="paramname"><em>user_data</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>flags</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype"><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">OutputStorageType</a> * </td>
+<td class="paramname"><em>output</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a23ceea58754e1d1b6570a268f6b669b8"></a><!-- doxytag: member="pp::internal::CompletionCallbackWithOutputBase::output" ref="a23ceea58754e1d1b6570a268f6b669b8" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T, typename Traits> </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a90888e6422225fb8e3d310c6ee51ac04">APIArgType</a> <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase</a>< T, Traits >::<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a23ceea58754e1d1b6570a268f6b669b8">output</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="completion__callback_8h.html">completion_callback.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1internal_1_1_completion_callback_with_output_base__inherit__graph.png b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1internal_1_1_completion_callback_with_output_base__inherit__graph.png
new file mode 100644
index 0000000..35a94e3
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1internal_1_1_completion_callback_with_output_base__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage-members.html
new file mode 100644
index 0000000..121763e7
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage-members.html
@@ -0,0 +1,16 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html">pp::internal::DirectoryEntryArrayOutputAdapterWithStorage</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html#a731d90a8b1511d95720095234bc85519">DirectoryEntryArrayOutputAdapterWithStorage</a>()</td><td><a class="el" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html">pp::internal::DirectoryEntryArrayOutputAdapterWithStorage</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html#ad178a94b0ffee2dcc7e5ad2525f2863e">output</a>()</td><td><a class="el" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html">pp::internal::DirectoryEntryArrayOutputAdapterWithStorage</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html#a7ba11c106f03fc7c42048775acc0e2e3">~DirectoryEntryArrayOutputAdapterWithStorage</a>()</td><td><a class="el" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html">pp::internal::DirectoryEntryArrayOutputAdapterWithStorage</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html
new file mode 100644
index 0000000..449112b
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html
@@ -0,0 +1,71 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::internal::DirectoryEntryArrayOutputAdapterWithStorage Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::internal::DirectoryEntryArrayOutputAdapterWithStorage" -->
+<p><a href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html#a731d90a8b1511d95720095234bc85519">DirectoryEntryArrayOutputAdapterWithStorage</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html#a7ba11c106f03fc7c42048775acc0e2e3">~DirectoryEntryArrayOutputAdapterWithStorage</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">std::vector< <a class="el" href="classpp_1_1_directory_entry.html">DirectoryEntry</a> > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html#ad178a94b0ffee2dcc7e5ad2525f2863e">output</a> ()</td></tr>
+</table>
+<hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a731d90a8b1511d95720095234bc85519"></a><!-- doxytag: member="pp::internal::DirectoryEntryArrayOutputAdapterWithStorage::DirectoryEntryArrayOutputAdapterWithStorage" ref="a731d90a8b1511d95720095234bc85519" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html#a731d90a8b1511d95720095234bc85519">pp::internal::DirectoryEntryArrayOutputAdapterWithStorage::DirectoryEntryArrayOutputAdapterWithStorage</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a7ba11c106f03fc7c42048775acc0e2e3"></a><!-- doxytag: member="pp::internal::DirectoryEntryArrayOutputAdapterWithStorage::~DirectoryEntryArrayOutputAdapterWithStorage" ref="a7ba11c106f03fc7c42048775acc0e2e3" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html#a7ba11c106f03fc7c42048775acc0e2e3">pp::internal::DirectoryEntryArrayOutputAdapterWithStorage::~DirectoryEntryArrayOutputAdapterWithStorage</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="ad178a94b0ffee2dcc7e5ad2525f2863e"></a><!-- doxytag: member="pp::internal::DirectoryEntryArrayOutputAdapterWithStorage::output" ref="ad178a94b0ffee2dcc7e5ad2525f2863e" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">std::vector<<a class="el" href="classpp_1_1_directory_entry.html">DirectoryEntry</a>>& <a class="el" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html#ad178a94b0ffee2dcc7e5ad2525f2863e">pp::internal::DirectoryEntryArrayOutputAdapterWithStorage::output</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="directory__entry_8h.html">directory_entry.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/completion__callback_8h.html b/native_client_sdk/doc_generated/pepper_beta/cpp/completion__callback_8h.html
new file mode 100644
index 0000000..3a619489
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/completion__callback_8h.html
@@ -0,0 +1,40 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/cpp/completion_callback.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for completion_callback.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="completion__callback_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2cpp_2completion__callback_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2completion__callback_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2completion__callback_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This API enables you to implement and receive callbacks when Pepper operations complete asynchronously. <a href="classpp_1_1_completion_callback.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, Traits ></a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The base class of [Ext]<a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a>. <a href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_with_output.html">pp::CompletionCallbackWithOutput< T ></a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A <a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a> defines a completion callback that additionally stores a pointer to some output data. <a href="classpp_1_1_completion_callback_with_output.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">pp::ext::ExtCompletionCallbackWithOutput< T ></a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html" title="ExtCompletionCallbackWithOutput is similar to CompletionCallbackWithOutput, but used by APIs within t...">ExtCompletionCallbackWithOutput</a> is similar to <a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a>, but used by APIs within the <a class="el" href="namespacepp_1_1ext.html">pp::ext</a> namespace. <a href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp_1_1internal.html">pp::internal</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp_1_1ext.html">pp::ext</a></td></tr>
+</table><h2>
+Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">CompletionCallback </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html#a720b2df07621eabf59bdbae84ab80f47">pp::BlockUntilComplete</a> ()</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API to create and run a callback. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/completion__callback_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/cpp/completion__callback_8h__incl.png
new file mode 100644
index 0000000..8f3f5a2
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/completion__callback_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/completion__callback__factory_8h.html b/native_client_sdk/doc_generated/pepper_beta/cpp/completion__callback__factory_8h.html
new file mode 100644
index 0000000..d742e19
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/completion__callback__factory_8h.html
@@ -0,0 +1,43 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/utility/completion_callback_factory.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for completion_callback_factory.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="completion__callback__factory_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2utility_2completion__callback__factory_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2utility_2completion__callback__factory_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2utility_2completion__callback__factory_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">pp::internal::TypeUnwrapper< T ></a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1internal_1_1_type_unwrapper_3_01_t_01_6_01_4.html">pp::internal::TypeUnwrapper< T & ></a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1internal_1_1_type_unwrapper_3_01const_01_t_01_6_01_4.html">pp::internal::TypeUnwrapper< const T & ></a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">CompletionCallbackFactory<T> may be used to create <a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a> objects that are bound to member functions. <a href="classpp_1_1_completion_callback_factory.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>pp::CompletionCallbackFactory< T, ThreadTraits >::BackPointer</b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>pp::CompletionCallbackFactory< T, ThreadTraits >::CallbackData< Dispatcher ></b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>pp::CompletionCallbackFactory< T, ThreadTraits >::Dispatcher0< Method ></b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>pp::CompletionCallbackFactory< T, ThreadTraits >::DispatcherWithOutput0< Traits, Output, Method ></b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>pp::CompletionCallbackFactory< T, ThreadTraits >::Dispatcher1< Method, A ></b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>pp::CompletionCallbackFactory< T, ThreadTraits >::DispatcherWithOutput1< Traits, Output, Method, A ></b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>pp::CompletionCallbackFactory< T, ThreadTraits >::Dispatcher2< Method, A, B ></b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>pp::CompletionCallbackFactory< T, ThreadTraits >::DispatcherWithOutput2< Traits, Output, Method, A, B ></b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>pp::CompletionCallbackFactory< T, ThreadTraits >::Dispatcher3< Method, A, B, C ></b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>pp::CompletionCallbackFactory< T, ThreadTraits >::DispatcherWithOutput3< Traits, Output, Method, A, B, C ></b></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp_1_1internal.html">pp::internal</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API to create CompletionCallback objects that are bound to member functions. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/completion__callback__factory_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/cpp/completion__callback__factory_8h__incl.png
new file mode 100644
index 0000000..db215bb
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/completion__callback__factory_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/core_8h.html b/native_client_sdk/doc_generated/pepper_beta/cpp/core_8h.html
new file mode 100644
index 0000000..1440086
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/core_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/cpp/core.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for core.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="core_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2cpp_2core_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2core_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2core_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_core.html">pp::Core</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">APIs related to memory management, time, and threads. <a href="classpp_1_1_core.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines APIs related to memory management, time, and threads. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/core_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/cpp/core_8h__incl.png
new file mode 100644
index 0000000..a343cf5
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/core_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/directory__entry_8h.html b/native_client_sdk/doc_generated/pepper_beta/cpp/directory__entry_8h.html
new file mode 100644
index 0000000..3df061a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/directory__entry_8h.html
@@ -0,0 +1,32 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/cpp/directory_entry.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for directory_entry.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="directory__entry_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2cpp_2directory__entry_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2directory__entry_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2directory__entry_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_directory_entry.html">pp::DirectoryEntry</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry.">DirectoryEntry</a></code> class represents information about a directory entry. <a href="classpp_1_1_directory_entry.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html">pp::internal::DirectoryEntryArrayOutputAdapterWithStorage</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html">pp::internal::CallbackOutputTraits< std::vector< DirectoryEntry > ></a></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp_1_1internal.html">pp::internal</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API used to handle a directory entry. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/directory__entry_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/cpp/directory__entry_8h__incl.png
new file mode 100644
index 0000000..b7c6a77
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/directory__entry_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/file__io_8h.html b/native_client_sdk/doc_generated/pepper_beta/cpp/file__io_8h.html
new file mode 100644
index 0000000..73fee83
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/file__io_8h.html
@@ -0,0 +1,30 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/cpp/file_io.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for file_io.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="file__io_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2cpp_2file__io_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2file__io_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2file__io_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_i_o.html">pp::FileIO</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a></code> class represents a regular file. <a href="classpp_1_1_file_i_o.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><b>pp::FileIO::CallbackData1_0</b></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API to create a file i/o object. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/file__io_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/cpp/file__io_8h__incl.png
new file mode 100644
index 0000000..abd496a5
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/file__io_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/file__ref_8h.html b/native_client_sdk/doc_generated/pepper_beta/cpp/file__ref_8h.html
new file mode 100644
index 0000000..1f6323d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/file__ref_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/cpp/file_ref.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for file_ref.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="file__ref_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2cpp_2file__ref_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2file__ref_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2file__ref_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_ref.html">pp::FileRef</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code> class represents a "weak pointer" to a file in a file system. <a href="classpp_1_1_file_ref.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API to create a file reference or "weak pointer" to a file in a file system. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/file__ref_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/cpp/file__ref_8h__incl.png
new file mode 100644
index 0000000..4cf6781
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/file__ref_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/file__system_8h.html b/native_client_sdk/doc_generated/pepper_beta/cpp/file__system_8h.html
new file mode 100644
index 0000000..6b0ffd0d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/file__system_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/cpp/file_system.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for file_system.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="file__system_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2cpp_2file__system_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2file__system_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2file__system_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_system.html">pp::FileSystem</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_file_system.html" title="The FileSystem class identifies the file system type associated with a file.">FileSystem</a></code> class identifies the file system type associated with a file. <a href="classpp_1_1_file_system.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API to create a file system associated with a file. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/file__system_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/cpp/file__system_8h__incl.png
new file mode 100644
index 0000000..296f5d62
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/file__system_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/fullscreen_8h.html b/native_client_sdk/doc_generated/pepper_beta/cpp/fullscreen_8h.html
new file mode 100644
index 0000000..de4f24b
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/fullscreen_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/cpp/fullscreen.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for fullscreen.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="fullscreen_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2cpp_2fullscreen_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2fullscreen_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2fullscreen_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_fullscreen.html">pp::Fullscreen</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="classpp_1_1_fullscreen.html" title="The Fullscreen class allowing you to check and toggle fullscreen mode.">Fullscreen</a> class allowing you to check and toggle fullscreen mode. <a href="classpp_1_1_fullscreen.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API for handling transitions of a module instance to and from fullscreen mode. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/fullscreen_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/cpp/fullscreen_8h__incl.png
new file mode 100644
index 0000000..3631cc4
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/fullscreen_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/globals_defs.html b/native_client_sdk/doc_generated/pepper_beta/cpp/globals_defs.html
new file mode 100644
index 0000000..84074e4
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/globals_defs.html
@@ -0,0 +1,19 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>File Members</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<div class="contents">
+ <ul>
+<li>PP_DCHECK
+: <a class="el" href="logging_8h.html#a5cb259e0fd1a8c0c64fbc891bc273417">logging.h</a>
+</li>
+<li>PP_NOTREACHED
+: <a class="el" href="logging_8h.html#a1c536418e751c9bda850cd2bc919e0ca">logging.h</a>
+</li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/graphics__2d_8h.html b/native_client_sdk/doc_generated/pepper_beta/cpp/graphics__2d_8h.html
new file mode 100644
index 0000000..e6bcdf05a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/graphics__2d_8h.html
@@ -0,0 +1,28 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/cpp/graphics_2d.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for graphics_2d.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="graphics__2d_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2cpp_2graphics__2d_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2graphics__2d_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2graphics__2d_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics2_d.html">pp::Graphics2D</a></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API to create a 2D graphics context in the browser. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/graphics__2d_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/cpp/graphics__2d_8h__incl.png
new file mode 100644
index 0000000..5dffc6e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/graphics__2d_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/graphics__3d_8h.html b/native_client_sdk/doc_generated/pepper_beta/cpp/graphics__3d_8h.html
new file mode 100644
index 0000000..17564a1
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/graphics__3d_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/cpp/graphics_3d.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for graphics_3d.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="graphics__3d_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2cpp_2graphics__3d_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2graphics__3d_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2graphics__3d_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics3_d.html">pp::Graphics3D</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This class represents a 3D rendering context in the browser. <a href="classpp_1_1_graphics3_d.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API to create a 3D rendering context in the browser. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/graphics__3d_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/cpp/graphics__3d_8h__incl.png
new file mode 100644
index 0000000..4980021
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/graphics__3d_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/graphics__3d__client_8h.html b/native_client_sdk/doc_generated/pepper_beta/cpp/graphics__3d__client_8h.html
new file mode 100644
index 0000000..7c8c6be
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/graphics__3d__client_8h.html
@@ -0,0 +1,28 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/cpp/graphics_3d_client.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for graphics_3d_client.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="graphics__3d__client_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2cpp_2graphics__3d__client_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2graphics__3d__client_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2graphics__3d__client_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics3_d_client.html">pp::Graphics3DClient</a></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API for callbacks related to 3D. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/graphics__3d__client_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/cpp/graphics__3d__client_8h__incl.png
new file mode 100644
index 0000000..ab7c454
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/graphics__3d__client_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/host__resolver_8h.html b/native_client_sdk/doc_generated/pepper_beta/cpp/host__resolver_8h.html
new file mode 100644
index 0000000..25bc9cca
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/host__resolver_8h.html
@@ -0,0 +1,27 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/cpp/host_resolver.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for host_resolver.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="host__resolver_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2cpp_2host__resolver_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2host__resolver_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2host__resolver_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_host_resolver.html">pp::HostResolver</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_host_resolver.html" title="The HostResolver class supports host name resolution.">HostResolver</a></code> class supports host name resolution. <a href="classpp_1_1_host_resolver.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/host__resolver_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/cpp/host__resolver_8h__incl.png
new file mode 100644
index 0000000..c08c450a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/host__resolver_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/image__data_8h.html b/native_client_sdk/doc_generated/pepper_beta/cpp/image__data_8h.html
new file mode 100644
index 0000000..599eeddd1
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/image__data_8h.html
@@ -0,0 +1,28 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/cpp/image_data.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for image_data.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="image__data_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2cpp_2image__data_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2image__data_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2image__data_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_image_data.html">pp::ImageData</a></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the APIs for determining how a browser handles image data. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/image__data_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/cpp/image__data_8h__incl.png
new file mode 100644
index 0000000..a0a5fd4d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/image__data_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/index.html b/native_client_sdk/doc_generated/pepper_beta/cpp/index.html
new file mode 100644
index 0000000..864c4c7
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/index.html
@@ -0,0 +1,122 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<span class="target" id="pepper-beta-cpp-index"></span><section id="pepper-c-api-reference-beta">
+<h1 id="pepper-c-api-reference-beta">Pepper C++ API Reference (Beta)</h1>
+<p>This page lists the C++ API for Pepper 33. Apps that use this API can
+run in Chrome 33 or higher.</p>
+<section id="id1">
+<h2 id="id1"><a class="reference external" href="inherits.html">Classes</a></h2>
+<blockquote>
+<div><ul class="small-gap">
+<li><a class="reference external" href="classpp_1_1_audio.html">Audio</a></li>
+<li><a class="reference external" href="classpp_1_1_audio_config.html">AudioConfig</a></li>
+<li><a class="reference external" href="classpp_1_1_completion_callback.html">CompletionCallback</a></li>
+<li><a class="reference external" href="classpp_1_1_completion_callback_factory.html">CompletionCallbackFactory</a></li>
+<li><a class="reference external" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a></li>
+<li><a class="reference external" href="classpp_1_1_core.html">Core</a></li>
+<li><a class="reference external" href="classpp_1_1_directory_entry.html">DirectoryEntry</a></li>
+<li><a class="reference external" href="classpp_1_1_file_i_o.html">FileIO</a></li>
+<li><a class="reference external" href="classpp_1_1_file_ref.html">FileRef</a></li>
+<li><a class="reference external" href="classpp_1_1_file_system.html">FileSystem</a></li>
+<li><a class="reference external" href="classpp_1_1_float_point.html">FloatPoint</a></li>
+<li><a class="reference external" href="classpp_1_1_fullscreen.html">Fullscreen</a></li>
+<li><a class="reference external" href="classpp_1_1_graphics2_d.html">Graphics2D</a></li>
+<li><a class="reference external" href="classpp_1_1_graphics3_d.html">Graphics3D</a></li>
+<li><a class="reference external" href="classpp_1_1_graphics3_d_client.html">Graphics3DClient</a></li>
+<li><a class="reference external" href="classpp_1_1_host_resolver.html">HostResolver</a></li>
+<li><a class="reference external" href="classpp_1_1_i_m_e_input_event.html">IMEInputEvent</a></li>
+<li><a class="reference external" href="classpp_1_1_image_data.html">ImageData</a></li>
+<li><a class="reference external" href="classpp_1_1_input_event.html">InputEvent</a></li>
+<li><a class="reference external" href="classpp_1_1_instance.html">Instance</a></li>
+<li><a class="reference external" href="classpp_1_1_instance_handle.html">InstanceHandle</a></li>
+<li><a class="reference external" href="classpp_1_1_keyboard_input_event.html">KeyboardInputEvent</a></li>
+<li><a class="reference external" href="classpp_1_1_message_loop.html">MessageLoop</a></li>
+<li><a class="reference external" href="classpp_1_1_module.html">Module</a></li>
+<li><a class="reference external" href="classpp_1_1_mouse_cursor.html">MouseCursor</a></li>
+<li><a class="reference external" href="classpp_1_1_mouse_input_event.html">MouseInputEvent</a></li>
+<li><a class="reference external" href="classpp_1_1_mouse_lock.html">MouseLock</a></li>
+<li><a class="reference external" href="classpp_1_1_net_address.html">NetAddress</a></li>
+<li><a class="reference external" href="classpp_1_1_network_list.html">NetworkList</a></li>
+<li><a class="reference external" href="classpp_1_1_network_monitor.html">NetworkMonitor</a></li>
+<li><a class="reference external" href="classpp_1_1_network_proxy.html">NetworkProxy</a></li>
+<li><a class="reference external" href="classpp_1_1_point.html">Point</a></li>
+<li><a class="reference external" href="classpp_1_1_rect.html">Rect</a></li>
+<li><a class="reference external" href="classpp_1_1_resource.html">Resource</a></li>
+<li><a class="reference external" href="classpp_1_1_size.html">Size</a></li>
+<li><a class="reference external" href="classpp_1_1_t_c_p_socket.html">TCPSocket</a></li>
+<li><a class="reference external" href="classpp_1_1_text_input_controller.html">TextInputController</a></li>
+<li><a class="reference external" href="classpp_1_1_touch_input_event.html">TouchInputEvent</a></li>
+<li><a class="reference external" href="classpp_1_1_touch_point.html">TouchPoint</a></li>
+<li><a class="reference external" href="classpp_1_1_u_d_p_socket.html">UDPSocket</a></li>
+<li><a class="reference external" href="classpp_1_1_u_r_l_loader.html">URLLoader</a></li>
+<li><a class="reference external" href="classpp_1_1_u_r_l_request_info.html">URLRequestInfo</a></li>
+<li><a class="reference external" href="classpp_1_1_u_r_l_response_info.html">URLResponseInfo</a></li>
+<li><a class="reference external" href="classpp_1_1_var.html">Var</a></li>
+<li><a class="reference external" href="classpp_1_1_var_1_1_out_exception.html">Var11OutException</a></li>
+<li><a class="reference external" href="classpp_1_1_var_array.html">VarArray</a></li>
+<li><a class="reference external" href="classpp_1_1_var_array_buffer.html">VarArrayBuffer</a></li>
+<li><a class="reference external" href="classpp_1_1_var_dictionary.html">VarDictionary</a></li>
+<li><a class="reference external" href="classpp_1_1_view.html">View</a></li>
+<li><a class="reference external" href="classpp_1_1_web_socket.html">WebSocket</a></li>
+<li><a class="reference external" href="classpp_1_1_wheel_input_event.html">WheelInputEvent</a></li>
+<li><a class="reference external" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">Ext::ExtCompletionCallbackWithOutput</a></li>
+<li><a class="reference external" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">Internal::CompletionCallbackWithOutputBase</a></li>
+<li><a class="reference external" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html">Internal::DirectoryEntryArrayOutputAdapterWithStorage</a></li>
+</ul>
+</div></blockquote>
+</section><section id="files">
+<h2 id="files">Files</h2>
+<blockquote>
+<div><ul class="small-gap">
+<li><a class="reference external" href="audio_8h.html">audio.h</a></li>
+<li><a class="reference external" href="audio__config_8h.html">audio_config.h</a></li>
+<li><a class="reference external" href="completion__callback_8h.html">completion_callback.h</a></li>
+<li><a class="reference external" href="completion__callback__factory_8h.html">completion_callback_factory.h</a></li>
+<li><a class="reference external" href="core_8h.html">core.h</a></li>
+<li><a class="reference external" href="directory__entry_8h.html">directory_entry.h</a></li>
+<li><a class="reference external" href="file__io_8h.html">file_io.h</a></li>
+<li><a class="reference external" href="file__ref_8h.html">file_ref.h</a></li>
+<li><a class="reference external" href="file__system_8h.html">file_system.h</a></li>
+<li><a class="reference external" href="fullscreen_8h.html">fullscreen.h</a></li>
+<li><a class="reference external" href="graphics__2d_8h.html">graphics_2d.h</a></li>
+<li><a class="reference external" href="graphics__3d_8h.html">graphics_3d.h</a></li>
+<li><a class="reference external" href="graphics__3d__client_8h.html">graphics_3d_client.h</a></li>
+<li><a class="reference external" href="host__resolver_8h.html">host_resolver.h</a></li>
+<li><a class="reference external" href="image__data_8h.html">image_data.h</a></li>
+<li><a class="reference external" href="input__event_8h.html">input_event.h</a></li>
+<li><a class="reference external" href="instance_8h.html">instance.h</a></li>
+<li><a class="reference external" href="instance__handle_8h.html">instance_handle.h</a></li>
+<li><a class="reference external" href="logging_8h.html">logging.h</a></li>
+<li><a class="reference external" href="message__loop_8h.html">message_loop.h</a></li>
+<li><a class="reference external" href="module_8h.html">module.h</a></li>
+<li><a class="reference external" href="module__embedder_8h.html">module_embedder.h</a></li>
+<li><a class="reference external" href="module__impl_8h.html">module_impl.h</a></li>
+<li><a class="reference external" href="mouse__cursor_8h.html">mouse_cursor.h</a></li>
+<li><a class="reference external" href="mouse__lock_8h.html">mouse_lock.h</a></li>
+<li><a class="reference external" href="net__address_8h.html">net_address.h</a></li>
+<li><a class="reference external" href="network__list_8h.html">network_list.h</a></li>
+<li><a class="reference external" href="network__monitor_8h.html">network_monitor.h</a></li>
+<li><a class="reference external" href="network__proxy_8h.html">network_proxy.h</a></li>
+<li><a class="reference external" href="pass__ref_8h.html">pass_ref.h</a></li>
+<li><a class="reference external" href="point_8h.html">point.h</a></li>
+<li><a class="reference external" href="rect_8h.html">rect.h</a></li>
+<li><a class="reference external" href="resource_8h.html">resource.h</a></li>
+<li><a class="reference external" href="size_8h.html">size.h</a></li>
+<li><a class="reference external" href="tcp__socket_8h.html">tcp_socket.h</a></li>
+<li><a class="reference external" href="text__input__controller_8h.html">text_input_controller.h</a></li>
+<li><a class="reference external" href="touch__point_8h.html">touch_point.h</a></li>
+<li><a class="reference external" href="udp__socket_8h.html">udp_socket.h</a></li>
+<li><a class="reference external" href="url__loader_8h.html">url_loader.h</a></li>
+<li><a class="reference external" href="url__request__info_8h.html">url_request_info.h</a></li>
+<li><a class="reference external" href="url__response__info_8h.html">url_response_info.h</a></li>
+<li><a class="reference external" href="var_8h.html">var.h</a></li>
+<li><a class="reference external" href="var__array_8h.html">var_array.h</a></li>
+<li><a class="reference external" href="var__array__buffer_8h.html">var_array_buffer.h</a></li>
+<li><a class="reference external" href="var__dictionary_8h.html">var_dictionary.h</a></li>
+<li><a class="reference external" href="view_8h.html">view.h</a></li>
+<li><a class="reference external" href="websocket_8h.html">websocket.h</a></li>
+</ul>
+</div></blockquote>
+</section></section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/index.rst b/native_client_sdk/doc_generated/pepper_beta/cpp/index.rst
new file mode 100644
index 0000000..0d4a590
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/index.rst
@@ -0,0 +1,218 @@
+.. _pepper_beta_cpp_index:
+
+.. DO NOT EDIT! This document is auto-generated by doxygen/rst_index.py.
+
+############################################
+Pepper C++ API Reference (Beta)
+############################################
+
+This page lists the C++ API for Pepper 33. Apps that use this API can
+run in Chrome 33 or higher.
+
+`Classes <inherits.html>`_
+==========================
+ * `Audio <classpp_1_1_audio.html>`_
+
+ * `AudioConfig <classpp_1_1_audio_config.html>`_
+
+ * `CompletionCallback <classpp_1_1_completion_callback.html>`_
+
+ * `CompletionCallbackFactory <classpp_1_1_completion_callback_factory.html>`_
+
+ * `CompletionCallbackWithOutput <classpp_1_1_completion_callback_with_output.html>`_
+
+ * `Core <classpp_1_1_core.html>`_
+
+ * `DirectoryEntry <classpp_1_1_directory_entry.html>`_
+
+ * `FileIO <classpp_1_1_file_i_o.html>`_
+
+ * `FileRef <classpp_1_1_file_ref.html>`_
+
+ * `FileSystem <classpp_1_1_file_system.html>`_
+
+ * `FloatPoint <classpp_1_1_float_point.html>`_
+
+ * `Fullscreen <classpp_1_1_fullscreen.html>`_
+
+ * `Graphics2D <classpp_1_1_graphics2_d.html>`_
+
+ * `Graphics3D <classpp_1_1_graphics3_d.html>`_
+
+ * `Graphics3DClient <classpp_1_1_graphics3_d_client.html>`_
+
+ * `HostResolver <classpp_1_1_host_resolver.html>`_
+
+ * `IMEInputEvent <classpp_1_1_i_m_e_input_event.html>`_
+
+ * `ImageData <classpp_1_1_image_data.html>`_
+
+ * `InputEvent <classpp_1_1_input_event.html>`_
+
+ * `Instance <classpp_1_1_instance.html>`_
+
+ * `InstanceHandle <classpp_1_1_instance_handle.html>`_
+
+ * `KeyboardInputEvent <classpp_1_1_keyboard_input_event.html>`_
+
+ * `MessageLoop <classpp_1_1_message_loop.html>`_
+
+ * `Module <classpp_1_1_module.html>`_
+
+ * `MouseCursor <classpp_1_1_mouse_cursor.html>`_
+
+ * `MouseInputEvent <classpp_1_1_mouse_input_event.html>`_
+
+ * `MouseLock <classpp_1_1_mouse_lock.html>`_
+
+ * `NetAddress <classpp_1_1_net_address.html>`_
+
+ * `NetworkList <classpp_1_1_network_list.html>`_
+
+ * `NetworkMonitor <classpp_1_1_network_monitor.html>`_
+
+ * `NetworkProxy <classpp_1_1_network_proxy.html>`_
+
+ * `Point <classpp_1_1_point.html>`_
+
+ * `Rect <classpp_1_1_rect.html>`_
+
+ * `Resource <classpp_1_1_resource.html>`_
+
+ * `Size <classpp_1_1_size.html>`_
+
+ * `TCPSocket <classpp_1_1_t_c_p_socket.html>`_
+
+ * `TextInputController <classpp_1_1_text_input_controller.html>`_
+
+ * `TouchInputEvent <classpp_1_1_touch_input_event.html>`_
+
+ * `TouchPoint <classpp_1_1_touch_point.html>`_
+
+ * `UDPSocket <classpp_1_1_u_d_p_socket.html>`_
+
+ * `URLLoader <classpp_1_1_u_r_l_loader.html>`_
+
+ * `URLRequestInfo <classpp_1_1_u_r_l_request_info.html>`_
+
+ * `URLResponseInfo <classpp_1_1_u_r_l_response_info.html>`_
+
+ * `Var <classpp_1_1_var.html>`_
+
+ * `Var11OutException <classpp_1_1_var_1_1_out_exception.html>`_
+
+ * `VarArray <classpp_1_1_var_array.html>`_
+
+ * `VarArrayBuffer <classpp_1_1_var_array_buffer.html>`_
+
+ * `VarDictionary <classpp_1_1_var_dictionary.html>`_
+
+ * `View <classpp_1_1_view.html>`_
+
+ * `WebSocket <classpp_1_1_web_socket.html>`_
+
+ * `WheelInputEvent <classpp_1_1_wheel_input_event.html>`_
+
+ * `Ext::ExtCompletionCallbackWithOutput <classpp_1_1ext_1_1_ext_completion_callback_with_output.html>`_
+
+ * `Internal::CompletionCallbackWithOutputBase <classpp_1_1internal_1_1_completion_callback_with_output_base.html>`_
+
+ * `Internal::DirectoryEntryArrayOutputAdapterWithStorage <classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html>`_
+
+
+Files
+=====
+ * `audio.h <audio_8h.html>`_
+
+ * `audio_config.h <audio__config_8h.html>`_
+
+ * `completion_callback.h <completion__callback_8h.html>`_
+
+ * `completion_callback_factory.h <completion__callback__factory_8h.html>`_
+
+ * `core.h <core_8h.html>`_
+
+ * `directory_entry.h <directory__entry_8h.html>`_
+
+ * `file_io.h <file__io_8h.html>`_
+
+ * `file_ref.h <file__ref_8h.html>`_
+
+ * `file_system.h <file__system_8h.html>`_
+
+ * `fullscreen.h <fullscreen_8h.html>`_
+
+ * `graphics_2d.h <graphics__2d_8h.html>`_
+
+ * `graphics_3d.h <graphics__3d_8h.html>`_
+
+ * `graphics_3d_client.h <graphics__3d__client_8h.html>`_
+
+ * `host_resolver.h <host__resolver_8h.html>`_
+
+ * `image_data.h <image__data_8h.html>`_
+
+ * `input_event.h <input__event_8h.html>`_
+
+ * `instance.h <instance_8h.html>`_
+
+ * `instance_handle.h <instance__handle_8h.html>`_
+
+ * `logging.h <logging_8h.html>`_
+
+ * `message_loop.h <message__loop_8h.html>`_
+
+ * `module.h <module_8h.html>`_
+
+ * `module_embedder.h <module__embedder_8h.html>`_
+
+ * `module_impl.h <module__impl_8h.html>`_
+
+ * `mouse_cursor.h <mouse__cursor_8h.html>`_
+
+ * `mouse_lock.h <mouse__lock_8h.html>`_
+
+ * `net_address.h <net__address_8h.html>`_
+
+ * `network_list.h <network__list_8h.html>`_
+
+ * `network_monitor.h <network__monitor_8h.html>`_
+
+ * `network_proxy.h <network__proxy_8h.html>`_
+
+ * `pass_ref.h <pass__ref_8h.html>`_
+
+ * `point.h <point_8h.html>`_
+
+ * `rect.h <rect_8h.html>`_
+
+ * `resource.h <resource_8h.html>`_
+
+ * `size.h <size_8h.html>`_
+
+ * `tcp_socket.h <tcp__socket_8h.html>`_
+
+ * `text_input_controller.h <text__input__controller_8h.html>`_
+
+ * `touch_point.h <touch__point_8h.html>`_
+
+ * `udp_socket.h <udp__socket_8h.html>`_
+
+ * `url_loader.h <url__loader_8h.html>`_
+
+ * `url_request_info.h <url__request__info_8h.html>`_
+
+ * `url_response_info.h <url__response__info_8h.html>`_
+
+ * `var.h <var_8h.html>`_
+
+ * `var_array.h <var__array_8h.html>`_
+
+ * `var_array_buffer.h <var__array__buffer_8h.html>`_
+
+ * `var_dictionary.h <var__dictionary_8h.html>`_
+
+ * `view.h <view_8h.html>`_
+
+ * `websocket.h <websocket_8h.html>`_
+
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_0.png b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_0.png
new file mode 100644
index 0000000..2c3545f
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_0.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_1.png b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_1.png
new file mode 100644
index 0000000..a157216
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_1.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_10.png b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_10.png
new file mode 100644
index 0000000..a76eddc
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_10.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_11.png b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_11.png
new file mode 100644
index 0000000..e0c37da
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_11.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_12.png b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_12.png
new file mode 100644
index 0000000..8658b03
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_12.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_13.png b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_13.png
new file mode 100644
index 0000000..8f845f1
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_13.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_14.png b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_14.png
new file mode 100644
index 0000000..ba6fa6d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_14.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_15.png b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_15.png
new file mode 100644
index 0000000..7afdabe
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_15.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_16.png b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_16.png
new file mode 100644
index 0000000..d377c23
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_16.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_17.png b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_17.png
new file mode 100644
index 0000000..f7a0f5c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_17.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_18.png b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_18.png
new file mode 100644
index 0000000..66f9b78
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_18.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_19.png b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_19.png
new file mode 100644
index 0000000..88c6b738
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_19.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_2.png b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_2.png
new file mode 100644
index 0000000..25c2e8c2
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_2.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_20.png b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_20.png
new file mode 100644
index 0000000..b938c43
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_20.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_21.png b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_21.png
new file mode 100644
index 0000000..d9dfea6
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_21.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_22.png b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_22.png
new file mode 100644
index 0000000..0f3ba07
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_22.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_23.png b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_23.png
new file mode 100644
index 0000000..c3fe82e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_23.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_24.png b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_24.png
new file mode 100644
index 0000000..ddcb427
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_24.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_25.png b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_25.png
new file mode 100644
index 0000000..6b6b59a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_25.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_26.png b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_26.png
new file mode 100644
index 0000000..cdb693a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_26.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_27.png b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_27.png
new file mode 100644
index 0000000..97e4d07
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_27.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_3.png b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_3.png
new file mode 100644
index 0000000..df1d2ef
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_3.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_4.png b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_4.png
new file mode 100644
index 0000000..b44b0179
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_4.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_5.png b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_5.png
new file mode 100644
index 0000000..4a102be
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_5.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_6.png b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_6.png
new file mode 100644
index 0000000..10ae4be3
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_6.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_7.png b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_7.png
new file mode 100644
index 0000000..aab8abf
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_7.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_8.png b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_8.png
new file mode 100644
index 0000000..24695ea
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_8.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_9.png b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_9.png
new file mode 100644
index 0000000..af41aa5
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/inherit_graph_9.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/inherits.html b/native_client_sdk/doc_generated/pepper_beta/cpp/inherits.html
new file mode 100644
index 0000000..884bce5
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/inherits.html
@@ -0,0 +1,127 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Class Hierarchy</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock">
+<p><a href="hierarchy.html">Go to the textual class hierarchy</a></p>
+</div><table border="0" cellspacing="10" cellpadding="0">
+<tr><td><img src="inherit_graph_0.png" border="0" alt="" usemap="#pp_1_1_completion_callback" />
+<map name="pp_1_1_completion_callback" id="pp_1_1_completion_callback">
+<area shape="rect" id="node1" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl..." alt="" coords="7,59,177,88"></area><area shape="rect" id="node3" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html" title="pp::internal::CompletionCallbackWithOutputBase\< T, internal::CallbackOutputTraits\< T \> \>" alt="" coords="237,5,835,35"></area><area shape="rect" id="node7" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html" title="pp::internal::CompletionCallbackWithOutputBase\< T, internal::ExtCallbackOutputTraits\< T \> \>" alt="" coords="227,59,845,88"></area><area shape="rect" id="node11" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html" title="The base class of [Ext]CompletionCallbackWithOutput." alt="" coords="332,112,740,141"></area><area shape="rect" id="node5" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so..." alt="" coords="917,5,1197,35"></area><area shape="rect" id="node9" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html" title="ExtCompletionCallbackWithOutput is similar to CompletionCallbackWithOutput, but used by APIs within t..." alt="" coords="893,59,1221,88"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_1.png" border="0" alt="" usemap="#pp_1_1_completion_callback_factory_3_01_t_00_01_thread_traits_01_4" />
+<map name="pp_1_1_completion_callback_factory_3_01_t_00_01_thread_traits_01_4" id="pp_1_1_completion_callback_factory_3_01_t_00_01_thread_traits_01_4">
+<area shape="rect" id="node1" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe..." alt="" coords="7,5,345,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_2.png" border="0" alt="" usemap="#pp_1_1_core" />
+<map name="pp_1_1_core" id="pp_1_1_core">
+<area shape="rect" id="node1" href="classpp_1_1_core.html" title="APIs related to memory management, time, and threads." alt="" coords="7,5,81,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_3.png" border="0" alt="" usemap="#pp_1_1_directory_entry" />
+<map name="pp_1_1_directory_entry" id="pp_1_1_directory_entry">
+<area shape="rect" id="node1" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry." alt="" coords="7,5,143,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_4.png" border="0" alt="" usemap="#pp_1_1_float_point" />
+<map name="pp_1_1_float_point" id="pp_1_1_float_point">
+<area shape="rect" id="node1" href="classpp_1_1_float_point.html" title="A 2 dimensional floating-point point with 0,0 being the upper-left starting coordinate." alt="" coords="5,5,115,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_5.png" border="0" alt="" usemap="#pp_1_1_fullscreen" />
+<map name="pp_1_1_fullscreen" id="pp_1_1_fullscreen">
+<area shape="rect" id="node1" href="classpp_1_1_fullscreen.html" title="The Fullscreen class allowing you to check and toggle fullscreen mode." alt="" coords="5,5,115,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_6.png" border="0" alt="" usemap="#pp_1_1_graphics3_d_client" />
+<map name="pp_1_1_graphics3_d_client" id="pp_1_1_graphics3_d_client">
+<area shape="rect" id="node1" href="classpp_1_1_graphics3_d_client.html" title="pp::Graphics3DClient" alt="" coords="7,5,161,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_7.png" border="0" alt="" usemap="#pp_1_1_instance" />
+<map name="pp_1_1_instance" id="pp_1_1_instance">
+<area shape="rect" id="node1" href="classpp_1_1_instance.html" title="pp::Instance" alt="" coords="7,5,105,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_8.png" border="0" alt="" usemap="#pp_1_1_instance_handle" />
+<map name="pp_1_1_instance_handle" id="pp_1_1_instance_handle">
+<area shape="rect" id="node1" href="classpp_1_1_instance_handle.html" title="An instance handle identifies an instance in a constructor for a resource." alt="" coords="7,5,151,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_9.png" border="0" alt="" usemap="#pp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4" />
+<map name="pp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4" id="pp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4">
+<area shape="rect" id="node1" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html" title="pp::internal::CallbackOutputTraits\< std::vector\< DirectoryEntry \> \>" alt="" coords="5,5,456,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_10.png" border="0" alt="" usemap="#pp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage" />
+<map name="pp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage" id="pp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage">
+<area shape="rect" id="node1" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html" title="pp::internal::DirectoryEntryArrayOutputAdapterWithStorage" alt="" coords="5,5,405,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_11.png" border="0" alt="" usemap="#pp_1_1internal_1_1_type_unwrapper_3_01const_01_t_01_6_01_4" />
+<map name="pp_1_1internal_1_1_type_unwrapper_3_01const_01_t_01_6_01_4" id="pp_1_1internal_1_1_type_unwrapper_3_01const_01_t_01_6_01_4">
+<area shape="rect" id="node1" href="structpp_1_1internal_1_1_type_unwrapper_3_01const_01_t_01_6_01_4.html" title="pp::internal::TypeUnwrapper\< const T & \>" alt="" coords="5,5,296,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_12.png" border="0" alt="" usemap="#pp_1_1internal_1_1_type_unwrapper_3_01_t_01_6_01_4" />
+<map name="pp_1_1internal_1_1_type_unwrapper_3_01_t_01_6_01_4" id="pp_1_1internal_1_1_type_unwrapper_3_01_t_01_6_01_4">
+<area shape="rect" id="node1" href="structpp_1_1internal_1_1_type_unwrapper_3_01_t_01_6_01_4.html" title="pp::internal::TypeUnwrapper\< T & \>" alt="" coords="5,5,256,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_13.png" border="0" alt="" usemap="#pp_1_1internal_1_1_type_unwrapper_3_01_t_01_4" />
+<map name="pp_1_1internal_1_1_type_unwrapper_3_01_t_01_4" id="pp_1_1internal_1_1_type_unwrapper_3_01_t_01_4">
+<area shape="rect" id="node1" href="structpp_1_1internal_1_1_type_unwrapper.html" title="pp::internal::TypeUnwrapper\< T \>" alt="" coords="7,5,241,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_14.png" border="0" alt="" usemap="#pp_1_1_module" />
+<map name="pp_1_1_module" id="pp_1_1_module">
+<area shape="rect" id="node1" href="classpp_1_1_module.html" title="The Module class." alt="" coords="7,5,97,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_15.png" border="0" alt="" usemap="#pp_1_1_mouse_cursor" />
+<map name="pp_1_1_mouse_cursor" id="pp_1_1_mouse_cursor">
+<area shape="rect" id="node1" href="classpp_1_1_mouse_cursor.html" title="pp::MouseCursor" alt="" coords="5,5,136,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_16.png" border="0" alt="" usemap="#pp_1_1_mouse_lock" />
+<map name="pp_1_1_mouse_lock" id="pp_1_1_mouse_lock">
+<area shape="rect" id="node1" href="classpp_1_1_mouse_lock.html" title="This class allows you to associate the PPP_MouseLock and PPB_MouseLock C-based interfaces with an obj..." alt="" coords="5,5,123,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_17.png" border="0" alt="" usemap="#pp_1_1_network_proxy" />
+<map name="pp_1_1_network_proxy" id="pp_1_1_network_proxy">
+<area shape="rect" id="node1" href="classpp_1_1_network_proxy.html" title="This class provides a way to determine the appropriate proxy settings for for a given URL..." alt="" coords="5,5,139,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_18.png" border="0" alt="" usemap="#pp_1_1_point" />
+<map name="pp_1_1_point" id="pp_1_1_point">
+<area shape="rect" id="node1" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate." alt="" coords="7,5,84,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_19.png" border="0" alt="" usemap="#pp_1_1_rect" />
+<map name="pp_1_1_rect" id="pp_1_1_rect">
+<area shape="rect" id="node1" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle." alt="" coords="7,5,79,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_20.png" border="0" alt="" usemap="#pp_1_1_resource" />
+<map name="pp_1_1_resource" id="pp_1_1_resource">
+<area shape="rect" id="node1" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="5,539,109,568"></area><area shape="rect" id="node3" href="classpp_1_1_audio.html" title="An audio resource." alt="" coords="193,5,276,35"></area><area shape="rect" id="node5" href="classpp_1_1_audio_config.html" title="A 16 bit stereo AudioConfig resource." alt="" coords="173,59,296,88"></area><area shape="rect" id="node7" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file." alt="" coords="196,112,273,141"></area><area shape="rect" id="node9" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.' alt="" coords="192,165,277,195"></area><area shape="rect" id="node11" href="classpp_1_1_file_system.html" title="The FileSystem class identifies the file system type associated with a file." alt="" coords="177,219,292,248"></area><area shape="rect" id="node13" href="classpp_1_1_graphics2_d.html" title="pp::Graphics2D" alt="" coords="175,272,295,301"></area><area shape="rect" id="node15" href="classpp_1_1_graphics3_d.html" title="This class represents a 3D rendering context in the browser." alt="" coords="175,325,295,355"></area><area shape="rect" id="node17" href="classpp_1_1_host_resolver.html" title="The HostResolver class supports host name resolution." alt="" coords="171,379,299,408"></area><area shape="rect" id="node19" href="classpp_1_1_image_data.html" title="pp::ImageData" alt="" coords="176,432,293,461"></area><area shape="rect" id="node21" href="classpp_1_1_input_event.html" title="This class represents an input event resource." alt="" coords="177,485,292,515"></area><area shape="rect" id="node33" href="classpp_1_1_message_loop.html" title="A message loop allows PPAPI calls to be issued on a thread." alt="" coords="168,539,301,568"></area><area shape="rect" id="node35" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address." alt="" coords="175,592,295,621"></area><area shape="rect" id="node37" href="classpp_1_1_network_list.html" title="pp::NetworkList" alt="" coords="175,645,295,675"></area><area shape="rect" id="node39" href="classpp_1_1_network_monitor.html" title="pp::NetworkMonitor" alt="" coords="161,699,308,728"></area><area shape="rect" id="node41" href="classpp_1_1_t_c_p_socket.html" title="The TCPSocket class provides TCP socket operations." alt="" coords="179,752,291,781"></area><area shape="rect" id="node43" href="classpp_1_1_u_d_p_socket.html" title="The UDPSocket class provides UDP socket operations." alt="" coords="176,805,293,835"></area><area shape="rect" id="node45" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs." alt="" coords="177,859,292,888"></area><area shape="rect" id="node47" href="classpp_1_1_u_r_l_request_info.html" title="URLRequestInfo provides an API for creating and manipulating URL requests." alt="" coords="163,912,307,941"></area><area shape="rect" id="node49" href="classpp_1_1_u_r_l_response_info.html" title="URLResponseInfo provides an API for examining URL responses." alt="" coords="157,965,312,995"></area><area shape="rect" id="node51" href="classpp_1_1_view.html" title="This class represents the state of the view for an instance and contains functions for retrieving the..." alt="" coords="197,1019,272,1048"></area><area shape="rect" id="node53" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket..." alt="" coords="177,1072,292,1101"></area><area shape="rect" id="node23" href="classpp_1_1_i_m_e_input_event.html" title="pp::IMEInputEvent" alt="" coords="379,379,515,408"></area><area shape="rect" id="node25" href="classpp_1_1_keyboard_input_event.html" title="pp::KeyboardInputEvent" alt="" coords="360,432,533,461"></area><area shape="rect" id="node27" href="classpp_1_1_mouse_input_event.html" title="This class handles mouse events." alt="" coords="369,485,524,515"></area><area shape="rect" id="node29" href="classpp_1_1_touch_input_event.html" title="pp::TouchInputEvent" alt="" coords="372,539,521,568"></area><area shape="rect" id="node31" href="classpp_1_1_wheel_input_event.html" title="pp::WheelInputEvent" alt="" coords="371,592,523,621"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_21.png" border="0" alt="" usemap="#pp_1_1_size" />
+<map name="pp_1_1_size" id="pp_1_1_size">
+<area shape="rect" id="node1" href="classpp_1_1_size.html" title="A size of an object based on width and height." alt="" coords="7,5,79,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_22.png" border="0" alt="" usemap="#pp_1_1_text_input_controller" />
+<map name="pp_1_1_text_input_controller" id="pp_1_1_text_input_controller">
+<area shape="rect" id="node1" href="classpp_1_1_text_input_controller.html" title="This class can be used for giving hints to the browser about the text input status of plugins..." alt="" coords="5,5,171,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_23.png" border="0" alt="" usemap="#pp_1_1_touch_point" />
+<map name="pp_1_1_touch_point" id="pp_1_1_touch_point">
+<area shape="rect" id="node1" href="classpp_1_1_touch_point.html" title="Wrapper class for PP_TouchPoint." alt="" coords="5,5,120,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_24.png" border="0" alt="" usemap="#pp_1_1_var" />
+<map name="pp_1_1_var" id="pp_1_1_var">
+<area shape="rect" id="node1" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page." alt="" coords="5,59,72,88"></area><area shape="rect" id="node3" href="classpp_1_1_var_array.html" title="pp::VarArray" alt="" coords="139,5,240,35"></area><area shape="rect" id="node5" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ..." alt="" coords="120,59,259,88"></area><area shape="rect" id="node7" href="classpp_1_1_var_dictionary.html" title="pp::VarDictionary" alt="" coords="124,112,255,141"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_25.png" border="0" alt="" usemap="#pp_1_1_var_1_1_dont_manage" />
+<map name="pp_1_1_var_1_1_dont_manage" id="pp_1_1_var_1_1_dont_manage">
+<area shape="rect" id="node1" href="structpp_1_1_var_1_1_dont_manage.html" title="pp::Var::DontManage" alt="" coords="5,5,163,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_26.png" border="0" alt="" usemap="#pp_1_1_var_1_1_null" />
+<map name="pp_1_1_var_1_1_null" id="pp_1_1_var_1_1_null">
+<area shape="rect" id="node1" href="structpp_1_1_var_1_1_null.html" title="Special value passed to constructor to make NULL." alt="" coords="5,5,104,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_27.png" border="0" alt="" usemap="#pp_1_1_var_1_1_out_exception" />
+<map name="pp_1_1_var_1_1_out_exception" id="pp_1_1_var_1_1_out_exception">
+<area shape="rect" id="node1" href="classpp_1_1_var_1_1_out_exception.html" title="This class is used when calling the raw C PPAPI when using the C++ Var as a possible NULL exception..." alt="" coords="5,5,165,35"></area></map>
+</td></tr>
+</table>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/input__event_8h.html b/native_client_sdk/doc_generated/pepper_beta/cpp/input__event_8h.html
new file mode 100644
index 0000000..bfe64bc
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/input__event_8h.html
@@ -0,0 +1,35 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/cpp/input_event.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for input_event.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="input__event_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2cpp_2input__event_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2input__event_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2input__event_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This class represents an input event resource. <a href="classpp_1_1_input_event.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_input_event.html">pp::MouseInputEvent</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This class handles mouse events. <a href="classpp_1_1_mouse_input_event.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_wheel_input_event.html">pp::WheelInputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_keyboard_input_event.html">pp::KeyboardInputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_touch_input_event.html">pp::TouchInputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_i_m_e_input_event.html">pp::IMEInputEvent</a></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API used to handle mouse and keyboard input events. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/input__event_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/cpp/input__event_8h__incl.png
new file mode 100644
index 0000000..d111d49
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/input__event_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/instance_8h.html b/native_client_sdk/doc_generated/pepper_beta/cpp/instance_8h.html
new file mode 100644
index 0000000..2aed548a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/instance_8h.html
@@ -0,0 +1,28 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/cpp/instance.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for instance.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="instance_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2cpp_2instance_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2instance_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2instance_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the C++ wrapper for an instance. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/instance_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/cpp/instance_8h__incl.png
new file mode 100644
index 0000000..df3bf03
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/instance_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/instance__handle_8h.html b/native_client_sdk/doc_generated/pepper_beta/cpp/instance__handle_8h.html
new file mode 100644
index 0000000..398aaa59
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/instance__handle_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/cpp/instance_handle.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for instance_handle.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="instance__handle_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2cpp_2instance__handle_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2instance__handle_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2instance__handle_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance_handle.html">pp::InstanceHandle</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">An instance handle identifies an instance in a constructor for a resource. <a href="classpp_1_1_instance_handle.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines an instance handle used to identify an instance in a constructor for a resource. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/instance__handle_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/cpp/instance__handle_8h__incl.png
new file mode 100644
index 0000000..ee59bbf
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/instance__handle_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/logging_8h.html b/native_client_sdk/doc_generated/pepper_beta/cpp/logging_8h.html
new file mode 100644
index 0000000..278bb7d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/logging_8h.html
@@ -0,0 +1,71 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/cpp/logging.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for logging.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="logging_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2cpp_2logging_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2logging_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2logging_8h">
+</map>
+</div>
+</div><h2>
+Defines</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="logging_8h.html#a5cb259e0fd1a8c0c64fbc891bc273417">PP_DCHECK</a>(a)   assert(a)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="logging_8h.html#a1c536418e751c9bda850cd2bc919e0ca">PP_NOTREACHED</a>()   assert(false)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines two macro asserts. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a5cb259e0fd1a8c0c64fbc891bc273417"></a><!-- doxytag: member="logging.h::PP_DCHECK" ref="a5cb259e0fd1a8c0c64fbc891bc273417" args="(a)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="logging_8h.html#a5cb259e0fd1a8c0c64fbc891bc273417">PP_DCHECK</a></td>
+<td>(</td>
+<td class="paramtype"> </td>
+<td class="paramname">a</td><td>)</td>
+<td>   assert(a)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This macro asserts that 'a' evaluates to true. </p>
+<p>In debug mode, this macro will crash the program if the assertion evaluates to false. It (typically) has no effect in release mode. </p>
+</div>
+</div>
+<a class="anchor" id="a1c536418e751c9bda850cd2bc919e0ca"></a><!-- doxytag: member="logging.h::PP_NOTREACHED" ref="a1c536418e751c9bda850cd2bc919e0ca" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="logging_8h.html#a1c536418e751c9bda850cd2bc919e0ca">PP_NOTREACHED</a></td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td>   assert(false)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This macro asserts false in debug builds. </p>
+<p>It's used in code paths that you don't expect to execute.</p>
+<p><b>Example:</b></p>
+<div class="fragment"><pre class="fragment"> <span class="keywordflow">if</span> (!pointer) {
+ <span class="comment">// Pointer wasn't valid! This shouldn't happen.</span>
+ <a class="code" href="logging_8h.html#a1c536418e751c9bda850cd2bc919e0ca" title="This macro asserts false in debug builds.">PP_NOTREACHED</a>();
+ <span class="keywordflow">return</span>;
+ }
+ <span class="comment">// Do stuff to the pointer, since you know it's valid.</span>
+ pointer->DoSomething();
+</pre></div>
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/logging_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/cpp/logging_8h__incl.png
new file mode 100644
index 0000000..b4ed0960
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/logging_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/message__loop_8h.html b/native_client_sdk/doc_generated/pepper_beta/cpp/message__loop_8h.html
new file mode 100644
index 0000000..f64d18c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/message__loop_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/cpp/message_loop.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for message_loop.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="message__loop_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2cpp_2message__loop_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2message__loop_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2message__loop_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_message_loop.html">pp::MessageLoop</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A message loop allows PPAPI calls to be issued on a thread. <a href="classpp_1_1_message_loop.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the PPB_MessageLoop API. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/message__loop_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/cpp/message__loop_8h__incl.png
new file mode 100644
index 0000000..fe7d463
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/message__loop_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/module_8h.html b/native_client_sdk/doc_generated/pepper_beta/cpp/module_8h.html
new file mode 100644
index 0000000..f18c053
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/module_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/cpp/module.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for module.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="module_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2cpp_2module_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2module_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2module_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html">pp::Module</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="classpp_1_1_module.html" title="The Module class.">Module</a> class. <a href="classpp_1_1_module.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines a Module class. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/module_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/cpp/module_8h__incl.png
new file mode 100644
index 0000000..33bc7618
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/module_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/module__embedder_8h.html b/native_client_sdk/doc_generated/pepper_beta/cpp/module__embedder_8h.html
new file mode 100644
index 0000000..4fe8e8f
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/module__embedder_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/cpp/module_embedder.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for module_embedder.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="module__embedder_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2cpp_2module__embedder_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2module__embedder_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2module__embedder_8h">
+</map>
+</div>
+</div><h2>
+Namespaces</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table><h2>
+Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_module.html">pp::Module</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html#ac861e0e00515a40d07a40e0dcc0fd728">pp::CreateModule</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html#a819119da5e9818961e9ab5306f3655d7">pp::SetBrokerGetInterfaceFunc</a> (PP_GetInterface_Func broker_get_interface)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the APIs for creating a Module object. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/module__embedder_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/cpp/module__embedder_8h__incl.png
new file mode 100644
index 0000000..e99b3dd
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/module__embedder_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/module__impl_8h.html b/native_client_sdk/doc_generated/pepper_beta/cpp/module__impl_8h.html
new file mode 100644
index 0000000..19b2bed
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/module__impl_8h.html
@@ -0,0 +1,25 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/cpp/module_impl.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for module_impl.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="module__impl_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2cpp_2module__impl_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2module__impl_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2module__impl_8h">
+</map>
+</div>
+</div><h2>
+Namespaces</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines some simple function templates that help the C++ wrappers (and are not for external developers to use). </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/module__impl_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/cpp/module__impl_8h__incl.png
new file mode 100644
index 0000000..04cf252
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/module__impl_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/mouse__cursor_8h.html b/native_client_sdk/doc_generated/pepper_beta/cpp/mouse__cursor_8h.html
new file mode 100644
index 0000000..4cdee95
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/mouse__cursor_8h.html
@@ -0,0 +1,26 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/cpp/mouse_cursor.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for mouse_cursor.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="mouse__cursor_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2cpp_2mouse__cursor_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2mouse__cursor_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2mouse__cursor_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_cursor.html">pp::MouseCursor</a></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/mouse__cursor_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/cpp/mouse__cursor_8h__incl.png
new file mode 100644
index 0000000..8444a71a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/mouse__cursor_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/mouse__lock_8h.html b/native_client_sdk/doc_generated/pepper_beta/cpp/mouse__lock_8h.html
new file mode 100644
index 0000000..317e79a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/mouse__lock_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/cpp/mouse_lock.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for mouse_lock.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="mouse__lock_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2cpp_2mouse__lock_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2mouse__lock_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2mouse__lock_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_lock.html">pp::MouseLock</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This class allows you to associate the <code>PPP_MouseLock</code> and <code>PPB_MouseLock</code> C-based interfaces with an object. <a href="classpp_1_1_mouse_lock.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API for locking the target of mouse events to a specific module instance. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/mouse__lock_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/cpp/mouse__lock_8h__incl.png
new file mode 100644
index 0000000..3556cb1
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/mouse__lock_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/namespacemembers_enum.html b/native_client_sdk/doc_generated/pepper_beta/cpp/namespacemembers_enum.html
new file mode 100644
index 0000000..6546fda
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/namespacemembers_enum.html
@@ -0,0 +1,16 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Namespace Members</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<div class="contents">
+ <ul>
+<li>PassRef
+: <a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">pp</a>
+</li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/namespacemembers_eval.html b/native_client_sdk/doc_generated/pepper_beta/cpp/namespacemembers_eval.html
new file mode 100644
index 0000000..76787d9
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/namespacemembers_eval.html
@@ -0,0 +1,16 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Namespace Members</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<div class="contents">
+ <ul>
+<li>PASS_REF
+: <a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5a82ae1b20e3ad488539b9dbc6ab4dd585">pp</a>
+</li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/namespacepp.html b/native_client_sdk/doc_generated/pepper_beta/cpp/namespacepp.html
new file mode 100644
index 0000000..4cc8968
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/namespacepp.html
@@ -0,0 +1,193 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp Namespace Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<h2>
+Namespaces</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp_1_1ext.html">ext</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp_1_1internal.html">internal</a></td></tr>
+</table><h2>
+Classes</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio.html">Audio</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">An audio resource. <a href="classpp_1_1_audio.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio_config.html">AudioConfig</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A 16 bit stereo <a class="el" href="classpp_1_1_audio_config.html" title="A 16 bit stereo AudioConfig resource.">AudioConfig</a> resource. <a href="classpp_1_1_audio_config.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This API enables you to implement and receive callbacks when Pepper operations complete asynchronously. <a href="classpp_1_1_completion_callback.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A <a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a> defines a completion callback that additionally stores a pointer to some output data. <a href="classpp_1_1_completion_callback_with_output.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_core.html">Core</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">APIs related to memory management, time, and threads. <a href="classpp_1_1_core.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_directory_entry.html">DirectoryEntry</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry.">DirectoryEntry</a></code> class represents information about a directory entry. <a href="classpp_1_1_directory_entry.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_i_o.html">FileIO</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a></code> class represents a regular file. <a href="classpp_1_1_file_i_o.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_ref.html">FileRef</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code> class represents a "weak pointer" to a file in a file system. <a href="classpp_1_1_file_ref.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_system.html">FileSystem</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_file_system.html" title="The FileSystem class identifies the file system type associated with a file.">FileSystem</a></code> class identifies the file system type associated with a file. <a href="classpp_1_1_file_system.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_fullscreen.html">Fullscreen</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="classpp_1_1_fullscreen.html" title="The Fullscreen class allowing you to check and toggle fullscreen mode.">Fullscreen</a> class allowing you to check and toggle fullscreen mode. <a href="classpp_1_1_fullscreen.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics2_d.html">Graphics2D</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics3_d.html">Graphics3D</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This class represents a 3D rendering context in the browser. <a href="classpp_1_1_graphics3_d.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics3_d_client.html">Graphics3DClient</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_host_resolver.html">HostResolver</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_host_resolver.html" title="The HostResolver class supports host name resolution.">HostResolver</a></code> class supports host name resolution. <a href="classpp_1_1_host_resolver.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_image_data.html">ImageData</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_input_event.html">InputEvent</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This class represents an input event resource. <a href="classpp_1_1_input_event.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_input_event.html">MouseInputEvent</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This class handles mouse events. <a href="classpp_1_1_mouse_input_event.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_wheel_input_event.html">WheelInputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_keyboard_input_event.html">KeyboardInputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_touch_input_event.html">TouchInputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_i_m_e_input_event.html">IMEInputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html">Instance</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">An instance handle identifies an instance in a constructor for a resource. <a href="classpp_1_1_instance_handle.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_message_loop.html">MessageLoop</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A message loop allows PPAPI calls to be issued on a thread. <a href="classpp_1_1_message_loop.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html">Module</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="classpp_1_1_module.html" title="The Module class.">Module</a> class. <a href="classpp_1_1_module.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_cursor.html">MouseCursor</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_lock.html">MouseLock</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This class allows you to associate the <code>PPP_MouseLock</code> and <code>PPB_MouseLock</code> C-based interfaces with an object. <a href="classpp_1_1_mouse_lock.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_net_address.html">NetAddress</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code> class represents a network address. <a href="classpp_1_1_net_address.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_list.html">NetworkList</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_monitor.html">NetworkMonitor</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_proxy.html">NetworkProxy</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This class provides a way to determine the appropriate proxy settings for for a given URL. <a href="classpp_1_1_network_proxy.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_point.html">Point</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A 2 dimensional point with 0,0 being the upper-left starting coordinate. <a href="classpp_1_1_point.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_float_point.html">FloatPoint</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A 2 dimensional floating-point point with 0,0 being the upper-left starting coordinate. <a href="classpp_1_1_float_point.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html">Rect</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A 2 dimensional rectangle. <a href="classpp_1_1_rect.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_resource.html">Resource</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A reference counted module resource. <a href="classpp_1_1_resource.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_size.html">Size</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A size of an object based on width and height. <a href="classpp_1_1_size.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html">TCPSocket</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_t_c_p_socket.html" title="The TCPSocket class provides TCP socket operations.">TCPSocket</a></code> class provides TCP socket operations. <a href="classpp_1_1_t_c_p_socket.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_text_input_controller.html">TextInputController</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This class can be used for giving hints to the browser about the text input status of plugins. <a href="classpp_1_1_text_input_controller.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_touch_point.html">TouchPoint</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Wrapper class for PP_TouchPoint. <a href="classpp_1_1_touch_point.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_d_p_socket.html">UDPSocket</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_u_d_p_socket.html" title="The UDPSocket class provides UDP socket operations.">UDPSocket</a></code> class provides UDP socket operations. <a href="classpp_1_1_u_d_p_socket.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_loader.html">URLLoader</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs.">URLLoader</a> provides an API for loading URLs. <a href="classpp_1_1_u_r_l_loader.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html">URLRequestInfo</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classpp_1_1_u_r_l_request_info.html" title="URLRequestInfo provides an API for creating and manipulating URL requests.">URLRequestInfo</a> provides an API for creating and manipulating URL requests. <a href="classpp_1_1_u_r_l_request_info.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_response_info.html">URLResponseInfo</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classpp_1_1_u_r_l_response_info.html" title="URLResponseInfo provides an API for examining URL responses.">URLResponseInfo</a> provides an API for examining URL responses. <a href="classpp_1_1_u_r_l_response_info.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html">Var</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A generic type used for passing data types between the module and the page. <a href="classpp_1_1_var.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array.html">VarArray</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array_buffer.html">VarArrayBuffer</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code> provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous sequence of bytes. <a href="classpp_1_1_var_array_buffer.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_dictionary.html">VarDictionary</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_view.html">View</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This class represents the state of the view for an instance and contains functions for retrieving the current state of that view. <a href="classpp_1_1_view.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_web_socket.html">WebSocket</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a></code> class providing bi-directional, full-duplex, communications over a single TCP socket. <a href="classpp_1_1_web_socket.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html">CompletionCallbackFactory</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">CompletionCallbackFactory<T> may be used to create <a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a> objects that are bound to member functions. <a href="classpp_1_1_completion_callback_factory.html#details">More...</a><br /></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a> { <a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5a82ae1b20e3ad488539b9dbc6ab4dd585">PASS_REF</a>
+ }</td></tr>
+</table><h2>
+Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html#a720b2df07621eabf59bdbae84ab80f47">BlockUntilComplete</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_module.html">pp::Module</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html#ac861e0e00515a40d07a40e0dcc0fd728">CreateModule</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html#a819119da5e9818961e9ab5306f3655d7">SetBrokerGetInterfaceFunc</a> (PP_GetInterface_Func broker_get_interface)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The C++ interface to the Pepper API. </p>
+</div><hr /><h2>Enumeration Type Documentation</h2>
+<a class="anchor" id="a339083c1beec620267bf8b3c55decaa5"></a><!-- doxytag: member="pp::PassRef" ref="a339083c1beec620267bf8b3c55decaa5" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">pp::PassRef</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>An annotation for constructors and other functions that take ownership of a pointer. </p>
+<p>For example, a resource constructor that takes ownership of a provided <code>PP_Resource</code> ref count would take this enumeration to differentiate from the more typical use case of taking its own reference. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="a339083c1beec620267bf8b3c55decaa5a82ae1b20e3ad488539b9dbc6ab4dd585"></a><!-- doxytag: member="PASS_REF" ref="a339083c1beec620267bf8b3c55decaa5a82ae1b20e3ad488539b9dbc6ab4dd585" args="" -->PASS_REF</em> </td><td>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Function Documentation</h2>
+<a class="anchor" id="a720b2df07621eabf59bdbae84ab80f47"></a><!-- doxytag: member="pp::BlockUntilComplete" ref="a720b2df07621eabf59bdbae84ab80f47" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> <a class="el" href="namespacepp.html#a720b2df07621eabf59bdbae84ab80f47">pp::BlockUntilComplete</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="namespacepp.html#a720b2df07621eabf59bdbae84ab80f47" title="BlockUntilComplete() is used in place of an actual completion callback to request blocking behavior...">BlockUntilComplete()</a> is used in place of an actual completion callback to request blocking behavior. </p>
+<p>If specified, the calling thread will block until the function completes. Blocking completion callbacks are only allowed from background threads.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> corresponding to a NULL callback. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ac861e0e00515a40d07a40e0dcc0fd728"></a><!-- doxytag: member="pp::CreateModule" ref="ac861e0e00515a40d07a40e0dcc0fd728" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_module.html">pp::Module</a>* <a class="el" href="namespacepp.html#ac861e0e00515a40d07a40e0dcc0fd728">pp::CreateModule</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function creates the <code><a class="el" href="classpp_1_1_module.html" title="The Module class.">pp::Module</a></code> object associated with this module. </p>
+<p><b>Note: </b>NaCl module developers must implement this function.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the module if it was successfully created, or NULL on failure. Upon failure, the module will be unloaded. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a819119da5e9818961e9ab5306f3655d7"></a><!-- doxytag: member="pp::SetBrokerGetInterfaceFunc" ref="a819119da5e9818961e9ab5306f3655d7" args="(PP_GetInterface_Func broker_get_interface)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="namespacepp.html#a819119da5e9818961e9ab5306f3655d7">pp::SetBrokerGetInterfaceFunc</a> </td>
+<td>(</td>
+<td class="paramtype">PP_GetInterface_Func </td>
+<td class="paramname"><em>broker_get_interface</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sets the get interface function in the broker process. </p>
+<p>This function is only relevant when you're using the PPB_Broker interface in a trusted native plugin. In this case, you may need to implement PPP_GetInterface when the plugin is loaded in the unsandboxed process. Normally the C++ wrappers implement PPP_GetInterface for you but this doesn't work in the context of the broker process. So if you need to implement PPP_* interfaces in the broker process, call this function in your PPP_InitializeBroker implementation which will set up the given function as implementing PPP_GetInterface. </p>
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/namespacepp_1_1ext.html b/native_client_sdk/doc_generated/pepper_beta/cpp/namespacepp_1_1ext.html
new file mode 100644
index 0000000..79854ca
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/namespacepp_1_1ext.html
@@ -0,0 +1,18 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::ext Namespace Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">ExtCompletionCallbackWithOutput</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html" title="ExtCompletionCallbackWithOutput is similar to CompletionCallbackWithOutput, but used by APIs within t...">ExtCompletionCallbackWithOutput</a> is similar to <a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a>, but used by APIs within the <a class="el" href="namespacepp_1_1ext.html">pp::ext</a> namespace. <a href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html#details">More...</a><br /></td></tr>
+</table>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/namespacepp_1_1internal.html b/native_client_sdk/doc_generated/pepper_beta/cpp/namespacepp_1_1internal.html
new file mode 100644
index 0000000..b34cadd
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/namespacepp_1_1internal.html
@@ -0,0 +1,23 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::internal Namespace Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">CompletionCallbackWithOutputBase</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The base class of [Ext]<a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a>. <a href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html">DirectoryEntryArrayOutputAdapterWithStorage</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html">CallbackOutputTraits< std::vector< DirectoryEntry > ></a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">TypeUnwrapper</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1internal_1_1_type_unwrapper_3_01_t_01_6_01_4.html">TypeUnwrapper< T & ></a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1internal_1_1_type_unwrapper_3_01const_01_t_01_6_01_4.html">TypeUnwrapper< const T & ></a></td></tr>
+</table>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/net__address_8h.html b/native_client_sdk/doc_generated/pepper_beta/cpp/net__address_8h.html
new file mode 100644
index 0000000..3401ff1d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/net__address_8h.html
@@ -0,0 +1,27 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/cpp/net_address.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for net_address.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="net__address_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2cpp_2net__address_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2net__address_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2net__address_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_net_address.html">pp::NetAddress</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code> class represents a network address. <a href="classpp_1_1_net_address.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/net__address_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/cpp/net__address_8h__incl.png
new file mode 100644
index 0000000..d512740
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/net__address_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/network__list_8h.html b/native_client_sdk/doc_generated/pepper_beta/cpp/network__list_8h.html
new file mode 100644
index 0000000..04dbb05
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/network__list_8h.html
@@ -0,0 +1,26 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/cpp/network_list.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for network_list.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="network__list_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2cpp_2network__list_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2network__list_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2network__list_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_list.html">pp::NetworkList</a></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/network__list_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/cpp/network__list_8h__incl.png
new file mode 100644
index 0000000..8514f16
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/network__list_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/network__monitor_8h.html b/native_client_sdk/doc_generated/pepper_beta/cpp/network__monitor_8h.html
new file mode 100644
index 0000000..fbb262d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/network__monitor_8h.html
@@ -0,0 +1,26 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/cpp/network_monitor.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for network_monitor.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="network__monitor_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2cpp_2network__monitor_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2network__monitor_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2network__monitor_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_monitor.html">pp::NetworkMonitor</a></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/network__monitor_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/cpp/network__monitor_8h__incl.png
new file mode 100644
index 0000000..4c0fb271
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/network__monitor_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/network__proxy_8h.html b/native_client_sdk/doc_generated/pepper_beta/cpp/network__proxy_8h.html
new file mode 100644
index 0000000..77efdba
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/network__proxy_8h.html
@@ -0,0 +1,27 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/cpp/network_proxy.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for network_proxy.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="network__proxy_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2cpp_2network__proxy_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2network__proxy_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2network__proxy_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_proxy.html">pp::NetworkProxy</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This class provides a way to determine the appropriate proxy settings for for a given URL. <a href="classpp_1_1_network_proxy.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/network__proxy_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/cpp/network__proxy_8h__incl.png
new file mode 100644
index 0000000..bb37848
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/network__proxy_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/pass__ref_8h.html b/native_client_sdk/doc_generated/pepper_beta/cpp/pass__ref_8h.html
new file mode 100644
index 0000000..c3d14579
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/pass__ref_8h.html
@@ -0,0 +1,22 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/cpp/pass_ref.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<h2>
+Namespaces</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">pp::PassRef</a> { <a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5a82ae1b20e3ad488539b9dbc6ab4dd585">pp::PASS_REF</a>
+ }</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines an annotation for constructors and other functions that take ownership of a pointer. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/point_8h.html b/native_client_sdk/doc_generated/pepper_beta/cpp/point_8h.html
new file mode 100644
index 0000000..1c0b495d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/point_8h.html
@@ -0,0 +1,178 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/cpp/point.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for point.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="point_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2cpp_2point_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2point_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2point_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_point.html">pp::Point</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A 2 dimensional point with 0,0 being the upper-left starting coordinate. <a href="classpp_1_1_point.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A 2 dimensional floating-point point with 0,0 being the upper-left starting coordinate. <a href="classpp_1_1_float_point.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table><h2>
+Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="point_8h.html#acdca90fb96f299839dcea8d836d6f92f">operator==</a> (const <a class="el" href="classpp_1_1_point.html">pp::Point</a> &lhs, const <a class="el" href="classpp_1_1_point.html">pp::Point</a> &rhs)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="point_8h.html#a49089c373eeebff274a723f7545b7680">operator!=</a> (const <a class="el" href="classpp_1_1_point.html">pp::Point</a> &lhs, const <a class="el" href="classpp_1_1_point.html">pp::Point</a> &rhs)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="point_8h.html#a59d82ac98ce35697fae48edd66a7fdba">operator==</a> (const <a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a> &lhs, const <a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a> &rhs)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="point_8h.html#a429594ae059c2956f538876c3c4e68c2">operator!=</a> (const <a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a> &lhs, const <a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a> &rhs)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API to create a 2 dimensional point. </p>
+</div><hr /><h2>Function Documentation</h2>
+<a class="anchor" id="a49089c373eeebff274a723f7545b7680"></a><!-- doxytag: member="point.h::operator!=" ref="a49089c373eeebff274a723f7545b7680" args="(const pp::Point &lhs, const pp::Point &rhs)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool operator!= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">pp::Point</a> & </td>
+<td class="paramname"><em>lhs</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">pp::Point</a> & </td>
+<td class="paramname"><em>rhs</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Determines whether two Points have different coordinates. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">lhs</td><td>The Point on the left-hand side of the equation. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">rhs</td><td>The Point on the right-hand side of the equation.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the coordinates of lhs are equal to the coordinates of rhs, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a429594ae059c2956f538876c3c4e68c2"></a><!-- doxytag: member="point.h::operator!=" ref="a429594ae059c2956f538876c3c4e68c2" args="(const pp::FloatPoint &lhs, const pp::FloatPoint &rhs)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool operator!= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a> & </td>
+<td class="paramname"><em>lhs</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a> & </td>
+<td class="paramname"><em>rhs</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Determines whether two Points have different coordinates. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">lhs</td><td>The Point on the left-hand side of the equation. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">rhs</td><td>The Point on the right-hand side of the equation.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the coordinates of lhs are equal to the coordinates of rhs, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="acdca90fb96f299839dcea8d836d6f92f"></a><!-- doxytag: member="point.h::operator==" ref="acdca90fb96f299839dcea8d836d6f92f" args="(const pp::Point &lhs, const pp::Point &rhs)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool operator== </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">pp::Point</a> & </td>
+<td class="paramname"><em>lhs</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">pp::Point</a> & </td>
+<td class="paramname"><em>rhs</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Determines whether the x and y values of two Points are equal. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">lhs</td><td>The Point on the left-hand side of the equation. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">rhs</td><td>The Point on the right-hand side of the equation.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if they are equal, false if unequal. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a59d82ac98ce35697fae48edd66a7fdba"></a><!-- doxytag: member="point.h::operator==" ref="a59d82ac98ce35697fae48edd66a7fdba" args="(const pp::FloatPoint &lhs, const pp::FloatPoint &rhs)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool operator== </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a> & </td>
+<td class="paramname"><em>lhs</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a> & </td>
+<td class="paramname"><em>rhs</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Determines whether the x and y values of two FloatPoints are equal. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">lhs</td><td>The Point on the left-hand side of the equation. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">rhs</td><td>The Point on the right-hand side of the equation.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if they are equal, false if unequal. </dd></dl>
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/point_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/cpp/point_8h__incl.png
new file mode 100644
index 0000000..8182e89
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/point_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/rect_8h.html b/native_client_sdk/doc_generated/pepper_beta/cpp/rect_8h.html
new file mode 100644
index 0000000..f340fae
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/rect_8h.html
@@ -0,0 +1,104 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/cpp/rect.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for rect.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="rect_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2cpp_2rect_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2rect_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2rect_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A 2 dimensional rectangle. <a href="classpp_1_1_rect.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table><h2>
+Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="rect_8h.html#a79b9bc57ea3e03a0e56b7975b4ffd401">operator==</a> (const <a class="el" href="classpp_1_1_rect.html">pp::Rect</a> &lhs, const <a class="el" href="classpp_1_1_rect.html">pp::Rect</a> &rhs)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="rect_8h.html#a29f92b097dbed35ecf5f5ab1932a644e">operator!=</a> (const <a class="el" href="classpp_1_1_rect.html">pp::Rect</a> &lhs, const <a class="el" href="classpp_1_1_rect.html">pp::Rect</a> &rhs)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the APIs for creating a 2 dimensional rectangle. </p>
+</div><hr /><h2>Function Documentation</h2>
+<a class="anchor" id="a29f92b097dbed35ecf5f5ab1932a644e"></a><!-- doxytag: member="rect.h::operator!=" ref="a29f92b097dbed35ecf5f5ab1932a644e" args="(const pp::Rect &lhs, const pp::Rect &rhs)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool operator!= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">pp::Rect</a> & </td>
+<td class="paramname"><em>lhs</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">pp::Rect</a> & </td>
+<td class="paramname"><em>rhs</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function determines whether two Rects are not equal. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">lhs</td><td>The <code>Rect</code> on the left-hand side of the equation. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">rhs</td><td>The <code>Rect</code> on the right-hand side of the equation.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the given Rects are equal, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a79b9bc57ea3e03a0e56b7975b4ffd401"></a><!-- doxytag: member="rect.h::operator==" ref="a79b9bc57ea3e03a0e56b7975b4ffd401" args="(const pp::Rect &lhs, const pp::Rect &rhs)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool operator== </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">pp::Rect</a> & </td>
+<td class="paramname"><em>lhs</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">pp::Rect</a> & </td>
+<td class="paramname"><em>rhs</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function determines whether the x, y, width, and height values of two rectangles and are equal. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">lhs</td><td>The <code>Rect</code> on the left-hand side of the equation. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">rhs</td><td>The <code>Rect</code> on the right-hand side of the equation.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if they are equal, false if unequal. </dd></dl>
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/rect_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/cpp/rect_8h__incl.png
new file mode 100644
index 0000000..52cf956f4
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/rect_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/resource_8h.html b/native_client_sdk/doc_generated/pepper_beta/cpp/resource_8h.html
new file mode 100644
index 0000000..8e77e81
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/resource_8h.html
@@ -0,0 +1,86 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/cpp/resource.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for resource.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="resource_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2cpp_2resource_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2resource_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2resource_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A reference counted module resource. <a href="classpp_1_1_resource.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table><h2>
+Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="resource_8h.html#a879d95bb0967cf6cb6b916283d68f900">operator==</a> (const <a class="el" href="classpp_1_1_resource.html">pp::Resource</a> &lhs, const <a class="el" href="classpp_1_1_resource.html">pp::Resource</a> &rhs)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="resource_8h.html#ac908e756e088d693e4a78fca460971ba">operator!=</a> (const <a class="el" href="classpp_1_1_resource.html">pp::Resource</a> &lhs, const <a class="el" href="classpp_1_1_resource.html">pp::Resource</a> &rhs)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines a <code>Resource</code> type representing data associated with the module. </p>
+</div><hr /><h2>Function Documentation</h2>
+<a class="anchor" id="ac908e756e088d693e4a78fca460971ba"></a><!-- doxytag: member="resource.h::operator!=" ref="ac908e756e088d693e4a78fca460971ba" args="(const pp::Resource &lhs, const pp::Resource &rhs)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool operator!= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_resource.html">pp::Resource</a> & </td>
+<td class="paramname"><em>lhs</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_resource.html">pp::Resource</a> & </td>
+<td class="paramname"><em>rhs</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a879d95bb0967cf6cb6b916283d68f900"></a><!-- doxytag: member="resource.h::operator==" ref="a879d95bb0967cf6cb6b916283d68f900" args="(const pp::Resource &lhs, const pp::Resource &rhs)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool operator== </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_resource.html">pp::Resource</a> & </td>
+<td class="paramname"><em>lhs</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_resource.html">pp::Resource</a> & </td>
+<td class="paramname"><em>rhs</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/resource_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/cpp/resource_8h__incl.png
new file mode 100644
index 0000000..25d5712
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/resource_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/size_8h.html b/native_client_sdk/doc_generated/pepper_beta/cpp/size_8h.html
new file mode 100644
index 0000000..6cf5a65
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/size_8h.html
@@ -0,0 +1,104 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/cpp/size.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for size.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="size_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2cpp_2size_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2size_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2size_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_size.html">pp::Size</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A size of an object based on width and height. <a href="classpp_1_1_size.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table><h2>
+Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="size_8h.html#ad3d13cbe3886f37d082352f261892564">operator==</a> (const <a class="el" href="classpp_1_1_size.html">pp::Size</a> &lhs, const <a class="el" href="classpp_1_1_size.html">pp::Size</a> &rhs)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="size_8h.html#a915ab1f503e22dc6662ad56caa1eb7c3">operator!=</a> (const <a class="el" href="classpp_1_1_size.html">pp::Size</a> &lhs, const <a class="el" href="classpp_1_1_size.html">pp::Size</a> &rhs)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API to create a size based on width and height. </p>
+</div><hr /><h2>Function Documentation</h2>
+<a class="anchor" id="a915ab1f503e22dc6662ad56caa1eb7c3"></a><!-- doxytag: member="size.h::operator!=" ref="a915ab1f503e22dc6662ad56caa1eb7c3" args="(const pp::Size &lhs, const pp::Size &rhs)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool operator!= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_size.html">pp::Size</a> & </td>
+<td class="paramname"><em>lhs</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_size.html">pp::Size</a> & </td>
+<td class="paramname"><em>rhs</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function determines whether two <code>Sizes</code> are not equal. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">lhs</td><td>The <code>Size</code> on the left-hand side of the equation. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">rhs</td><td>The <code>Size</code> on the right-hand side of the equation.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the <code>Size</code> of lhs are equal to the <code>Size</code> of rhs, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ad3d13cbe3886f37d082352f261892564"></a><!-- doxytag: member="size.h::operator==" ref="ad3d13cbe3886f37d082352f261892564" args="(const pp::Size &lhs, const pp::Size &rhs)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool operator== </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_size.html">pp::Size</a> & </td>
+<td class="paramname"><em>lhs</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_size.html">pp::Size</a> & </td>
+<td class="paramname"><em>rhs</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function determines whether the width and height values of two sizes are equal. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">lhs</td><td>The <code>Size</code> on the left-hand side of the equation. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">rhs</td><td>The <code>Size</code> on the right-hand side of the equation.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if they are equal, false if unequal. </dd></dl>
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/size_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/cpp/size_8h__incl.png
new file mode 100644
index 0000000..2473c6d3
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/size_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/structpp_1_1_var_1_1_dont_manage.html b/native_client_sdk/doc_generated/pepper_beta/cpp/structpp_1_1_var_1_1_dont_manage.html
new file mode 100644
index 0000000..a8bdb99
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/structpp_1_1_var_1_1_dont_manage.html
@@ -0,0 +1,15 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::Var::DontManage Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::Var::DontManage" --><hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="var_8h.html">var.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/structpp_1_1_var_1_1_null.html b/native_client_sdk/doc_generated/pepper_beta/cpp/structpp_1_1_var_1_1_null.html
new file mode 100644
index 0000000..7d3719d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/structpp_1_1_var_1_1_null.html
@@ -0,0 +1,17 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::Var::Null Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::Var::Null" --><hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Special value passed to constructor to make <code>NULL</code>. </p>
+</div><hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="var_8h.html">var.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4-members.html
new file mode 100644
index 0000000..dcb009f
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4-members.html
@@ -0,0 +1,18 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html">pp::internal::CallbackOutputTraits< std::vector< DirectoryEntry > ></a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a91af145a82c147adbeaed69c3e6c3ab3">APIArgType</a> typedef</td><td><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html">pp::internal::CallbackOutputTraits< std::vector< DirectoryEntry > ></a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#ae5cefe7c63f50e354c27085ecf2b1355">Initialize</a>(StorageType *)</td><td><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html">pp::internal::CallbackOutputTraits< std::vector< DirectoryEntry > ></a></td><td><code> [inline, static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a57c9b5014e6ab62dcd28da5bb017aa48">StorageToAPIArg</a>(StorageType &t)</td><td><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html">pp::internal::CallbackOutputTraits< std::vector< DirectoryEntry > ></a></td><td><code> [inline, static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a1363bd4ed9b123454c6e9e7a5a062e69">StorageToPluginArg</a>(StorageType &t)</td><td><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html">pp::internal::CallbackOutputTraits< std::vector< DirectoryEntry > ></a></td><td><code> [inline, static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a5c78dd88ade2f1f6282605f9a3f2949d">StorageType</a> typedef</td><td><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html">pp::internal::CallbackOutputTraits< std::vector< DirectoryEntry > ></a></td><td></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html b/native_client_sdk/doc_generated/pepper_beta/cpp/structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html
new file mode 100644
index 0000000..f51f27b
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html
@@ -0,0 +1,106 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::internal::CallbackOutputTraits< std::vector< DirectoryEntry > > Struct Template Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::internal::CallbackOutputTraits< std::vector< DirectoryEntry > >" -->
+<p><a href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4-members.html">List of all members.</a></p>
+<h2>
+Public Types</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">typedef PP_ArrayOutput </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a91af145a82c147adbeaed69c3e6c3ab3">APIArgType</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef <br class="typebreak" />
+<a class="el" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html">DirectoryEntryArrayOutputAdapterWithStorage</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a5c78dd88ade2f1f6282605f9a3f2949d">StorageType</a></td></tr>
+</table><h2>
+Static Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a91af145a82c147adbeaed69c3e6c3ab3">APIArgType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a57c9b5014e6ab62dcd28da5bb017aa48">StorageToAPIArg</a> (<a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a5c78dd88ade2f1f6282605f9a3f2949d">StorageType</a> &t)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static std::vector<br class="typebreak" />
+< <a class="el" href="classpp_1_1_directory_entry.html">DirectoryEntry</a> > & </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a1363bd4ed9b123454c6e9e7a5a062e69">StorageToPluginArg</a> (<a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a5c78dd88ade2f1f6282605f9a3f2949d">StorageType</a> &t)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#ae5cefe7c63f50e354c27085ecf2b1355">Initialize</a> (<a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a5c78dd88ade2f1f6282605f9a3f2949d">StorageType</a> *)</td></tr>
+</table>
+<h3>template<><br />
+ struct pp::internal::CallbackOutputTraits< std::vector< DirectoryEntry > ></h3>
+<hr /><h2>Member Typedef Documentation</h2>
+<a class="anchor" id="a91af145a82c147adbeaed69c3e6c3ab3"></a><!-- doxytag: member="pp::internal::CallbackOutputTraits< std::vector< DirectoryEntry > >::APIArgType" ref="a91af145a82c147adbeaed69c3e6c3ab3" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef PP_ArrayOutput pp::internal::CallbackOutputTraits< std::vector< <a class="el" href="classpp_1_1_directory_entry.html">DirectoryEntry</a> > >::<a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a91af145a82c147adbeaed69c3e6c3ab3">APIArgType</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a5c78dd88ade2f1f6282605f9a3f2949d"></a><!-- doxytag: member="pp::internal::CallbackOutputTraits< std::vector< DirectoryEntry > >::StorageType" ref="a5c78dd88ade2f1f6282605f9a3f2949d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef <a class="el" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html">DirectoryEntryArrayOutputAdapterWithStorage</a> pp::internal::CallbackOutputTraits< std::vector< <a class="el" href="classpp_1_1_directory_entry.html">DirectoryEntry</a> > >::<a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a5c78dd88ade2f1f6282605f9a3f2949d">StorageType</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="ae5cefe7c63f50e354c27085ecf2b1355"></a><!-- doxytag: member="pp::internal::CallbackOutputTraits< std::vector< DirectoryEntry > >::Initialize" ref="ae5cefe7c63f50e354c27085ecf2b1355" args="(StorageType *)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static void pp::internal::CallbackOutputTraits< std::vector< <a class="el" href="classpp_1_1_directory_entry.html">DirectoryEntry</a> > >::<a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#ae5cefe7c63f50e354c27085ecf2b1355">Initialize</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a5c78dd88ade2f1f6282605f9a3f2949d">StorageType</a> * </td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline, static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a57c9b5014e6ab62dcd28da5bb017aa48"></a><!-- doxytag: member="pp::internal::CallbackOutputTraits< std::vector< DirectoryEntry > >::StorageToAPIArg" ref="a57c9b5014e6ab62dcd28da5bb017aa48" args="(StorageType &t)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static <a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a91af145a82c147adbeaed69c3e6c3ab3">APIArgType</a> pp::internal::CallbackOutputTraits< std::vector< <a class="el" href="classpp_1_1_directory_entry.html">DirectoryEntry</a> > >::<a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a57c9b5014e6ab62dcd28da5bb017aa48">StorageToAPIArg</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a5c78dd88ade2f1f6282605f9a3f2949d">StorageType</a> & </td>
+<td class="paramname"><em>t</em></td><td>)</td>
+<td><code> [inline, static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a1363bd4ed9b123454c6e9e7a5a062e69"></a><!-- doxytag: member="pp::internal::CallbackOutputTraits< std::vector< DirectoryEntry > >::StorageToPluginArg" ref="a1363bd4ed9b123454c6e9e7a5a062e69" args="(StorageType &t)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static std::vector<<a class="el" href="classpp_1_1_directory_entry.html">DirectoryEntry</a>>& pp::internal::CallbackOutputTraits< std::vector< <a class="el" href="classpp_1_1_directory_entry.html">DirectoryEntry</a> > >::<a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a1363bd4ed9b123454c6e9e7a5a062e69">StorageToPluginArg</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a5c78dd88ade2f1f6282605f9a3f2949d">StorageType</a> & </td>
+<td class="paramname"><em>t</em></td><td>)</td>
+<td><code> [inline, static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/cpp/<a class="el" href="directory__entry_8h.html">directory_entry.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/structpp_1_1internal_1_1_type_unwrapper-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/structpp_1_1internal_1_1_type_unwrapper-members.html
new file mode 100644
index 0000000..9b8d480
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/structpp_1_1internal_1_1_type_unwrapper-members.html
@@ -0,0 +1,14 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">pp::internal::TypeUnwrapper< T ></a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html#a9ee845648d1361a028a2c34a53306808">StorageType</a> typedef</td><td><a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">pp::internal::TypeUnwrapper< T ></a></td><td></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/structpp_1_1internal_1_1_type_unwrapper.html b/native_client_sdk/doc_generated/pepper_beta/cpp/structpp_1_1internal_1_1_type_unwrapper.html
new file mode 100644
index 0000000..54e23c0
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/structpp_1_1internal_1_1_type_unwrapper.html
@@ -0,0 +1,39 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::internal::TypeUnwrapper< T > Struct Template Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::internal::TypeUnwrapper" -->
+<p><a href="structpp_1_1internal_1_1_type_unwrapper-members.html">List of all members.</a></p>
+<h2>
+Public Types</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">typedef T </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html#a9ee845648d1361a028a2c34a53306808">StorageType</a></td></tr>
+</table>
+<h3>template<typename T><br />
+ struct pp::internal::TypeUnwrapper< T ></h3>
+<hr /><h2>Member Typedef Documentation</h2>
+<a class="anchor" id="a9ee845648d1361a028a2c34a53306808"></a><!-- doxytag: member="pp::internal::TypeUnwrapper::StorageType" ref="a9ee845648d1361a028a2c34a53306808" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T > </div>
+<table class="memname">
+<tr>
+<td class="memname">typedef T <a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">pp::internal::TypeUnwrapper</a>< T >::<a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html#a9ee845648d1361a028a2c34a53306808">StorageType</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/utility/<a class="el" href="completion__callback__factory_8h.html">completion_callback_factory.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/structpp_1_1internal_1_1_type_unwrapper_3_01_t_01_6_01_4-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/structpp_1_1internal_1_1_type_unwrapper_3_01_t_01_6_01_4-members.html
new file mode 100644
index 0000000..d387937
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/structpp_1_1internal_1_1_type_unwrapper_3_01_t_01_6_01_4-members.html
@@ -0,0 +1,14 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="structpp_1_1internal_1_1_type_unwrapper_3_01_t_01_6_01_4.html">pp::internal::TypeUnwrapper< T & ></a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="structpp_1_1internal_1_1_type_unwrapper_3_01_t_01_6_01_4.html#ac2e1763baf3d5f5ef63f6b14de038d79">StorageType</a> typedef</td><td><a class="el" href="structpp_1_1internal_1_1_type_unwrapper_3_01_t_01_6_01_4.html">pp::internal::TypeUnwrapper< T & ></a></td><td></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/structpp_1_1internal_1_1_type_unwrapper_3_01_t_01_6_01_4.html b/native_client_sdk/doc_generated/pepper_beta/cpp/structpp_1_1internal_1_1_type_unwrapper_3_01_t_01_6_01_4.html
new file mode 100644
index 0000000..58fa2b5
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/structpp_1_1internal_1_1_type_unwrapper_3_01_t_01_6_01_4.html
@@ -0,0 +1,39 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::internal::TypeUnwrapper< T & > Struct Template Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::internal::TypeUnwrapper< T & >" -->
+<p><a href="structpp_1_1internal_1_1_type_unwrapper_3_01_t_01_6_01_4-members.html">List of all members.</a></p>
+<h2>
+Public Types</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">typedef T </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1internal_1_1_type_unwrapper_3_01_t_01_6_01_4.html#ac2e1763baf3d5f5ef63f6b14de038d79">StorageType</a></td></tr>
+</table>
+<h3>template<typename T><br />
+ struct pp::internal::TypeUnwrapper< T & ></h3>
+<hr /><h2>Member Typedef Documentation</h2>
+<a class="anchor" id="ac2e1763baf3d5f5ef63f6b14de038d79"></a><!-- doxytag: member="pp::internal::TypeUnwrapper< T & >::StorageType" ref="ac2e1763baf3d5f5ef63f6b14de038d79" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T > </div>
+<table class="memname">
+<tr>
+<td class="memname">typedef T <a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">pp::internal::TypeUnwrapper</a>< T & >::<a class="el" href="structpp_1_1internal_1_1_type_unwrapper_3_01_t_01_6_01_4.html#ac2e1763baf3d5f5ef63f6b14de038d79">StorageType</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/utility/<a class="el" href="completion__callback__factory_8h.html">completion_callback_factory.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/structpp_1_1internal_1_1_type_unwrapper_3_01const_01_t_01_6_01_4-members.html b/native_client_sdk/doc_generated/pepper_beta/cpp/structpp_1_1internal_1_1_type_unwrapper_3_01const_01_t_01_6_01_4-members.html
new file mode 100644
index 0000000..e8a41b8
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/structpp_1_1internal_1_1_type_unwrapper_3_01const_01_t_01_6_01_4-members.html
@@ -0,0 +1,14 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="structpp_1_1internal_1_1_type_unwrapper_3_01const_01_t_01_6_01_4.html">pp::internal::TypeUnwrapper< const T & ></a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="structpp_1_1internal_1_1_type_unwrapper_3_01const_01_t_01_6_01_4.html#a355ba0f4966cc7d09de85a5e94cf80bc">StorageType</a> typedef</td><td><a class="el" href="structpp_1_1internal_1_1_type_unwrapper_3_01const_01_t_01_6_01_4.html">pp::internal::TypeUnwrapper< const T & ></a></td><td></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/structpp_1_1internal_1_1_type_unwrapper_3_01const_01_t_01_6_01_4.html b/native_client_sdk/doc_generated/pepper_beta/cpp/structpp_1_1internal_1_1_type_unwrapper_3_01const_01_t_01_6_01_4.html
new file mode 100644
index 0000000..8d6469e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/structpp_1_1internal_1_1_type_unwrapper_3_01const_01_t_01_6_01_4.html
@@ -0,0 +1,39 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::internal::TypeUnwrapper< const T & > Struct Template Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::internal::TypeUnwrapper< const T & >" -->
+<p><a href="structpp_1_1internal_1_1_type_unwrapper_3_01const_01_t_01_6_01_4-members.html">List of all members.</a></p>
+<h2>
+Public Types</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">typedef T </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1internal_1_1_type_unwrapper_3_01const_01_t_01_6_01_4.html#a355ba0f4966cc7d09de85a5e94cf80bc">StorageType</a></td></tr>
+</table>
+<h3>template<typename T><br />
+ struct pp::internal::TypeUnwrapper< const T & ></h3>
+<hr /><h2>Member Typedef Documentation</h2>
+<a class="anchor" id="a355ba0f4966cc7d09de85a5e94cf80bc"></a><!-- doxytag: member="pp::internal::TypeUnwrapper< const T & >::StorageType" ref="a355ba0f4966cc7d09de85a5e94cf80bc" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T > </div>
+<table class="memname">
+<tr>
+<td class="memname">typedef T <a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">pp::internal::TypeUnwrapper</a>< const T & >::<a class="el" href="structpp_1_1internal_1_1_type_unwrapper_3_01const_01_t_01_6_01_4.html#a355ba0f4966cc7d09de85a5e94cf80bc">StorageType</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_betaOhTFpv/utility/<a class="el" href="completion__callback__factory_8h.html">completion_callback_factory.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/tcp__socket_8h.html b/native_client_sdk/doc_generated/pepper_beta/cpp/tcp__socket_8h.html
new file mode 100644
index 0000000..913795a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/tcp__socket_8h.html
@@ -0,0 +1,27 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/cpp/tcp_socket.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for tcp_socket.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="tcp__socket_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2cpp_2tcp__socket_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2tcp__socket_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2tcp__socket_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_t_c_p_socket.html" title="The TCPSocket class provides TCP socket operations.">TCPSocket</a></code> class provides TCP socket operations. <a href="classpp_1_1_t_c_p_socket.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/tcp__socket_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/cpp/tcp__socket_8h__incl.png
new file mode 100644
index 0000000..56c0583
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/tcp__socket_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/text__input__controller_8h.html b/native_client_sdk/doc_generated/pepper_beta/cpp/text__input__controller_8h.html
new file mode 100644
index 0000000..32abb8d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/text__input__controller_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/cpp/text_input_controller.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for text_input_controller.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="text__input__controller_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2cpp_2text__input__controller_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2text__input__controller_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2text__input__controller_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_text_input_controller.html">pp::TextInputController</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This class can be used for giving hints to the browser about the text input status of plugins. <a href="classpp_1_1_text_input_controller.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the APIs for text input handling. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/text__input__controller_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/cpp/text__input__controller_8h__incl.png
new file mode 100644
index 0000000..dc5455f
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/text__input__controller_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/touch__point_8h.html b/native_client_sdk/doc_generated/pepper_beta/cpp/touch__point_8h.html
new file mode 100644
index 0000000..7f44d486
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/touch__point_8h.html
@@ -0,0 +1,27 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/cpp/touch_point.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for touch_point.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="touch__point_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2cpp_2touch__point_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2touch__point_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2touch__point_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_touch_point.html">pp::TouchPoint</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Wrapper class for PP_TouchPoint. <a href="classpp_1_1_touch_point.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/touch__point_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/cpp/touch__point_8h__incl.png
new file mode 100644
index 0000000..851c974
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/touch__point_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/udp__socket_8h.html b/native_client_sdk/doc_generated/pepper_beta/cpp/udp__socket_8h.html
new file mode 100644
index 0000000..ca8d2a6
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/udp__socket_8h.html
@@ -0,0 +1,27 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/cpp/udp_socket.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for udp_socket.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="udp__socket_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2cpp_2udp__socket_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2udp__socket_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2udp__socket_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_d_p_socket.html">pp::UDPSocket</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_u_d_p_socket.html" title="The UDPSocket class provides UDP socket operations.">UDPSocket</a></code> class provides UDP socket operations. <a href="classpp_1_1_u_d_p_socket.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/udp__socket_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/cpp/udp__socket_8h__incl.png
new file mode 100644
index 0000000..f563576e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/udp__socket_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/url__loader_8h.html b/native_client_sdk/doc_generated/pepper_beta/cpp/url__loader_8h.html
new file mode 100644
index 0000000..0897a43
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/url__loader_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/cpp/url_loader.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for url_loader.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="url__loader_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2cpp_2url__loader_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2url__loader_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2url__loader_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_loader.html">pp::URLLoader</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs.">URLLoader</a> provides an API for loading URLs. <a href="classpp_1_1_u_r_l_loader.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API for loading URLs. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/url__loader_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/cpp/url__loader_8h__incl.png
new file mode 100644
index 0000000..541fc71
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/url__loader_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/url__request__info_8h.html b/native_client_sdk/doc_generated/pepper_beta/cpp/url__request__info_8h.html
new file mode 100644
index 0000000..05526238
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/url__request__info_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/cpp/url_request_info.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for url_request_info.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="url__request__info_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2cpp_2url__request__info_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2url__request__info_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2url__request__info_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classpp_1_1_u_r_l_request_info.html" title="URLRequestInfo provides an API for creating and manipulating URL requests.">URLRequestInfo</a> provides an API for creating and manipulating URL requests. <a href="classpp_1_1_u_r_l_request_info.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API for creating and manipulating URL requests. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/url__request__info_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/cpp/url__request__info_8h__incl.png
new file mode 100644
index 0000000..7539370
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/url__request__info_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/url__response__info_8h.html b/native_client_sdk/doc_generated/pepper_beta/cpp/url__response__info_8h.html
new file mode 100644
index 0000000..ebe426ef
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/url__response__info_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/cpp/url_response_info.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for url_response_info.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="url__response__info_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2cpp_2url__response__info_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2url__response__info_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2url__response__info_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_response_info.html">pp::URLResponseInfo</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classpp_1_1_u_r_l_response_info.html" title="URLResponseInfo provides an API for examining URL responses.">URLResponseInfo</a> provides an API for examining URL responses. <a href="classpp_1_1_u_r_l_response_info.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API for examining URL responses. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/url__response__info_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/cpp/url__response__info_8h__incl.png
new file mode 100644
index 0000000..06b3fa3
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/url__response__info_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/var_8h.html b/native_client_sdk/doc_generated/pepper_beta/cpp/var_8h.html
new file mode 100644
index 0000000..200883a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/var_8h.html
@@ -0,0 +1,34 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/cpp/var.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for var.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="var_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2cpp_2var_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2var_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2var_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html">pp::Var</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A generic type used for passing data types between the module and the page. <a href="classpp_1_1_var.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1_var_1_1_null.html">pp::Var::Null</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Special value passed to constructor to make <code>NULL</code>. <a href="structpp_1_1_var_1_1_null.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1_var_1_1_dont_manage.html">pp::Var::DontManage</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_1_1_out_exception.html">pp::Var::OutException</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This class is used when calling the raw C PPAPI when using the C++ <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> as a possible NULL exception. <a href="classpp_1_1_var_1_1_out_exception.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API for handling the passing of data types between your module and the page. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/var_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/cpp/var_8h__incl.png
new file mode 100644
index 0000000..d659d93
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/var_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/var__array_8h.html b/native_client_sdk/doc_generated/pepper_beta/cpp/var__array_8h.html
new file mode 100644
index 0000000..ca346c7
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/var__array_8h.html
@@ -0,0 +1,28 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/cpp/var_array.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for var_array.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="var__array_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2cpp_2var__array_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2var__array_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2var__array_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array.html">pp::VarArray</a></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API for interacting with array vars. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/var__array_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/cpp/var__array_8h__incl.png
new file mode 100644
index 0000000..2118f8f
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/var__array_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/var__array__buffer_8h.html b/native_client_sdk/doc_generated/pepper_beta/cpp/var__array__buffer_8h.html
new file mode 100644
index 0000000..b256805
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/var__array__buffer_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/cpp/var_array_buffer.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for var_array_buffer.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="var__array__buffer_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2cpp_2var__array__buffer_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2var__array__buffer_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2var__array__buffer_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array_buffer.html">pp::VarArrayBuffer</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code> provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous sequence of bytes. <a href="classpp_1_1_var_array_buffer.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API for interacting with a JavaScript ArrayBuffer. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/var__array__buffer_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/cpp/var__array__buffer_8h__incl.png
new file mode 100644
index 0000000..04c4cd1
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/var__array__buffer_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/var__dictionary_8h.html b/native_client_sdk/doc_generated/pepper_beta/cpp/var__dictionary_8h.html
new file mode 100644
index 0000000..c3b2ec8a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/var__dictionary_8h.html
@@ -0,0 +1,28 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/cpp/var_dictionary.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for var_dictionary.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="var__dictionary_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2cpp_2var__dictionary_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2var__dictionary_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2var__dictionary_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_dictionary.html">pp::VarDictionary</a></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API for interacting with dictionary vars. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/var__dictionary_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/cpp/var__dictionary_8h__incl.png
new file mode 100644
index 0000000..2ac7386
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/var__dictionary_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/view_8h.html b/native_client_sdk/doc_generated/pepper_beta/cpp/view_8h.html
new file mode 100644
index 0000000..edf7a31c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/view_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/cpp/view.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for view.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="view_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2cpp_2view_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2view_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2view_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_view.html">pp::View</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This class represents the state of the view for an instance and contains functions for retrieving the current state of that view. <a href="classpp_1_1_view.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API for getting the state of a the view for an instance. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/view_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/cpp/view_8h__incl.png
new file mode 100644
index 0000000..9eef607
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/view_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/websocket_8h.html b/native_client_sdk/doc_generated/pepper_beta/cpp/websocket_8h.html
new file mode 100644
index 0000000..6094e28
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/websocket_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_betaOhTFpv/cpp/websocket.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for websocket.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="websocket_8h__incl.png" border="0" usemap="#_2tmp_2pepper__beta_oh_t_fpv_2cpp_2websocket_8h" alt="" /></div>
+<map name="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2websocket_8h" id="_2tmp_2pepper__beta_oh_t_fpv_2cpp_2websocket_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_web_socket.html">pp::WebSocket</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a></code> class providing bi-directional, full-duplex, communications over a single TCP socket. <a href="classpp_1_1_web_socket.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the WebSocket interface providing bi-directional, full-duplex, communications over a single TCP socket. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_beta/cpp/websocket_8h__incl.png b/native_client_sdk/doc_generated/pepper_beta/cpp/websocket_8h__incl.png
new file mode 100644
index 0000000..76f08ea
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/cpp/websocket_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_beta/index.html b/native_client_sdk/doc_generated/pepper_beta/index.html
new file mode 100644
index 0000000..c966a02
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_beta/index.html
@@ -0,0 +1,13 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<section id="pepper-api-reference-beta">
+<h1 id="pepper-api-reference-beta">Pepper API Reference (Beta)</h1>
+<p>This page lists the API for Pepper 33. Apps that use this API can
+run in Chrome 33 or higher.</p>
+<section id="pepper-c-api-reference">
+<h2 id="pepper-c-api-reference"><a class="reference internal" href="/native-client/pepper_beta/c/index.html#pepper-beta-c-index"><em>Pepper C API Reference</em></a></h2>
+</section><section id="id1">
+<h2 id="id1"><a class="reference internal" href="/native-client/pepper_beta/cpp/index.html#pepper-beta-cpp-index"><em>Pepper C++ API Reference</em></a></h2>
+</section></section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/globals_defs.html b/native_client_sdk/doc_generated/pepper_dev/c/globals_defs.html
new file mode 100644
index 0000000..98a1de1
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/globals_defs.html
@@ -0,0 +1,295 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Globals</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+
+</div>
+<div class="contents">
+ 
+
+<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
+<li>PPB_AUDIO_CONFIG_INTERFACE
+: <a class="el" href="ppb__audio__config_8h.html#a96fc67cc118c99f3c685f9fcc79d88ac">ppb_audio_config.h</a>
+</li>
+<li>PPB_AUDIO_CONFIG_INTERFACE_1_1
+: <a class="el" href="ppb__audio__config_8h.html#ae25decba5eb6b3f71b9e36bd8dcdcda7">ppb_audio_config.h</a>
+</li>
+<li>PPB_AUDIO_INTERFACE
+: <a class="el" href="ppb__audio_8h.html#a7d9614327b9f7d6e145eabd5bf2c4ad1">ppb_audio.h</a>
+</li>
+<li>PPB_AUDIO_INTERFACE_1_1
+: <a class="el" href="ppb__audio_8h.html#a05e57cf808f3ccd4467019e20832f28d">ppb_audio.h</a>
+</li>
+<li>PPB_AUDIOFRAME_INTERFACE_0_1
+: <a class="el" href="ppb__audio__frame_8h.html#a8d8064bd5989ae176ec6a726d15b1a8b">ppb_audio_frame.h</a>
+</li>
+<li>PPB_CONSOLE_INTERFACE
+: <a class="el" href="ppb__console_8h.html#aeb04d0356a4ddc1488162c9512d318dd">ppb_console.h</a>
+</li>
+<li>PPB_CONSOLE_INTERFACE_1_0
+: <a class="el" href="ppb__console_8h.html#af944896c561ac6200f2170a9060b4d3e">ppb_console.h</a>
+</li>
+<li>PPB_CORE_INTERFACE
+: <a class="el" href="ppb__core_8h.html#ab634737b105d529729cc926ee6dee212">ppb_core.h</a>
+</li>
+<li>PPB_CORE_INTERFACE_1_0
+: <a class="el" href="ppb__core_8h.html#acdd54c61a74a494eedba88bff5fef3e5">ppb_core.h</a>
+</li>
+<li>PPB_FILEIO_INTERFACE
+: <a class="el" href="ppb__file__io_8h.html#af7e4bdd4e8dbe17acf89068130f60660">ppb_file_io.h</a>
+</li>
+<li>PPB_FILEIO_INTERFACE_1_1
+: <a class="el" href="ppb__file__io_8h.html#aee417de3562daef62dbf68ddc16a8477">ppb_file_io.h</a>
+</li>
+<li>PPB_FILEREF_INTERFACE_1_2
+: <a class="el" href="ppb__file__ref_8h.html#a4752245ebf41b0ebee2c50019ec2bbe4">ppb_file_ref.h</a>
+</li>
+<li>PPB_FILESYSTEM_INTERFACE
+: <a class="el" href="ppb__file__system_8h.html#a492a8ab8ba84394c44cca88c45852f2c">ppb_file_system.h</a>
+</li>
+<li>PPB_FILESYSTEM_INTERFACE_1_0
+: <a class="el" href="ppb__file__system_8h.html#a856262c69fb3460f83a1b1fa3630c7c9">ppb_file_system.h</a>
+</li>
+<li>PPB_FULLSCREEN_INTERFACE
+: <a class="el" href="ppb__fullscreen_8h.html#ac9eade8043cf2d61bf195d9fa880fb34">ppb_fullscreen.h</a>
+</li>
+<li>PPB_FULLSCREEN_INTERFACE_1_0
+: <a class="el" href="ppb__fullscreen_8h.html#a4c01a722d680c2ddb2acb8eb84567b96">ppb_fullscreen.h</a>
+</li>
+<li>PPB_GAMEPAD_INTERFACE
+: <a class="el" href="ppb__gamepad_8h.html#aca090c38021f6dcef779de7a255313f3">ppb_gamepad.h</a>
+</li>
+<li>PPB_GAMEPAD_INTERFACE_1_0
+: <a class="el" href="ppb__gamepad_8h.html#ae18db8da1163096b8ea10071317305b2">ppb_gamepad.h</a>
+</li>
+<li>PPB_GRAPHICS_2D_INTERFACE
+: <a class="el" href="ppb__graphics__2d_8h.html#ab4930fe7aea6b403503d5cc748824b0d">ppb_graphics_2d.h</a>
+</li>
+<li>PPB_GRAPHICS_2D_INTERFACE_1_1
+: <a class="el" href="ppb__graphics__2d_8h.html#ad9792b60ca6ce77f3925be8d60e06640">ppb_graphics_2d.h</a>
+</li>
+<li>PPB_GRAPHICS_3D_INTERFACE
+: <a class="el" href="ppb__graphics__3d_8h.html#a3ba3c80f5959aca6bdef2584a2ceb55e">ppb_graphics_3d.h</a>
+</li>
+<li>PPB_GRAPHICS_3D_INTERFACE_1_0
+: <a class="el" href="ppb__graphics__3d_8h.html#a2619e373c7a32f9b0a763330c39ee282">ppb_graphics_3d.h</a>
+</li>
+<li>PPB_HOSTRESOLVER_INTERFACE
+: <a class="el" href="ppb__host__resolver_8h.html#a92db0e0376e1dd64b24f1e107b277d71">ppb_host_resolver.h</a>
+</li>
+<li>PPB_HOSTRESOLVER_INTERFACE_1_0
+: <a class="el" href="ppb__host__resolver_8h.html#af02d4ce7194c9c440c0bd42e81ab7731">ppb_host_resolver.h</a>
+</li>
+<li>PPB_IMAGEDATA_INTERFACE
+: <a class="el" href="ppb__image__data_8h.html#a706a4eb837834aefe135ccbfb3ebe21d">ppb_image_data.h</a>
+</li>
+<li>PPB_IMAGEDATA_INTERFACE_1_0
+: <a class="el" href="ppb__image__data_8h.html#ab08ef8c9002eec0102a71d9c766f0893">ppb_image_data.h</a>
+</li>
+<li>PPB_IME_INPUT_EVENT_INTERFACE
+: <a class="el" href="ppb__input__event_8h.html#ac7e4bf41f38afcb87e0a75c8f27ca33f">ppb_input_event.h</a>
+</li>
+<li>PPB_IME_INPUT_EVENT_INTERFACE_1_0
+: <a class="el" href="ppb__input__event_8h.html#ad911c1aed763c2f362037995ffca801a">ppb_input_event.h</a>
+</li>
+<li>PPB_INPUT_EVENT_INTERFACE
+: <a class="el" href="ppb__input__event_8h.html#a40fd5bca277483a37c2713b8961b5117">ppb_input_event.h</a>
+</li>
+<li>PPB_INPUT_EVENT_INTERFACE_1_0
+: <a class="el" href="ppb__input__event_8h.html#af4e5b597aea9864e7d9aa81c71e781d2">ppb_input_event.h</a>
+</li>
+<li>PPB_INSTANCE_INTERFACE
+: <a class="el" href="ppb__instance_8h.html#ab707353c04e78fe57eba3783692a0eed">ppb_instance.h</a>
+</li>
+<li>PPB_INSTANCE_INTERFACE_1_0
+: <a class="el" href="ppb__instance_8h.html#ad3b639018921516cd4d2d3adcffdbc8f">ppb_instance.h</a>
+</li>
+<li>PPB_KEYBOARD_INPUT_EVENT_INTERFACE
+: <a class="el" href="ppb__input__event_8h.html#a969f9e171a3202249e8dfabaef33c288">ppb_input_event.h</a>
+</li>
+<li>PPB_KEYBOARD_INPUT_EVENT_INTERFACE_1_0
+: <a class="el" href="ppb__input__event_8h.html#a0d5e2d948d5a25cd3194a59c21ad992e">ppb_input_event.h</a>
+</li>
+<li>PPB_MEDIASTREAMAUDIOTRACK_INTERFACE_0_1
+: <a class="el" href="ppb__media__stream__audio__track_8h.html#a1f573797be0968778c819a0d800f5293">ppb_media_stream_audio_track.h</a>
+</li>
+<li>PPB_MEDIASTREAMVIDEOTRACK_INTERFACE_0_1
+: <a class="el" href="ppb__media__stream__video__track_8h.html#a70f92644b72d37bb973d45ffaba60830">ppb_media_stream_video_track.h</a>
+</li>
+<li>PPB_MESSAGELOOP_INTERFACE
+: <a class="el" href="ppb__message__loop_8h.html#ae810c1f641977db5a6497704d7b0f4b0">ppb_message_loop.h</a>
+</li>
+<li>PPB_MESSAGELOOP_INTERFACE_1_0
+: <a class="el" href="ppb__message__loop_8h.html#a9b1fcf10002ff75d323617f920de4468">ppb_message_loop.h</a>
+</li>
+<li>PPB_MESSAGING_INTERFACE
+: <a class="el" href="ppb__messaging_8h.html#a558ca32dad39a710cd217aaa09921d92">ppb_messaging.h</a>
+</li>
+<li>PPB_MESSAGING_INTERFACE_1_0
+: <a class="el" href="ppb__messaging_8h.html#afc64e56f770d45a4556b32cd6568cc77">ppb_messaging.h</a>
+</li>
+<li>PPB_MOUSE_INPUT_EVENT_INTERFACE
+: <a class="el" href="ppb__input__event_8h.html#a761fcf6df555946b6c2e1a0b6cd01c5e">ppb_input_event.h</a>
+</li>
+<li>PPB_MOUSE_INPUT_EVENT_INTERFACE_1_1
+: <a class="el" href="ppb__input__event_8h.html#a9887382b4700999b639a2f2de497e104">ppb_input_event.h</a>
+</li>
+<li>PPB_MOUSECURSOR_INTERFACE
+: <a class="el" href="ppb__mouse__cursor_8h.html#a9f058eab16725eb940b802f90acb11a9">ppb_mouse_cursor.h</a>
+</li>
+<li>PPB_MOUSECURSOR_INTERFACE_1_0
+: <a class="el" href="ppb__mouse__cursor_8h.html#a5108cd274942fbb6aa1726d32b7b82eb">ppb_mouse_cursor.h</a>
+</li>
+<li>PPB_MOUSELOCK_INTERFACE
+: <a class="el" href="ppb__mouse__lock_8h.html#a61bbe5bd4a3ec739ecd5daf65192db7d">ppb_mouse_lock.h</a>
+</li>
+<li>PPB_MOUSELOCK_INTERFACE_1_0
+: <a class="el" href="ppb__mouse__lock_8h.html#a87c8b1ae0950bb6de205bbec68545edd">ppb_mouse_lock.h</a>
+</li>
+<li>PPB_NETADDRESS_INTERFACE
+: <a class="el" href="ppb__net__address_8h.html#a4797048cd8b1d0ab96d600d0f2003f88">ppb_net_address.h</a>
+</li>
+<li>PPB_NETADDRESS_INTERFACE_1_0
+: <a class="el" href="ppb__net__address_8h.html#aa487d14ecdf0f4ce95f95f429599b940">ppb_net_address.h</a>
+</li>
+<li>PPB_NETWORKLIST_INTERFACE
+: <a class="el" href="ppb__network__list_8h.html#a9d022e173e890387820ddb636a8eedfe">ppb_network_list.h</a>
+</li>
+<li>PPB_NETWORKLIST_INTERFACE_1_0
+: <a class="el" href="ppb__network__list_8h.html#ac0b7e69aedfaf3e0dd033d17634b0747">ppb_network_list.h</a>
+</li>
+<li>PPB_NETWORKMONITOR_INTERFACE
+: <a class="el" href="ppb__network__monitor_8h.html#a1a8be64663de54d6d189673531f93008">ppb_network_monitor.h</a>
+</li>
+<li>PPB_NETWORKMONITOR_INTERFACE_1_0
+: <a class="el" href="ppb__network__monitor_8h.html#aa1c835159cc390a53f853281e62a969f">ppb_network_monitor.h</a>
+</li>
+<li>PPB_NETWORKPROXY_INTERFACE
+: <a class="el" href="ppb__network__proxy_8h.html#aa951f1e83ded5d77558f770127d5765b">ppb_network_proxy.h</a>
+</li>
+<li>PPB_NETWORKPROXY_INTERFACE_1_0
+: <a class="el" href="ppb__network__proxy_8h.html#a51bdbe7e4706cc8c5e455ceb47a34472">ppb_network_proxy.h</a>
+</li>
+<li>PPB_TCPSOCKET_INTERFACE
+: <a class="el" href="ppb__tcp__socket_8h.html#a29ecaef1552f19b223e6c93475d8788c">ppb_tcp_socket.h</a>
+</li>
+<li>PPB_TCPSOCKET_INTERFACE_1_1
+: <a class="el" href="ppb__tcp__socket_8h.html#a12b0fabc454cb99a6d4c8352c6f22d71">ppb_tcp_socket.h</a>
+</li>
+<li>PPB_TEXTINPUTCONTROLLER_INTERFACE
+: <a class="el" href="ppb__text__input__controller_8h.html#a9a28f7fd2db84c2cd550ed272070c0ee">ppb_text_input_controller.h</a>
+</li>
+<li>PPB_TEXTINPUTCONTROLLER_INTERFACE_1_0
+: <a class="el" href="ppb__text__input__controller_8h.html#a6ca7f2ae09c011c13d12c79ba155e12a">ppb_text_input_controller.h</a>
+</li>
+<li>PPB_TOUCH_INPUT_EVENT_INTERFACE
+: <a class="el" href="ppb__input__event_8h.html#a9ef6ad6634a1d1912b83006862a0e57b">ppb_input_event.h</a>
+</li>
+<li>PPB_TOUCH_INPUT_EVENT_INTERFACE_1_0
+: <a class="el" href="ppb__input__event_8h.html#a36b8536215a705ecc3fd4cd366b0f975">ppb_input_event.h</a>
+</li>
+<li>PPB_UDPSOCKET_INTERFACE
+: <a class="el" href="ppb__udp__socket_8h.html#a673aeb3fceb5ed977b7b8683f674cbfd">ppb_udp_socket.h</a>
+</li>
+<li>PPB_UDPSOCKET_INTERFACE_1_0
+: <a class="el" href="ppb__udp__socket_8h.html#aafc1aecb9a8f2c3f8eed80a93a77763c">ppb_udp_socket.h</a>
+</li>
+<li>PPB_URLLOADER_INTERFACE
+: <a class="el" href="ppb__url__loader_8h.html#ae1fa8c5cdfccb7ea67e184b1e5e1009e">ppb_url_loader.h</a>
+</li>
+<li>PPB_URLLOADER_INTERFACE_1_0
+: <a class="el" href="ppb__url__loader_8h.html#adebf43440c53ea088f68ae376a7c7bbb">ppb_url_loader.h</a>
+</li>
+<li>PPB_URLREQUESTINFO_INTERFACE
+: <a class="el" href="ppb__url__request__info_8h.html#a61dc8b05683833153b9368eabebc5441">ppb_url_request_info.h</a>
+</li>
+<li>PPB_URLREQUESTINFO_INTERFACE_1_0
+: <a class="el" href="ppb__url__request__info_8h.html#a1624264dba578e2c15b257f7680a43de">ppb_url_request_info.h</a>
+</li>
+<li>PPB_URLRESPONSEINFO_INTERFACE
+: <a class="el" href="ppb__url__response__info_8h.html#a788cf0f4f93d8cbfbc834b5921188f35">ppb_url_response_info.h</a>
+</li>
+<li>PPB_URLRESPONSEINFO_INTERFACE_1_0
+: <a class="el" href="ppb__url__response__info_8h.html#a3703eb2a16b1386517bcd3d7074e94ff">ppb_url_response_info.h</a>
+</li>
+<li>PPB_VAR_ARRAY_BUFFER_INTERFACE
+: <a class="el" href="ppb__var__array__buffer_8h.html#a2b7e1cca43218ed9eb3c92b24089ecac">ppb_var_array_buffer.h</a>
+</li>
+<li>PPB_VAR_ARRAY_BUFFER_INTERFACE_1_0
+: <a class="el" href="ppb__var__array__buffer_8h.html#aacd03d05467e3a617c0a1c068fa422c7">ppb_var_array_buffer.h</a>
+</li>
+<li>PPB_VAR_ARRAY_INTERFACE
+: <a class="el" href="ppb__var__array_8h.html#a45d67f25be216695420b237b1deeca3f">ppb_var_array.h</a>
+</li>
+<li>PPB_VAR_ARRAY_INTERFACE_1_0
+: <a class="el" href="ppb__var__array_8h.html#a244ad07738d77a4d11d8009a7d69a5aa">ppb_var_array.h</a>
+</li>
+<li>PPB_VAR_DICTIONARY_INTERFACE
+: <a class="el" href="ppb__var__dictionary_8h.html#ac9d41ef2449d860ee3b429c148bd6be9">ppb_var_dictionary.h</a>
+</li>
+<li>PPB_VAR_DICTIONARY_INTERFACE_1_0
+: <a class="el" href="ppb__var__dictionary_8h.html#a33d58f4be531cacb629c9eb33ab8cdc2">ppb_var_dictionary.h</a>
+</li>
+<li>PPB_VAR_INTERFACE
+: <a class="el" href="ppb__var_8h.html#a0d345a2704bcdbc588c4227b46747041">ppb_var.h</a>
+</li>
+<li>PPB_VAR_INTERFACE_1_1
+: <a class="el" href="ppb__var_8h.html#acc1cbb0daac02e06063221b751084502">ppb_var.h</a>
+</li>
+<li>PPB_VIDEOFRAME_INTERFACE_0_1
+: <a class="el" href="ppb__video__frame_8h.html#a4176d3adc972a5e92e02b9fb85dc78fd">ppb_video_frame.h</a>
+</li>
+<li>PPB_VIEW_INTERFACE
+: <a class="el" href="ppb__view_8h.html#a3597f47b815dffc7e9cf250a107e7d3e">ppb_view.h</a>
+</li>
+<li>PPB_VIEW_INTERFACE_1_1
+: <a class="el" href="ppb__view_8h.html#a0aa91bef3e37c8a98b77417dcf9a7a6a">ppb_view.h</a>
+</li>
+<li>PPB_WEBSOCKET_INTERFACE
+: <a class="el" href="ppb__websocket_8h.html#a6d56a012c9350b4cc4e55b668d3fbe75">ppb_websocket.h</a>
+</li>
+<li>PPB_WEBSOCKET_INTERFACE_1_0
+: <a class="el" href="ppb__websocket_8h.html#ad613dc4aff545f9e9885c415f1673107">ppb_websocket.h</a>
+</li>
+<li>PPB_WHEEL_INPUT_EVENT_INTERFACE
+: <a class="el" href="ppb__input__event_8h.html#a2e592782e919e590dd393d421af8850f">ppb_input_event.h</a>
+</li>
+<li>PPB_WHEEL_INPUT_EVENT_INTERFACE_1_0
+: <a class="el" href="ppb__input__event_8h.html#a0a7bcd124b8e7677b629b236eabfb563">ppb_input_event.h</a>
+</li>
+<li>PPP_GRAPHICS_3D_INTERFACE
+: <a class="el" href="ppp__graphics__3d_8h.html#a127a18c58f8a81afc706963ce70ba1a0">ppp_graphics_3d.h</a>
+</li>
+<li>PPP_GRAPHICS_3D_INTERFACE_1_0
+: <a class="el" href="ppp__graphics__3d_8h.html#a24bc6750e56195c99461408d10a3e184">ppp_graphics_3d.h</a>
+</li>
+<li>PPP_INPUT_EVENT_INTERFACE
+: <a class="el" href="ppp__input__event_8h.html#a6e94d8b829723cdeff16b7433c87bbea">ppp_input_event.h</a>
+</li>
+<li>PPP_INPUT_EVENT_INTERFACE_0_1
+: <a class="el" href="ppp__input__event_8h.html#afcc2e3ed6316bc950b7668d24f1c0476">ppp_input_event.h</a>
+</li>
+<li>PPP_INSTANCE_INTERFACE
+: <a class="el" href="ppp__instance_8h.html#ae1a0f9616b76b6b42649565ed1081fc1">ppp_instance.h</a>
+</li>
+<li>PPP_INSTANCE_INTERFACE_1_1
+: <a class="el" href="ppp__instance_8h.html#a0e284783d75d3b9a3c84a0feb39d7024">ppp_instance.h</a>
+</li>
+<li>PPP_MESSAGING_INTERFACE
+: <a class="el" href="ppp__messaging_8h.html#a7ea9cbd07fe30bc0d6e3a71a02d7adbb">ppp_messaging.h</a>
+</li>
+<li>PPP_MESSAGING_INTERFACE_1_0
+: <a class="el" href="ppp__messaging_8h.html#a2b15920cef3b0b108e4e08ae39ba0b2b">ppp_messaging.h</a>
+</li>
+<li>PPP_MOUSELOCK_INTERFACE
+: <a class="el" href="ppp__mouse__lock_8h.html#a2ce52a0566f0ee91721052673ca521ec">ppp_mouse_lock.h</a>
+</li>
+<li>PPP_MOUSELOCK_INTERFACE_1_0
+: <a class="el" href="ppp__mouse__lock_8h.html#a71f74bf4d04a8ac6901b473452f4d7e6">ppp_mouse_lock.h</a>
+</li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/group___enums.html b/native_client_sdk/doc_generated/pepper_dev/c/group___enums.html
new file mode 100644
index 0000000..b2071279
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/group___enums.html
@@ -0,0 +1,2079 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Enums</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+</div>
+<!--header-->
+<div class="contents">
+<h2>
+Enumerations</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> { <a class="el" href="group___enums.html#gga4f272d99be14aacafe08dfd4ef830918aeb6cdb899071a9ea4695a184bfdc3e81">PP_FALSE</a> = 0,
+<a class="el" href="group___enums.html#gga4f272d99be14aacafe08dfd4ef830918a177ce110df585fe2b468dba9a0eefda5">PP_TRUE</a> = 1
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga7610f0fba2396d46384859caa4d91798">PP_CompletionCallback_Flag</a> { <a class="el" href="group___enums.html#gga7610f0fba2396d46384859caa4d91798a6eedc0f315784a4cb47c5806b828c7cc">PP_COMPLETIONCALLBACK_FLAG_NONE</a> = 0 << 0,
+<a class="el" href="group___enums.html#gga7610f0fba2396d46384859caa4d91798aebb176d8930b14219b7966fd93a2e967">PP_COMPLETIONCALLBACK_FLAG_OPTIONAL</a> = 1 << 0
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom">{ <br />
+  <a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba5c394615cfa8eaceba77ecedb65dc9cb">PP_OK</a> = 0,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55baa5f7aa5667dc3eb61dd4f822d1163b29">PP_OK_COMPLETIONPENDING</a> = -1,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba06a8964482e41bf50c45c0d9dd281830">PP_ERROR_FAILED</a> = -2,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba8389cb348aeba81a94b058622f5914af">PP_ERROR_ABORTED</a> = -3,
+<br />
+  <a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba02f23038858b2b1a3c95f1593332503f">PP_ERROR_BADARGUMENT</a> = -4,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba55448d3b2c42d96c7b347a5833df7e76">PP_ERROR_BADRESOURCE</a> = -5,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba7bc23fde1d7408a2d5e0c02fda77a157">PP_ERROR_NOINTERFACE</a> = -6,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55baccd33fd6aa1c9a64b692a615b8099f10">PP_ERROR_NOACCESS</a> = -7,
+<br />
+  <a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba77543198f33b4da09f5431f61be0fdfe">PP_ERROR_NOMEMORY</a> = -8,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55baa52e024aa5d86ea5c2d0e9fe4d4223b1">PP_ERROR_NOSPACE</a> = -9,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba32f8a2ecfc27357c36e8cab62f5f8b60">PP_ERROR_NOQUOTA</a> = -10,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba2eb423e9cc9c19a6a7150b342a0b383a">PP_ERROR_INPROGRESS</a> = -11,
+<br />
+  <a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55babb8fa3e1cb15627f433a049d68e49d5b">PP_ERROR_NOTSUPPORTED</a> = -12,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba282ee581bafd4579a8982a5141793de4">PP_ERROR_BLOCKS_MAIN_THREAD</a> = -13,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba6c1c35f64dd233fc0a46151a82915960">PP_ERROR_FILENOTFOUND</a> = -20,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba325aca7c7d73483de41998329b342ef0">PP_ERROR_FILEEXISTS</a> = -21,
+<br />
+  <a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55bac0eab80ff249433a206cd93e34d1e965">PP_ERROR_FILETOOBIG</a> = -22,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55baa2e274f5a24c62f7ebf50ef2e2dd98a6">PP_ERROR_FILECHANGED</a> = -23,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55baf216de52da5770d56ba7e483974ec209">PP_ERROR_NOTAFILE</a> = -24,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba53382f01745b691ba6f91c65b6059953">PP_ERROR_TIMEDOUT</a> = -30,
+<br />
+  <a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba3f20bb850c408a7e05fbc9ce42a8e999">PP_ERROR_USERCANCEL</a> = -40,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba8c428198d142124ef0c99eb8e8572491">PP_ERROR_NO_USER_GESTURE</a> = -41,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba7469b76adbd5e8e931314160093a9e1a">PP_ERROR_CONTEXT_LOST</a> = -50,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55baf907cc8f39ca083a5cad188fb808fc0f">PP_ERROR_NO_MESSAGE_LOOP</a> = -51,
+<br />
+  <a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55bae18e92e98e2dd0d106b49387af13c997">PP_ERROR_WRONG_THREAD</a> = -52,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55babbc1f7cf46e1746ce232e4655191630e">PP_ERROR_CONNECTION_CLOSED</a> = -100,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55bac7e0cbefef9315c63c0d7858d0fc4c01">PP_ERROR_CONNECTION_RESET</a> = -101,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55bab3873811c2f684a437a2efa3133d3452">PP_ERROR_CONNECTION_REFUSED</a> = -102,
+<br />
+  <a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55baf86ee9c96af9f4c315ac6458b6638f27">PP_ERROR_CONNECTION_ABORTED</a> = -103,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55bacd6d028056cb3596b966682edb6effcf">PP_ERROR_CONNECTION_FAILED</a> = -104,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba49150f7eacf465fc552e751ac521b4ae">PP_ERROR_CONNECTION_TIMEDOUT</a> = -105,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55baa13c10929736aa23a8056ee33dcd23e5">PP_ERROR_ADDRESS_INVALID</a> = -106,
+<br />
+  <a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba4304630fb13c40107ed6da9e5b764003">PP_ERROR_ADDRESS_UNREACHABLE</a> = -107,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55bafb9e232a63a5787ec0445ee9cc7fc7c2">PP_ERROR_ADDRESS_IN_USE</a> = -108,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba679d405ff44d259db51dfc6f312b465f">PP_ERROR_MESSAGE_TOO_BIG</a> = -109,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba74c1a24f06288fc63221631ba6a2a7b6">PP_ERROR_NAME_NOT_RESOLVED</a> = -110
+<br />
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga36f6dfbe9c1e98540c5247f790746427">PP_FileType</a> { <a class="el" href="group___enums.html#gga36f6dfbe9c1e98540c5247f790746427acd0d93632365573bba7774b7fe0c62fd">PP_FILETYPE_REGULAR</a> = 0,
+<a class="el" href="group___enums.html#gga36f6dfbe9c1e98540c5247f790746427a81b606e1444df5fb838a692f891fbde9">PP_FILETYPE_DIRECTORY</a> = 1,
+<a class="el" href="group___enums.html#gga36f6dfbe9c1e98540c5247f790746427a9e3863ab973d8643dcc96708f55df880">PP_FILETYPE_OTHER</a> = 2
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga87b353f2ec8935c9c3294daff612c145">PP_FileSystemType</a> { <br />
+  <a class="el" href="group___enums.html#gga87b353f2ec8935c9c3294daff612c145a48e7bd0df8bd086812085be972e963a0">PP_FILESYSTEMTYPE_INVALID</a> = 0,
+<a class="el" href="group___enums.html#gga87b353f2ec8935c9c3294daff612c145aa21f18053ba5b3594a0b5373074742c2">PP_FILESYSTEMTYPE_EXTERNAL</a> = 1,
+<a class="el" href="group___enums.html#gga87b353f2ec8935c9c3294daff612c145a4c51625a4c977d3fab0c4dd28127603c">PP_FILESYSTEMTYPE_LOCALPERSISTENT</a> = 2,
+<a class="el" href="group___enums.html#gga87b353f2ec8935c9c3294daff612c145abefda8d47a5cd9b8918f012c34496ca9">PP_FILESYSTEMTYPE_LOCALTEMPORARY</a> = 3,
+<br />
+  <a class="el" href="group___enums.html#gga87b353f2ec8935c9c3294daff612c145aeceec88ea91ee70c499ff39119dd33b5">PP_FILESYSTEMTYPE_ISOLATED</a> = 4
+<br />
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga7df48e1c55f6401beea2a1b9c07967e8">PP_Graphics3DAttrib</a> { <br />
+  <a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8aac0fc60be37c86f193fb535bedb09458">PP_GRAPHICS3DATTRIB_ALPHA_SIZE</a> = 0x3021,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a519cd199423721033780ee13ecb0e60b">PP_GRAPHICS3DATTRIB_BLUE_SIZE</a> = 0x3022,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8ade95a6e685ca23522da80c1703d294a7">PP_GRAPHICS3DATTRIB_GREEN_SIZE</a> = 0x3023,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a7caad99c8c857fdb804c6755551398f5">PP_GRAPHICS3DATTRIB_RED_SIZE</a> = 0x3024,
+<br />
+  <a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8ab594f7ae52f23b7b0609797c06cf7cf8">PP_GRAPHICS3DATTRIB_DEPTH_SIZE</a> = 0x3025,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8acc0e34bee390933357c7386391faeac0">PP_GRAPHICS3DATTRIB_STENCIL_SIZE</a> = 0x3026,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a98c1bf99b329be847d53f4eb651b4a63">PP_GRAPHICS3DATTRIB_SAMPLES</a> = 0x3031,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a8bccea594213dbdd1750f97f3b187047">PP_GRAPHICS3DATTRIB_SAMPLE_BUFFERS</a> = 0x3032,
+<br />
+  <a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a66b15e43e8159f71751be033d44fda21">PP_GRAPHICS3DATTRIB_NONE</a> = 0x3038,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8ac37b92e8426753d7a24d0cf193a5923d">PP_GRAPHICS3DATTRIB_HEIGHT</a> = 0x3056,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a378f15587369cdefbcf565bc8f15db2c">PP_GRAPHICS3DATTRIB_WIDTH</a> = 0x3057,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a03d8a647ddb24105718bcb91b8f972fd">PP_GRAPHICS3DATTRIB_SWAP_BEHAVIOR</a> = 0x3093,
+<br />
+  <a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a46b174aaf7b91e26cc2a014268e65512">PP_GRAPHICS3DATTRIB_BUFFER_PRESERVED</a> = 0x3094,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a8aa6eff69c6b613b0a65803fa75d48fb">PP_GRAPHICS3DATTRIB_BUFFER_DESTROYED</a> = 0x3095,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a48ed49219981a01405e97eb414c89fec">PP_GRAPHICS3DATTRIB_GPU_PREFERENCE</a> = 0x11000,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a4295d8750ae536c3aed03d794429e336">PP_GRAPHICS3DATTRIB_GPU_PREFERENCE_LOW_POWER</a> = 0x11001,
+<br />
+  <a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a1a7563ae755ca52d429302a35930201a">PP_GRAPHICS3DATTRIB_GPU_PREFERENCE_PERFORMANCE</a> = 0x11002
+<br />
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga9815041477d810724e44da862f9852ed">PP_VarType</a> { <br />
+  <a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852eda499cc75cc2a3a16632b6f0e38172fce7">PP_VARTYPE_UNDEFINED</a> = 0,
+<a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852edabfa22cf2659270ee5d4c1ff4eabf6e67">PP_VARTYPE_NULL</a> = 1,
+<a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852edad1a70cd8b8b8b815687c3234f40513b5">PP_VARTYPE_BOOL</a> = 2,
+<a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852eda40a4a8c45ec7629e3093eb93b9ff1556">PP_VARTYPE_INT32</a> = 3,
+<br />
+  <a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852eda26caea042c1cb14ff640f7aec3f2af90">PP_VARTYPE_DOUBLE</a> = 4,
+<a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852eda079c1c085b9b0f1b076807a0eb5ba6bd">PP_VARTYPE_STRING</a> = 5,
+<a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852eda7060b95352ff46ed2f0144e08cc949cc">PP_VARTYPE_OBJECT</a> = 6,
+<a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852eda50df125d91ade69f5b2de4d08427508c">PP_VARTYPE_ARRAY</a> = 7,
+<br />
+  <a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852edae44188e85906d83c2f52f34aa5b38687">PP_VARTYPE_DICTIONARY</a> = 8,
+<a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852eda363024b8067811f2f2f42f969be44529">PP_VARTYPE_ARRAY_BUFFER</a> = 9,
+<a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852eda898e69540595e8b95681d850ddecc7f1">PP_VARTYPE_RESOURCE</a> = 10
+<br />
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___enums.html#ggadf764cbdea00d65edcd07bb9953ad2b7a9bf932735e301eeecf183a9defc378b3">PP_AUDIOMINSAMPLEFRAMECOUNT</a> = 64,
+<a class="el" href="group___enums.html#ggadf764cbdea00d65edcd07bb9953ad2b7a335c882fde010a0515ec5678a7003ce4">PP_AUDIOMAXSAMPLEFRAMECOUNT</a> = 32768
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gaee750c350655f2fb0fe04c04029e0ff8">PP_AudioSampleRate</a> { <a class="el" href="group___enums.html#ggaee750c350655f2fb0fe04c04029e0ff8a3028e109c6005f2e9ffd635f92ef3324">PP_AUDIOSAMPLERATE_NONE</a> = 0,
+<a class="el" href="group___enums.html#ggaee750c350655f2fb0fe04c04029e0ff8ac6d1056f50ebe082622d3250def41a54">PP_AUDIOSAMPLERATE_44100</a> = 44100,
+<a class="el" href="group___enums.html#ggaee750c350655f2fb0fe04c04029e0ff8a0a3ddad3c00d75e1c57a245e599727cd">PP_AUDIOSAMPLERATE_48000</a> = 48000
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gac39067c0883ec80b94290dd2a3bae440">PP_LogLevel</a> { <a class="el" href="group___enums.html#ggac39067c0883ec80b94290dd2a3bae440afe7444b89be7688e17bd6e4f0b1d3b34">PP_LOGLEVEL_TIP</a> = 0,
+<a class="el" href="group___enums.html#ggac39067c0883ec80b94290dd2a3bae440a8c6fdcc8aa698af314fe72ebd08db32a">PP_LOGLEVEL_LOG</a> = 1,
+<a class="el" href="group___enums.html#ggac39067c0883ec80b94290dd2a3bae440a66a3c4f684827eb994093dea14284aaf">PP_LOGLEVEL_WARNING</a> = 2,
+<a class="el" href="group___enums.html#ggac39067c0883ec80b94290dd2a3bae440a5854926dface39f205d138d9e47c37eb">PP_LOGLEVEL_ERROR</a> = 3
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga4c87e6dd19c1d49b66a9b37136a82e82">PP_FileOpenFlags</a> { <br />
+  <a class="el" href="group___enums.html#gga4c87e6dd19c1d49b66a9b37136a82e82a9d409b8a19e1a1c90b6c01f45cea8468">PP_FILEOPENFLAG_READ</a> = 1 << 0,
+<a class="el" href="group___enums.html#gga4c87e6dd19c1d49b66a9b37136a82e82ad43adf355739f7a82d0f1a884531afbd">PP_FILEOPENFLAG_WRITE</a> = 1 << 1,
+<a class="el" href="group___enums.html#gga4c87e6dd19c1d49b66a9b37136a82e82adc826ab2826a482ee2b15cc25d0d9ba2">PP_FILEOPENFLAG_CREATE</a> = 1 << 2,
+<a class="el" href="group___enums.html#gga4c87e6dd19c1d49b66a9b37136a82e82afc54dddff300e46f1ea644855abfd3e5">PP_FILEOPENFLAG_TRUNCATE</a> = 1 << 3,
+<br />
+  <a class="el" href="group___enums.html#gga4c87e6dd19c1d49b66a9b37136a82e82a3ffa615692f3b3a2da0f1e04903eefce">PP_FILEOPENFLAG_EXCLUSIVE</a> = 1 << 4,
+<a class="el" href="group___enums.html#gga4c87e6dd19c1d49b66a9b37136a82e82a78c13cbbccebfa9c2b8b2f758397795c">PP_FILEOPENFLAG_APPEND</a> = 1 << 5
+<br />
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gadcb0a92e6ca510586c3f34088d35dc9f">PP_MakeDirectoryFlags</a> { <a class="el" href="group___enums.html#ggadcb0a92e6ca510586c3f34088d35dc9fafeeef418b62780276c4671a57196ad3f">PP_MAKEDIRECTORYFLAG_NONE</a> = 0 << 0,
+<a class="el" href="group___enums.html#ggadcb0a92e6ca510586c3f34088d35dc9fa5c7f89c8784c9d8abfaeae51d9cb84ba">PP_MAKEDIRECTORYFLAG_WITH_ANCESTORS</a> = 1 << 0,
+<a class="el" href="group___enums.html#ggadcb0a92e6ca510586c3f34088d35dc9fa34dd5b5ba9af9e5c820d3c6e21fc2094">PP_MAKEDIRECTORYFLAG_EXCLUSIVE</a> = 1 << 1
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gadb4b8db19266831040fc604f73c83a25">PP_HostResolver_Flag</a> { <a class="el" href="group___enums.html#ggadb4b8db19266831040fc604f73c83a25a1fc5655c5b292459d24dc035e930e75e">PP_HOSTRESOLVER_FLAG_CANONNAME</a> = 1 << 0
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga2ee7ad01799553e5f17bdaa35dd952ee">PP_ImageDataFormat</a> { <a class="el" href="group___enums.html#gga2ee7ad01799553e5f17bdaa35dd952eea8685611ba2e85347f5f6bb0043940358">PP_IMAGEDATAFORMAT_BGRA_PREMUL</a>,
+<a class="el" href="group___enums.html#gga2ee7ad01799553e5f17bdaa35dd952eeab291a13cd5f4728eab3c207938916622">PP_IMAGEDATAFORMAT_RGBA_PREMUL</a>
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gaca7296cfec99fcb6646b7144d1d6a0c5">PP_InputEvent_Type</a> { <br />
+  <a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a9b6d5489f328f0b902da4a1f5836b4cb">PP_INPUTEVENT_TYPE_UNDEFINED</a> = -1,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a4309eee5fb8284b6be7c258090b21e77">PP_INPUTEVENT_TYPE_MOUSEDOWN</a> = 0,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a9f0a8196670b1da0e9c3cf081329c3ca">PP_INPUTEVENT_TYPE_MOUSEUP</a> = 1,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a9d3a09d7fb33663f3a7d920fd2e3208d">PP_INPUTEVENT_TYPE_MOUSEMOVE</a> = 2,
+<br />
+  <a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5ad240947fd6d67f23b679be4806947e2a">PP_INPUTEVENT_TYPE_MOUSEENTER</a> = 3,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a0870576010613081518c9c6683abd2e8">PP_INPUTEVENT_TYPE_MOUSELEAVE</a> = 4,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a2eedbec689780077aa98188805a559f6">PP_INPUTEVENT_TYPE_WHEEL</a> = 5,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a05c7f50eb36e606a3e5a0065b337d96c">PP_INPUTEVENT_TYPE_RAWKEYDOWN</a> = 6,
+<br />
+  <a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a4064a5f6ce10c7e5a0834aff7cd7e474">PP_INPUTEVENT_TYPE_KEYDOWN</a> = 7,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5af57c2b682b29f7b03f27519f98febdea">PP_INPUTEVENT_TYPE_KEYUP</a> = 8,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a0d547efbed42c655264b96a51954e0dd">PP_INPUTEVENT_TYPE_CHAR</a> = 9,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a0cf7525c015c97ded19afab9d7d9afee">PP_INPUTEVENT_TYPE_CONTEXTMENU</a> = 10,
+<br />
+  <a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a90668acda261e23721f3dd757f557031">PP_INPUTEVENT_TYPE_IME_COMPOSITION_START</a> = 11,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a1eff5df3bb41546046f97993376607c2">PP_INPUTEVENT_TYPE_IME_COMPOSITION_UPDATE</a> = 12,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a5c009302410ac6f55da4df618b2d85d5">PP_INPUTEVENT_TYPE_IME_COMPOSITION_END</a> = 13,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a5826ba18e40265a7b74e4b3ae1fe3772">PP_INPUTEVENT_TYPE_IME_TEXT</a> = 14,
+<br />
+  <a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5ac604f0e894f8f9e660d36e30db16b52d">PP_INPUTEVENT_TYPE_TOUCHSTART</a> = 15,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a43888c9c671ac5973f5bcea7eabcc889">PP_INPUTEVENT_TYPE_TOUCHMOVE</a> = 16,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5ae1c312aafaf4caeddb1afc09e81c9655">PP_INPUTEVENT_TYPE_TOUCHEND</a> = 17,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a78266e75562e546005eb8098f455ce91">PP_INPUTEVENT_TYPE_TOUCHCANCEL</a> = 18
+<br />
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga21b811ac0484a214a8751aa3e1c959d9">PP_InputEvent_Modifier</a> { <br />
+  <a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9a7506fd613b0e3055b37700eddcc04c8e">PP_INPUTEVENT_MODIFIER_SHIFTKEY</a> = 1 << 0,
+<a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9aeb4a9ad52cbfbfab9dea7cf2429c52f7">PP_INPUTEVENT_MODIFIER_CONTROLKEY</a> = 1 << 1,
+<a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9ab30d756ab410e7155deef8c48568fc95">PP_INPUTEVENT_MODIFIER_ALTKEY</a> = 1 << 2,
+<a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9ab3b68a7fb23fa33be297b30a2d3f27d7">PP_INPUTEVENT_MODIFIER_METAKEY</a> = 1 << 3,
+<br />
+  <a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9a24f5d73cf82a01116f52b57410e64c9d">PP_INPUTEVENT_MODIFIER_ISKEYPAD</a> = 1 << 4,
+<a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9a0d6141a7a3498af2020093469358472f">PP_INPUTEVENT_MODIFIER_ISAUTOREPEAT</a> = 1 << 5,
+<a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9a31e52901313720fd0e431976228f2153">PP_INPUTEVENT_MODIFIER_LEFTBUTTONDOWN</a> = 1 << 6,
+<a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9aa2369bf6eb5309a43d608ef83d747a04">PP_INPUTEVENT_MODIFIER_MIDDLEBUTTONDOWN</a> = 1 << 7,
+<br />
+  <a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9aee3e5083c83130d4368b79878fd574fe">PP_INPUTEVENT_MODIFIER_RIGHTBUTTONDOWN</a> = 1 << 8,
+<a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9a99a27b5dab8360eb08189439b85b8781">PP_INPUTEVENT_MODIFIER_CAPSLOCKKEY</a> = 1 << 9,
+<a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9a493ca598187014e2356cd7a5ba8cdffd">PP_INPUTEVENT_MODIFIER_NUMLOCKKEY</a> = 1 << 10,
+<a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9a8295bfc8067c06a17ccfc5fb6a992e17">PP_INPUTEVENT_MODIFIER_ISLEFT</a> = 1 << 11,
+<br />
+  <a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9a348f43efaf61edbefd83346428c5b122">PP_INPUTEVENT_MODIFIER_ISRIGHT</a> = 1 << 12
+<br />
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga25113f3c8d33e863fd38b3f70f8a5e6e">PP_InputEvent_MouseButton</a> { <a class="el" href="group___enums.html#gga25113f3c8d33e863fd38b3f70f8a5e6eaa2d4e499d6c23ef45381a89612e654d9">PP_INPUTEVENT_MOUSEBUTTON_NONE</a> = -1,
+<a class="el" href="group___enums.html#gga25113f3c8d33e863fd38b3f70f8a5e6eaa44f4ea3c7759e4fce6150f349909f63">PP_INPUTEVENT_MOUSEBUTTON_LEFT</a> = 0,
+<a class="el" href="group___enums.html#gga25113f3c8d33e863fd38b3f70f8a5e6ea3f8a2698990ec1e36943651ca600e3be">PP_INPUTEVENT_MOUSEBUTTON_MIDDLE</a> = 1,
+<a class="el" href="group___enums.html#gga25113f3c8d33e863fd38b3f70f8a5e6ea681614da50d511b516d0a88fbaa6eb5b">PP_INPUTEVENT_MOUSEBUTTON_RIGHT</a> = 2
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gafe68e3c1031daa4a6496845ff47649cd">PP_InputEvent_Class</a> { <br />
+  <a class="el" href="group___enums.html#ggafe68e3c1031daa4a6496845ff47649cda79ccc5180eb39c52ab3207f0c876dd52">PP_INPUTEVENT_CLASS_MOUSE</a> = 1 << 0,
+<a class="el" href="group___enums.html#ggafe68e3c1031daa4a6496845ff47649cda2c3341eacc3a459713ce334b9af0cda8">PP_INPUTEVENT_CLASS_KEYBOARD</a> = 1 << 1,
+<a class="el" href="group___enums.html#ggafe68e3c1031daa4a6496845ff47649cda59d6686dbce1f0dc092cb88a451bb3a6">PP_INPUTEVENT_CLASS_WHEEL</a> = 1 << 2,
+<a class="el" href="group___enums.html#ggafe68e3c1031daa4a6496845ff47649cda19b05264fa31d7e975eba297f9f146af">PP_INPUTEVENT_CLASS_TOUCH</a> = 1 << 3,
+<br />
+  <a class="el" href="group___enums.html#ggafe68e3c1031daa4a6496845ff47649cda1280fe9a85edf74e20e4d503a345ab7d">PP_INPUTEVENT_CLASS_IME</a> = 1 << 4
+<br />
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gad5885a239d04166c8777432c81e39d0a">PP_TouchListType</a> { <a class="el" href="group___enums.html#ggad5885a239d04166c8777432c81e39d0aa739dfd65f4cd719996f20bdd2e7db4ca">PP_TOUCHLIST_TYPE_TOUCHES</a> = 0,
+<a class="el" href="group___enums.html#ggad5885a239d04166c8777432c81e39d0aa89d31d55d67fa0746d1f3bf4050eafff">PP_TOUCHLIST_TYPE_CHANGEDTOUCHES</a> = 1,
+<a class="el" href="group___enums.html#ggad5885a239d04166c8777432c81e39d0aa0682e6c428fed9b900e3d9e56aaa8fca">PP_TOUCHLIST_TYPE_TARGETTOUCHES</a> = 2
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gac53273018386c1db9542d2a06bbe118b">PP_MouseCursor_Type</a> { <br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba1360614abe2d2c3838a42238f75e9ec1">PP_MOUSECURSOR_TYPE_CUSTOM</a> = -1,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba7c0a8b04f51fbf8e12abd4240fb24a9f">PP_MOUSECURSOR_TYPE_POINTER</a> = 0,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba7ee7ede873ec3158179a1ea648bfe677">PP_MOUSECURSOR_TYPE_CROSS</a> = 1,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba5cf81326a94c1150ce98cc15924dee69">PP_MOUSECURSOR_TYPE_HAND</a> = 2,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba705545fdbd4088bf4522b32aa5815877">PP_MOUSECURSOR_TYPE_IBEAM</a> = 3,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118babf8c49b2fc9ee7208b20e7e1f96e2930">PP_MOUSECURSOR_TYPE_WAIT</a> = 4,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bacea1ebe2038e33bb649bcf8ed32f0e7e">PP_MOUSECURSOR_TYPE_HELP</a> = 5,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba3efb608fc10dd3979d4bc0c41654f14b">PP_MOUSECURSOR_TYPE_EASTRESIZE</a> = 6,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba02b638a93841e0f51d234b6643cffcd0">PP_MOUSECURSOR_TYPE_NORTHRESIZE</a> = 7,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118baceb2b9888eed1ef5fe8c5dbc94195b3a">PP_MOUSECURSOR_TYPE_NORTHEASTRESIZE</a> = 8,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bab95b486b6772a79a599c4287f966cd19">PP_MOUSECURSOR_TYPE_NORTHWESTRESIZE</a> = 9,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bac39262939712092e11cc4569b6cab626">PP_MOUSECURSOR_TYPE_SOUTHRESIZE</a> = 10,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba0d7f8011aba0f13ceda6688585b725af">PP_MOUSECURSOR_TYPE_SOUTHEASTRESIZE</a> = 11,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba54f482730eba910a940e1c975f14e2a2">PP_MOUSECURSOR_TYPE_SOUTHWESTRESIZE</a> = 12,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba0c8edb786c8193ef657716a358e327b6">PP_MOUSECURSOR_TYPE_WESTRESIZE</a> = 13,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118babf7026dfaea82565f2527ddbb0383053">PP_MOUSECURSOR_TYPE_NORTHSOUTHRESIZE</a> = 14,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba98177b2980fa939ed33d41c531f06310">PP_MOUSECURSOR_TYPE_EASTWESTRESIZE</a> = 15,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118baf01a2e620b481daeb42b6344843e9e38">PP_MOUSECURSOR_TYPE_NORTHEASTSOUTHWESTRESIZE</a> = 16,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba05d35a31c8af640a6cf2295790e933ee">PP_MOUSECURSOR_TYPE_NORTHWESTSOUTHEASTRESIZE</a> = 17,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bab163a58c75a983ac943d39827c0976cd">PP_MOUSECURSOR_TYPE_COLUMNRESIZE</a> = 18,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bac4d90e13c8d17e32ee9498b795d2f4ca">PP_MOUSECURSOR_TYPE_ROWRESIZE</a> = 19,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba6dbf3de573762e2322d6e8a2392b19fb">PP_MOUSECURSOR_TYPE_MIDDLEPANNING</a> = 20,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba9fec33093306cea2ea6bb6810e8f9040">PP_MOUSECURSOR_TYPE_EASTPANNING</a> = 21,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba0805b4d3a42bb560a656247a57ed6fe0">PP_MOUSECURSOR_TYPE_NORTHPANNING</a> = 22,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118babeaeb782ba084c45e0d12f2bf428a9c3">PP_MOUSECURSOR_TYPE_NORTHEASTPANNING</a> = 23,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba2590e0dc133a8b4534c475abd60c2e1d">PP_MOUSECURSOR_TYPE_NORTHWESTPANNING</a> = 24,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bac9ab4fdcaccb7dcf3a9e0c5edf056e92">PP_MOUSECURSOR_TYPE_SOUTHPANNING</a> = 25,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bacf7c5132070bb6fd8e86ffcafb1dd8b6">PP_MOUSECURSOR_TYPE_SOUTHEASTPANNING</a> = 26,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118baebe615cd19bad5b076b2dd9d86dcd825">PP_MOUSECURSOR_TYPE_SOUTHWESTPANNING</a> = 27,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba8c357f06fc1fc96c091b378d10cc4f02">PP_MOUSECURSOR_TYPE_WESTPANNING</a> = 28,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bab6757be35df5a1e246b3ce8b80c92fbd">PP_MOUSECURSOR_TYPE_MOVE</a> = 29,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba52c5c4259a391557c045b0b82cc0a1fa">PP_MOUSECURSOR_TYPE_VERTICALTEXT</a> = 30,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba62afaa44930d75f750fdf28199511194">PP_MOUSECURSOR_TYPE_CELL</a> = 31,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bad73cecab74f94844438e494ff1439b9f">PP_MOUSECURSOR_TYPE_CONTEXTMENU</a> = 32,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118baca9b4bef41f4c4bd90e81573357b137c">PP_MOUSECURSOR_TYPE_ALIAS</a> = 33,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118babda91fe9ce56b304d95a1ce01fbe8084">PP_MOUSECURSOR_TYPE_PROGRESS</a> = 34,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba1c6cb6e16ac90b8829175e8af9a4a72d">PP_MOUSECURSOR_TYPE_NODROP</a> = 35,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bacee11626427a6fa36653243c4d551608">PP_MOUSECURSOR_TYPE_COPY</a> = 36,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba7a9b1b3187b0bd011b5e19380d4fd698">PP_MOUSECURSOR_TYPE_NONE</a> = 37,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba7d10d5fcc4d9e6aaed4af83246de15a0">PP_MOUSECURSOR_TYPE_NOTALLOWED</a> = 38,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba203b038de96b903e253e29aea5a66460">PP_MOUSECURSOR_TYPE_ZOOMIN</a> = 39,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba797321d4cad9a863a5338318912f3a98">PP_MOUSECURSOR_TYPE_ZOOMOUT</a> = 40,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bafc45b71a6185639e12ac2827a641bdaa">PP_MOUSECURSOR_TYPE_GRAB</a> = 41,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118baa242aeb17b35d8e44e449786a2cbcd1c">PP_MOUSECURSOR_TYPE_GRABBING</a> = 42
+<br />
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga43636bcadf9aa312a4c345d210ae6c55">PP_NetAddress_Family</a> { <a class="el" href="group___enums.html#gga43636bcadf9aa312a4c345d210ae6c55a2aef50ef77ad0122b649f0b9ac4c41bc">PP_NETADDRESS_FAMILY_UNSPECIFIED</a> = 0,
+<a class="el" href="group___enums.html#gga43636bcadf9aa312a4c345d210ae6c55a054684e064e8d819f8b2d80640196585">PP_NETADDRESS_FAMILY_IPV4</a> = 1,
+<a class="el" href="group___enums.html#gga43636bcadf9aa312a4c345d210ae6c55aa70bb3acced932eb4fe7df3aae85c27a">PP_NETADDRESS_FAMILY_IPV6</a> = 2
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga1c967cb753eb468493b3bf72e6733983">PP_NetworkList_Type</a> { <a class="el" href="group___enums.html#gga1c967cb753eb468493b3bf72e6733983a6d8ddd32de577965df0d44df0e0acfdd">PP_NETWORKLIST_TYPE_UNKNOWN</a> = 0,
+<a class="el" href="group___enums.html#gga1c967cb753eb468493b3bf72e6733983a6eaef40fe1d62ca5bcfcc1974adc29f9">PP_NETWORKLIST_TYPE_ETHERNET</a> = 1,
+<a class="el" href="group___enums.html#gga1c967cb753eb468493b3bf72e6733983a9a47925bee0d3bd71739475b4c5654ed">PP_NETWORKLIST_TYPE_WIFI</a> = 2,
+<a class="el" href="group___enums.html#gga1c967cb753eb468493b3bf72e6733983ab1c83c6942b208101789971522b3a8c9">PP_NETWORKLIST_TYPE_CELLULAR</a> = 3
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga9188881b5d3346626db0ea8e6aaecf1f">PP_NetworkList_State</a> { <a class="el" href="group___enums.html#gga9188881b5d3346626db0ea8e6aaecf1fa561469f97b38b69868d1cce1142722b6">PP_NETWORKLIST_STATE_DOWN</a> = 0,
+<a class="el" href="group___enums.html#gga9188881b5d3346626db0ea8e6aaecf1fa3b4b789d490cd2d3119a188a79eca0f6">PP_NETWORKLIST_STATE_UP</a> = 1
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga1557c0bbce8739a3418e6027a9c44e12">PP_TCPSocket_Option</a> { <a class="el" href="group___enums.html#gga1557c0bbce8739a3418e6027a9c44e12a4b17558654d1df4452aa98f7d2609a10">PP_TCPSOCKET_OPTION_NO_DELAY</a> = 0,
+<a class="el" href="group___enums.html#gga1557c0bbce8739a3418e6027a9c44e12a61ce27ba7853d05f7af51be1bed5d1a6">PP_TCPSOCKET_OPTION_SEND_BUFFER_SIZE</a> = 1,
+<a class="el" href="group___enums.html#gga1557c0bbce8739a3418e6027a9c44e12aef57736e294acb30fb7b3b2f4a425f72">PP_TCPSOCKET_OPTION_RECV_BUFFER_SIZE</a> = 2
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga5fef49ee4c2cc6dcead825340da0f116">PP_TextInput_Type</a> { <br />
+  <a class="el" href="group___enums.html#gga5fef49ee4c2cc6dcead825340da0f116a0d75c884156553959d65252e65aa0916">PP_TEXTINPUT_TYPE_NONE</a> = 0,
+<a class="el" href="group___enums.html#gga5fef49ee4c2cc6dcead825340da0f116a0e5e4072fce915eca7e4dfd7c639626c">PP_TEXTINPUT_TYPE_TEXT</a> = 1,
+<a class="el" href="group___enums.html#gga5fef49ee4c2cc6dcead825340da0f116a00f508676278dd45e0335a8d5d715114">PP_TEXTINPUT_TYPE_PASSWORD</a> = 2,
+<a class="el" href="group___enums.html#gga5fef49ee4c2cc6dcead825340da0f116a0d7975532097315f198617ad5e59bc32">PP_TEXTINPUT_TYPE_SEARCH</a> = 3,
+<br />
+  <a class="el" href="group___enums.html#gga5fef49ee4c2cc6dcead825340da0f116a027963b61eb55438f92662e72e939cf8">PP_TEXTINPUT_TYPE_EMAIL</a> = 4,
+<a class="el" href="group___enums.html#gga5fef49ee4c2cc6dcead825340da0f116af71a3fb3f651ad5b417592433278fd1e">PP_TEXTINPUT_TYPE_NUMBER</a> = 5,
+<a class="el" href="group___enums.html#gga5fef49ee4c2cc6dcead825340da0f116a181e9bd71e6a97acd6c5dace9f0b5fb3">PP_TEXTINPUT_TYPE_TELEPHONE</a> = 6,
+<a class="el" href="group___enums.html#gga5fef49ee4c2cc6dcead825340da0f116ad4371ecdd1a6631a78d4721d83062394">PP_TEXTINPUT_TYPE_URL</a> = 7
+<br />
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga1a8472fa3e7150615c45c38fa8c12ce2">PP_UDPSocket_Option</a> { <a class="el" href="group___enums.html#gga1a8472fa3e7150615c45c38fa8c12ce2a79568403b8927bf98bea0f2d38469984">PP_UDPSOCKET_OPTION_ADDRESS_REUSE</a> = 0,
+<a class="el" href="group___enums.html#gga1a8472fa3e7150615c45c38fa8c12ce2aeceda8fe978a52382b96939de7707c00">PP_UDPSOCKET_OPTION_BROADCAST</a> = 1,
+<a class="el" href="group___enums.html#gga1a8472fa3e7150615c45c38fa8c12ce2a905f0adde2912a5db26883d45fb75d57">PP_UDPSOCKET_OPTION_SEND_BUFFER_SIZE</a> = 2,
+<a class="el" href="group___enums.html#gga1a8472fa3e7150615c45c38fa8c12ce2a1264eb1d6d16eb3a074ee3d21ebb3b64">PP_UDPSOCKET_OPTION_RECV_BUFFER_SIZE</a> = 3
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga41975630f0a4c49e47d4a21754f8402d">PP_URLRequestProperty</a> { <br />
+  <a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da89e44812e771fed9df0ff8994690e44d">PP_URLREQUESTPROPERTY_URL</a> = 0,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da9cb5229069aac201622dbaa9cbca592c">PP_URLREQUESTPROPERTY_METHOD</a> = 1,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402dac4b3809e34561a77c75b31eac1589e8d">PP_URLREQUESTPROPERTY_HEADERS</a> = 2,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402dac43d267f888233c994bd1ca2b5b6b249">PP_URLREQUESTPROPERTY_STREAMTOFILE</a> = 3,
+<br />
+  <a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da5f1270ecf041c6c0a6ef351eb0c12127">PP_URLREQUESTPROPERTY_FOLLOWREDIRECTS</a> = 4,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da6846ea1e9c4ef7e09ea0f330a90cb7a6">PP_URLREQUESTPROPERTY_RECORDDOWNLOADPROGRESS</a> = 5,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da9202c5a8c6afdc6fa9808ab21b95376c">PP_URLREQUESTPROPERTY_RECORDUPLOADPROGRESS</a> = 6,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da6130d3b9dc8ae434752612ef155e3a38">PP_URLREQUESTPROPERTY_CUSTOMREFERRERURL</a> = 7,
+<br />
+  <a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da23f6523485b5bedf17882fb7a8796c03">PP_URLREQUESTPROPERTY_ALLOWCROSSORIGINREQUESTS</a> = 8,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da7da4140fde998f227f82d8064e9f5460">PP_URLREQUESTPROPERTY_ALLOWCREDENTIALS</a> = 9,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da094e978814d887d1888a2652aa91fc8b">PP_URLREQUESTPROPERTY_CUSTOMCONTENTTRANSFERENCODING</a> = 10,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da69ab9c81542c755313fc906d27396a9e">PP_URLREQUESTPROPERTY_PREFETCHBUFFERUPPERTHRESHOLD</a> = 11,
+<br />
+  <a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da8529403a539c1f604f8b0507078d804d">PP_URLREQUESTPROPERTY_PREFETCHBUFFERLOWERTHRESHOLD</a> = 12,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402dacf34504e827fdce2895f2b504cdd0653">PP_URLREQUESTPROPERTY_CUSTOMUSERAGENT</a> = 13
+<br />
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga642e6199b27df69aad84aff5597041e0">PP_URLResponseProperty</a> { <br />
+  <a class="el" href="group___enums.html#gga642e6199b27df69aad84aff5597041e0a805e0970808bd8d36cb02171dca7a734">PP_URLRESPONSEPROPERTY_URL</a> = 0,
+<a class="el" href="group___enums.html#gga642e6199b27df69aad84aff5597041e0aaaba524cc005207e2f226400e6a14d8e">PP_URLRESPONSEPROPERTY_REDIRECTURL</a> = 1,
+<a class="el" href="group___enums.html#gga642e6199b27df69aad84aff5597041e0abc45cd41ad54d2350626651b34db6927">PP_URLRESPONSEPROPERTY_REDIRECTMETHOD</a> = 2,
+<a class="el" href="group___enums.html#gga642e6199b27df69aad84aff5597041e0abc04191395637d0a4858657f2edd1ce3">PP_URLRESPONSEPROPERTY_STATUSCODE</a> = 3,
+<br />
+  <a class="el" href="group___enums.html#gga642e6199b27df69aad84aff5597041e0a0224e3907e7efc9ff8d916b0cb7b3287">PP_URLRESPONSEPROPERTY_STATUSLINE</a> = 4,
+<a class="el" href="group___enums.html#gga642e6199b27df69aad84aff5597041e0a45c014f3cb40e884677387855c3d977b">PP_URLRESPONSEPROPERTY_HEADERS</a> = 5
+<br />
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga4e7cf746d8acbfa268db1f5ebe8061bf">PP_VideoFrame_Format</a> { <br />
+  <a class="el" href="group___enums.html#gga4e7cf746d8acbfa268db1f5ebe8061bfa203cae6273b31da926c199ff4d27183a">PP_VIDEOFRAME_FORMAT_UNKNOWN</a> = 0,
+<a class="el" href="group___enums.html#gga4e7cf746d8acbfa268db1f5ebe8061bfa6ff238ffd3c807c510712ae56e051e3a">PP_VIDEOFRAME_FORMAT_YV12</a> = 1,
+<a class="el" href="group___enums.html#gga4e7cf746d8acbfa268db1f5ebe8061bfa81b9dd2e2a21a762c8e0f1e297722fb1">PP_VIDEOFRAME_FORMAT_YV16</a> = 2,
+<a class="el" href="group___enums.html#gga4e7cf746d8acbfa268db1f5ebe8061bfa0f72b9ac0cba278aab35e7a975624f76">PP_VIDEOFRAME_FORMAT_I420</a> = 3,
+<br />
+  <a class="el" href="group___enums.html#gga4e7cf746d8acbfa268db1f5ebe8061bfa763c2a7a80a426ceb85bdd2e47a7f7b0">PP_VIDEOFRAME_FORMAT_YV12A</a> = 4,
+<a class="el" href="group___enums.html#gga4e7cf746d8acbfa268db1f5ebe8061bfaae97d5413c3cfc8ced57e8bf0be0d37a">PP_VIDEOFRAME_FORMAT_YV12J</a> = 5
+<br />
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gade61cdf6a7470769b571925694d91a89">PP_WebSocketReadyState</a> { <br />
+  <a class="el" href="group___enums.html#ggade61cdf6a7470769b571925694d91a89a6c603b9df214e22d8b8202431866b26b">PP_WEBSOCKETREADYSTATE_INVALID</a> = -1,
+<a class="el" href="group___enums.html#ggade61cdf6a7470769b571925694d91a89a9ad491ea639e22b598d4e8cab463acd9">PP_WEBSOCKETREADYSTATE_CONNECTING</a> = 0,
+<a class="el" href="group___enums.html#ggade61cdf6a7470769b571925694d91a89a60f99e31f237d57df167d70e7c1ada7d">PP_WEBSOCKETREADYSTATE_OPEN</a> = 1,
+<a class="el" href="group___enums.html#ggade61cdf6a7470769b571925694d91a89a45ce2585ba8b200c6c02112098df6447">PP_WEBSOCKETREADYSTATE_CLOSING</a> = 2,
+<br />
+  <a class="el" href="group___enums.html#ggade61cdf6a7470769b571925694d91a89a43865a04fac402be4f589d2c7f9f02f4">PP_WEBSOCKETREADYSTATE_CLOSED</a> = 3
+<br />
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga8458f33f09ecc56fcf486c60b844678d">PP_WebSocketCloseCode</a> { <br />
+  <a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678dace8b6cbd5ab6bdecc5762b8753702d47">PP_WEBSOCKETSTATUSCODE_NOT_SPECIFIED</a> = 1005,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678daff82b3d825f09240d64479d5ae0a2e00">PP_WEBSOCKETSTATUSCODE_NORMAL_CLOSURE</a> = 1000,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da9d8d5c41a6592a609324249950468fb4">PP_WEBSOCKETSTATUSCODE_GOING_AWAY</a> = 1001,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678daf20b614979599d2a2ed79543618d6ef4">PP_WEBSOCKETSTATUSCODE_PROTOCOL_ERROR</a> = 1002,
+<br />
+  <a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da4c63e46fd3e2a3b03fdcc577431f85ba">PP_WEBSOCKETSTATUSCODE_UNSUPPORTED_DATA</a> = 1003,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da75580d49b265525d2f8591be2aa02fe6">PP_WEBSOCKETSTATUSCODE_NO_STATUS_RECEIVED</a> = 1005,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678dad80b864c592819db0cb640d2b6e74a3f">PP_WEBSOCKETSTATUSCODE_ABNORMAL_CLOSURE</a> = 1006,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678daea768048eaff4826bf06550d8da0dd42">PP_WEBSOCKETSTATUSCODE_INVALID_FRAME_PAYLOAD_DATA</a> = 1007,
+<br />
+  <a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da4d4405b66c4b436c9bb31dfa4fa71523">PP_WEBSOCKETSTATUSCODE_POLICY_VIOLATION</a> = 1008,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da7c8d17601c982c62a933a3f721c049ef">PP_WEBSOCKETSTATUSCODE_MESSAGE_TOO_BIG</a> = 1009,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da5fae5457554a0cad877ccfa1d5636b8d">PP_WEBSOCKETSTATUSCODE_MANDATORY_EXTENSION</a> = 1010,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da7318b30a65ea442445e754453a73be81">PP_WEBSOCKETSTATUSCODE_INTERNAL_SERVER_ERROR</a> = 1011,
+<br />
+  <a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da8aef76170a2836b651922555aa26348d">PP_WEBSOCKETSTATUSCODE_TLS_HANDSHAKE</a> = 1015,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da3a87714e399ce00177f60f85c9a993ba">PP_WEBSOCKETSTATUSCODE_USER_REGISTERED_MIN</a> = 3000,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da08c67e1fcd33b07c350be618d7d72403">PP_WEBSOCKETSTATUSCODE_USER_REGISTERED_MAX</a> = 3999,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da491bd1d7c9ada2c129062beb9eaeded1">PP_WEBSOCKETSTATUSCODE_USER_PRIVATE_MIN</a> = 4000,
+<br />
+  <a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da242327b17ab568d625627236de721e5b">PP_WEBSOCKETSTATUSCODE_USER_PRIVATE_MAX</a> = 4999
+<br />
+ }</td></tr>
+</table><h2>
+Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga9b1b55c2ccaa49d084206619c9034dde">PP_COMPILE_ASSERT_ENUM_SIZE_IN_BYTES</a> (<a class="el" href="group___enums.html#gac53273018386c1db9542d2a06bbe118b">PP_MouseCursor_Type</a>, 4)</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga7610f0fba2396d46384859caa4d91798">PP_CompletionCallback_Flag</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga36f6dfbe9c1e98540c5247f790746427">PP_FileType</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga87b353f2ec8935c9c3294daff612c145">PP_FileSystemType</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga7df48e1c55f6401beea2a1b9c07967e8">PP_Graphics3DAttrib</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga9815041477d810724e44da862f9852ed">PP_VarType</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gaee750c350655f2fb0fe04c04029e0ff8">PP_AudioSampleRate</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gac39067c0883ec80b94290dd2a3bae440">PP_LogLevel</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga4c87e6dd19c1d49b66a9b37136a82e82">PP_FileOpenFlags</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gadb4b8db19266831040fc604f73c83a25">PP_HostResolver_Flag</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga2ee7ad01799553e5f17bdaa35dd952ee">PP_ImageDataFormat</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gaca7296cfec99fcb6646b7144d1d6a0c5">PP_InputEvent_Type</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga21b811ac0484a214a8751aa3e1c959d9">PP_InputEvent_Modifier</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga25113f3c8d33e863fd38b3f70f8a5e6e">PP_InputEvent_MouseButton</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gafe68e3c1031daa4a6496845ff47649cd">PP_InputEvent_Class</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gad5885a239d04166c8777432c81e39d0a">PP_TouchListType</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga43636bcadf9aa312a4c345d210ae6c55">PP_NetAddress_Family</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga1c967cb753eb468493b3bf72e6733983">PP_NetworkList_Type</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga9188881b5d3346626db0ea8e6aaecf1f">PP_NetworkList_State</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga1557c0bbce8739a3418e6027a9c44e12">PP_TCPSocket_Option</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga5fef49ee4c2cc6dcead825340da0f116">PP_TextInput_Type</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga1a8472fa3e7150615c45c38fa8c12ce2">PP_UDPSocket_Option</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga41975630f0a4c49e47d4a21754f8402d">PP_URLRequestProperty</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga642e6199b27df69aad84aff5597041e0">PP_URLResponseProperty</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gade61cdf6a7470769b571925694d91a89">PP_WebSocketReadyState</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga8458f33f09ecc56fcf486c60b844678d">PP_WebSocketCloseCode</a></td></tr>
+</table>
+<hr /><h2>Enumeration Type Documentation</h2>
+<a class="anchor" id="ga06fc87d81c62e9abb8790b6e5713c55b"></a><!-- doxytag: member="pp_errors.h::@0" ref="ga06fc87d81c62e9abb8790b6e5713c55b" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">anonymous enum</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This enumeration contains enumerators of all PPAPI error codes. </p>
+<p>Errors are negative valued. Callers should treat all negative values as a failure, even if it's not in the list, since the possible errors are likely to expand and change over time. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba5c394615cfa8eaceba77ecedb65dc9cb"></a><!-- doxytag: member="PP_OK" ref="gga06fc87d81c62e9abb8790b6e5713c55ba5c394615cfa8eaceba77ecedb65dc9cb" args="" -->PP_OK</em> </td><td>
+<p>This value is returned by a function on successful synchronous completion or is passed as a result to a PP_CompletionCallback_Func on successful asynchronous completion. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55baa5f7aa5667dc3eb61dd4f822d1163b29"></a><!-- doxytag: member="PP_OK_COMPLETIONPENDING" ref="gga06fc87d81c62e9abb8790b6e5713c55baa5f7aa5667dc3eb61dd4f822d1163b29" args="" -->PP_OK_COMPLETIONPENDING</em> </td><td>
+<p>This value is returned by a function that accepts a <a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a> and cannot complete synchronously. </p>
+<p>This code indicates that the given callback will be asynchronously notified of the final result once it is available. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba06a8964482e41bf50c45c0d9dd281830"></a><!-- doxytag: member="PP_ERROR_FAILED" ref="gga06fc87d81c62e9abb8790b6e5713c55ba06a8964482e41bf50c45c0d9dd281830" args="" -->PP_ERROR_FAILED</em> </td><td>
+<p>This value indicates failure for unspecified reasons. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba8389cb348aeba81a94b058622f5914af"></a><!-- doxytag: member="PP_ERROR_ABORTED" ref="gga06fc87d81c62e9abb8790b6e5713c55ba8389cb348aeba81a94b058622f5914af" args="" -->PP_ERROR_ABORTED</em> </td><td>
+<p>This value indicates failure due to an asynchronous operation being interrupted. </p>
+<p>The most common cause of this error code is destroying a resource that still has a callback pending. All callbacks are guaranteed to execute, so any callbacks pending on a destroyed resource will be issued with PP_ERROR_ABORTED.</p>
+<p>If you get an aborted notification that you aren't expecting, check to make sure that the resource you're using is still in scope. A common mistake is to create a resource on the stack, which will destroy the resource as soon as the function returns. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba02f23038858b2b1a3c95f1593332503f"></a><!-- doxytag: member="PP_ERROR_BADARGUMENT" ref="gga06fc87d81c62e9abb8790b6e5713c55ba02f23038858b2b1a3c95f1593332503f" args="" -->PP_ERROR_BADARGUMENT</em> </td><td>
+<p>This value indicates failure due to an invalid argument. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba55448d3b2c42d96c7b347a5833df7e76"></a><!-- doxytag: member="PP_ERROR_BADRESOURCE" ref="gga06fc87d81c62e9abb8790b6e5713c55ba55448d3b2c42d96c7b347a5833df7e76" args="" -->PP_ERROR_BADRESOURCE</em> </td><td>
+<p>This value indicates failure due to an invalid PP_Resource. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba7bc23fde1d7408a2d5e0c02fda77a157"></a><!-- doxytag: member="PP_ERROR_NOINTERFACE" ref="gga06fc87d81c62e9abb8790b6e5713c55ba7bc23fde1d7408a2d5e0c02fda77a157" args="" -->PP_ERROR_NOINTERFACE</em> </td><td>
+<p>This value indicates failure due to an unavailable PPAPI interface. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55baccd33fd6aa1c9a64b692a615b8099f10"></a><!-- doxytag: member="PP_ERROR_NOACCESS" ref="gga06fc87d81c62e9abb8790b6e5713c55baccd33fd6aa1c9a64b692a615b8099f10" args="" -->PP_ERROR_NOACCESS</em> </td><td>
+<p>This value indicates failure due to insufficient privileges. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba77543198f33b4da09f5431f61be0fdfe"></a><!-- doxytag: member="PP_ERROR_NOMEMORY" ref="gga06fc87d81c62e9abb8790b6e5713c55ba77543198f33b4da09f5431f61be0fdfe" args="" -->PP_ERROR_NOMEMORY</em> </td><td>
+<p>This value indicates failure due to insufficient memory. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55baa52e024aa5d86ea5c2d0e9fe4d4223b1"></a><!-- doxytag: member="PP_ERROR_NOSPACE" ref="gga06fc87d81c62e9abb8790b6e5713c55baa52e024aa5d86ea5c2d0e9fe4d4223b1" args="" -->PP_ERROR_NOSPACE</em> </td><td>
+<p>This value indicates failure due to insufficient storage space. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba32f8a2ecfc27357c36e8cab62f5f8b60"></a><!-- doxytag: member="PP_ERROR_NOQUOTA" ref="gga06fc87d81c62e9abb8790b6e5713c55ba32f8a2ecfc27357c36e8cab62f5f8b60" args="" -->PP_ERROR_NOQUOTA</em> </td><td>
+<p>This value indicates failure due to insufficient storage quota. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba2eb423e9cc9c19a6a7150b342a0b383a"></a><!-- doxytag: member="PP_ERROR_INPROGRESS" ref="gga06fc87d81c62e9abb8790b6e5713c55ba2eb423e9cc9c19a6a7150b342a0b383a" args="" -->PP_ERROR_INPROGRESS</em> </td><td>
+<p>This value indicates failure due to an action already being in progress. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55babb8fa3e1cb15627f433a049d68e49d5b"></a><!-- doxytag: member="PP_ERROR_NOTSUPPORTED" ref="gga06fc87d81c62e9abb8790b6e5713c55babb8fa3e1cb15627f433a049d68e49d5b" args="" -->PP_ERROR_NOTSUPPORTED</em> </td><td>
+<p>The requested command is not supported by the browser. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba282ee581bafd4579a8982a5141793de4"></a><!-- doxytag: member="PP_ERROR_BLOCKS_MAIN_THREAD" ref="gga06fc87d81c62e9abb8790b6e5713c55ba282ee581bafd4579a8982a5141793de4" args="" -->PP_ERROR_BLOCKS_MAIN_THREAD</em> </td><td>
+<p>Returned if you try to use a null completion callback to "block until
+ complete" on the main thread. </p>
+<p>Blocking the main thread is not permitted to keep the browser responsive (otherwise, you may not be able to handle input events, and there are reentrancy and deadlock issues). </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba6c1c35f64dd233fc0a46151a82915960"></a><!-- doxytag: member="PP_ERROR_FILENOTFOUND" ref="gga06fc87d81c62e9abb8790b6e5713c55ba6c1c35f64dd233fc0a46151a82915960" args="" -->PP_ERROR_FILENOTFOUND</em> </td><td>
+<p>This value indicates failure due to a file that does not exist. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba325aca7c7d73483de41998329b342ef0"></a><!-- doxytag: member="PP_ERROR_FILEEXISTS" ref="gga06fc87d81c62e9abb8790b6e5713c55ba325aca7c7d73483de41998329b342ef0" args="" -->PP_ERROR_FILEEXISTS</em> </td><td>
+<p>This value indicates failure due to a file that already exists. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55bac0eab80ff249433a206cd93e34d1e965"></a><!-- doxytag: member="PP_ERROR_FILETOOBIG" ref="gga06fc87d81c62e9abb8790b6e5713c55bac0eab80ff249433a206cd93e34d1e965" args="" -->PP_ERROR_FILETOOBIG</em> </td><td>
+<p>This value indicates failure due to a file that is too big. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55baa2e274f5a24c62f7ebf50ef2e2dd98a6"></a><!-- doxytag: member="PP_ERROR_FILECHANGED" ref="gga06fc87d81c62e9abb8790b6e5713c55baa2e274f5a24c62f7ebf50ef2e2dd98a6" args="" -->PP_ERROR_FILECHANGED</em> </td><td>
+<p>This value indicates failure due to a file having been modified unexpectedly. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55baf216de52da5770d56ba7e483974ec209"></a><!-- doxytag: member="PP_ERROR_NOTAFILE" ref="gga06fc87d81c62e9abb8790b6e5713c55baf216de52da5770d56ba7e483974ec209" args="" -->PP_ERROR_NOTAFILE</em> </td><td>
+<p>This value indicates that the pathname does not reference a file. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba53382f01745b691ba6f91c65b6059953"></a><!-- doxytag: member="PP_ERROR_TIMEDOUT" ref="gga06fc87d81c62e9abb8790b6e5713c55ba53382f01745b691ba6f91c65b6059953" args="" -->PP_ERROR_TIMEDOUT</em> </td><td>
+<p>This value indicates failure due to a time limit being exceeded. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba3f20bb850c408a7e05fbc9ce42a8e999"></a><!-- doxytag: member="PP_ERROR_USERCANCEL" ref="gga06fc87d81c62e9abb8790b6e5713c55ba3f20bb850c408a7e05fbc9ce42a8e999" args="" -->PP_ERROR_USERCANCEL</em> </td><td>
+<p>This value indicates that the user cancelled rather than providing expected input. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba8c428198d142124ef0c99eb8e8572491"></a><!-- doxytag: member="PP_ERROR_NO_USER_GESTURE" ref="gga06fc87d81c62e9abb8790b6e5713c55ba8c428198d142124ef0c99eb8e8572491" args="" -->PP_ERROR_NO_USER_GESTURE</em> </td><td>
+<p>This value indicates failure due to lack of a user gesture such as a mouse click or key input event. </p>
+<p>Examples of actions requiring a user gesture are showing the file chooser dialog and going into fullscreen mode. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba7469b76adbd5e8e931314160093a9e1a"></a><!-- doxytag: member="PP_ERROR_CONTEXT_LOST" ref="gga06fc87d81c62e9abb8790b6e5713c55ba7469b76adbd5e8e931314160093a9e1a" args="" -->PP_ERROR_CONTEXT_LOST</em> </td><td>
+<p>This value indicates that the graphics context was lost due to a power management event. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55baf907cc8f39ca083a5cad188fb808fc0f"></a><!-- doxytag: member="PP_ERROR_NO_MESSAGE_LOOP" ref="gga06fc87d81c62e9abb8790b6e5713c55baf907cc8f39ca083a5cad188fb808fc0f" args="" -->PP_ERROR_NO_MESSAGE_LOOP</em> </td><td>
+<p>Indicates an attempt to make a PPAPI call on a thread without previously registering a message loop via <a class="el" href="struct_p_p_b___message_loop__1__0.html#ad7e1c1fb0baf6a0446ffb241a6b226b9" title="Sets the given message loop resource as being the associated message loop for the currently running t...">PPB_MessageLoop.AttachToCurrentThread</a>. </p>
+<p>Without this registration step, no PPAPI calls are supported. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55bae18e92e98e2dd0d106b49387af13c997"></a><!-- doxytag: member="PP_ERROR_WRONG_THREAD" ref="gga06fc87d81c62e9abb8790b6e5713c55bae18e92e98e2dd0d106b49387af13c997" args="" -->PP_ERROR_WRONG_THREAD</em> </td><td>
+<p>Indicates that the requested operation is not permitted on the current thread. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55babbc1f7cf46e1746ce232e4655191630e"></a><!-- doxytag: member="PP_ERROR_CONNECTION_CLOSED" ref="gga06fc87d81c62e9abb8790b6e5713c55babbc1f7cf46e1746ce232e4655191630e" args="" -->PP_ERROR_CONNECTION_CLOSED</em> </td><td>
+<p>This value indicates that the connection was closed. </p>
+<p>For TCP sockets, it corresponds to a TCP FIN. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55bac7e0cbefef9315c63c0d7858d0fc4c01"></a><!-- doxytag: member="PP_ERROR_CONNECTION_RESET" ref="gga06fc87d81c62e9abb8790b6e5713c55bac7e0cbefef9315c63c0d7858d0fc4c01" args="" -->PP_ERROR_CONNECTION_RESET</em> </td><td>
+<p>This value indicates that the connection was reset. </p>
+<p>For TCP sockets, it corresponds to a TCP RST. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55bab3873811c2f684a437a2efa3133d3452"></a><!-- doxytag: member="PP_ERROR_CONNECTION_REFUSED" ref="gga06fc87d81c62e9abb8790b6e5713c55bab3873811c2f684a437a2efa3133d3452" args="" -->PP_ERROR_CONNECTION_REFUSED</em> </td><td>
+<p>This value indicates that the connection attempt was refused. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55baf86ee9c96af9f4c315ac6458b6638f27"></a><!-- doxytag: member="PP_ERROR_CONNECTION_ABORTED" ref="gga06fc87d81c62e9abb8790b6e5713c55baf86ee9c96af9f4c315ac6458b6638f27" args="" -->PP_ERROR_CONNECTION_ABORTED</em> </td><td>
+<p>This value indicates that the connection was aborted. </p>
+<p>For TCP sockets, it means the connection timed out as a result of not receiving an ACK for data sent. This can include a FIN packet that did not get ACK'd. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55bacd6d028056cb3596b966682edb6effcf"></a><!-- doxytag: member="PP_ERROR_CONNECTION_FAILED" ref="gga06fc87d81c62e9abb8790b6e5713c55bacd6d028056cb3596b966682edb6effcf" args="" -->PP_ERROR_CONNECTION_FAILED</em> </td><td>
+<p>This value indicates that the connection attempt failed. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba49150f7eacf465fc552e751ac521b4ae"></a><!-- doxytag: member="PP_ERROR_CONNECTION_TIMEDOUT" ref="gga06fc87d81c62e9abb8790b6e5713c55ba49150f7eacf465fc552e751ac521b4ae" args="" -->PP_ERROR_CONNECTION_TIMEDOUT</em> </td><td>
+<p>This value indicates that the connection attempt timed out. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55baa13c10929736aa23a8056ee33dcd23e5"></a><!-- doxytag: member="PP_ERROR_ADDRESS_INVALID" ref="gga06fc87d81c62e9abb8790b6e5713c55baa13c10929736aa23a8056ee33dcd23e5" args="" -->PP_ERROR_ADDRESS_INVALID</em> </td><td>
+<p>This value indicates that the IP address or port number is invalid. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba4304630fb13c40107ed6da9e5b764003"></a><!-- doxytag: member="PP_ERROR_ADDRESS_UNREACHABLE" ref="gga06fc87d81c62e9abb8790b6e5713c55ba4304630fb13c40107ed6da9e5b764003" args="" -->PP_ERROR_ADDRESS_UNREACHABLE</em> </td><td>
+<p>This value indicates that the IP address is unreachable. </p>
+<p>This usually means that there is no route to the specified host or network. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55bafb9e232a63a5787ec0445ee9cc7fc7c2"></a><!-- doxytag: member="PP_ERROR_ADDRESS_IN_USE" ref="gga06fc87d81c62e9abb8790b6e5713c55bafb9e232a63a5787ec0445ee9cc7fc7c2" args="" -->PP_ERROR_ADDRESS_IN_USE</em> </td><td>
+<p>This value is returned when attempting to bind an address that is already in use. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba679d405ff44d259db51dfc6f312b465f"></a><!-- doxytag: member="PP_ERROR_MESSAGE_TOO_BIG" ref="gga06fc87d81c62e9abb8790b6e5713c55ba679d405ff44d259db51dfc6f312b465f" args="" -->PP_ERROR_MESSAGE_TOO_BIG</em> </td><td>
+<p>This value indicates that the message was too large for the transport. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba74c1a24f06288fc63221631ba6a2a7b6"></a><!-- doxytag: member="PP_ERROR_NAME_NOT_RESOLVED" ref="gga06fc87d81c62e9abb8790b6e5713c55ba74c1a24f06288fc63221631ba6a2a7b6" args="" -->PP_ERROR_NAME_NOT_RESOLVED</em> </td><td>
+<p>This value indicates that the host name could not be resolved. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="gadf764cbdea00d65edcd07bb9953ad2b7"></a><!-- doxytag: member="ppb_audio_config.h::@1" ref="gadf764cbdea00d65edcd07bb9953ad2b7" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">anonymous enum</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This enumeration contains audio frame count constants. </p>
+<p><code>PP_AUDIOMINSAMPLEFRAMECOUNT</code> is the minimum possible frame count. <code>PP_AUDIOMAXSAMPLEFRAMECOUNT</code> is the maximum possible frame count. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="ggadf764cbdea00d65edcd07bb9953ad2b7a9bf932735e301eeecf183a9defc378b3"></a><!-- doxytag: member="PP_AUDIOMINSAMPLEFRAMECOUNT" ref="ggadf764cbdea00d65edcd07bb9953ad2b7a9bf932735e301eeecf183a9defc378b3" args="" -->PP_AUDIOMINSAMPLEFRAMECOUNT</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggadf764cbdea00d65edcd07bb9953ad2b7a335c882fde010a0515ec5678a7003ce4"></a><!-- doxytag: member="PP_AUDIOMAXSAMPLEFRAMECOUNT" ref="ggadf764cbdea00d65edcd07bb9953ad2b7a335c882fde010a0515ec5678a7003ce4" args="" -->PP_AUDIOMAXSAMPLEFRAMECOUNT</em> </td><td>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="gaee750c350655f2fb0fe04c04029e0ff8"></a><!-- doxytag: member="ppb_audio_config.h::PP_AudioSampleRate" ref="gaee750c350655f2fb0fe04c04029e0ff8" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#gaee750c350655f2fb0fe04c04029e0ff8">PP_AudioSampleRate</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>PP_AudioSampleRate is an enumeration of the different audio sampling rates. </p>
+<p><code>PP_AUDIOSAMPLERATE_44100</code> is the sample rate used on CDs and <code>PP_AUDIOSAMPLERATE_48000</code> is the sample rate used on DVDs and Digital Audio Tapes. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="ggaee750c350655f2fb0fe04c04029e0ff8a3028e109c6005f2e9ffd635f92ef3324"></a><!-- doxytag: member="PP_AUDIOSAMPLERATE_NONE" ref="ggaee750c350655f2fb0fe04c04029e0ff8a3028e109c6005f2e9ffd635f92ef3324" args="" -->PP_AUDIOSAMPLERATE_NONE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaee750c350655f2fb0fe04c04029e0ff8ac6d1056f50ebe082622d3250def41a54"></a><!-- doxytag: member="PP_AUDIOSAMPLERATE_44100" ref="ggaee750c350655f2fb0fe04c04029e0ff8ac6d1056f50ebe082622d3250def41a54" args="" -->PP_AUDIOSAMPLERATE_44100</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaee750c350655f2fb0fe04c04029e0ff8a0a3ddad3c00d75e1c57a245e599727cd"></a><!-- doxytag: member="PP_AUDIOSAMPLERATE_48000" ref="ggaee750c350655f2fb0fe04c04029e0ff8a0a3ddad3c00d75e1c57a245e599727cd" args="" -->PP_AUDIOSAMPLERATE_48000</em> </td><td>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga4f272d99be14aacafe08dfd4ef830918"></a><!-- doxytag: member="pp_bool.h::PP_Bool" ref="ga4f272d99be14aacafe08dfd4ef830918" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <code>PP_Bool</code> enum is a boolean value for use in PPAPI C headers. </p>
+<p>The standard bool type is not available to pre-C99 compilers, and is not guaranteed to be compatible between C and C++, whereas the PPAPI C headers can be included from C or C++ code. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga4f272d99be14aacafe08dfd4ef830918aeb6cdb899071a9ea4695a184bfdc3e81"></a><!-- doxytag: member="PP_FALSE" ref="gga4f272d99be14aacafe08dfd4ef830918aeb6cdb899071a9ea4695a184bfdc3e81" args="" -->PP_FALSE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga4f272d99be14aacafe08dfd4ef830918a177ce110df585fe2b468dba9a0eefda5"></a><!-- doxytag: member="PP_TRUE" ref="gga4f272d99be14aacafe08dfd4ef830918a177ce110df585fe2b468dba9a0eefda5" args="" -->PP_TRUE</em> </td><td>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga7610f0fba2396d46384859caa4d91798"></a><!-- doxytag: member="pp_completion_callback.h::PP_CompletionCallback_Flag" ref="ga7610f0fba2396d46384859caa4d91798" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga7610f0fba2396d46384859caa4d91798">PP_CompletionCallback_Flag</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This enumeration contains flags used to control how non-NULL callbacks are scheduled by asynchronous methods. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga7610f0fba2396d46384859caa4d91798a6eedc0f315784a4cb47c5806b828c7cc"></a><!-- doxytag: member="PP_COMPLETIONCALLBACK_FLAG_NONE" ref="gga7610f0fba2396d46384859caa4d91798a6eedc0f315784a4cb47c5806b828c7cc" args="" -->PP_COMPLETIONCALLBACK_FLAG_NONE</em> </td><td>
+<p>By default any non-NULL callback will always invoked asynchronously, on success or error, even if the operation could complete synchronously without blocking. </p>
+<p>The method taking such callback will always return PP_OK_COMPLETIONPENDING. The callback will be invoked on the same thread on which the method was invoked.</p>
+<p>NOTE: If the method taking the callback is invoked on a background thread that has no valid PPB_MessageLoop resource attached, the system has no way to run the callback on the correct thread. In this case, a log message will be emitted and the plugin will be made to crash. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga7610f0fba2396d46384859caa4d91798aebb176d8930b14219b7966fd93a2e967"></a><!-- doxytag: member="PP_COMPLETIONCALLBACK_FLAG_OPTIONAL" ref="gga7610f0fba2396d46384859caa4d91798aebb176d8930b14219b7966fd93a2e967" args="" -->PP_COMPLETIONCALLBACK_FLAG_OPTIONAL</em> </td><td>
+<p>This flag allows any method taking such callback to complete synchronously and not call the callback if the operation would not block. </p>
+<p>This is useful when performance is an issue, and the operation bandwidth should not be limited to the processing speed of the message loop.</p>
+<p>On synchronous method completion, the completion result will be returned by the method itself. Otherwise, the method will return PP_OK_COMPLETIONPENDING, and the callback will be invoked asynchronously on the same thread on which the method was invoked. If there is no valid PPB_MessageLoop attached to that thread, and the callback would normally run asynchronously, the invoked method will return PP_ERROR_NO_MESSAGE_LOOP. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga4c87e6dd19c1d49b66a9b37136a82e82"></a><!-- doxytag: member="ppb_file_io.h::PP_FileOpenFlags" ref="ga4c87e6dd19c1d49b66a9b37136a82e82" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga4c87e6dd19c1d49b66a9b37136a82e82">PP_FileOpenFlags</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The PP_FileOpenFlags enum contains file open constants. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga4c87e6dd19c1d49b66a9b37136a82e82a9d409b8a19e1a1c90b6c01f45cea8468"></a><!-- doxytag: member="PP_FILEOPENFLAG_READ" ref="gga4c87e6dd19c1d49b66a9b37136a82e82a9d409b8a19e1a1c90b6c01f45cea8468" args="" -->PP_FILEOPENFLAG_READ</em> </td><td>
+<p>Requests read access to a file. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga4c87e6dd19c1d49b66a9b37136a82e82ad43adf355739f7a82d0f1a884531afbd"></a><!-- doxytag: member="PP_FILEOPENFLAG_WRITE" ref="gga4c87e6dd19c1d49b66a9b37136a82e82ad43adf355739f7a82d0f1a884531afbd" args="" -->PP_FILEOPENFLAG_WRITE</em> </td><td>
+<p>Requests write access to a file. </p>
+<p>May be combined with <code>PP_FILEOPENFLAG_READ</code> to request read and write access. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga4c87e6dd19c1d49b66a9b37136a82e82adc826ab2826a482ee2b15cc25d0d9ba2"></a><!-- doxytag: member="PP_FILEOPENFLAG_CREATE" ref="gga4c87e6dd19c1d49b66a9b37136a82e82adc826ab2826a482ee2b15cc25d0d9ba2" args="" -->PP_FILEOPENFLAG_CREATE</em> </td><td>
+<p>Requests that the file be created if it does not exist. </p>
+<p>If the file already exists, then this flag is ignored unless <code>PP_FILEOPENFLAG_EXCLUSIVE</code> was also specified, in which case FileIO::Open() will fail. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga4c87e6dd19c1d49b66a9b37136a82e82afc54dddff300e46f1ea644855abfd3e5"></a><!-- doxytag: member="PP_FILEOPENFLAG_TRUNCATE" ref="gga4c87e6dd19c1d49b66a9b37136a82e82afc54dddff300e46f1ea644855abfd3e5" args="" -->PP_FILEOPENFLAG_TRUNCATE</em> </td><td>
+<p>Requests that the file be truncated to length 0 if it exists and is a regular file. </p>
+<p><code>PP_FILEOPENFLAG_WRITE</code> must also be specified. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga4c87e6dd19c1d49b66a9b37136a82e82a3ffa615692f3b3a2da0f1e04903eefce"></a><!-- doxytag: member="PP_FILEOPENFLAG_EXCLUSIVE" ref="gga4c87e6dd19c1d49b66a9b37136a82e82a3ffa615692f3b3a2da0f1e04903eefce" args="" -->PP_FILEOPENFLAG_EXCLUSIVE</em> </td><td>
+<p>Requests that the file is created when this flag is combined with <code>PP_FILEOPENFLAG_CREATE</code>. </p>
+<p>If this flag is specified, and the file already exists, then the FileIO::Open() call will fail. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga4c87e6dd19c1d49b66a9b37136a82e82a78c13cbbccebfa9c2b8b2f758397795c"></a><!-- doxytag: member="PP_FILEOPENFLAG_APPEND" ref="gga4c87e6dd19c1d49b66a9b37136a82e82a78c13cbbccebfa9c2b8b2f758397795c" args="" -->PP_FILEOPENFLAG_APPEND</em> </td><td>
+<p>Requests write access to a file, but writes will always occur at the end of the file. </p>
+<p>Mututally exclusive with <code>PP_FILEOPENFLAG_WRITE</code>.</p>
+<p>This is only supported in version 1.2 (Chrome 29) and later. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga87b353f2ec8935c9c3294daff612c145"></a><!-- doxytag: member="pp_file_info.h::PP_FileSystemType" ref="ga87b353f2ec8935c9c3294daff612c145" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga87b353f2ec8935c9c3294daff612c145">PP_FileSystemType</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <code>PP_FileSystemType</code> enum contains file system type constants. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga87b353f2ec8935c9c3294daff612c145a48e7bd0df8bd086812085be972e963a0"></a><!-- doxytag: member="PP_FILESYSTEMTYPE_INVALID" ref="gga87b353f2ec8935c9c3294daff612c145a48e7bd0df8bd086812085be972e963a0" args="" -->PP_FILESYSTEMTYPE_INVALID</em> </td><td>
+<p>For identified invalid return values. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga87b353f2ec8935c9c3294daff612c145aa21f18053ba5b3594a0b5373074742c2"></a><!-- doxytag: member="PP_FILESYSTEMTYPE_EXTERNAL" ref="gga87b353f2ec8935c9c3294daff612c145aa21f18053ba5b3594a0b5373074742c2" args="" -->PP_FILESYSTEMTYPE_EXTERNAL</em> </td><td>
+<p>For external file system types. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga87b353f2ec8935c9c3294daff612c145a4c51625a4c977d3fab0c4dd28127603c"></a><!-- doxytag: member="PP_FILESYSTEMTYPE_LOCALPERSISTENT" ref="gga87b353f2ec8935c9c3294daff612c145a4c51625a4c977d3fab0c4dd28127603c" args="" -->PP_FILESYSTEMTYPE_LOCALPERSISTENT</em> </td><td>
+<p>For local persistent file system types. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga87b353f2ec8935c9c3294daff612c145abefda8d47a5cd9b8918f012c34496ca9"></a><!-- doxytag: member="PP_FILESYSTEMTYPE_LOCALTEMPORARY" ref="gga87b353f2ec8935c9c3294daff612c145abefda8d47a5cd9b8918f012c34496ca9" args="" -->PP_FILESYSTEMTYPE_LOCALTEMPORARY</em> </td><td>
+<p>For local temporary file system types. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga87b353f2ec8935c9c3294daff612c145aeceec88ea91ee70c499ff39119dd33b5"></a><!-- doxytag: member="PP_FILESYSTEMTYPE_ISOLATED" ref="gga87b353f2ec8935c9c3294daff612c145aeceec88ea91ee70c499ff39119dd33b5" args="" -->PP_FILESYSTEMTYPE_ISOLATED</em> </td><td>
+<p>For isolated file system types. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga36f6dfbe9c1e98540c5247f790746427"></a><!-- doxytag: member="pp_file_info.h::PP_FileType" ref="ga36f6dfbe9c1e98540c5247f790746427" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga36f6dfbe9c1e98540c5247f790746427">PP_FileType</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <code>PP_FileType</code> enum contains file type constants. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga36f6dfbe9c1e98540c5247f790746427acd0d93632365573bba7774b7fe0c62fd"></a><!-- doxytag: member="PP_FILETYPE_REGULAR" ref="gga36f6dfbe9c1e98540c5247f790746427acd0d93632365573bba7774b7fe0c62fd" args="" -->PP_FILETYPE_REGULAR</em> </td><td>
+<p>A regular file type. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga36f6dfbe9c1e98540c5247f790746427a81b606e1444df5fb838a692f891fbde9"></a><!-- doxytag: member="PP_FILETYPE_DIRECTORY" ref="gga36f6dfbe9c1e98540c5247f790746427a81b606e1444df5fb838a692f891fbde9" args="" -->PP_FILETYPE_DIRECTORY</em> </td><td>
+<p>A directory. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga36f6dfbe9c1e98540c5247f790746427a9e3863ab973d8643dcc96708f55df880"></a><!-- doxytag: member="PP_FILETYPE_OTHER" ref="gga36f6dfbe9c1e98540c5247f790746427a9e3863ab973d8643dcc96708f55df880" args="" -->PP_FILETYPE_OTHER</em> </td><td>
+<p>A catch-all for unidentified types. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga7df48e1c55f6401beea2a1b9c07967e8"></a><!-- doxytag: member="pp_graphics_3d.h::PP_Graphics3DAttrib" ref="ga7df48e1c55f6401beea2a1b9c07967e8" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga7df48e1c55f6401beea2a1b9c07967e8">PP_Graphics3DAttrib</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga7df48e1c55f6401beea2a1b9c07967e8aac0fc60be37c86f193fb535bedb09458"></a><!-- doxytag: member="PP_GRAPHICS3DATTRIB_ALPHA_SIZE" ref="gga7df48e1c55f6401beea2a1b9c07967e8aac0fc60be37c86f193fb535bedb09458" args="" -->PP_GRAPHICS3DATTRIB_ALPHA_SIZE</em> </td><td>
+<p>Bits of Alpha in the color buffer. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga7df48e1c55f6401beea2a1b9c07967e8a519cd199423721033780ee13ecb0e60b"></a><!-- doxytag: member="PP_GRAPHICS3DATTRIB_BLUE_SIZE" ref="gga7df48e1c55f6401beea2a1b9c07967e8a519cd199423721033780ee13ecb0e60b" args="" -->PP_GRAPHICS3DATTRIB_BLUE_SIZE</em> </td><td>
+<p>Bits of Blue in the color buffer. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga7df48e1c55f6401beea2a1b9c07967e8ade95a6e685ca23522da80c1703d294a7"></a><!-- doxytag: member="PP_GRAPHICS3DATTRIB_GREEN_SIZE" ref="gga7df48e1c55f6401beea2a1b9c07967e8ade95a6e685ca23522da80c1703d294a7" args="" -->PP_GRAPHICS3DATTRIB_GREEN_SIZE</em> </td><td>
+<p>Bits of Green in the color buffer. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga7df48e1c55f6401beea2a1b9c07967e8a7caad99c8c857fdb804c6755551398f5"></a><!-- doxytag: member="PP_GRAPHICS3DATTRIB_RED_SIZE" ref="gga7df48e1c55f6401beea2a1b9c07967e8a7caad99c8c857fdb804c6755551398f5" args="" -->PP_GRAPHICS3DATTRIB_RED_SIZE</em> </td><td>
+<p>Bits of Red in the color buffer. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga7df48e1c55f6401beea2a1b9c07967e8ab594f7ae52f23b7b0609797c06cf7cf8"></a><!-- doxytag: member="PP_GRAPHICS3DATTRIB_DEPTH_SIZE" ref="gga7df48e1c55f6401beea2a1b9c07967e8ab594f7ae52f23b7b0609797c06cf7cf8" args="" -->PP_GRAPHICS3DATTRIB_DEPTH_SIZE</em> </td><td>
+<p>Bits of Z in the depth buffer. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga7df48e1c55f6401beea2a1b9c07967e8acc0e34bee390933357c7386391faeac0"></a><!-- doxytag: member="PP_GRAPHICS3DATTRIB_STENCIL_SIZE" ref="gga7df48e1c55f6401beea2a1b9c07967e8acc0e34bee390933357c7386391faeac0" args="" -->PP_GRAPHICS3DATTRIB_STENCIL_SIZE</em> </td><td>
+<p>Bits of Stencil in the stencil buffer. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga7df48e1c55f6401beea2a1b9c07967e8a98c1bf99b329be847d53f4eb651b4a63"></a><!-- doxytag: member="PP_GRAPHICS3DATTRIB_SAMPLES" ref="gga7df48e1c55f6401beea2a1b9c07967e8a98c1bf99b329be847d53f4eb651b4a63" args="" -->PP_GRAPHICS3DATTRIB_SAMPLES</em> </td><td>
+<p>Number of samples per pixel. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga7df48e1c55f6401beea2a1b9c07967e8a8bccea594213dbdd1750f97f3b187047"></a><!-- doxytag: member="PP_GRAPHICS3DATTRIB_SAMPLE_BUFFERS" ref="gga7df48e1c55f6401beea2a1b9c07967e8a8bccea594213dbdd1750f97f3b187047" args="" -->PP_GRAPHICS3DATTRIB_SAMPLE_BUFFERS</em> </td><td>
+<p>Number of multisample buffers. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga7df48e1c55f6401beea2a1b9c07967e8a66b15e43e8159f71751be033d44fda21"></a><!-- doxytag: member="PP_GRAPHICS3DATTRIB_NONE" ref="gga7df48e1c55f6401beea2a1b9c07967e8a66b15e43e8159f71751be033d44fda21" args="" -->PP_GRAPHICS3DATTRIB_NONE</em> </td><td>
+<p>Attrib list terminator. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga7df48e1c55f6401beea2a1b9c07967e8ac37b92e8426753d7a24d0cf193a5923d"></a><!-- doxytag: member="PP_GRAPHICS3DATTRIB_HEIGHT" ref="gga7df48e1c55f6401beea2a1b9c07967e8ac37b92e8426753d7a24d0cf193a5923d" args="" -->PP_GRAPHICS3DATTRIB_HEIGHT</em> </td><td>
+<p>Height of surface in pixels. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga7df48e1c55f6401beea2a1b9c07967e8a378f15587369cdefbcf565bc8f15db2c"></a><!-- doxytag: member="PP_GRAPHICS3DATTRIB_WIDTH" ref="gga7df48e1c55f6401beea2a1b9c07967e8a378f15587369cdefbcf565bc8f15db2c" args="" -->PP_GRAPHICS3DATTRIB_WIDTH</em> </td><td>
+<p>Width of surface in pixels. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga7df48e1c55f6401beea2a1b9c07967e8a03d8a647ddb24105718bcb91b8f972fd"></a><!-- doxytag: member="PP_GRAPHICS3DATTRIB_SWAP_BEHAVIOR" ref="gga7df48e1c55f6401beea2a1b9c07967e8a03d8a647ddb24105718bcb91b8f972fd" args="" -->PP_GRAPHICS3DATTRIB_SWAP_BEHAVIOR</em> </td><td>
+<p>Specifies the effect on the color buffer of posting a surface with SwapBuffers. </p>
+<p>The initial value is chosen by the implementation. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga7df48e1c55f6401beea2a1b9c07967e8a46b174aaf7b91e26cc2a014268e65512"></a><!-- doxytag: member="PP_GRAPHICS3DATTRIB_BUFFER_PRESERVED" ref="gga7df48e1c55f6401beea2a1b9c07967e8a46b174aaf7b91e26cc2a014268e65512" args="" -->PP_GRAPHICS3DATTRIB_BUFFER_PRESERVED</em> </td><td>
+<p>Indicates that color buffer contents are unaffected. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga7df48e1c55f6401beea2a1b9c07967e8a8aa6eff69c6b613b0a65803fa75d48fb"></a><!-- doxytag: member="PP_GRAPHICS3DATTRIB_BUFFER_DESTROYED" ref="gga7df48e1c55f6401beea2a1b9c07967e8a8aa6eff69c6b613b0a65803fa75d48fb" args="" -->PP_GRAPHICS3DATTRIB_BUFFER_DESTROYED</em> </td><td>
+<p>Indicates that color buffer contents may be destroyed or changed. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga7df48e1c55f6401beea2a1b9c07967e8a48ed49219981a01405e97eb414c89fec"></a><!-- doxytag: member="PP_GRAPHICS3DATTRIB_GPU_PREFERENCE" ref="gga7df48e1c55f6401beea2a1b9c07967e8a48ed49219981a01405e97eb414c89fec" args="" -->PP_GRAPHICS3DATTRIB_GPU_PREFERENCE</em> </td><td>
+<p>Specifies whether the context is intended to be low-power or high-performance. </p>
+<p>The initial value is PP_GRAPHICS3DATTRIB_GPU_PREFERENCE_PERFORMANCE. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga7df48e1c55f6401beea2a1b9c07967e8a4295d8750ae536c3aed03d794429e336"></a><!-- doxytag: member="PP_GRAPHICS3DATTRIB_GPU_PREFERENCE_LOW_POWER" ref="gga7df48e1c55f6401beea2a1b9c07967e8a4295d8750ae536c3aed03d794429e336" args="" -->PP_GRAPHICS3DATTRIB_GPU_PREFERENCE_LOW_POWER</em> </td><td>
+<p>The context should be low-power, and may be created on an integrated gpu. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga7df48e1c55f6401beea2a1b9c07967e8a1a7563ae755ca52d429302a35930201a"></a><!-- doxytag: member="PP_GRAPHICS3DATTRIB_GPU_PREFERENCE_PERFORMANCE" ref="gga7df48e1c55f6401beea2a1b9c07967e8a1a7563ae755ca52d429302a35930201a" args="" -->PP_GRAPHICS3DATTRIB_GPU_PREFERENCE_PERFORMANCE</em> </td><td>
+<p>The context may be high-power and may be created on a discrete gpu. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="gadb4b8db19266831040fc604f73c83a25"></a><!-- doxytag: member="ppb_host_resolver.h::PP_HostResolver_Flag" ref="gadb4b8db19266831040fc604f73c83a25" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#gadb4b8db19266831040fc604f73c83a25">PP_HostResolver_Flag</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><code>PP_HostResolver_Flag</code> is an enumeration of flags which can be OR-ed and passed to the host resolver. </p>
+<p>Currently there is only one flag defined. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="ggadb4b8db19266831040fc604f73c83a25a1fc5655c5b292459d24dc035e930e75e"></a><!-- doxytag: member="PP_HOSTRESOLVER_FLAG_CANONNAME" ref="ggadb4b8db19266831040fc604f73c83a25a1fc5655c5b292459d24dc035e930e75e" args="" -->PP_HOSTRESOLVER_FLAG_CANONNAME</em> </td><td>
+<p>Hint to request the canonical name of the host, which can be retrieved by <code>GetCanonicalName()</code>. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga2ee7ad01799553e5f17bdaa35dd952ee"></a><!-- doxytag: member="ppb_image_data.h::PP_ImageDataFormat" ref="ga2ee7ad01799553e5f17bdaa35dd952ee" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga2ee7ad01799553e5f17bdaa35dd952ee">PP_ImageDataFormat</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><code>PP_ImageDataFormat</code> is an enumeration of the different types of image data formats. </p>
+<p>The third part of each enumeration value describes the memory layout from the lowest address to the highest. For example, BGRA means the B component is stored in the lowest address, no matter what endianness the platform is using.</p>
+<p>The PREMUL suffix implies pre-multiplied alpha is used. In this mode, the red, green and blue color components of the pixel data supplied to an image data should be pre-multiplied by their alpha value. For example: starting with floating point color components, here is how to convert them to 8-bit premultiplied components for image data:</p>
+<p>...components of a pixel, floats ranging from 0 to 1... <code>float red = 1.0f;</code> <code>float green = 0.50f;</code> <code>float blue = 0.0f;</code> <code>float alpha = 0.75f;</code> ...components for image data are 8-bit values ranging from 0 to 255... <code>uint8_t image_data_red_premul = (uint8_t)(red * alpha * 255.0f); </code> <code>uint8_t image_data_green_premul = (uint8_t)(green * alpha * 255.0f); </code> <code>uint8_t image_data_blue_premul = (uint8_t)(blue * alpha * 255.0f); </code> <code>uint8_t image_data_alpha_premul = (uint8_t)(alpha * 255.0f);</code></p>
+<p><b>Note:</b> The resulting pre-multiplied red, green and blue components should not be greater than the alpha value. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga2ee7ad01799553e5f17bdaa35dd952eea8685611ba2e85347f5f6bb0043940358"></a><!-- doxytag: member="PP_IMAGEDATAFORMAT_BGRA_PREMUL" ref="gga2ee7ad01799553e5f17bdaa35dd952eea8685611ba2e85347f5f6bb0043940358" args="" -->PP_IMAGEDATAFORMAT_BGRA_PREMUL</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga2ee7ad01799553e5f17bdaa35dd952eeab291a13cd5f4728eab3c207938916622"></a><!-- doxytag: member="PP_IMAGEDATAFORMAT_RGBA_PREMUL" ref="gga2ee7ad01799553e5f17bdaa35dd952eeab291a13cd5f4728eab3c207938916622" args="" -->PP_IMAGEDATAFORMAT_RGBA_PREMUL</em> </td><td>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="gafe68e3c1031daa4a6496845ff47649cd"></a><!-- doxytag: member="ppb_input_event.h::PP_InputEvent_Class" ref="gafe68e3c1031daa4a6496845ff47649cd" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#gafe68e3c1031daa4a6496845ff47649cd">PP_InputEvent_Class</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="ggafe68e3c1031daa4a6496845ff47649cda79ccc5180eb39c52ab3207f0c876dd52"></a><!-- doxytag: member="PP_INPUTEVENT_CLASS_MOUSE" ref="ggafe68e3c1031daa4a6496845ff47649cda79ccc5180eb39c52ab3207f0c876dd52" args="" -->PP_INPUTEVENT_CLASS_MOUSE</em> </td><td>
+<p>Request mouse input events. </p>
+<p>Normally you will request mouse events by calling RequestInputEvents(). The only use case for filtered events (via RequestFilteringInputEvents()) is for instances that have irregular outlines and you want to perform hit testing, which is very uncommon. Requesting non-filtered mouse events will lead to higher performance. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggafe68e3c1031daa4a6496845ff47649cda2c3341eacc3a459713ce334b9af0cda8"></a><!-- doxytag: member="PP_INPUTEVENT_CLASS_KEYBOARD" ref="ggafe68e3c1031daa4a6496845ff47649cda2c3341eacc3a459713ce334b9af0cda8" args="" -->PP_INPUTEVENT_CLASS_KEYBOARD</em> </td><td>
+<p>Requests keyboard events. </p>
+<p>Often you will want to request filtered mode (via RequestFilteringInputEvents) for keyboard events so you can pass on events (by returning false) that you don't handle. For example, if you don't request filtered mode and the user pressed "Page Down" when your instance has focus, the page won't scroll which will be a poor experience.</p>
+<p>A small number of tab and window management commands like Alt-F4 are never sent to the page. You can not request these keyboard commands since it would allow pages to trap users on a page. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggafe68e3c1031daa4a6496845ff47649cda59d6686dbce1f0dc092cb88a451bb3a6"></a><!-- doxytag: member="PP_INPUTEVENT_CLASS_WHEEL" ref="ggafe68e3c1031daa4a6496845ff47649cda59d6686dbce1f0dc092cb88a451bb3a6" args="" -->PP_INPUTEVENT_CLASS_WHEEL</em> </td><td>
+<p>Identifies scroll wheel input event. </p>
+<p>Wheel events must be requested in filtering mode via RequestFilteringInputEvents(). This is because many wheel commands should be forwarded to the page.</p>
+<p>Most instances will not need this event. Consuming wheel events by returning true from your filtered event handler will prevent the user from scrolling the page when the mouse is over the instance which can be very annoying.</p>
+<p>If you handle wheel events (for example, you have a document viewer which the user can scroll), the recommended behavior is to return false only if the wheel event actually causes your document to scroll. When the user reaches the end of the document, return false to indicating that the event was not handled. This will then forward the event to the containing page for scrolling, producing the nested scrolling behavior users expect from frames in a page. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggafe68e3c1031daa4a6496845ff47649cda19b05264fa31d7e975eba297f9f146af"></a><!-- doxytag: member="PP_INPUTEVENT_CLASS_TOUCH" ref="ggafe68e3c1031daa4a6496845ff47649cda19b05264fa31d7e975eba297f9f146af" args="" -->PP_INPUTEVENT_CLASS_TOUCH</em> </td><td>
+<p>Identifies touch input events. </p>
+<p>Request touch events only if you intend to handle them. If the browser knows you do not need to handle touch events, it can handle them at a higher level and achieve higher performance. If the plugin does not register for touch-events, then it will receive synthetic mouse events that are generated from the touch events (e.g. mouse-down for touch-start, mouse-move for touch-move (with left-button down), and mouse-up for touch-end. If the plugin does register for touch events, then the synthetic mouse events are not created. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggafe68e3c1031daa4a6496845ff47649cda1280fe9a85edf74e20e4d503a345ab7d"></a><!-- doxytag: member="PP_INPUTEVENT_CLASS_IME" ref="ggafe68e3c1031daa4a6496845ff47649cda1280fe9a85edf74e20e4d503a345ab7d" args="" -->PP_INPUTEVENT_CLASS_IME</em> </td><td>
+<p>Identifies IME composition input events. </p>
+<p>Request this input event class if you allow on-the-spot IME input. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga21b811ac0484a214a8751aa3e1c959d9"></a><!-- doxytag: member="ppb_input_event.h::PP_InputEvent_Modifier" ref="ga21b811ac0484a214a8751aa3e1c959d9" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga21b811ac0484a214a8751aa3e1c959d9">PP_InputEvent_Modifier</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This enumeration contains event modifier constants. </p>
+<p>Each modifier is one bit. Retrieve the modifiers from an input event using the GetEventModifiers function on PPB_InputEvent. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga21b811ac0484a214a8751aa3e1c959d9a7506fd613b0e3055b37700eddcc04c8e"></a><!-- doxytag: member="PP_INPUTEVENT_MODIFIER_SHIFTKEY" ref="gga21b811ac0484a214a8751aa3e1c959d9a7506fd613b0e3055b37700eddcc04c8e" args="" -->PP_INPUTEVENT_MODIFIER_SHIFTKEY</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga21b811ac0484a214a8751aa3e1c959d9aeb4a9ad52cbfbfab9dea7cf2429c52f7"></a><!-- doxytag: member="PP_INPUTEVENT_MODIFIER_CONTROLKEY" ref="gga21b811ac0484a214a8751aa3e1c959d9aeb4a9ad52cbfbfab9dea7cf2429c52f7" args="" -->PP_INPUTEVENT_MODIFIER_CONTROLKEY</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga21b811ac0484a214a8751aa3e1c959d9ab30d756ab410e7155deef8c48568fc95"></a><!-- doxytag: member="PP_INPUTEVENT_MODIFIER_ALTKEY" ref="gga21b811ac0484a214a8751aa3e1c959d9ab30d756ab410e7155deef8c48568fc95" args="" -->PP_INPUTEVENT_MODIFIER_ALTKEY</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga21b811ac0484a214a8751aa3e1c959d9ab3b68a7fb23fa33be297b30a2d3f27d7"></a><!-- doxytag: member="PP_INPUTEVENT_MODIFIER_METAKEY" ref="gga21b811ac0484a214a8751aa3e1c959d9ab3b68a7fb23fa33be297b30a2d3f27d7" args="" -->PP_INPUTEVENT_MODIFIER_METAKEY</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga21b811ac0484a214a8751aa3e1c959d9a24f5d73cf82a01116f52b57410e64c9d"></a><!-- doxytag: member="PP_INPUTEVENT_MODIFIER_ISKEYPAD" ref="gga21b811ac0484a214a8751aa3e1c959d9a24f5d73cf82a01116f52b57410e64c9d" args="" -->PP_INPUTEVENT_MODIFIER_ISKEYPAD</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga21b811ac0484a214a8751aa3e1c959d9a0d6141a7a3498af2020093469358472f"></a><!-- doxytag: member="PP_INPUTEVENT_MODIFIER_ISAUTOREPEAT" ref="gga21b811ac0484a214a8751aa3e1c959d9a0d6141a7a3498af2020093469358472f" args="" -->PP_INPUTEVENT_MODIFIER_ISAUTOREPEAT</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga21b811ac0484a214a8751aa3e1c959d9a31e52901313720fd0e431976228f2153"></a><!-- doxytag: member="PP_INPUTEVENT_MODIFIER_LEFTBUTTONDOWN" ref="gga21b811ac0484a214a8751aa3e1c959d9a31e52901313720fd0e431976228f2153" args="" -->PP_INPUTEVENT_MODIFIER_LEFTBUTTONDOWN</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga21b811ac0484a214a8751aa3e1c959d9aa2369bf6eb5309a43d608ef83d747a04"></a><!-- doxytag: member="PP_INPUTEVENT_MODIFIER_MIDDLEBUTTONDOWN" ref="gga21b811ac0484a214a8751aa3e1c959d9aa2369bf6eb5309a43d608ef83d747a04" args="" -->PP_INPUTEVENT_MODIFIER_MIDDLEBUTTONDOWN</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga21b811ac0484a214a8751aa3e1c959d9aee3e5083c83130d4368b79878fd574fe"></a><!-- doxytag: member="PP_INPUTEVENT_MODIFIER_RIGHTBUTTONDOWN" ref="gga21b811ac0484a214a8751aa3e1c959d9aee3e5083c83130d4368b79878fd574fe" args="" -->PP_INPUTEVENT_MODIFIER_RIGHTBUTTONDOWN</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga21b811ac0484a214a8751aa3e1c959d9a99a27b5dab8360eb08189439b85b8781"></a><!-- doxytag: member="PP_INPUTEVENT_MODIFIER_CAPSLOCKKEY" ref="gga21b811ac0484a214a8751aa3e1c959d9a99a27b5dab8360eb08189439b85b8781" args="" -->PP_INPUTEVENT_MODIFIER_CAPSLOCKKEY</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga21b811ac0484a214a8751aa3e1c959d9a493ca598187014e2356cd7a5ba8cdffd"></a><!-- doxytag: member="PP_INPUTEVENT_MODIFIER_NUMLOCKKEY" ref="gga21b811ac0484a214a8751aa3e1c959d9a493ca598187014e2356cd7a5ba8cdffd" args="" -->PP_INPUTEVENT_MODIFIER_NUMLOCKKEY</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga21b811ac0484a214a8751aa3e1c959d9a8295bfc8067c06a17ccfc5fb6a992e17"></a><!-- doxytag: member="PP_INPUTEVENT_MODIFIER_ISLEFT" ref="gga21b811ac0484a214a8751aa3e1c959d9a8295bfc8067c06a17ccfc5fb6a992e17" args="" -->PP_INPUTEVENT_MODIFIER_ISLEFT</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga21b811ac0484a214a8751aa3e1c959d9a348f43efaf61edbefd83346428c5b122"></a><!-- doxytag: member="PP_INPUTEVENT_MODIFIER_ISRIGHT" ref="gga21b811ac0484a214a8751aa3e1c959d9a348f43efaf61edbefd83346428c5b122" args="" -->PP_INPUTEVENT_MODIFIER_ISRIGHT</em> </td><td>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga25113f3c8d33e863fd38b3f70f8a5e6e"></a><!-- doxytag: member="ppb_input_event.h::PP_InputEvent_MouseButton" ref="ga25113f3c8d33e863fd38b3f70f8a5e6e" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga25113f3c8d33e863fd38b3f70f8a5e6e">PP_InputEvent_MouseButton</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This enumeration contains constants representing each mouse button. </p>
+<p>To get the mouse button for a mouse down or up event, use GetMouseButton on PPB_InputEvent. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga25113f3c8d33e863fd38b3f70f8a5e6eaa2d4e499d6c23ef45381a89612e654d9"></a><!-- doxytag: member="PP_INPUTEVENT_MOUSEBUTTON_NONE" ref="gga25113f3c8d33e863fd38b3f70f8a5e6eaa2d4e499d6c23ef45381a89612e654d9" args="" -->PP_INPUTEVENT_MOUSEBUTTON_NONE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga25113f3c8d33e863fd38b3f70f8a5e6eaa44f4ea3c7759e4fce6150f349909f63"></a><!-- doxytag: member="PP_INPUTEVENT_MOUSEBUTTON_LEFT" ref="gga25113f3c8d33e863fd38b3f70f8a5e6eaa44f4ea3c7759e4fce6150f349909f63" args="" -->PP_INPUTEVENT_MOUSEBUTTON_LEFT</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga25113f3c8d33e863fd38b3f70f8a5e6ea3f8a2698990ec1e36943651ca600e3be"></a><!-- doxytag: member="PP_INPUTEVENT_MOUSEBUTTON_MIDDLE" ref="gga25113f3c8d33e863fd38b3f70f8a5e6ea3f8a2698990ec1e36943651ca600e3be" args="" -->PP_INPUTEVENT_MOUSEBUTTON_MIDDLE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga25113f3c8d33e863fd38b3f70f8a5e6ea681614da50d511b516d0a88fbaa6eb5b"></a><!-- doxytag: member="PP_INPUTEVENT_MOUSEBUTTON_RIGHT" ref="gga25113f3c8d33e863fd38b3f70f8a5e6ea681614da50d511b516d0a88fbaa6eb5b" args="" -->PP_INPUTEVENT_MOUSEBUTTON_RIGHT</em> </td><td>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="gaca7296cfec99fcb6646b7144d1d6a0c5"></a><!-- doxytag: member="ppb_input_event.h::PP_InputEvent_Type" ref="gaca7296cfec99fcb6646b7144d1d6a0c5" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#gaca7296cfec99fcb6646b7144d1d6a0c5">PP_InputEvent_Type</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This enumeration contains the types of input events. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5a9b6d5489f328f0b902da4a1f5836b4cb"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_UNDEFINED" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5a9b6d5489f328f0b902da4a1f5836b4cb" args="" -->PP_INPUTEVENT_TYPE_UNDEFINED</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5a4309eee5fb8284b6be7c258090b21e77"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_MOUSEDOWN" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5a4309eee5fb8284b6be7c258090b21e77" args="" -->PP_INPUTEVENT_TYPE_MOUSEDOWN</em> </td><td>
+<p>Notification that a mouse button was pressed. </p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_MOUSE class. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5a9f0a8196670b1da0e9c3cf081329c3ca"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_MOUSEUP" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5a9f0a8196670b1da0e9c3cf081329c3ca" args="" -->PP_INPUTEVENT_TYPE_MOUSEUP</em> </td><td>
+<p>Notification that a mouse button was released. </p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_MOUSE class. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5a9d3a09d7fb33663f3a7d920fd2e3208d"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_MOUSEMOVE" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5a9d3a09d7fb33663f3a7d920fd2e3208d" args="" -->PP_INPUTEVENT_TYPE_MOUSEMOVE</em> </td><td>
+<p>Notification that a mouse button was moved when it is over the instance or dragged out of it. </p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_MOUSE class. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5ad240947fd6d67f23b679be4806947e2a"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_MOUSEENTER" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5ad240947fd6d67f23b679be4806947e2a" args="" -->PP_INPUTEVENT_TYPE_MOUSEENTER</em> </td><td>
+<p>Notification that the mouse entered the instance's bounds. </p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_MOUSE class. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5a0870576010613081518c9c6683abd2e8"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_MOUSELEAVE" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5a0870576010613081518c9c6683abd2e8" args="" -->PP_INPUTEVENT_TYPE_MOUSELEAVE</em> </td><td>
+<p>Notification that a mouse left the instance's bounds. </p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_MOUSE class. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5a2eedbec689780077aa98188805a559f6"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_WHEEL" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5a2eedbec689780077aa98188805a559f6" args="" -->PP_INPUTEVENT_TYPE_WHEEL</em> </td><td>
+<p>Notification that the scroll wheel was used. </p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_WHEEL class. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5a05c7f50eb36e606a3e5a0065b337d96c"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_RAWKEYDOWN" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5a05c7f50eb36e606a3e5a0065b337d96c" args="" -->PP_INPUTEVENT_TYPE_RAWKEYDOWN</em> </td><td>
+<p>Notification that a key transitioned from "up" to "down". </p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_KEYBOARD class. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5a4064a5f6ce10c7e5a0834aff7cd7e474"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_KEYDOWN" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5a4064a5f6ce10c7e5a0834aff7cd7e474" args="" -->PP_INPUTEVENT_TYPE_KEYDOWN</em> </td><td>
+<p>Notification that a key was pressed. </p>
+<p>This does not necessarily correspond to a character depending on the key and language. Use the PP_INPUTEVENT_TYPE_CHAR for character input.</p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_KEYBOARD class. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5af57c2b682b29f7b03f27519f98febdea"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_KEYUP" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5af57c2b682b29f7b03f27519f98febdea" args="" -->PP_INPUTEVENT_TYPE_KEYUP</em> </td><td>
+<p>Notification that a key was released. </p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_KEYBOARD class. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5a0d547efbed42c655264b96a51954e0dd"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_CHAR" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5a0d547efbed42c655264b96a51954e0dd" args="" -->PP_INPUTEVENT_TYPE_CHAR</em> </td><td>
+<p>Notification that a character was typed. </p>
+<p>Use this for text input. Key down events may generate 0, 1, or more than one character event depending on the key, locale, and operating system.</p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_KEYBOARD class. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5a0cf7525c015c97ded19afab9d7d9afee"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_CONTEXTMENU" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5a0cf7525c015c97ded19afab9d7d9afee" args="" -->PP_INPUTEVENT_TYPE_CONTEXTMENU</em> </td><td>
+<p>Notification that a context menu should be shown. </p>
+<p>This message will be sent when the user right-clicks or performs another OS-specific mouse command that should open a context menu. When this event is delivered depends on the system, on some systems (Mac) it will delivered after the mouse down event, and on others (Windows) it will be delivered after the mouse up event.</p>
+<p>You will always get the normal mouse events. For example, you may see MOUSEDOWN,CONTEXTMENU,MOUSEUP or MOUSEDOWN,MOUSEUP,CONTEXTMENU.</p>
+<p>The return value from the event handler determines if the context menu event will be passed to the page when you are using filtered input events (via RequestFilteringInputEvents()). In non-filtering mode the event will never be propagated and no context menu will be displayed. If you are handling mouse events in filtering mode, you may want to return true from this event even if you do not support a context menu to suppress the default one.</p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_MOUSE class. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5a90668acda261e23721f3dd757f557031"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_IME_COMPOSITION_START" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5a90668acda261e23721f3dd757f557031" args="" -->PP_INPUTEVENT_TYPE_IME_COMPOSITION_START</em> </td><td>
+<p>Notification that an input method composition process has just started. </p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_IME class. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5a1eff5df3bb41546046f97993376607c2"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_IME_COMPOSITION_UPDATE" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5a1eff5df3bb41546046f97993376607c2" args="" -->PP_INPUTEVENT_TYPE_IME_COMPOSITION_UPDATE</em> </td><td>
+<p>Notification that the input method composition string is updated. </p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_IME class. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5a5c009302410ac6f55da4df618b2d85d5"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_IME_COMPOSITION_END" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5a5c009302410ac6f55da4df618b2d85d5" args="" -->PP_INPUTEVENT_TYPE_IME_COMPOSITION_END</em> </td><td>
+<p>Notification that an input method composition process has completed. </p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_IME class. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5a5826ba18e40265a7b74e4b3ae1fe3772"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_IME_TEXT" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5a5826ba18e40265a7b74e4b3ae1fe3772" args="" -->PP_INPUTEVENT_TYPE_IME_TEXT</em> </td><td>
+<p>Notification that an input method committed a string. </p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_IME class. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5ac604f0e894f8f9e660d36e30db16b52d"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_TOUCHSTART" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5ac604f0e894f8f9e660d36e30db16b52d" args="" -->PP_INPUTEVENT_TYPE_TOUCHSTART</em> </td><td>
+<p>Notification that a finger was placed on a touch-enabled device. </p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_TOUCH class. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5a43888c9c671ac5973f5bcea7eabcc889"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_TOUCHMOVE" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5a43888c9c671ac5973f5bcea7eabcc889" args="" -->PP_INPUTEVENT_TYPE_TOUCHMOVE</em> </td><td>
+<p>Notification that a finger was moved on a touch-enabled device. </p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_TOUCH class. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5ae1c312aafaf4caeddb1afc09e81c9655"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_TOUCHEND" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5ae1c312aafaf4caeddb1afc09e81c9655" args="" -->PP_INPUTEVENT_TYPE_TOUCHEND</em> </td><td>
+<p>Notification that a finger was released on a touch-enabled device. </p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_TOUCH class. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5a78266e75562e546005eb8098f455ce91"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_TOUCHCANCEL" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5a78266e75562e546005eb8098f455ce91" args="" -->PP_INPUTEVENT_TYPE_TOUCHCANCEL</em> </td><td>
+<p>Notification that a touch event was canceled. </p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_TOUCH class. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="gac39067c0883ec80b94290dd2a3bae440"></a><!-- doxytag: member="ppb_console.h::PP_LogLevel" ref="gac39067c0883ec80b94290dd2a3bae440" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#gac39067c0883ec80b94290dd2a3bae440">PP_LogLevel</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="ggac39067c0883ec80b94290dd2a3bae440afe7444b89be7688e17bd6e4f0b1d3b34"></a><!-- doxytag: member="PP_LOGLEVEL_TIP" ref="ggac39067c0883ec80b94290dd2a3bae440afe7444b89be7688e17bd6e4f0b1d3b34" args="" -->PP_LOGLEVEL_TIP</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac39067c0883ec80b94290dd2a3bae440a8c6fdcc8aa698af314fe72ebd08db32a"></a><!-- doxytag: member="PP_LOGLEVEL_LOG" ref="ggac39067c0883ec80b94290dd2a3bae440a8c6fdcc8aa698af314fe72ebd08db32a" args="" -->PP_LOGLEVEL_LOG</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac39067c0883ec80b94290dd2a3bae440a66a3c4f684827eb994093dea14284aaf"></a><!-- doxytag: member="PP_LOGLEVEL_WARNING" ref="ggac39067c0883ec80b94290dd2a3bae440a66a3c4f684827eb994093dea14284aaf" args="" -->PP_LOGLEVEL_WARNING</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac39067c0883ec80b94290dd2a3bae440a5854926dface39f205d138d9e47c37eb"></a><!-- doxytag: member="PP_LOGLEVEL_ERROR" ref="ggac39067c0883ec80b94290dd2a3bae440a5854926dface39f205d138d9e47c37eb" args="" -->PP_LOGLEVEL_ERROR</em> </td><td>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="gadcb0a92e6ca510586c3f34088d35dc9f"></a><!-- doxytag: member="ppb_file_ref.h::PP_MakeDirectoryFlags" ref="gadcb0a92e6ca510586c3f34088d35dc9f" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#gadcb0a92e6ca510586c3f34088d35dc9f">PP_MakeDirectoryFlags</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <code>PP_MakeDirectoryFlags</code> enum contains flags used to control behavior of <code>PPB_FileRef.MakeDirectory()</code>. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="ggadcb0a92e6ca510586c3f34088d35dc9fafeeef418b62780276c4671a57196ad3f"></a><!-- doxytag: member="PP_MAKEDIRECTORYFLAG_NONE" ref="ggadcb0a92e6ca510586c3f34088d35dc9fafeeef418b62780276c4671a57196ad3f" args="" -->PP_MAKEDIRECTORYFLAG_NONE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggadcb0a92e6ca510586c3f34088d35dc9fa5c7f89c8784c9d8abfaeae51d9cb84ba"></a><!-- doxytag: member="PP_MAKEDIRECTORYFLAG_WITH_ANCESTORS" ref="ggadcb0a92e6ca510586c3f34088d35dc9fa5c7f89c8784c9d8abfaeae51d9cb84ba" args="" -->PP_MAKEDIRECTORYFLAG_WITH_ANCESTORS</em> </td><td>
+<p>Requests that ancestor directories are created if they do not exist. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggadcb0a92e6ca510586c3f34088d35dc9fa34dd5b5ba9af9e5c820d3c6e21fc2094"></a><!-- doxytag: member="PP_MAKEDIRECTORYFLAG_EXCLUSIVE" ref="ggadcb0a92e6ca510586c3f34088d35dc9fa34dd5b5ba9af9e5c820d3c6e21fc2094" args="" -->PP_MAKEDIRECTORYFLAG_EXCLUSIVE</em> </td><td>
+<p>Requests that the PPB_FileRef.MakeDirectory() call fails if the directory already exists. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="gac53273018386c1db9542d2a06bbe118b"></a><!-- doxytag: member="ppb_mouse_cursor.h::PP_MouseCursor_Type" ref="gac53273018386c1db9542d2a06bbe118b" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#gac53273018386c1db9542d2a06bbe118b">PP_MouseCursor_Type</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <code>PP_MouseCursor_Type</code> enumeration lists the available stock cursor types. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba1360614abe2d2c3838a42238f75e9ec1"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_CUSTOM" ref="ggac53273018386c1db9542d2a06bbe118ba1360614abe2d2c3838a42238f75e9ec1" args="" -->PP_MOUSECURSOR_TYPE_CUSTOM</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba7c0a8b04f51fbf8e12abd4240fb24a9f"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_POINTER" ref="ggac53273018386c1db9542d2a06bbe118ba7c0a8b04f51fbf8e12abd4240fb24a9f" args="" -->PP_MOUSECURSOR_TYPE_POINTER</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba7ee7ede873ec3158179a1ea648bfe677"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_CROSS" ref="ggac53273018386c1db9542d2a06bbe118ba7ee7ede873ec3158179a1ea648bfe677" args="" -->PP_MOUSECURSOR_TYPE_CROSS</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba5cf81326a94c1150ce98cc15924dee69"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_HAND" ref="ggac53273018386c1db9542d2a06bbe118ba5cf81326a94c1150ce98cc15924dee69" args="" -->PP_MOUSECURSOR_TYPE_HAND</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba705545fdbd4088bf4522b32aa5815877"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_IBEAM" ref="ggac53273018386c1db9542d2a06bbe118ba705545fdbd4088bf4522b32aa5815877" args="" -->PP_MOUSECURSOR_TYPE_IBEAM</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118babf8c49b2fc9ee7208b20e7e1f96e2930"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_WAIT" ref="ggac53273018386c1db9542d2a06bbe118babf8c49b2fc9ee7208b20e7e1f96e2930" args="" -->PP_MOUSECURSOR_TYPE_WAIT</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118bacea1ebe2038e33bb649bcf8ed32f0e7e"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_HELP" ref="ggac53273018386c1db9542d2a06bbe118bacea1ebe2038e33bb649bcf8ed32f0e7e" args="" -->PP_MOUSECURSOR_TYPE_HELP</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba3efb608fc10dd3979d4bc0c41654f14b"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_EASTRESIZE" ref="ggac53273018386c1db9542d2a06bbe118ba3efb608fc10dd3979d4bc0c41654f14b" args="" -->PP_MOUSECURSOR_TYPE_EASTRESIZE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba02b638a93841e0f51d234b6643cffcd0"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_NORTHRESIZE" ref="ggac53273018386c1db9542d2a06bbe118ba02b638a93841e0f51d234b6643cffcd0" args="" -->PP_MOUSECURSOR_TYPE_NORTHRESIZE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118baceb2b9888eed1ef5fe8c5dbc94195b3a"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_NORTHEASTRESIZE" ref="ggac53273018386c1db9542d2a06bbe118baceb2b9888eed1ef5fe8c5dbc94195b3a" args="" -->PP_MOUSECURSOR_TYPE_NORTHEASTRESIZE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118bab95b486b6772a79a599c4287f966cd19"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_NORTHWESTRESIZE" ref="ggac53273018386c1db9542d2a06bbe118bab95b486b6772a79a599c4287f966cd19" args="" -->PP_MOUSECURSOR_TYPE_NORTHWESTRESIZE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118bac39262939712092e11cc4569b6cab626"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_SOUTHRESIZE" ref="ggac53273018386c1db9542d2a06bbe118bac39262939712092e11cc4569b6cab626" args="" -->PP_MOUSECURSOR_TYPE_SOUTHRESIZE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba0d7f8011aba0f13ceda6688585b725af"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_SOUTHEASTRESIZE" ref="ggac53273018386c1db9542d2a06bbe118ba0d7f8011aba0f13ceda6688585b725af" args="" -->PP_MOUSECURSOR_TYPE_SOUTHEASTRESIZE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba54f482730eba910a940e1c975f14e2a2"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_SOUTHWESTRESIZE" ref="ggac53273018386c1db9542d2a06bbe118ba54f482730eba910a940e1c975f14e2a2" args="" -->PP_MOUSECURSOR_TYPE_SOUTHWESTRESIZE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba0c8edb786c8193ef657716a358e327b6"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_WESTRESIZE" ref="ggac53273018386c1db9542d2a06bbe118ba0c8edb786c8193ef657716a358e327b6" args="" -->PP_MOUSECURSOR_TYPE_WESTRESIZE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118babf7026dfaea82565f2527ddbb0383053"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_NORTHSOUTHRESIZE" ref="ggac53273018386c1db9542d2a06bbe118babf7026dfaea82565f2527ddbb0383053" args="" -->PP_MOUSECURSOR_TYPE_NORTHSOUTHRESIZE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba98177b2980fa939ed33d41c531f06310"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_EASTWESTRESIZE" ref="ggac53273018386c1db9542d2a06bbe118ba98177b2980fa939ed33d41c531f06310" args="" -->PP_MOUSECURSOR_TYPE_EASTWESTRESIZE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118baf01a2e620b481daeb42b6344843e9e38"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_NORTHEASTSOUTHWESTRESIZE" ref="ggac53273018386c1db9542d2a06bbe118baf01a2e620b481daeb42b6344843e9e38" args="" -->PP_MOUSECURSOR_TYPE_NORTHEASTSOUTHWESTRESIZE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba05d35a31c8af640a6cf2295790e933ee"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_NORTHWESTSOUTHEASTRESIZE" ref="ggac53273018386c1db9542d2a06bbe118ba05d35a31c8af640a6cf2295790e933ee" args="" -->PP_MOUSECURSOR_TYPE_NORTHWESTSOUTHEASTRESIZE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118bab163a58c75a983ac943d39827c0976cd"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_COLUMNRESIZE" ref="ggac53273018386c1db9542d2a06bbe118bab163a58c75a983ac943d39827c0976cd" args="" -->PP_MOUSECURSOR_TYPE_COLUMNRESIZE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118bac4d90e13c8d17e32ee9498b795d2f4ca"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_ROWRESIZE" ref="ggac53273018386c1db9542d2a06bbe118bac4d90e13c8d17e32ee9498b795d2f4ca" args="" -->PP_MOUSECURSOR_TYPE_ROWRESIZE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba6dbf3de573762e2322d6e8a2392b19fb"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_MIDDLEPANNING" ref="ggac53273018386c1db9542d2a06bbe118ba6dbf3de573762e2322d6e8a2392b19fb" args="" -->PP_MOUSECURSOR_TYPE_MIDDLEPANNING</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba9fec33093306cea2ea6bb6810e8f9040"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_EASTPANNING" ref="ggac53273018386c1db9542d2a06bbe118ba9fec33093306cea2ea6bb6810e8f9040" args="" -->PP_MOUSECURSOR_TYPE_EASTPANNING</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba0805b4d3a42bb560a656247a57ed6fe0"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_NORTHPANNING" ref="ggac53273018386c1db9542d2a06bbe118ba0805b4d3a42bb560a656247a57ed6fe0" args="" -->PP_MOUSECURSOR_TYPE_NORTHPANNING</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118babeaeb782ba084c45e0d12f2bf428a9c3"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_NORTHEASTPANNING" ref="ggac53273018386c1db9542d2a06bbe118babeaeb782ba084c45e0d12f2bf428a9c3" args="" -->PP_MOUSECURSOR_TYPE_NORTHEASTPANNING</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba2590e0dc133a8b4534c475abd60c2e1d"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_NORTHWESTPANNING" ref="ggac53273018386c1db9542d2a06bbe118ba2590e0dc133a8b4534c475abd60c2e1d" args="" -->PP_MOUSECURSOR_TYPE_NORTHWESTPANNING</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118bac9ab4fdcaccb7dcf3a9e0c5edf056e92"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_SOUTHPANNING" ref="ggac53273018386c1db9542d2a06bbe118bac9ab4fdcaccb7dcf3a9e0c5edf056e92" args="" -->PP_MOUSECURSOR_TYPE_SOUTHPANNING</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118bacf7c5132070bb6fd8e86ffcafb1dd8b6"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_SOUTHEASTPANNING" ref="ggac53273018386c1db9542d2a06bbe118bacf7c5132070bb6fd8e86ffcafb1dd8b6" args="" -->PP_MOUSECURSOR_TYPE_SOUTHEASTPANNING</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118baebe615cd19bad5b076b2dd9d86dcd825"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_SOUTHWESTPANNING" ref="ggac53273018386c1db9542d2a06bbe118baebe615cd19bad5b076b2dd9d86dcd825" args="" -->PP_MOUSECURSOR_TYPE_SOUTHWESTPANNING</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba8c357f06fc1fc96c091b378d10cc4f02"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_WESTPANNING" ref="ggac53273018386c1db9542d2a06bbe118ba8c357f06fc1fc96c091b378d10cc4f02" args="" -->PP_MOUSECURSOR_TYPE_WESTPANNING</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118bab6757be35df5a1e246b3ce8b80c92fbd"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_MOVE" ref="ggac53273018386c1db9542d2a06bbe118bab6757be35df5a1e246b3ce8b80c92fbd" args="" -->PP_MOUSECURSOR_TYPE_MOVE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba52c5c4259a391557c045b0b82cc0a1fa"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_VERTICALTEXT" ref="ggac53273018386c1db9542d2a06bbe118ba52c5c4259a391557c045b0b82cc0a1fa" args="" -->PP_MOUSECURSOR_TYPE_VERTICALTEXT</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba62afaa44930d75f750fdf28199511194"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_CELL" ref="ggac53273018386c1db9542d2a06bbe118ba62afaa44930d75f750fdf28199511194" args="" -->PP_MOUSECURSOR_TYPE_CELL</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118bad73cecab74f94844438e494ff1439b9f"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_CONTEXTMENU" ref="ggac53273018386c1db9542d2a06bbe118bad73cecab74f94844438e494ff1439b9f" args="" -->PP_MOUSECURSOR_TYPE_CONTEXTMENU</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118baca9b4bef41f4c4bd90e81573357b137c"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_ALIAS" ref="ggac53273018386c1db9542d2a06bbe118baca9b4bef41f4c4bd90e81573357b137c" args="" -->PP_MOUSECURSOR_TYPE_ALIAS</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118babda91fe9ce56b304d95a1ce01fbe8084"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_PROGRESS" ref="ggac53273018386c1db9542d2a06bbe118babda91fe9ce56b304d95a1ce01fbe8084" args="" -->PP_MOUSECURSOR_TYPE_PROGRESS</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba1c6cb6e16ac90b8829175e8af9a4a72d"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_NODROP" ref="ggac53273018386c1db9542d2a06bbe118ba1c6cb6e16ac90b8829175e8af9a4a72d" args="" -->PP_MOUSECURSOR_TYPE_NODROP</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118bacee11626427a6fa36653243c4d551608"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_COPY" ref="ggac53273018386c1db9542d2a06bbe118bacee11626427a6fa36653243c4d551608" args="" -->PP_MOUSECURSOR_TYPE_COPY</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba7a9b1b3187b0bd011b5e19380d4fd698"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_NONE" ref="ggac53273018386c1db9542d2a06bbe118ba7a9b1b3187b0bd011b5e19380d4fd698" args="" -->PP_MOUSECURSOR_TYPE_NONE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba7d10d5fcc4d9e6aaed4af83246de15a0"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_NOTALLOWED" ref="ggac53273018386c1db9542d2a06bbe118ba7d10d5fcc4d9e6aaed4af83246de15a0" args="" -->PP_MOUSECURSOR_TYPE_NOTALLOWED</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba203b038de96b903e253e29aea5a66460"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_ZOOMIN" ref="ggac53273018386c1db9542d2a06bbe118ba203b038de96b903e253e29aea5a66460" args="" -->PP_MOUSECURSOR_TYPE_ZOOMIN</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba797321d4cad9a863a5338318912f3a98"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_ZOOMOUT" ref="ggac53273018386c1db9542d2a06bbe118ba797321d4cad9a863a5338318912f3a98" args="" -->PP_MOUSECURSOR_TYPE_ZOOMOUT</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118bafc45b71a6185639e12ac2827a641bdaa"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_GRAB" ref="ggac53273018386c1db9542d2a06bbe118bafc45b71a6185639e12ac2827a641bdaa" args="" -->PP_MOUSECURSOR_TYPE_GRAB</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118baa242aeb17b35d8e44e449786a2cbcd1c"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_GRABBING" ref="ggac53273018386c1db9542d2a06bbe118baa242aeb17b35d8e44e449786a2cbcd1c" args="" -->PP_MOUSECURSOR_TYPE_GRABBING</em> </td><td>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga43636bcadf9aa312a4c345d210ae6c55"></a><!-- doxytag: member="ppb_net_address.h::PP_NetAddress_Family" ref="ga43636bcadf9aa312a4c345d210ae6c55" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga43636bcadf9aa312a4c345d210ae6c55">PP_NetAddress_Family</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Network address family types. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga43636bcadf9aa312a4c345d210ae6c55a2aef50ef77ad0122b649f0b9ac4c41bc"></a><!-- doxytag: member="PP_NETADDRESS_FAMILY_UNSPECIFIED" ref="gga43636bcadf9aa312a4c345d210ae6c55a2aef50ef77ad0122b649f0b9ac4c41bc" args="" -->PP_NETADDRESS_FAMILY_UNSPECIFIED</em> </td><td>
+<p>The address family is unspecified. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga43636bcadf9aa312a4c345d210ae6c55a054684e064e8d819f8b2d80640196585"></a><!-- doxytag: member="PP_NETADDRESS_FAMILY_IPV4" ref="gga43636bcadf9aa312a4c345d210ae6c55a054684e064e8d819f8b2d80640196585" args="" -->PP_NETADDRESS_FAMILY_IPV4</em> </td><td>
+<p>The Internet Protocol version 4 (IPv4) address family. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga43636bcadf9aa312a4c345d210ae6c55aa70bb3acced932eb4fe7df3aae85c27a"></a><!-- doxytag: member="PP_NETADDRESS_FAMILY_IPV6" ref="gga43636bcadf9aa312a4c345d210ae6c55aa70bb3acced932eb4fe7df3aae85c27a" args="" -->PP_NETADDRESS_FAMILY_IPV6</em> </td><td>
+<p>The Internet Protocol version 6 (IPv6) address family. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga9188881b5d3346626db0ea8e6aaecf1f"></a><!-- doxytag: member="ppb_network_list.h::PP_NetworkList_State" ref="ga9188881b5d3346626db0ea8e6aaecf1f" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga9188881b5d3346626db0ea8e6aaecf1f">PP_NetworkList_State</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>State of a network interface. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga9188881b5d3346626db0ea8e6aaecf1fa561469f97b38b69868d1cce1142722b6"></a><!-- doxytag: member="PP_NETWORKLIST_STATE_DOWN" ref="gga9188881b5d3346626db0ea8e6aaecf1fa561469f97b38b69868d1cce1142722b6" args="" -->PP_NETWORKLIST_STATE_DOWN</em> </td><td>
+<p>Network interface is down. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga9188881b5d3346626db0ea8e6aaecf1fa3b4b789d490cd2d3119a188a79eca0f6"></a><!-- doxytag: member="PP_NETWORKLIST_STATE_UP" ref="gga9188881b5d3346626db0ea8e6aaecf1fa3b4b789d490cd2d3119a188a79eca0f6" args="" -->PP_NETWORKLIST_STATE_UP</em> </td><td>
+<p>Network interface is up. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga1c967cb753eb468493b3bf72e6733983"></a><!-- doxytag: member="ppb_network_list.h::PP_NetworkList_Type" ref="ga1c967cb753eb468493b3bf72e6733983" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga1c967cb753eb468493b3bf72e6733983">PP_NetworkList_Type</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Type of a network interface. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga1c967cb753eb468493b3bf72e6733983a6d8ddd32de577965df0d44df0e0acfdd"></a><!-- doxytag: member="PP_NETWORKLIST_TYPE_UNKNOWN" ref="gga1c967cb753eb468493b3bf72e6733983a6d8ddd32de577965df0d44df0e0acfdd" args="" -->PP_NETWORKLIST_TYPE_UNKNOWN</em> </td><td>
+<p>Type of the network interface is not known. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga1c967cb753eb468493b3bf72e6733983a6eaef40fe1d62ca5bcfcc1974adc29f9"></a><!-- doxytag: member="PP_NETWORKLIST_TYPE_ETHERNET" ref="gga1c967cb753eb468493b3bf72e6733983a6eaef40fe1d62ca5bcfcc1974adc29f9" args="" -->PP_NETWORKLIST_TYPE_ETHERNET</em> </td><td>
+<p>Wired Ethernet network. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga1c967cb753eb468493b3bf72e6733983a9a47925bee0d3bd71739475b4c5654ed"></a><!-- doxytag: member="PP_NETWORKLIST_TYPE_WIFI" ref="gga1c967cb753eb468493b3bf72e6733983a9a47925bee0d3bd71739475b4c5654ed" args="" -->PP_NETWORKLIST_TYPE_WIFI</em> </td><td>
+<p>Wireless Wi-Fi network. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga1c967cb753eb468493b3bf72e6733983ab1c83c6942b208101789971522b3a8c9"></a><!-- doxytag: member="PP_NETWORKLIST_TYPE_CELLULAR" ref="gga1c967cb753eb468493b3bf72e6733983ab1c83c6942b208101789971522b3a8c9" args="" -->PP_NETWORKLIST_TYPE_CELLULAR</em> </td><td>
+<p>Cellular network (e.g. </p>
+<p>LTE). </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga1557c0bbce8739a3418e6027a9c44e12"></a><!-- doxytag: member="ppb_tcp_socket.h::PP_TCPSocket_Option" ref="ga1557c0bbce8739a3418e6027a9c44e12" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga1557c0bbce8739a3418e6027a9c44e12">PP_TCPSocket_Option</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Option names used by <code>SetOption()</code>. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga1557c0bbce8739a3418e6027a9c44e12a4b17558654d1df4452aa98f7d2609a10"></a><!-- doxytag: member="PP_TCPSOCKET_OPTION_NO_DELAY" ref="gga1557c0bbce8739a3418e6027a9c44e12a4b17558654d1df4452aa98f7d2609a10" args="" -->PP_TCPSOCKET_OPTION_NO_DELAY</em> </td><td>
+<p>Disables coalescing of small writes to make TCP segments, and instead delivers data immediately. </p>
+<p>Value's type is <code>PP_VARTYPE_BOOL</code>. This option can only be set after a successful <code>Connect()</code> call. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga1557c0bbce8739a3418e6027a9c44e12a61ce27ba7853d05f7af51be1bed5d1a6"></a><!-- doxytag: member="PP_TCPSOCKET_OPTION_SEND_BUFFER_SIZE" ref="gga1557c0bbce8739a3418e6027a9c44e12a61ce27ba7853d05f7af51be1bed5d1a6" args="" -->PP_TCPSOCKET_OPTION_SEND_BUFFER_SIZE</em> </td><td>
+<p>Specifies the total per-socket buffer space reserved for sends. </p>
+<p>Value's type should be <code>PP_VARTYPE_INT32</code>. This option can only be set after a successful <code>Connect()</code> call.</p>
+<p>Note: This is only treated as a hint for the browser to set the buffer size. Even if <code>SetOption()</code> succeeds, the browser doesn't guarantee it will conform to the size. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga1557c0bbce8739a3418e6027a9c44e12aef57736e294acb30fb7b3b2f4a425f72"></a><!-- doxytag: member="PP_TCPSOCKET_OPTION_RECV_BUFFER_SIZE" ref="gga1557c0bbce8739a3418e6027a9c44e12aef57736e294acb30fb7b3b2f4a425f72" args="" -->PP_TCPSOCKET_OPTION_RECV_BUFFER_SIZE</em> </td><td>
+<p>Specifies the total per-socket buffer space reserved for receives. </p>
+<p>Value's type should be <code>PP_VARTYPE_INT32</code>. This option can only be set after a successful <code>Connect()</code> call.</p>
+<p>Note: This is only treated as a hint for the browser to set the buffer size. Even if <code>SetOption()</code> succeeds, the browser doesn't guarantee it will conform to the size. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga5fef49ee4c2cc6dcead825340da0f116"></a><!-- doxytag: member="ppb_text_input_controller.h::PP_TextInput_Type" ref="ga5fef49ee4c2cc6dcead825340da0f116" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga5fef49ee4c2cc6dcead825340da0f116">PP_TextInput_Type</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>PP_TextInput_Type is used to indicate the status of a plugin in regard to text input. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga5fef49ee4c2cc6dcead825340da0f116a0d75c884156553959d65252e65aa0916"></a><!-- doxytag: member="PP_TEXTINPUT_TYPE_NONE" ref="gga5fef49ee4c2cc6dcead825340da0f116a0d75c884156553959d65252e65aa0916" args="" -->PP_TEXTINPUT_TYPE_NONE</em> </td><td>
+<p>Input caret is not in an editable mode, no input method shall be used. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga5fef49ee4c2cc6dcead825340da0f116a0e5e4072fce915eca7e4dfd7c639626c"></a><!-- doxytag: member="PP_TEXTINPUT_TYPE_TEXT" ref="gga5fef49ee4c2cc6dcead825340da0f116a0e5e4072fce915eca7e4dfd7c639626c" args="" -->PP_TEXTINPUT_TYPE_TEXT</em> </td><td>
+<p>Input caret is in a normal editable mode, any input method can be used. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga5fef49ee4c2cc6dcead825340da0f116a00f508676278dd45e0335a8d5d715114"></a><!-- doxytag: member="PP_TEXTINPUT_TYPE_PASSWORD" ref="gga5fef49ee4c2cc6dcead825340da0f116a00f508676278dd45e0335a8d5d715114" args="" -->PP_TEXTINPUT_TYPE_PASSWORD</em> </td><td>
+<p>Input caret is in a password box, an input method may be used only if it's suitable for password input. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga5fef49ee4c2cc6dcead825340da0f116a0d7975532097315f198617ad5e59bc32"></a><!-- doxytag: member="PP_TEXTINPUT_TYPE_SEARCH" ref="gga5fef49ee4c2cc6dcead825340da0f116a0d7975532097315f198617ad5e59bc32" args="" -->PP_TEXTINPUT_TYPE_SEARCH</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga5fef49ee4c2cc6dcead825340da0f116a027963b61eb55438f92662e72e939cf8"></a><!-- doxytag: member="PP_TEXTINPUT_TYPE_EMAIL" ref="gga5fef49ee4c2cc6dcead825340da0f116a027963b61eb55438f92662e72e939cf8" args="" -->PP_TEXTINPUT_TYPE_EMAIL</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga5fef49ee4c2cc6dcead825340da0f116af71a3fb3f651ad5b417592433278fd1e"></a><!-- doxytag: member="PP_TEXTINPUT_TYPE_NUMBER" ref="gga5fef49ee4c2cc6dcead825340da0f116af71a3fb3f651ad5b417592433278fd1e" args="" -->PP_TEXTINPUT_TYPE_NUMBER</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga5fef49ee4c2cc6dcead825340da0f116a181e9bd71e6a97acd6c5dace9f0b5fb3"></a><!-- doxytag: member="PP_TEXTINPUT_TYPE_TELEPHONE" ref="gga5fef49ee4c2cc6dcead825340da0f116a181e9bd71e6a97acd6c5dace9f0b5fb3" args="" -->PP_TEXTINPUT_TYPE_TELEPHONE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga5fef49ee4c2cc6dcead825340da0f116ad4371ecdd1a6631a78d4721d83062394"></a><!-- doxytag: member="PP_TEXTINPUT_TYPE_URL" ref="gga5fef49ee4c2cc6dcead825340da0f116ad4371ecdd1a6631a78d4721d83062394" args="" -->PP_TEXTINPUT_TYPE_URL</em> </td><td>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="gad5885a239d04166c8777432c81e39d0a"></a><!-- doxytag: member="ppb_input_event.h::PP_TouchListType" ref="gad5885a239d04166c8777432c81e39d0a" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#gad5885a239d04166c8777432c81e39d0a">PP_TouchListType</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="ggad5885a239d04166c8777432c81e39d0aa739dfd65f4cd719996f20bdd2e7db4ca"></a><!-- doxytag: member="PP_TOUCHLIST_TYPE_TOUCHES" ref="ggad5885a239d04166c8777432c81e39d0aa739dfd65f4cd719996f20bdd2e7db4ca" args="" -->PP_TOUCHLIST_TYPE_TOUCHES</em> </td><td>
+<p>The list of all TouchPoints which are currently down. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggad5885a239d04166c8777432c81e39d0aa89d31d55d67fa0746d1f3bf4050eafff"></a><!-- doxytag: member="PP_TOUCHLIST_TYPE_CHANGEDTOUCHES" ref="ggad5885a239d04166c8777432c81e39d0aa89d31d55d67fa0746d1f3bf4050eafff" args="" -->PP_TOUCHLIST_TYPE_CHANGEDTOUCHES</em> </td><td>
+<p>The list of all TouchPoints whose state has changed since the last TouchInputEvent. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggad5885a239d04166c8777432c81e39d0aa0682e6c428fed9b900e3d9e56aaa8fca"></a><!-- doxytag: member="PP_TOUCHLIST_TYPE_TARGETTOUCHES" ref="ggad5885a239d04166c8777432c81e39d0aa0682e6c428fed9b900e3d9e56aaa8fca" args="" -->PP_TOUCHLIST_TYPE_TARGETTOUCHES</em> </td><td>
+<p>The list of all TouchPoints which are targeting this plugin. </p>
+<p>This is a subset of Touches. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga1a8472fa3e7150615c45c38fa8c12ce2"></a><!-- doxytag: member="ppb_udp_socket.h::PP_UDPSocket_Option" ref="ga1a8472fa3e7150615c45c38fa8c12ce2" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga1a8472fa3e7150615c45c38fa8c12ce2">PP_UDPSocket_Option</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Option names used by <code>SetOption()</code>. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga1a8472fa3e7150615c45c38fa8c12ce2a79568403b8927bf98bea0f2d38469984"></a><!-- doxytag: member="PP_UDPSOCKET_OPTION_ADDRESS_REUSE" ref="gga1a8472fa3e7150615c45c38fa8c12ce2a79568403b8927bf98bea0f2d38469984" args="" -->PP_UDPSOCKET_OPTION_ADDRESS_REUSE</em> </td><td>
+<p>Allows the socket to share the local address to which it will be bound with other processes. </p>
+<p>Value's type should be <code>PP_VARTYPE_BOOL</code>. This option can only be set before calling <code>Bind()</code>. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga1a8472fa3e7150615c45c38fa8c12ce2aeceda8fe978a52382b96939de7707c00"></a><!-- doxytag: member="PP_UDPSOCKET_OPTION_BROADCAST" ref="gga1a8472fa3e7150615c45c38fa8c12ce2aeceda8fe978a52382b96939de7707c00" args="" -->PP_UDPSOCKET_OPTION_BROADCAST</em> </td><td>
+<p>Allows sending and receiving packets to and from broadcast addresses. </p>
+<p>Value's type should be <code>PP_VARTYPE_BOOL</code>. This option can only be set before calling <code>Bind()</code>. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga1a8472fa3e7150615c45c38fa8c12ce2a905f0adde2912a5db26883d45fb75d57"></a><!-- doxytag: member="PP_UDPSOCKET_OPTION_SEND_BUFFER_SIZE" ref="gga1a8472fa3e7150615c45c38fa8c12ce2a905f0adde2912a5db26883d45fb75d57" args="" -->PP_UDPSOCKET_OPTION_SEND_BUFFER_SIZE</em> </td><td>
+<p>Specifies the total per-socket buffer space reserved for sends. </p>
+<p>Value's type should be <code>PP_VARTYPE_INT32</code>. This option can only be set after a successful <code>Bind()</code> call.</p>
+<p>Note: This is only treated as a hint for the browser to set the buffer size. Even if <code>SetOption()</code> succeeds, the browser doesn't guarantee it will conform to the size. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga1a8472fa3e7150615c45c38fa8c12ce2a1264eb1d6d16eb3a074ee3d21ebb3b64"></a><!-- doxytag: member="PP_UDPSOCKET_OPTION_RECV_BUFFER_SIZE" ref="gga1a8472fa3e7150615c45c38fa8c12ce2a1264eb1d6d16eb3a074ee3d21ebb3b64" args="" -->PP_UDPSOCKET_OPTION_RECV_BUFFER_SIZE</em> </td><td>
+<p>Specifies the total per-socket buffer space reserved for receives. </p>
+<p>Value's type should be <code>PP_VARTYPE_INT32</code>. This option can only be set after a successful <code>Bind()</code> call.</p>
+<p>Note: This is only treated as a hint for the browser to set the buffer size. Even if <code>SetOption()</code> succeeds, the browser doesn't guarantee it will conform to the size. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga41975630f0a4c49e47d4a21754f8402d"></a><!-- doxytag: member="ppb_url_request_info.h::PP_URLRequestProperty" ref="ga41975630f0a4c49e47d4a21754f8402d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga41975630f0a4c49e47d4a21754f8402d">PP_URLRequestProperty</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This enumeration contains properties that can be set on a URL request. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga41975630f0a4c49e47d4a21754f8402da89e44812e771fed9df0ff8994690e44d"></a><!-- doxytag: member="PP_URLREQUESTPROPERTY_URL" ref="gga41975630f0a4c49e47d4a21754f8402da89e44812e771fed9df0ff8994690e44d" args="" -->PP_URLREQUESTPROPERTY_URL</em> </td><td>
+<p>This corresponds to a string (<code>PP_VARTYPE_STRING</code>). </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga41975630f0a4c49e47d4a21754f8402da9cb5229069aac201622dbaa9cbca592c"></a><!-- doxytag: member="PP_URLREQUESTPROPERTY_METHOD" ref="gga41975630f0a4c49e47d4a21754f8402da9cb5229069aac201622dbaa9cbca592c" args="" -->PP_URLREQUESTPROPERTY_METHOD</em> </td><td>
+<p>This corresponds to a string (<code>PP_VARTYPE_STRING</code>); either POST or GET. </p>
+<p>Refer to the <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html">HTTP Methods</a> documentation for further information. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga41975630f0a4c49e47d4a21754f8402dac4b3809e34561a77c75b31eac1589e8d"></a><!-- doxytag: member="PP_URLREQUESTPROPERTY_HEADERS" ref="gga41975630f0a4c49e47d4a21754f8402dac4b3809e34561a77c75b31eac1589e8d" args="" -->PP_URLREQUESTPROPERTY_HEADERS</em> </td><td>
+<p>This corresponds to a string (<code>PP_VARTYPE_STRING</code>); <br />
+ delimited. </p>
+<p>Refer to the <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html"Header Field Definitions documentation for further information. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga41975630f0a4c49e47d4a21754f8402dac43d267f888233c994bd1ca2b5b6b249"></a><!-- doxytag: member="PP_URLREQUESTPROPERTY_STREAMTOFILE" ref="gga41975630f0a4c49e47d4a21754f8402dac43d267f888233c994bd1ca2b5b6b249" args="" -->PP_URLREQUESTPROPERTY_STREAMTOFILE</em> </td><td>
+<p>This corresponds to a <code>PP_Bool</code> (<code>PP_VARTYPE_BOOL</code>; default=<code>PP_FALSE</code>). </p>
+<p>Set this value to <code>PP_TRUE</code> if you want to download the data to a file. Use <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a187774b3255231fa00ad1fe1364677ff" title="FinishStreamingToFile() is used to wait for the response body to be completely downloaded to the file...">PPB_URLLoader.FinishStreamingToFile()</a> to complete the download. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga41975630f0a4c49e47d4a21754f8402da5f1270ecf041c6c0a6ef351eb0c12127"></a><!-- doxytag: member="PP_URLREQUESTPROPERTY_FOLLOWREDIRECTS" ref="gga41975630f0a4c49e47d4a21754f8402da5f1270ecf041c6c0a6ef351eb0c12127" args="" -->PP_URLREQUESTPROPERTY_FOLLOWREDIRECTS</em> </td><td>
+<p>This corresponds to a <code>PP_Bool</code> (<code>PP_VARTYPE_BOOL</code>; default=<code>PP_TRUE</code>). </p>
+<p>Set this value to <code>PP_FALSE</code> if you want to use PPB_URLLoader.FollowRedirects() to follow the redirects only after examining redirect headers. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga41975630f0a4c49e47d4a21754f8402da6846ea1e9c4ef7e09ea0f330a90cb7a6"></a><!-- doxytag: member="PP_URLREQUESTPROPERTY_RECORDDOWNLOADPROGRESS" ref="gga41975630f0a4c49e47d4a21754f8402da6846ea1e9c4ef7e09ea0f330a90cb7a6" args="" -->PP_URLREQUESTPROPERTY_RECORDDOWNLOADPROGRESS</em> </td><td>
+<p>This corresponds to a <code>PP_Bool</code> (<code>PP_VARTYPE_BOOL</code>; default=<code>PP_FALSE</code>). </p>
+<p>Set this value to <code>PP_TRUE</code> if you want to be able to poll the download progress using <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a3673506c6e0e23287b7d10e1163a0bbe" title="GetDownloadProgress() returns the current download progress, which is meaningful after Open() has bee...">PPB_URLLoader.GetDownloadProgress()</a>. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga41975630f0a4c49e47d4a21754f8402da9202c5a8c6afdc6fa9808ab21b95376c"></a><!-- doxytag: member="PP_URLREQUESTPROPERTY_RECORDUPLOADPROGRESS" ref="gga41975630f0a4c49e47d4a21754f8402da9202c5a8c6afdc6fa9808ab21b95376c" args="" -->PP_URLREQUESTPROPERTY_RECORDUPLOADPROGRESS</em> </td><td>
+<p>This corresponds to a <code>PP_Bool</code> (default=<code>PP_FALSE</code>). </p>
+<p>Set this value to <code>PP_TRUE</code> if you want to be able to poll the upload progress using <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#abb04744dfe5fce11e46c0e7e36c30b65" title="GetUploadProgress() returns the current upload progress (which is meaningful after Open() has been ca...">PPB_URLLoader.GetUploadProgress()</a>. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga41975630f0a4c49e47d4a21754f8402da6130d3b9dc8ae434752612ef155e3a38"></a><!-- doxytag: member="PP_URLREQUESTPROPERTY_CUSTOMREFERRERURL" ref="gga41975630f0a4c49e47d4a21754f8402da6130d3b9dc8ae434752612ef155e3a38" args="" -->PP_URLREQUESTPROPERTY_CUSTOMREFERRERURL</em> </td><td>
+<p>This corresponds to a string (<code>PP_VARTYPE_STRING)</code> or may be undefined (<code>PP_VARTYPE_UNDEFINED</code>; default). </p>
+<p>Set it to a string to set a custom referrer (if empty, the referrer header will be omitted), or to undefined to use the default referrer. Only loaders with universal access (only available on trusted implementations) will accept <code>URLRequestInfo</code> objects that try to set a custom referrer; if given to a loader without universal access, <code>PP_ERROR_NOACCESS</code> will result. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga41975630f0a4c49e47d4a21754f8402da23f6523485b5bedf17882fb7a8796c03"></a><!-- doxytag: member="PP_URLREQUESTPROPERTY_ALLOWCROSSORIGINREQUESTS" ref="gga41975630f0a4c49e47d4a21754f8402da23f6523485b5bedf17882fb7a8796c03" args="" -->PP_URLREQUESTPROPERTY_ALLOWCROSSORIGINREQUESTS</em> </td><td>
+<p>This corresponds to a <code>PP_Bool</code> (<code>PP_VARTYPE_BOOL</code>; default=<code>PP_FALSE</code>). </p>
+<p>Whether cross-origin requests are allowed. Cross-origin requests are made using the CORS (Cross-Origin Resource Sharing) algorithm to check whether the request should be allowed. For the complete CORS algorithm, refer to the <a href="http://www.w3.org/TR/access-control">Cross-Origin Resource Sharing</a> documentation. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga41975630f0a4c49e47d4a21754f8402da7da4140fde998f227f82d8064e9f5460"></a><!-- doxytag: member="PP_URLREQUESTPROPERTY_ALLOWCREDENTIALS" ref="gga41975630f0a4c49e47d4a21754f8402da7da4140fde998f227f82d8064e9f5460" args="" -->PP_URLREQUESTPROPERTY_ALLOWCREDENTIALS</em> </td><td>
+<p>This corresponds to a <code>PP_Bool</code> (<code>PP_VARTYPE_BOOL</code>; default=<code>PP_FALSE</code>). </p>
+<p>Whether HTTP credentials are sent with cross-origin requests. If false, no credentials are sent with the request and cookies are ignored in the response. If the request is not cross-origin, this property is ignored. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga41975630f0a4c49e47d4a21754f8402da094e978814d887d1888a2652aa91fc8b"></a><!-- doxytag: member="PP_URLREQUESTPROPERTY_CUSTOMCONTENTTRANSFERENCODING" ref="gga41975630f0a4c49e47d4a21754f8402da094e978814d887d1888a2652aa91fc8b" args="" -->PP_URLREQUESTPROPERTY_CUSTOMCONTENTTRANSFERENCODING</em> </td><td>
+<p>This corresponds to a string (<code>PP_VARTYPE_STRING</code>) or may be undefined (<code>PP_VARTYPE_UNDEFINED</code>; default). </p>
+<p>Set it to a string to set a custom content-transfer-encoding header (if empty, that header will be omitted), or to undefined to use the default (if any). Only loaders with universal access (only available on trusted implementations) will accept <code>URLRequestInfo</code> objects that try to set a custom content transfer encoding; if given to a loader without universal access, <code>PP_ERROR_NOACCESS</code> will result. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga41975630f0a4c49e47d4a21754f8402da69ab9c81542c755313fc906d27396a9e"></a><!-- doxytag: member="PP_URLREQUESTPROPERTY_PREFETCHBUFFERUPPERTHRESHOLD" ref="gga41975630f0a4c49e47d4a21754f8402da69ab9c81542c755313fc906d27396a9e" args="" -->PP_URLREQUESTPROPERTY_PREFETCHBUFFERUPPERTHRESHOLD</em> </td><td>
+<p>This corresponds to an integer (<code>PP_VARTYPE_INT32</code>); default is not defined and is set by the browser, possibly depending on system capabilities. </p>
+<p>Set it to an integer to set an upper threshold for the prefetched buffer of an asynchronous load. When exceeded, the browser will defer loading until <code>PP_URLREQUESTPROPERTY_PREFETCHBUFFERLOWERERTHRESHOLD</code> is hit, at which time it will begin prefetching again. When setting this property, <code>PP_URLREQUESTPROPERTY_PREFETCHBUFFERLOWERERTHRESHOLD</code> must also be set. Behavior is undefined if the former is <= the latter. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga41975630f0a4c49e47d4a21754f8402da8529403a539c1f604f8b0507078d804d"></a><!-- doxytag: member="PP_URLREQUESTPROPERTY_PREFETCHBUFFERLOWERTHRESHOLD" ref="gga41975630f0a4c49e47d4a21754f8402da8529403a539c1f604f8b0507078d804d" args="" -->PP_URLREQUESTPROPERTY_PREFETCHBUFFERLOWERTHRESHOLD</em> </td><td>
+<p>This corresponds to an integer (<code>PP_VARTYPE_INT32</code>); default is not defined and is set by the browser to a value appropriate for the default <code>PP_URLREQUESTPROPERTY_PREFETCHBUFFERUPPERTHRESHOLD</code>. </p>
+<p>Set it to an integer to set a lower threshold for the prefetched buffer of an asynchronous load. When reached, the browser will resume loading if If <code>PP_URLREQUESTPROPERTY_PREFETCHBUFFERLOWERERTHRESHOLD</code> had previously been reached. When setting this property, <code>PP_URLREQUESTPROPERTY_PREFETCHBUFFERUPPERTHRESHOLD</code> must also be set. Behavior is undefined if the former is >= the latter. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga41975630f0a4c49e47d4a21754f8402dacf34504e827fdce2895f2b504cdd0653"></a><!-- doxytag: member="PP_URLREQUESTPROPERTY_CUSTOMUSERAGENT" ref="gga41975630f0a4c49e47d4a21754f8402dacf34504e827fdce2895f2b504cdd0653" args="" -->PP_URLREQUESTPROPERTY_CUSTOMUSERAGENT</em> </td><td>
+<p>This corresponds to a string (<code>PP_VARTYPE_STRING</code>) or may be undefined (<code>PP_VARTYPE_UNDEFINED</code>; default). </p>
+<p>Set it to a string to set a custom user-agent header (if empty, that header will be omitted), or to undefined to use the default. Only loaders with universal access (only available on trusted implementations) will accept <code>URLRequestInfo</code> objects that try to set a custom user agent; if given to a loader without universal access, <code>PP_ERROR_NOACCESS</code> will result. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga642e6199b27df69aad84aff5597041e0"></a><!-- doxytag: member="ppb_url_response_info.h::PP_URLResponseProperty" ref="ga642e6199b27df69aad84aff5597041e0" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga642e6199b27df69aad84aff5597041e0">PP_URLResponseProperty</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This enumeration contains properties set on a URL response. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga642e6199b27df69aad84aff5597041e0a805e0970808bd8d36cb02171dca7a734"></a><!-- doxytag: member="PP_URLRESPONSEPROPERTY_URL" ref="gga642e6199b27df69aad84aff5597041e0a805e0970808bd8d36cb02171dca7a734" args="" -->PP_URLRESPONSEPROPERTY_URL</em> </td><td>
+<p>This corresponds to a string (PP_VARTYPE_STRING); an absolute URL formed by resolving the relative request URL with the absolute document URL. </p>
+<p>Refer to the <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html#sec5.1.2">HTTP Request URI</a> and <a href="http://www.w3.org/TR/html4/struct/links.html#h-12.4.1">HTML Resolving Relative URIs</a> documentation for further information. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga642e6199b27df69aad84aff5597041e0aaaba524cc005207e2f226400e6a14d8e"></a><!-- doxytag: member="PP_URLRESPONSEPROPERTY_REDIRECTURL" ref="gga642e6199b27df69aad84aff5597041e0aaaba524cc005207e2f226400e6a14d8e" args="" -->PP_URLRESPONSEPROPERTY_REDIRECTURL</em> </td><td>
+<p>This corresponds to a string (PP_VARTYPE_STRING); the absolute URL returned in the response header's 'Location' field if this is a redirect response, an empty string otherwise. </p>
+<p>Refer to the <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3">HTTP Status Codes - Redirection</a> documentation for further information. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga642e6199b27df69aad84aff5597041e0abc45cd41ad54d2350626651b34db6927"></a><!-- doxytag: member="PP_URLRESPONSEPROPERTY_REDIRECTMETHOD" ref="gga642e6199b27df69aad84aff5597041e0abc45cd41ad54d2350626651b34db6927" args="" -->PP_URLRESPONSEPROPERTY_REDIRECTMETHOD</em> </td><td>
+<p>This corresponds to a string (PP_VARTYPE_STRING); the HTTP method to be used in a new request if this is a redirect response, an empty string otherwise. </p>
+<p>Refer to the <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3">HTTP Status Codes - Redirection</a> documentation for further information. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga642e6199b27df69aad84aff5597041e0abc04191395637d0a4858657f2edd1ce3"></a><!-- doxytag: member="PP_URLRESPONSEPROPERTY_STATUSCODE" ref="gga642e6199b27df69aad84aff5597041e0abc04191395637d0a4858657f2edd1ce3" args="" -->PP_URLRESPONSEPROPERTY_STATUSCODE</em> </td><td>
+<p>This corresponds to an int32 (PP_VARETYPE_INT32); the status code from the response, e.g., 200 if the request was successful. </p>
+<p>Refer to the <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html#sec6.1.1">HTTP Status Code and Reason Phrase</a> documentation for further information. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga642e6199b27df69aad84aff5597041e0a0224e3907e7efc9ff8d916b0cb7b3287"></a><!-- doxytag: member="PP_URLRESPONSEPROPERTY_STATUSLINE" ref="gga642e6199b27df69aad84aff5597041e0a0224e3907e7efc9ff8d916b0cb7b3287" args="" -->PP_URLRESPONSEPROPERTY_STATUSLINE</em> </td><td>
+<p>This corresponds to a string (PP_VARTYPE_STRING); the status line from the response. </p>
+<p>Refer to the <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html#sec6.1">HTTP Response Status Line</a> documentation for further information. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga642e6199b27df69aad84aff5597041e0a45c014f3cb40e884677387855c3d977b"></a><!-- doxytag: member="PP_URLRESPONSEPROPERTY_HEADERS" ref="gga642e6199b27df69aad84aff5597041e0a45c014f3cb40e884677387855c3d977b" args="" -->PP_URLRESPONSEPROPERTY_HEADERS</em> </td><td>
+<p>This corresponds to a string(PP_VARTYPE_STRING), a <br />
+-delimited list of header field/value pairs of the form "field: value", returned by the server. </p>
+<p>Refer to the <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14">HTTP Header Field Definitions</a> documentation for further information. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga9815041477d810724e44da862f9852ed"></a><!-- doxytag: member="pp_var.h::PP_VarType" ref="ga9815041477d810724e44da862f9852ed" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga9815041477d810724e44da862f9852ed">PP_VarType</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <code>PP_VarType</code> is an enumeration of the different types that can be contained within a <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> structure. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga9815041477d810724e44da862f9852eda499cc75cc2a3a16632b6f0e38172fce7"></a><!-- doxytag: member="PP_VARTYPE_UNDEFINED" ref="gga9815041477d810724e44da862f9852eda499cc75cc2a3a16632b6f0e38172fce7" args="" -->PP_VARTYPE_UNDEFINED</em> </td><td>
+<p>An undefined value. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga9815041477d810724e44da862f9852edabfa22cf2659270ee5d4c1ff4eabf6e67"></a><!-- doxytag: member="PP_VARTYPE_NULL" ref="gga9815041477d810724e44da862f9852edabfa22cf2659270ee5d4c1ff4eabf6e67" args="" -->PP_VARTYPE_NULL</em> </td><td>
+<p>A NULL value. </p>
+<p>This is similar to undefined, but JavaScript differentiates the two so it is exposed here as well. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga9815041477d810724e44da862f9852edad1a70cd8b8b8b815687c3234f40513b5"></a><!-- doxytag: member="PP_VARTYPE_BOOL" ref="gga9815041477d810724e44da862f9852edad1a70cd8b8b8b815687c3234f40513b5" args="" -->PP_VARTYPE_BOOL</em> </td><td>
+<p>A boolean value, use the <code>as_bool</code> member of the var. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga9815041477d810724e44da862f9852eda40a4a8c45ec7629e3093eb93b9ff1556"></a><!-- doxytag: member="PP_VARTYPE_INT32" ref="gga9815041477d810724e44da862f9852eda40a4a8c45ec7629e3093eb93b9ff1556" args="" -->PP_VARTYPE_INT32</em> </td><td>
+<p>A 32-bit integer value. </p>
+<p>Use the <code>as_int</code> member of the var. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga9815041477d810724e44da862f9852eda26caea042c1cb14ff640f7aec3f2af90"></a><!-- doxytag: member="PP_VARTYPE_DOUBLE" ref="gga9815041477d810724e44da862f9852eda26caea042c1cb14ff640f7aec3f2af90" args="" -->PP_VARTYPE_DOUBLE</em> </td><td>
+<p>A double-precision floating point value. </p>
+<p>Use the <code>as_double</code> member of the var. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga9815041477d810724e44da862f9852eda079c1c085b9b0f1b076807a0eb5ba6bd"></a><!-- doxytag: member="PP_VARTYPE_STRING" ref="gga9815041477d810724e44da862f9852eda079c1c085b9b0f1b076807a0eb5ba6bd" args="" -->PP_VARTYPE_STRING</em> </td><td>
+<p>The Var represents a string. </p>
+<p>The <code>as_id</code> field is used to identify the string, which may be created and retrieved from the <code>PPB_Var</code> interface. These objects are reference counted, so AddRef and Release must be used properly to avoid memory leaks. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga9815041477d810724e44da862f9852eda7060b95352ff46ed2f0144e08cc949cc"></a><!-- doxytag: member="PP_VARTYPE_OBJECT" ref="gga9815041477d810724e44da862f9852eda7060b95352ff46ed2f0144e08cc949cc" args="" -->PP_VARTYPE_OBJECT</em> </td><td>
+<p>Represents a JavaScript object. </p>
+<p>This vartype is not currently usable from modules, although it is used internally for some tasks. These objects are reference counted, so AddRef and Release must be used properly to avoid memory leaks. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga9815041477d810724e44da862f9852eda50df125d91ade69f5b2de4d08427508c"></a><!-- doxytag: member="PP_VARTYPE_ARRAY" ref="gga9815041477d810724e44da862f9852eda50df125d91ade69f5b2de4d08427508c" args="" -->PP_VARTYPE_ARRAY</em> </td><td>
+<p>Represents an array of Vars. </p>
+<p>The <code>as_id</code> field is used to identify the array, which may be created and manipulated from the <code>PPB_VarArray</code> interface. These objects are reference counted, so AddRef and Release must be used properly to avoid memory leaks. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga9815041477d810724e44da862f9852edae44188e85906d83c2f52f34aa5b38687"></a><!-- doxytag: member="PP_VARTYPE_DICTIONARY" ref="gga9815041477d810724e44da862f9852edae44188e85906d83c2f52f34aa5b38687" args="" -->PP_VARTYPE_DICTIONARY</em> </td><td>
+<p>Represents a mapping from strings to Vars. </p>
+<p>The <code>as_id</code> field is used to identify the dictionary, which may be created and manipulated from the <code>PPB_VarDictionary</code> interface. These objects are reference counted, so AddRef and Release must be used properly to avoid memory leaks. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga9815041477d810724e44da862f9852eda363024b8067811f2f2f42f969be44529"></a><!-- doxytag: member="PP_VARTYPE_ARRAY_BUFFER" ref="gga9815041477d810724e44da862f9852eda363024b8067811f2f2f42f969be44529" args="" -->PP_VARTYPE_ARRAY_BUFFER</em> </td><td>
+<p>ArrayBuffer represents a JavaScript ArrayBuffer. </p>
+<p>This is the type which represents Typed Arrays in JavaScript. Unlike JavaScript 'Array', it is only meant to contain basic numeric types, and is always stored contiguously. See PPB_VarArrayBuffer_Dev for functions special to ArrayBuffer vars. These objects are reference counted, so AddRef and Release must be used properly to avoid memory leaks. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga9815041477d810724e44da862f9852eda898e69540595e8b95681d850ddecc7f1"></a><!-- doxytag: member="PP_VARTYPE_RESOURCE" ref="gga9815041477d810724e44da862f9852eda898e69540595e8b95681d850ddecc7f1" args="" -->PP_VARTYPE_RESOURCE</em> </td><td>
+<p>Resources are not currently supported but will be added in the future These objects are reference counted, so AddRef and Release must be used properly to avoid memory leaks. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga4e7cf746d8acbfa268db1f5ebe8061bf"></a><!-- doxytag: member="ppb_video_frame.h::PP_VideoFrame_Format" ref="ga4e7cf746d8acbfa268db1f5ebe8061bf" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga4e7cf746d8acbfa268db1f5ebe8061bf">PP_VideoFrame_Format</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga4e7cf746d8acbfa268db1f5ebe8061bfa203cae6273b31da926c199ff4d27183a"></a><!-- doxytag: member="PP_VIDEOFRAME_FORMAT_UNKNOWN" ref="gga4e7cf746d8acbfa268db1f5ebe8061bfa203cae6273b31da926c199ff4d27183a" args="" -->PP_VIDEOFRAME_FORMAT_UNKNOWN</em> </td><td>
+<p>Unknown format value. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga4e7cf746d8acbfa268db1f5ebe8061bfa6ff238ffd3c807c510712ae56e051e3a"></a><!-- doxytag: member="PP_VIDEOFRAME_FORMAT_YV12" ref="gga4e7cf746d8acbfa268db1f5ebe8061bfa6ff238ffd3c807c510712ae56e051e3a" args="" -->PP_VIDEOFRAME_FORMAT_YV12</em> </td><td>
+<p>12bpp YVU planar 1x1 Y, 2x2 VU samples. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga4e7cf746d8acbfa268db1f5ebe8061bfa81b9dd2e2a21a762c8e0f1e297722fb1"></a><!-- doxytag: member="PP_VIDEOFRAME_FORMAT_YV16" ref="gga4e7cf746d8acbfa268db1f5ebe8061bfa81b9dd2e2a21a762c8e0f1e297722fb1" args="" -->PP_VIDEOFRAME_FORMAT_YV16</em> </td><td>
+<p>16bpp YVU planar 1x1 Y, 2x1 VU samples. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga4e7cf746d8acbfa268db1f5ebe8061bfa0f72b9ac0cba278aab35e7a975624f76"></a><!-- doxytag: member="PP_VIDEOFRAME_FORMAT_I420" ref="gga4e7cf746d8acbfa268db1f5ebe8061bfa0f72b9ac0cba278aab35e7a975624f76" args="" -->PP_VIDEOFRAME_FORMAT_I420</em> </td><td>
+<p>12bpp YVU planar 1x1 Y, 2x2 VU samples. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga4e7cf746d8acbfa268db1f5ebe8061bfa763c2a7a80a426ceb85bdd2e47a7f7b0"></a><!-- doxytag: member="PP_VIDEOFRAME_FORMAT_YV12A" ref="gga4e7cf746d8acbfa268db1f5ebe8061bfa763c2a7a80a426ceb85bdd2e47a7f7b0" args="" -->PP_VIDEOFRAME_FORMAT_YV12A</em> </td><td>
+<p>20bpp YVU planar 1x1 Y, 2x2 VU, 1x1 A samples. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga4e7cf746d8acbfa268db1f5ebe8061bfaae97d5413c3cfc8ced57e8bf0be0d37a"></a><!-- doxytag: member="PP_VIDEOFRAME_FORMAT_YV12J" ref="gga4e7cf746d8acbfa268db1f5ebe8061bfaae97d5413c3cfc8ced57e8bf0be0d37a" args="" -->PP_VIDEOFRAME_FORMAT_YV12J</em> </td><td>
+<p>JPEG color range version of YV12. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga8458f33f09ecc56fcf486c60b844678d"></a><!-- doxytag: member="ppb_websocket.h::PP_WebSocketCloseCode" ref="ga8458f33f09ecc56fcf486c60b844678d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga8458f33f09ecc56fcf486c60b844678d">PP_WebSocketCloseCode</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This enumeration contains status codes. </p>
+<p>These codes are used in Close() and GetCloseCode(). Refer to RFC 6455, The WebSocket Protocol, for further information. <code>PP_WEBSOCKETSTATUSCODE_NORMAL_CLOSURE</code> and codes in the range <code>PP_WEBSOCKETSTATUSCODE_USER_REGISTERED_MIN</code> to <code>PP_WEBSOCKETSTATUSCODE_USER_REGISTERED_MAX</code>, and <code>PP_WEBSOCKETSTATUSCODE_USER_PRIVATE_MIN</code> to <code>PP_WEBSOCKETSTATUSCODE_USER_PRIVATE_MAX</code> are valid for Close(). </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga8458f33f09ecc56fcf486c60b844678dace8b6cbd5ab6bdecc5762b8753702d47"></a><!-- doxytag: member="PP_WEBSOCKETSTATUSCODE_NOT_SPECIFIED" ref="gga8458f33f09ecc56fcf486c60b844678dace8b6cbd5ab6bdecc5762b8753702d47" args="" -->PP_WEBSOCKETSTATUSCODE_NOT_SPECIFIED</em> </td><td>
+<p>Indicates to request closing connection without status code and reason. </p>
+<p>(Note that the code 1005 is forbidden to send in actual close frames by the RFC. PP_WebSocket reuses this code internally and the code will never appear in the actual close frames.) </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga8458f33f09ecc56fcf486c60b844678daff82b3d825f09240d64479d5ae0a2e00"></a><!-- doxytag: member="PP_WEBSOCKETSTATUSCODE_NORMAL_CLOSURE" ref="gga8458f33f09ecc56fcf486c60b844678daff82b3d825f09240d64479d5ae0a2e00" args="" -->PP_WEBSOCKETSTATUSCODE_NORMAL_CLOSURE</em> </td><td>
+<p>Status codes in the range 0-999 are not used. </p>
+<p>Indicates a normal closure. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga8458f33f09ecc56fcf486c60b844678da9d8d5c41a6592a609324249950468fb4"></a><!-- doxytag: member="PP_WEBSOCKETSTATUSCODE_GOING_AWAY" ref="gga8458f33f09ecc56fcf486c60b844678da9d8d5c41a6592a609324249950468fb4" args="" -->PP_WEBSOCKETSTATUSCODE_GOING_AWAY</em> </td><td>
+<p>Indicates that an endpoint is "going away", such as a server going down. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga8458f33f09ecc56fcf486c60b844678daf20b614979599d2a2ed79543618d6ef4"></a><!-- doxytag: member="PP_WEBSOCKETSTATUSCODE_PROTOCOL_ERROR" ref="gga8458f33f09ecc56fcf486c60b844678daf20b614979599d2a2ed79543618d6ef4" args="" -->PP_WEBSOCKETSTATUSCODE_PROTOCOL_ERROR</em> </td><td>
+<p>Indicates that an endpoint is terminating the connection due to a protocol error. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga8458f33f09ecc56fcf486c60b844678da4c63e46fd3e2a3b03fdcc577431f85ba"></a><!-- doxytag: member="PP_WEBSOCKETSTATUSCODE_UNSUPPORTED_DATA" ref="gga8458f33f09ecc56fcf486c60b844678da4c63e46fd3e2a3b03fdcc577431f85ba" args="" -->PP_WEBSOCKETSTATUSCODE_UNSUPPORTED_DATA</em> </td><td>
+<p>Indicates that an endpoint is terminating the connection because it has received a type of data it cannot accept. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga8458f33f09ecc56fcf486c60b844678da75580d49b265525d2f8591be2aa02fe6"></a><!-- doxytag: member="PP_WEBSOCKETSTATUSCODE_NO_STATUS_RECEIVED" ref="gga8458f33f09ecc56fcf486c60b844678da75580d49b265525d2f8591be2aa02fe6" args="" -->PP_WEBSOCKETSTATUSCODE_NO_STATUS_RECEIVED</em> </td><td>
+<p>Status code 1004 is reserved. </p>
+<p>Pseudo code to indicate that receiving close frame doesn't contain any status code. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga8458f33f09ecc56fcf486c60b844678dad80b864c592819db0cb640d2b6e74a3f"></a><!-- doxytag: member="PP_WEBSOCKETSTATUSCODE_ABNORMAL_CLOSURE" ref="gga8458f33f09ecc56fcf486c60b844678dad80b864c592819db0cb640d2b6e74a3f" args="" -->PP_WEBSOCKETSTATUSCODE_ABNORMAL_CLOSURE</em> </td><td>
+<p>Pseudo code to indicate that connection was closed abnormally, e.g., without closing handshake. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga8458f33f09ecc56fcf486c60b844678daea768048eaff4826bf06550d8da0dd42"></a><!-- doxytag: member="PP_WEBSOCKETSTATUSCODE_INVALID_FRAME_PAYLOAD_DATA" ref="gga8458f33f09ecc56fcf486c60b844678daea768048eaff4826bf06550d8da0dd42" args="" -->PP_WEBSOCKETSTATUSCODE_INVALID_FRAME_PAYLOAD_DATA</em> </td><td>
+<p>Indicates that an endpoint is terminating the connection because it has received data within a message that was not consistent with the type of the message (e.g., non-UTF-8 data within a text message). </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga8458f33f09ecc56fcf486c60b844678da4d4405b66c4b436c9bb31dfa4fa71523"></a><!-- doxytag: member="PP_WEBSOCKETSTATUSCODE_POLICY_VIOLATION" ref="gga8458f33f09ecc56fcf486c60b844678da4d4405b66c4b436c9bb31dfa4fa71523" args="" -->PP_WEBSOCKETSTATUSCODE_POLICY_VIOLATION</em> </td><td>
+<p>Indicates that an endpoint is terminating the connection because it has received a message that violates its policy. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga8458f33f09ecc56fcf486c60b844678da7c8d17601c982c62a933a3f721c049ef"></a><!-- doxytag: member="PP_WEBSOCKETSTATUSCODE_MESSAGE_TOO_BIG" ref="gga8458f33f09ecc56fcf486c60b844678da7c8d17601c982c62a933a3f721c049ef" args="" -->PP_WEBSOCKETSTATUSCODE_MESSAGE_TOO_BIG</em> </td><td>
+<p>Indicates that an endpoint is terminating the connection because it has received a message that is too big for it to process. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga8458f33f09ecc56fcf486c60b844678da5fae5457554a0cad877ccfa1d5636b8d"></a><!-- doxytag: member="PP_WEBSOCKETSTATUSCODE_MANDATORY_EXTENSION" ref="gga8458f33f09ecc56fcf486c60b844678da5fae5457554a0cad877ccfa1d5636b8d" args="" -->PP_WEBSOCKETSTATUSCODE_MANDATORY_EXTENSION</em> </td><td>
+<p>Indicates that an endpoint (client) is terminating the connection because it has expected the server to negotiate one or more extension, but the server didn't return them in the response message of the WebSocket handshake. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga8458f33f09ecc56fcf486c60b844678da7318b30a65ea442445e754453a73be81"></a><!-- doxytag: member="PP_WEBSOCKETSTATUSCODE_INTERNAL_SERVER_ERROR" ref="gga8458f33f09ecc56fcf486c60b844678da7318b30a65ea442445e754453a73be81" args="" -->PP_WEBSOCKETSTATUSCODE_INTERNAL_SERVER_ERROR</em> </td><td>
+<p>Indicates that a server is terminating the connection because it encountered an unexpected condition. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga8458f33f09ecc56fcf486c60b844678da8aef76170a2836b651922555aa26348d"></a><!-- doxytag: member="PP_WEBSOCKETSTATUSCODE_TLS_HANDSHAKE" ref="gga8458f33f09ecc56fcf486c60b844678da8aef76170a2836b651922555aa26348d" args="" -->PP_WEBSOCKETSTATUSCODE_TLS_HANDSHAKE</em> </td><td>
+<p>Status codes in the range 1012-1014 are reserved. </p>
+<p>Pseudo code to indicate that the connection was closed due to a failure to perform a TLS handshake. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga8458f33f09ecc56fcf486c60b844678da3a87714e399ce00177f60f85c9a993ba"></a><!-- doxytag: member="PP_WEBSOCKETSTATUSCODE_USER_REGISTERED_MIN" ref="gga8458f33f09ecc56fcf486c60b844678da3a87714e399ce00177f60f85c9a993ba" args="" -->PP_WEBSOCKETSTATUSCODE_USER_REGISTERED_MIN</em> </td><td>
+<p>Status codes in the range 1016-2999 are reserved. </p>
+<p>Status codes in the range 3000-3999 are reserved for use by libraries, frameworks, and applications. These codes are registered directly with IANA. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga8458f33f09ecc56fcf486c60b844678da08c67e1fcd33b07c350be618d7d72403"></a><!-- doxytag: member="PP_WEBSOCKETSTATUSCODE_USER_REGISTERED_MAX" ref="gga8458f33f09ecc56fcf486c60b844678da08c67e1fcd33b07c350be618d7d72403" args="" -->PP_WEBSOCKETSTATUSCODE_USER_REGISTERED_MAX</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga8458f33f09ecc56fcf486c60b844678da491bd1d7c9ada2c129062beb9eaeded1"></a><!-- doxytag: member="PP_WEBSOCKETSTATUSCODE_USER_PRIVATE_MIN" ref="gga8458f33f09ecc56fcf486c60b844678da491bd1d7c9ada2c129062beb9eaeded1" args="" -->PP_WEBSOCKETSTATUSCODE_USER_PRIVATE_MIN</em> </td><td>
+<p>Status codes in the range 4000-4999 are reserved for private use. </p>
+<p>Application can use these codes for application specific purposes freely. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga8458f33f09ecc56fcf486c60b844678da242327b17ab568d625627236de721e5b"></a><!-- doxytag: member="PP_WEBSOCKETSTATUSCODE_USER_PRIVATE_MAX" ref="gga8458f33f09ecc56fcf486c60b844678da242327b17ab568d625627236de721e5b" args="" -->PP_WEBSOCKETSTATUSCODE_USER_PRIVATE_MAX</em> </td><td>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="gade61cdf6a7470769b571925694d91a89"></a><!-- doxytag: member="ppb_websocket.h::PP_WebSocketReadyState" ref="gade61cdf6a7470769b571925694d91a89" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#gade61cdf6a7470769b571925694d91a89">PP_WebSocketReadyState</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This enumeration contains the types representing the WebSocket ready state and these states are based on the JavaScript WebSocket API specification. </p>
+<p>GetReadyState() returns one of these states. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="ggade61cdf6a7470769b571925694d91a89a6c603b9df214e22d8b8202431866b26b"></a><!-- doxytag: member="PP_WEBSOCKETREADYSTATE_INVALID" ref="ggade61cdf6a7470769b571925694d91a89a6c603b9df214e22d8b8202431866b26b" args="" -->PP_WEBSOCKETREADYSTATE_INVALID</em> </td><td>
+<p>Ready state is queried on an invalid resource. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggade61cdf6a7470769b571925694d91a89a9ad491ea639e22b598d4e8cab463acd9"></a><!-- doxytag: member="PP_WEBSOCKETREADYSTATE_CONNECTING" ref="ggade61cdf6a7470769b571925694d91a89a9ad491ea639e22b598d4e8cab463acd9" args="" -->PP_WEBSOCKETREADYSTATE_CONNECTING</em> </td><td>
+<p>Ready state that the connection has not yet been established. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggade61cdf6a7470769b571925694d91a89a60f99e31f237d57df167d70e7c1ada7d"></a><!-- doxytag: member="PP_WEBSOCKETREADYSTATE_OPEN" ref="ggade61cdf6a7470769b571925694d91a89a60f99e31f237d57df167d70e7c1ada7d" args="" -->PP_WEBSOCKETREADYSTATE_OPEN</em> </td><td>
+<p>Ready state that the WebSocket connection is established and communication is possible. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggade61cdf6a7470769b571925694d91a89a45ce2585ba8b200c6c02112098df6447"></a><!-- doxytag: member="PP_WEBSOCKETREADYSTATE_CLOSING" ref="ggade61cdf6a7470769b571925694d91a89a45ce2585ba8b200c6c02112098df6447" args="" -->PP_WEBSOCKETREADYSTATE_CLOSING</em> </td><td>
+<p>Ready state that the connection is going through the closing handshake. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggade61cdf6a7470769b571925694d91a89a43865a04fac402be4f589d2c7f9f02f4"></a><!-- doxytag: member="PP_WEBSOCKETREADYSTATE_CLOSED" ref="ggade61cdf6a7470769b571925694d91a89a43865a04fac402be4f589d2c7f9f02f4" args="" -->PP_WEBSOCKETREADYSTATE_CLOSED</em> </td><td>
+<p>Ready state that the connection has been closed or could not be opened. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Function Documentation</h2>
+<a class="anchor" id="ga9b1b55c2ccaa49d084206619c9034dde"></a><!-- doxytag: member="ppb_mouse_cursor.h::PP_COMPILE_ASSERT_ENUM_SIZE_IN_BYTES" ref="ga9b1b55c2ccaa49d084206619c9034dde" args="(PP_MouseCursor_Type, 4)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga9b1b55c2ccaa49d084206619c9034dde">PP_COMPILE_ASSERT_ENUM_SIZE_IN_BYTES</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="group___enums.html#gac53273018386c1db9542d2a06bbe118b">PP_MouseCursor_Type</a> </td>
+<td class="paramname">, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">4 </td>
+<td class="paramname"> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Variable Documentation</h2>
+<a class="anchor" id="gaee750c350655f2fb0fe04c04029e0ff8"></a><!-- doxytag: member="ppb_audio_config.h::PP_AudioSampleRate" ref="gaee750c350655f2fb0fe04c04029e0ff8" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#gaee750c350655f2fb0fe04c04029e0ff8">PP_AudioSampleRate</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga4f272d99be14aacafe08dfd4ef830918"></a><!-- doxytag: member="pp_bool.h::PP_Bool" ref="ga4f272d99be14aacafe08dfd4ef830918" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga7610f0fba2396d46384859caa4d91798"></a><!-- doxytag: member="pp_completion_callback.h::PP_CompletionCallback_Flag" ref="ga7610f0fba2396d46384859caa4d91798" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga7610f0fba2396d46384859caa4d91798">PP_CompletionCallback_Flag</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga4c87e6dd19c1d49b66a9b37136a82e82"></a><!-- doxytag: member="ppb_file_io.h::PP_FileOpenFlags" ref="ga4c87e6dd19c1d49b66a9b37136a82e82" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4c87e6dd19c1d49b66a9b37136a82e82">PP_FileOpenFlags</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga87b353f2ec8935c9c3294daff612c145"></a><!-- doxytag: member="pp_file_info.h::PP_FileSystemType" ref="ga87b353f2ec8935c9c3294daff612c145" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga87b353f2ec8935c9c3294daff612c145">PP_FileSystemType</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga36f6dfbe9c1e98540c5247f790746427"></a><!-- doxytag: member="pp_file_info.h::PP_FileType" ref="ga36f6dfbe9c1e98540c5247f790746427" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga36f6dfbe9c1e98540c5247f790746427">PP_FileType</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga7df48e1c55f6401beea2a1b9c07967e8"></a><!-- doxytag: member="pp_graphics_3d.h::PP_Graphics3DAttrib" ref="ga7df48e1c55f6401beea2a1b9c07967e8" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga7df48e1c55f6401beea2a1b9c07967e8">PP_Graphics3DAttrib</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gadb4b8db19266831040fc604f73c83a25"></a><!-- doxytag: member="ppb_host_resolver.h::PP_HostResolver_Flag" ref="gadb4b8db19266831040fc604f73c83a25" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#gadb4b8db19266831040fc604f73c83a25">PP_HostResolver_Flag</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga2ee7ad01799553e5f17bdaa35dd952ee"></a><!-- doxytag: member="ppb_image_data.h::PP_ImageDataFormat" ref="ga2ee7ad01799553e5f17bdaa35dd952ee" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga2ee7ad01799553e5f17bdaa35dd952ee">PP_ImageDataFormat</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gafe68e3c1031daa4a6496845ff47649cd"></a><!-- doxytag: member="ppb_input_event.h::PP_InputEvent_Class" ref="gafe68e3c1031daa4a6496845ff47649cd" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#gafe68e3c1031daa4a6496845ff47649cd">PP_InputEvent_Class</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga21b811ac0484a214a8751aa3e1c959d9"></a><!-- doxytag: member="ppb_input_event.h::PP_InputEvent_Modifier" ref="ga21b811ac0484a214a8751aa3e1c959d9" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga21b811ac0484a214a8751aa3e1c959d9">PP_InputEvent_Modifier</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga25113f3c8d33e863fd38b3f70f8a5e6e"></a><!-- doxytag: member="ppb_input_event.h::PP_InputEvent_MouseButton" ref="ga25113f3c8d33e863fd38b3f70f8a5e6e" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga25113f3c8d33e863fd38b3f70f8a5e6e">PP_InputEvent_MouseButton</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gaca7296cfec99fcb6646b7144d1d6a0c5"></a><!-- doxytag: member="ppb_input_event.h::PP_InputEvent_Type" ref="gaca7296cfec99fcb6646b7144d1d6a0c5" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#gaca7296cfec99fcb6646b7144d1d6a0c5">PP_InputEvent_Type</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gac39067c0883ec80b94290dd2a3bae440"></a><!-- doxytag: member="ppb_console.h::PP_LogLevel" ref="gac39067c0883ec80b94290dd2a3bae440" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#gac39067c0883ec80b94290dd2a3bae440">PP_LogLevel</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga43636bcadf9aa312a4c345d210ae6c55"></a><!-- doxytag: member="ppb_net_address.h::PP_NetAddress_Family" ref="ga43636bcadf9aa312a4c345d210ae6c55" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga43636bcadf9aa312a4c345d210ae6c55">PP_NetAddress_Family</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga9188881b5d3346626db0ea8e6aaecf1f"></a><!-- doxytag: member="ppb_network_list.h::PP_NetworkList_State" ref="ga9188881b5d3346626db0ea8e6aaecf1f" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga9188881b5d3346626db0ea8e6aaecf1f">PP_NetworkList_State</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga1c967cb753eb468493b3bf72e6733983"></a><!-- doxytag: member="ppb_network_list.h::PP_NetworkList_Type" ref="ga1c967cb753eb468493b3bf72e6733983" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga1c967cb753eb468493b3bf72e6733983">PP_NetworkList_Type</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga1557c0bbce8739a3418e6027a9c44e12"></a><!-- doxytag: member="ppb_tcp_socket.h::PP_TCPSocket_Option" ref="ga1557c0bbce8739a3418e6027a9c44e12" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga1557c0bbce8739a3418e6027a9c44e12">PP_TCPSocket_Option</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga5fef49ee4c2cc6dcead825340da0f116"></a><!-- doxytag: member="ppb_text_input_controller.h::PP_TextInput_Type" ref="ga5fef49ee4c2cc6dcead825340da0f116" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga5fef49ee4c2cc6dcead825340da0f116">PP_TextInput_Type</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gad5885a239d04166c8777432c81e39d0a"></a><!-- doxytag: member="ppb_input_event.h::PP_TouchListType" ref="gad5885a239d04166c8777432c81e39d0a" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#gad5885a239d04166c8777432c81e39d0a">PP_TouchListType</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga1a8472fa3e7150615c45c38fa8c12ce2"></a><!-- doxytag: member="ppb_udp_socket.h::PP_UDPSocket_Option" ref="ga1a8472fa3e7150615c45c38fa8c12ce2" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga1a8472fa3e7150615c45c38fa8c12ce2">PP_UDPSocket_Option</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga41975630f0a4c49e47d4a21754f8402d"></a><!-- doxytag: member="ppb_url_request_info.h::PP_URLRequestProperty" ref="ga41975630f0a4c49e47d4a21754f8402d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga41975630f0a4c49e47d4a21754f8402d">PP_URLRequestProperty</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga642e6199b27df69aad84aff5597041e0"></a><!-- doxytag: member="ppb_url_response_info.h::PP_URLResponseProperty" ref="ga642e6199b27df69aad84aff5597041e0" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga642e6199b27df69aad84aff5597041e0">PP_URLResponseProperty</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga9815041477d810724e44da862f9852ed"></a><!-- doxytag: member="pp_var.h::PP_VarType" ref="ga9815041477d810724e44da862f9852ed" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga9815041477d810724e44da862f9852ed">PP_VarType</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga8458f33f09ecc56fcf486c60b844678d"></a><!-- doxytag: member="ppb_websocket.h::PP_WebSocketCloseCode" ref="ga8458f33f09ecc56fcf486c60b844678d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga8458f33f09ecc56fcf486c60b844678d">PP_WebSocketCloseCode</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gade61cdf6a7470769b571925694d91a89"></a><!-- doxytag: member="ppb_websocket.h::PP_WebSocketReadyState" ref="gade61cdf6a7470769b571925694d91a89" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#gade61cdf6a7470769b571925694d91a89">PP_WebSocketReadyState</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/group___functions.html b/native_client_sdk/doc_generated/pepper_dev/c/group___functions.html
new file mode 100644
index 0000000..3b27bf9
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/group___functions.html
@@ -0,0 +1,546 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Functions</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+</div>
+<!--header-->
+<div class="contents">
+<h2>
+Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga8691f15edad9b391c3644064ac57f191">PP_MakeCompletionCallback</a> (<a class="el" href="group___typedefs.html#ga6fe12e1a41df5e10103a811036d4d8d2">PP_CompletionCallback_Func</a> func, void *user_data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#gabd6bf83f4c787477631c37d44418c4db">PP_MakeOptionalCompletionCallback</a> (<a class="el" href="group___typedefs.html#ga6fe12e1a41df5e10103a811036d4d8d2">PP_CompletionCallback_Func</a> func, void *user_data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#gaffce49266a735f9ee8d149b14477404f">PP_RunCompletionCallback</a> (struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> *cc, int32_t result)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga340e452b4931d17bd44928769490e282">PP_BlockUntilComplete</a> (void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga8dac45aa496bbb1f97a15e2833d3ed02">PP_RunAndClearCompletionCallback</a> (struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> *cc, int32_t res)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___point.html">PP_Point</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga15880e8085178758053cc521af33b250">PP_MakePoint</a> (int32_t x, int32_t y)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___float_point.html">PP_FloatPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga0aca79088546fe91d13c97db9033e709">PP_MakeFloatPoint</a> (float x, float y)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___rect.html">PP_Rect</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#gaf868e2929269ef195241b79a015fcf61">PP_MakeRectFromXYWH</a> (int32_t x, int32_t y, int32_t w, int32_t h)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___size.html">PP_Size</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga35a97e64d18402d8feff46722b98beb0">PP_MakeSize</a> (int32_t w, int32_t h)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___touch_point.html">PP_TouchPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#gae7f6d41cbb173c12f474242c2a3bf5e7">PP_MakeTouchPoint</a> (void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga0edc8314fc1a92f93dd3d0eab286cb5d">PP_MakeUndefined</a> (void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga75f83ac65ccbf57866d52d45cd5792e7">PP_MakeNull</a> (void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga0fba11ae90d57086064d41b0af710253">PP_MakeBool</a> (<a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> value)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#gad14a59fa681d4cc532b3d49c0438f0ca">PP_MakeInt32</a> (int32_t value)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#gafbebaae212cb7e737efc56eea0e785b5">PP_MakeDouble</a> (double value)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga2fc7b396531c19417d8d7171d56da8b6">PPP_InitializeModule</a> (<a class="el" href="group___typedefs.html#gab780dd451cd7f51284cb752edd88f9a0">PP_Module</a> module, <a class="el" href="group___typedefs.html#ga68ad7c927b86e0c29d890603edd33154">PPB_GetInterface</a> get_browser_interface)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#gaa3021aba7ddc17a8cecb4bc4f8374e98">PPP_ShutdownModule</a> (void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const void * </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga4127b148b2bd0f3bc2c078dd38cbe4cf">PPP_GetInterface</a> (const char *interface_name)</td></tr>
+</table>
+<hr /><h2>Function Documentation</h2>
+<a class="anchor" id="ga340e452b4931d17bd44928769490e282"></a><!-- doxytag: member="pp_completion_callback.h::PP_BlockUntilComplete" ref="ga340e452b4931d17bd44928769490e282" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> <a class="el" href="group___functions.html#ga340e452b4931d17bd44928769490e282">PP_BlockUntilComplete</a> </td>
+<td>(</td>
+<td class="paramtype">void </td>
+<td class="paramname"></td><td>)</td>
+<td><code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="group___functions.html#ga340e452b4931d17bd44928769490e282" title="PP_BlockUntilComplete() is used in place of an actual completion callback to request blocking behavio...">PP_BlockUntilComplete()</a> is used in place of an actual completion callback to request blocking behavior. </p>
+<p>If specified, the calling thread will block until the function completes. Blocking completion callbacks are only allowed from background threads.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> structure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ga0fba11ae90d57086064d41b0af710253"></a><!-- doxytag: member="pp_var.h::PP_MakeBool" ref="ga0fba11ae90d57086064d41b0af710253" args="(PP_Bool value)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a> <a class="el" href="group___functions.html#ga0fba11ae90d57086064d41b0af710253">PP_MakeBool</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> </td>
+<td class="paramname"><em>value</em></td><td>)</td>
+<td><code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="group___functions.html#ga0fba11ae90d57086064d41b0af710253" title="PP_MakeBool() is used to wrap a boolean value into a PP_Var struct for passing to the browser...">PP_MakeBool()</a> is used to wrap a boolean value into a <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> struct for passing to the browser. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>A <code>PP_Bool</code> enumeration to wrap.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> structure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ga8691f15edad9b391c3644064ac57f191"></a><!-- doxytag: member="pp_completion_callback.h::PP_MakeCompletionCallback" ref="ga8691f15edad9b391c3644064ac57f191" args="(PP_CompletionCallback_Func func, void *user_data)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> <a class="el" href="group___functions.html#ga8691f15edad9b391c3644064ac57f191">PP_MakeCompletionCallback</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="group___typedefs.html#ga6fe12e1a41df5e10103a811036d4d8d2">PP_CompletionCallback_Func</a> </td>
+<td class="paramname"><em>func</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">void * </td>
+<td class="paramname"><em>user_data</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="group___functions.html#ga8691f15edad9b391c3644064ac57f191" title="PP_MakeCompletionCallback() is used to create a PP_CompletionCallback.">PP_MakeCompletionCallback()</a> is used to create a <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code>. </p>
+<p><b>Example, creating a Required callback:</b></p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">struct </span><a class="code" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a> cc = <a class="code" href="group___functions.html#ga8691f15edad9b391c3644064ac57f191" title="PP_MakeCompletionCallback() is used to create a PP_CompletionCallback.">PP_MakeCompletionCallback</a>(Foo, NULL);
+</pre></div><p><b>Example, creating an Optional callback:</b></p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">struct </span><a class="code" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a> cc = <a class="code" href="group___functions.html#ga8691f15edad9b391c3644064ac57f191" title="PP_MakeCompletionCallback() is used to create a PP_CompletionCallback.">PP_MakeCompletionCallback</a>(Foo, NULL);
+ cc.<a class="code" href="struct_p_p___completion_callback.html#a4bd2d9440bc8dc18eeeca2d464156a38" title="Flags used to control how non-NULL callbacks are scheduled by asynchronous methods.">flags</a> = cc.<a class="code" href="struct_p_p___completion_callback.html#a4bd2d9440bc8dc18eeeca2d464156a38" title="Flags used to control how non-NULL callbacks are scheduled by asynchronous methods.">flags</a> | <a class="code" href="group___enums.html#gga7610f0fba2396d46384859caa4d91798aebb176d8930b14219b7966fd93a2e967" title="This flag allows any method taking such callback to complete synchronously and not call the callback ...">PP_COMPLETIONCALLBACK_FLAG_OPTIONAL</a>;
+</pre></div><dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">func</td><td>A <code>PP_CompletionCallback_Func</code> that will be called. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">user_data</td><td>A pointer to user data passed to your callback function. This is optional and is typically used to help track state when you may have multiple callbacks pending.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> structure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="gafbebaae212cb7e737efc56eea0e785b5"></a><!-- doxytag: member="pp_var.h::PP_MakeDouble" ref="gafbebaae212cb7e737efc56eea0e785b5" args="(double value)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a> <a class="el" href="group___functions.html#gafbebaae212cb7e737efc56eea0e785b5">PP_MakeDouble</a> </td>
+<td>(</td>
+<td class="paramtype">double </td>
+<td class="paramname"><em>value</em></td><td>)</td>
+<td><code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="group___functions.html#gafbebaae212cb7e737efc56eea0e785b5" title="PP_MakeDouble() is used to wrap a double value into a PP_Var struct for passing to the browser...">PP_MakeDouble()</a> is used to wrap a double value into a <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> struct for passing to the browser. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>A double to wrap.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> structure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ga0aca79088546fe91d13c97db9033e709"></a><!-- doxytag: member="pp_point.h::PP_MakeFloatPoint" ref="ga0aca79088546fe91d13c97db9033e709" args="(float x, float y)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___float_point.html">PP_FloatPoint</a> <a class="el" href="group___functions.html#ga0aca79088546fe91d13c97db9033e709">PP_MakeFloatPoint</a> </td>
+<td>(</td>
+<td class="paramtype">float </td>
+<td class="paramname"><em>x</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">float </td>
+<td class="paramname"><em>y</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gad14a59fa681d4cc532b3d49c0438f0ca"></a><!-- doxytag: member="pp_var.h::PP_MakeInt32" ref="gad14a59fa681d4cc532b3d49c0438f0ca" args="(int32_t value)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a> <a class="el" href="group___functions.html#gad14a59fa681d4cc532b3d49c0438f0ca">PP_MakeInt32</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>value</em></td><td>)</td>
+<td><code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="group___functions.html#gad14a59fa681d4cc532b3d49c0438f0ca" title="PP_MakeInt32() is used to wrap a 32 bit integer value into a PP_Var struct for passing to the browser...">PP_MakeInt32()</a> is used to wrap a 32 bit integer value into a <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> struct for passing to the browser. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>An int32 to wrap.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> structure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ga75f83ac65ccbf57866d52d45cd5792e7"></a><!-- doxytag: member="pp_var.h::PP_MakeNull" ref="ga75f83ac65ccbf57866d52d45cd5792e7" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a> <a class="el" href="group___functions.html#ga75f83ac65ccbf57866d52d45cd5792e7">PP_MakeNull</a> </td>
+<td>(</td>
+<td class="paramtype">void </td>
+<td class="paramname"></td><td>)</td>
+<td><code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="group___functions.html#ga75f83ac65ccbf57866d52d45cd5792e7" title="PP_MakeNull() is used to wrap a null value into a PP_Var struct for passing to the browser...">PP_MakeNull()</a> is used to wrap a null value into a <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> struct for passing to the browser. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> structure, </dd></dl>
+</div>
+</div>
+<a class="anchor" id="gabd6bf83f4c787477631c37d44418c4db"></a><!-- doxytag: member="pp_completion_callback.h::PP_MakeOptionalCompletionCallback" ref="gabd6bf83f4c787477631c37d44418c4db" args="(PP_CompletionCallback_Func func, void *user_data)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> <a class="el" href="group___functions.html#gabd6bf83f4c787477631c37d44418c4db">PP_MakeOptionalCompletionCallback</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="group___typedefs.html#ga6fe12e1a41df5e10103a811036d4d8d2">PP_CompletionCallback_Func</a> </td>
+<td class="paramname"><em>func</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">void * </td>
+<td class="paramname"><em>user_data</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="group___functions.html#gabd6bf83f4c787477631c37d44418c4db" title="PP_MakeOptionalCompletionCallback() is used to create a PP_CompletionCallback with PP_COMPLETIONCALLB...">PP_MakeOptionalCompletionCallback()</a> is used to create a <a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a> with PP_COMPLETIONCALLBACK_FLAG_OPTIONAL set. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">func</td><td>A PP_CompletionCallback_Func to be called on completion. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">user_data</td><td>A pointer to user data passed to be passed to the callback function. This is optional and is typically used to help track state in case of multiple pending callbacks.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a> structure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ga15880e8085178758053cc521af33b250"></a><!-- doxytag: member="pp_point.h::PP_MakePoint" ref="ga15880e8085178758053cc521af33b250" args="(int32_t x, int32_t y)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___point.html">PP_Point</a> <a class="el" href="group___functions.html#ga15880e8085178758053cc521af33b250">PP_MakePoint</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>x</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>y</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="group___functions.html#ga15880e8085178758053cc521af33b250" title="PP_MakePoint() creates a PP_Point given the x and y coordinates as int32_t values.">PP_MakePoint()</a> creates a <code><a class="el" href="struct_p_p___point.html" title="The PP_Point structure defines the integer x and y coordinates of a point.">PP_Point</a></code> given the x and y coordinates as int32_t values. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>An int32_t value representing a horizontal coordinate of a point, starting with 0 as the left-most coordinate. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>An int32_t value representing a vertical coordinate of a point, starting with 0 as the top-most coordinate.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___point.html" title="The PP_Point structure defines the integer x and y coordinates of a point.">PP_Point</a></code> structure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="gaf868e2929269ef195241b79a015fcf61"></a><!-- doxytag: member="pp_rect.h::PP_MakeRectFromXYWH" ref="gaf868e2929269ef195241b79a015fcf61" args="(int32_t x, int32_t y, int32_t w, int32_t h)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___rect.html">PP_Rect</a> <a class="el" href="group___functions.html#gaf868e2929269ef195241b79a015fcf61">PP_MakeRectFromXYWH</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>x</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>y</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>w</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>h</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="group___functions.html#gaf868e2929269ef195241b79a015fcf61" title="PP_MakeRectFromXYWH() creates a PP_Rect given x and y coordinates and width and height dimensions as ...">PP_MakeRectFromXYWH()</a> creates a <code><a class="el" href="struct_p_p___rect.html" title="The PP_Rect struct contains the size and location of a 2D rectangle.">PP_Rect</a></code> given x and y coordinates and width and height dimensions as int32_t values. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>An int32_t value representing a horizontal coordinate of a point, starting with 0 as the left-most coordinate. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>An int32_t value representing a vertical coordinate of a point, starting with 0 as the top-most coordinate. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">w</td><td>An int32_t value representing a width. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>An int32_t value representing a height.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___rect.html" title="The PP_Rect struct contains the size and location of a 2D rectangle.">PP_Rect</a></code> structure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ga35a97e64d18402d8feff46722b98beb0"></a><!-- doxytag: member="pp_size.h::PP_MakeSize" ref="ga35a97e64d18402d8feff46722b98beb0" args="(int32_t w, int32_t h)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___size.html">PP_Size</a> <a class="el" href="group___functions.html#ga35a97e64d18402d8feff46722b98beb0">PP_MakeSize</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>w</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>h</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="group___functions.html#ga35a97e64d18402d8feff46722b98beb0" title="PP_MakeSize() creates a PP_Size given a width and height as int32_t values.">PP_MakeSize()</a> creates a <code><a class="el" href="struct_p_p___size.html" title="The PP_Size struct contains the size of a 2D rectangle.">PP_Size</a></code> given a width and height as int32_t values. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">w</td><td>An int32_t value representing a width. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>An int32_t value representing a height.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___size.html" title="The PP_Size struct contains the size of a 2D rectangle.">PP_Size</a></code> structure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="gae7f6d41cbb173c12f474242c2a3bf5e7"></a><!-- doxytag: member="pp_touch_point.h::PP_MakeTouchPoint" ref="gae7f6d41cbb173c12f474242c2a3bf5e7" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___touch_point.html">PP_TouchPoint</a> <a class="el" href="group___functions.html#gae7f6d41cbb173c12f474242c2a3bf5e7">PP_MakeTouchPoint</a> </td>
+<td>(</td>
+<td class="paramtype">void </td>
+<td class="paramname"></td><td>)</td>
+<td><code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="group___functions.html#gae7f6d41cbb173c12f474242c2a3bf5e7" title="PP_MakeTouchPoint() creates a PP_TouchPoint.">PP_MakeTouchPoint()</a> creates a <code><a class="el" href="struct_p_p___touch_point.html" title="The PP_TouchPoint struct represents all information about a single touch point, such as position...">PP_TouchPoint</a></code>. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___touch_point.html" title="The PP_TouchPoint struct represents all information about a single touch point, such as position...">PP_TouchPoint</a></code> structure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ga0edc8314fc1a92f93dd3d0eab286cb5d"></a><!-- doxytag: member="pp_var.h::PP_MakeUndefined" ref="ga0edc8314fc1a92f93dd3d0eab286cb5d" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a> <a class="el" href="group___functions.html#ga0edc8314fc1a92f93dd3d0eab286cb5d">PP_MakeUndefined</a> </td>
+<td>(</td>
+<td class="paramtype">void </td>
+<td class="paramname"></td><td>)</td>
+<td><code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="group___functions.html#ga0edc8314fc1a92f93dd3d0eab286cb5d" title="PP_MakeUndefined() is used to wrap an undefined value into a PP_Var struct for passing to the browser...">PP_MakeUndefined()</a> is used to wrap an undefined value into a <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> struct for passing to the browser. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> structure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ga8dac45aa496bbb1f97a15e2833d3ed02"></a><!-- doxytag: member="pp_completion_callback.h::PP_RunAndClearCompletionCallback" ref="ga8dac45aa496bbb1f97a15e2833d3ed02" args="(struct PP_CompletionCallback *cc, int32_t res)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="group___functions.html#ga8dac45aa496bbb1f97a15e2833d3ed02">PP_RunAndClearCompletionCallback</a> </td>
+<td>(</td>
+<td class="paramtype">struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> * </td>
+<td class="paramname"><em>cc</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>res</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="group___functions.html#ga8dac45aa496bbb1f97a15e2833d3ed02" title="PP_RunAndClearCompletionCallback() runs a callback and clears the reference to that callback...">PP_RunAndClearCompletionCallback()</a> runs a callback and clears the reference to that callback. </p>
+<p>This function is used when the null-ness of a completion callback is used as a signal for whether a completion callback has been registered. In this case, after the execution of the callback, it should be cleared. However, this introduces a conflict if the completion callback wants to schedule more work that involves the same completion callback again (for example, when reading data from an URLLoader, one would typically queue up another read callback). As a result, this function clears the pointer before the provided callback is executed. </p>
+</div>
+</div>
+<a class="anchor" id="gaffce49266a735f9ee8d149b14477404f"></a><!-- doxytag: member="pp_completion_callback.h::PP_RunCompletionCallback" ref="gaffce49266a735f9ee8d149b14477404f" args="(struct PP_CompletionCallback *cc, int32_t result)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="group___functions.html#gaffce49266a735f9ee8d149b14477404f">PP_RunCompletionCallback</a> </td>
+<td>(</td>
+<td class="paramtype">struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> * </td>
+<td class="paramname"><em>cc</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>result</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="group___functions.html#gaffce49266a735f9ee8d149b14477404f" title="PP_RunCompletionCallback() is used to run a callback.">PP_RunCompletionCallback()</a> is used to run a callback. </p>
+<p>It invokes the callback function passing it user data specified on creation and completion |result|.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A pointer to a <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> that will be run. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">result</td><td>The result of the operation. Non-positive values correspond to the error codes from <a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a> (excluding PP_OK_COMPLETIONPENDING). Positive values indicate additional information such as bytes read. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga4127b148b2bd0f3bc2c078dd38cbe4cf"></a><!-- doxytag: member="ppp.h::PPP_GetInterface" ref="ga4127b148b2bd0f3bc2c078dd38cbe4cf" args="(const char *interface_name)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">const void* <a class="el" href="group___functions.html#ga4127b148b2bd0f3bc2c078dd38cbe4cf">PPP_GetInterface</a> </td>
+<td>(</td>
+<td class="paramtype">const char * </td>
+<td class="paramname"><em>interface_name</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="group___functions.html#ga4127b148b2bd0f3bc2c078dd38cbe4cf" title="PPP_GetInterface() is called by the browser to query the module for interfaces it supports...">PPP_GetInterface()</a> is called by the browser to query the module for interfaces it supports. </p>
+<p>Your module must implement the <code>PPP_Instance</code> interface or it will be unloaded. Other interfaces are optional.</p>
+<p>This function is called from within browser code whenever an interface is needed. This means your plugin could be reentered via this function if you make a browser call and it needs an interface. Furthermore, you should not make any other browser calls from within your implementation to avoid reentering the browser.</p>
+<p>As a result, your implementation of this should merely provide a lookup from the requested name to an interface pointer, via something like a big if/else block or a map, and not do any other work.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">interface_name</td><td>A pointer to a "PPP" (plugin) interface name. Interface names are null-terminated ASCII strings.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A pointer for the interface or <code>NULL</code> if the interface is not supported. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ga2fc7b396531c19417d8d7171d56da8b6"></a><!-- doxytag: member="ppp.h::PPP_InitializeModule" ref="ga2fc7b396531c19417d8d7171d56da8b6" args="(PP_Module module, PPB_GetInterface get_browser_interface)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="group___functions.html#ga2fc7b396531c19417d8d7171d56da8b6">PPP_InitializeModule</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="group___typedefs.html#gab780dd451cd7f51284cb752edd88f9a0">PP_Module</a> </td>
+<td class="paramname"><em>module</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype"><a class="el" href="group___typedefs.html#ga68ad7c927b86e0c29d890603edd33154">PPB_GetInterface</a> </td>
+<td class="paramname"><em>get_browser_interface</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="group___functions.html#ga2fc7b396531c19417d8d7171d56da8b6" title="PPP_InitializeModule() is the entry point for a module and is called by the browser when your module ...">PPP_InitializeModule()</a> is the entry point for a module and is called by the browser when your module loads. </p>
+<p>Your code must implement this function.</p>
+<p>Failure indicates to the browser that this module can not be used. In this case, the module will be unloaded and ShutdownModule will NOT be called.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">module</td><td>A handle to your module. Generally you should store this value since it will be required for other API calls. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">get_browser_interface</td><td>A pointer to the function that you can use to query for browser interfaces. Generally you should store this value for future use.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_OK</code> on success. Any other value on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="gaa3021aba7ddc17a8cecb4bc4f8374e98"></a><!-- doxytag: member="ppp.h::PPP_ShutdownModule" ref="gaa3021aba7ddc17a8cecb4bc4f8374e98" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="group___functions.html#gaa3021aba7ddc17a8cecb4bc4f8374e98">PPP_ShutdownModule</a> </td>
+<td>(</td>
+<td class="paramtype">void </td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="group___functions.html#gaa3021aba7ddc17a8cecb4bc4f8374e98" title="PPP_ShutdownModule() is sometimes called before the module is unloaded.">PPP_ShutdownModule()</a> is <b>sometimes</b> called before the module is unloaded. </p>
+<p>It is not recommended that you implement this function.</p>
+<p>There is no practical use of this function for third party modules. Its existence is because of some internal use cases inside Chrome.</p>
+<p>Since your module runs in a separate process, there's no need to free allocated memory. There is also no need to free any resources since all of resources associated with an instance will be force-freed when that instance is deleted.</p>
+<p><b>Note:</b> This function will always be skipped on untrusted (Native Client) implementations. This function may be skipped on trusted implementations in certain circumstances when Chrome does "fast shutdown" of a web page. </p>
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/group___interfaces.html b/native_client_sdk/doc_generated/pepper_dev/c/group___interfaces.html
new file mode 100644
index 0000000..055bd13
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/group___interfaces.html
@@ -0,0 +1,690 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Interfaces</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+</div>
+<!--header-->
+<div class="contents">
+<h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio__1__1.html">PPB_Audio</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_Audio</code> interface contains pointers to several functions for handling audio resources. <a href="struct_p_p_b___audio__1__1.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio_config__1__1.html">PPB_AudioConfig</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_AudioConfig</code> interface contains pointers to several functions for establishing your audio configuration within the browser. <a href="struct_p_p_b___audio_config__1__1.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio_frame__0__1.html">PPB_AudioFrame</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___console__1__0.html">PPB_Console</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___core__1__0.html">PPB_Core</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_Core</code> interface contains pointers to functions related to memory management, time, and threads on the browser. <a href="struct_p_p_b___core__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_i_o__1__1.html">PPB_FileIO</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_FileIO</code> struct is used to operate on a regular file (PP_FileType_Regular). <a href="struct_p_p_b___file_i_o__1__1.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_ref__1__2.html">PPB_FileRef</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_FileRef</code> struct represents a "weak pointer" to a file in a file system. <a href="struct_p_p_b___file_ref__1__2.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_system__1__0.html">PPB_FileSystem</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_FileSystem</code> struct identifies the file system type associated with a file. <a href="struct_p_p_b___file_system__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___fullscreen__1__0.html">PPB_Fullscreen</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_Fullscreen</code> interface is implemented by the browser. <a href="struct_p_p_b___fullscreen__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___gamepad__1__0.html">PPB_Gamepad</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_Gamepad</code> interface allows retrieving data from gamepad/joystick devices that are connected to the system. <a href="struct_p_p_b___gamepad__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics2_d__1__1.html">PPB_Graphics2D</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><code>PPB_Graphics2D</code> defines the interface for a 2D graphics context. <a href="struct_p_p_b___graphics2_d__1__1.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics3_d__1__0.html">PPB_Graphics3D</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><code>PPB_Graphics3D</code> defines the interface for a 3D graphics context. <a href="struct_p_p_b___graphics3_d__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___host_resolver__1__0.html">PPB_HostResolver</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_HostResolver</code> interface supports host name resolution. <a href="struct_p_p_b___host_resolver__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___image_data__1__0.html">PPB_ImageData</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_ImageData</code> interface contains pointers to several functions for determining the browser's treatment of image data. <a href="struct_p_p_b___image_data__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___input_event__1__0.html">PPB_InputEvent</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_InputEvent</code> interface contains pointers to several functions related to generic input events on the browser. <a href="struct_p_p_b___input_event__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___mouse_input_event__1__1.html">PPB_MouseInputEvent</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_MouseInputEvent</code> interface contains pointers to several functions related to mouse input events. <a href="struct_p_p_b___mouse_input_event__1__1.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___wheel_input_event__1__0.html">PPB_WheelInputEvent</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_WheelIputEvent</code> interface contains pointers to several functions related to wheel input events. <a href="struct_p_p_b___wheel_input_event__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___keyboard_input_event__1__0.html">PPB_KeyboardInputEvent</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_KeyboardInputEvent</code> interface contains pointers to several functions related to keyboard input events. <a href="struct_p_p_b___keyboard_input_event__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___touch_input_event__1__0.html">PPB_TouchInputEvent</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_TouchInputEvent</code> interface contains pointers to several functions related to touch events. <a href="struct_p_p_b___touch_input_event__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html">PPB_IMEInputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___instance__1__0.html">PPB_Instance</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The PPB_Instance interface contains pointers to functions related to the module instance on a web page. <a href="struct_p_p_b___instance__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___media_stream_audio_track__0__1.html">PPB_MediaStreamAudioTrack</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___media_stream_video_track__0__1.html">PPB_MediaStreamVideoTrack</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___message_loop__1__0.html">PPB_MessageLoop</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A message loop allows PPAPI calls to be issued on a thread. <a href="struct_p_p_b___message_loop__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___messaging__1__0.html">PPB_Messaging</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_Messaging</code> interface is implemented by the browser and is related to sending messages to JavaScript message event listeners on the DOM element associated with specific module instance. <a href="struct_p_p_b___messaging__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___mouse_cursor__1__0.html">PPB_MouseCursor</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_MouseCursor</code> allows setting the mouse cursor. <a href="struct_p_p_b___mouse_cursor__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___mouse_lock__1__0.html">PPB_MouseLock</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_MouseLock</code> interface is implemented by the browser. <a href="struct_p_p_b___mouse_lock__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___net_address__1__0.html">PPB_NetAddress</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_NetAddress</code> interface provides operations on network addresses. <a href="struct_p_p_b___net_address__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_list__1__0.html">PPB_NetworkList</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_NetworkList</code> is used to represent a list of network interfaces and their configuration. <a href="struct_p_p_b___network_list__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_monitor__1__0.html">PPB_NetworkMonitor</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_NetworkMonitor</code> allows to get network interfaces configuration and monitor network configuration changes. <a href="struct_p_p_b___network_monitor__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_proxy__1__0.html">PPB_NetworkProxy</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This interface provides a way to determine the appropriate proxy settings for a given URL. <a href="struct_p_p_b___network_proxy__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html">PPB_TCPSocket</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_TCPSocket</code> interface provides TCP socket operations. <a href="struct_p_p_b___t_c_p_socket__1__1.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___text_input_controller__1__0.html">PPB_TextInputController</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><code>PPB_TextInputController</code> provides a set of functions for giving hints to the browser about the text input status of plugins, and functions for controlling input method editors (IMEs). <a href="struct_p_p_b___text_input_controller__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html">PPB_UDPSocket</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_UDPSocket</code> interface provides UDP socket operations. <a href="struct_p_p_b___u_d_p_socket__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html">PPB_URLLoader</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <b>PPB_URLLoader</b> interface contains pointers to functions for loading URLs. <a href="struct_p_p_b___u_r_l_loader__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html">PPB_URLRequestInfo</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_URLRequestInfo</code> interface is used to create and handle URL requests. <a href="struct_p_p_b___u_r_l_request_info__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_response_info__1__0.html">PPB_URLResponseInfo</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The PPB_URLResponseInfo interface contains APIs for examining URL responses. <a href="struct_p_p_b___u_r_l_response_info__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var__1__1.html">PPB_Var</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">PPB_Var API. <a href="struct_p_p_b___var__1__1.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_array__1__0.html">PPB_VarArray</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_array_buffer__1__0.html">PPB_VarArrayBuffer</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_VarArrayBuffer</code> interface provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous sequence of bytes. <a href="struct_p_p_b___var_array_buffer__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_dictionary__1__0.html">PPB_VarDictionary</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A dictionary var contains key-value pairs with unique keys. <a href="struct_p_p_b___var_dictionary__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___video_frame__0__1.html">PPB_VideoFrame</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___view__1__1.html">PPB_View</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><code>PPB_View</code> represents the state of the view of an instance. <a href="struct_p_p_b___view__1__1.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___web_socket__1__0.html">PPB_WebSocket</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_WebSocket</code> interface provides bi-directional, full-duplex, communications over a single TCP socket. <a href="struct_p_p_b___web_socket__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___graphics3_d__1__0.html">PPP_Graphics3D</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><code>PPP_Graphics3D</code> defines the notification interface for a 3D graphics context. <a href="struct_p_p_p___graphics3_d__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___input_event__0__1.html">PPP_InputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___instance__1__1.html">PPP_Instance</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPP_Instance</code> interface contains pointers to a series of functions that you must implement in your module. <a href="struct_p_p_p___instance__1__1.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___messaging__1__0.html">PPP_Messaging</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPP_Messaging</code> interface contains pointers to functions that you must implement to handle postMessage events on the associated DOM element. <a href="struct_p_p_p___messaging__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___mouse_lock__1__0.html">PPP_MouseLock</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPP_MouseLock</code> interface contains a function that you must implement to receive mouse lock events from the browser. <a href="struct_p_p_p___mouse_lock__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___audio__1__1.html">PPB_Audio</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaa420ab6e5eec1d780700bb505fe7d7f5">PPB_Audio</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___audio_config__1__1.html">PPB_AudioConfig</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga6c784ebe92dee70d03a685298a8b8345">PPB_AudioConfig</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___console__1__0.html">PPB_Console</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gab38f2ca92926b53d58d1cf2ce6320ebb">PPB_Console</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___core__1__0.html">PPB_Core</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga34a986157c49afcad3537479bc5361e9">PPB_Core</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___file_i_o__1__1.html">PPB_FileIO</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga7b7a4f4317a5af9982ba79d60f04db69">PPB_FileIO</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___file_system__1__0.html">PPB_FileSystem</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gae5ad593b6aff864c6bd0acc09d6cc5e9">PPB_FileSystem</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___fullscreen__1__0.html">PPB_Fullscreen</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga965dcf552ef79d1a41e0c24db2cf5c3c">PPB_Fullscreen</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___gamepad__1__0.html">PPB_Gamepad</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga57baea75086a666a92489da807f16f2a">PPB_Gamepad</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___graphics2_d__1__1.html">PPB_Graphics2D</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaf9f8348d3315d8bb014b401f733ebdb6">PPB_Graphics2D</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___graphics3_d__1__0.html">PPB_Graphics3D</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga2865870b49481aae8ed416c06c58a7c0">PPB_Graphics3D</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___host_resolver__1__0.html">PPB_HostResolver</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga72b9bd04eeace0c69f4e454b7cc4e440">PPB_HostResolver</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___image_data__1__0.html">PPB_ImageData</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga17e05bbe7da0d6d7b61b6f78c5913c37">PPB_ImageData</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___input_event__1__0.html">PPB_InputEvent</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gac221fa16a0d0daa0bf171a477b465396">PPB_InputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___mouse_input_event__1__1.html">PPB_MouseInputEvent</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga3fcedb0e992eebaf7d9b1b60aacceafc">PPB_MouseInputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___wheel_input_event__1__0.html">PPB_WheelInputEvent</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaaefb7f24240d14faa56dfdba8c116889">PPB_WheelInputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___keyboard_input_event__1__0.html">PPB_KeyboardInputEvent</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gad245b3100fef75b215d6ba60cccd626e">PPB_KeyboardInputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___touch_input_event__1__0.html">PPB_TouchInputEvent</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga3d25b1582fc1e6b94f53ecfb21422d6c">PPB_TouchInputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html">PPB_IMEInputEvent</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaaa0c327650de77066ea8e2ec8f5589c5">PPB_IMEInputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___instance__1__0.html">PPB_Instance</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaf2ed3cc24968d8681b52cf70eae066ca">PPB_Instance</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___message_loop__1__0.html">PPB_MessageLoop</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gae3eb3482b0fb57fb6a4eb05c07908788">PPB_MessageLoop</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___messaging__1__0.html">PPB_Messaging</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gac53fe3a3b5941f8b3608349f58ee24f0">PPB_Messaging</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___mouse_cursor__1__0.html">PPB_MouseCursor</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gae583d9ea6381e1e4cb7b462c35c5d1de">PPB_MouseCursor</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___mouse_lock__1__0.html">PPB_MouseLock</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga9d5fa32b9c90b100400161025fda2617">PPB_MouseLock</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___net_address__1__0.html">PPB_NetAddress</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gad6c325ff5a0a74f318a680971d0a7c52">PPB_NetAddress</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___network_list__1__0.html">PPB_NetworkList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga675af1709086b2a750d28da442c41f8a">PPB_NetworkList</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___network_monitor__1__0.html">PPB_NetworkMonitor</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga873d8c5cd49f7b3c8ad5b4caabd1e8e6">PPB_NetworkMonitor</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___network_proxy__1__0.html">PPB_NetworkProxy</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaf8338a682417267c8525446ef1de85b1">PPB_NetworkProxy</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html">PPB_TCPSocket</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga0f72e14a6cf9631bd733ded1f8ba4d9f">PPB_TCPSocket</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___text_input_controller__1__0.html">PPB_TextInputController</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gab387085f6044f3a0b1631d119d22a942">PPB_TextInputController</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html">PPB_UDPSocket</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaf04d893ccf01c5d1cfcadee5fcc869d1">PPB_UDPSocket</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html">PPB_URLLoader</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga307f562a9e41991de7c80b75cd7f379c">PPB_URLLoader</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html">PPB_URLRequestInfo</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gad60387934d9e235d3d145ee5a1fb4e74">PPB_URLRequestInfo</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___u_r_l_response_info__1__0.html">PPB_URLResponseInfo</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gad63e57584aea115126b6922b141cf745">PPB_URLResponseInfo</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___var__1__1.html">PPB_Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga7363a88a6e5058841915641c1b2923ad">PPB_Var</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___var_array__1__0.html">PPB_VarArray</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaad75327f1ecc75e58c2805fc4740d3c6">PPB_VarArray</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___var_array_buffer__1__0.html">PPB_VarArrayBuffer</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gab26d5bb032f5438d02faf5bdf7b208cb">PPB_VarArrayBuffer</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___var_dictionary__1__0.html">PPB_VarDictionary</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga69826004b5c32232c9639090f3e1db2e">PPB_VarDictionary</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___view__1__1.html">PPB_View</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaccc39c5c499011d13be37e23868a04f3">PPB_View</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___web_socket__1__0.html">PPB_WebSocket</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gad0e152d14cefb0b480228f3fc7070faf">PPB_WebSocket</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_p___graphics3_d__1__0.html">PPP_Graphics3D</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gab9b763d2ae6ef08a8f18069728f418eb">PPP_Graphics3D</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_p___input_event__0__1.html">PPP_InputEvent</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga9c2577b1c089f77e1e467d74bd97a940">PPP_InputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_p___instance__1__1.html">PPP_Instance</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga3397638d116e4171368bf18fcb91ef11">PPP_Instance</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_p___messaging__1__0.html">PPP_Messaging</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga1b4374f30360ab34679a159083db7e4d">PPP_Messaging</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_p___mouse_lock__1__0.html">PPP_MouseLock</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gae600e8f5b6005b02378e6eb9f51b11cb">PPP_MouseLock</a></td></tr>
+</table>
+<hr /><h2>Typedef Documentation</h2>
+<a class="anchor" id="gaa420ab6e5eec1d780700bb505fe7d7f5"></a><!-- doxytag: member="ppb_audio.h::PPB_Audio" ref="gaa420ab6e5eec1d780700bb505fe7d7f5" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___audio__1__1.html">PPB_Audio</a> <a class="el" href="group___interfaces.html#gaa420ab6e5eec1d780700bb505fe7d7f5">PPB_Audio</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga6c784ebe92dee70d03a685298a8b8345"></a><!-- doxytag: member="ppb_audio_config.h::PPB_AudioConfig" ref="ga6c784ebe92dee70d03a685298a8b8345" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___audio_config__1__1.html">PPB_AudioConfig</a> <a class="el" href="group___interfaces.html#ga6c784ebe92dee70d03a685298a8b8345">PPB_AudioConfig</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gab38f2ca92926b53d58d1cf2ce6320ebb"></a><!-- doxytag: member="ppb_console.h::PPB_Console" ref="gab38f2ca92926b53d58d1cf2ce6320ebb" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___console__1__0.html">PPB_Console</a> <a class="el" href="group___interfaces.html#gab38f2ca92926b53d58d1cf2ce6320ebb">PPB_Console</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga34a986157c49afcad3537479bc5361e9"></a><!-- doxytag: member="ppb_core.h::PPB_Core" ref="ga34a986157c49afcad3537479bc5361e9" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___core__1__0.html">PPB_Core</a> <a class="el" href="group___interfaces.html#ga34a986157c49afcad3537479bc5361e9">PPB_Core</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga7b7a4f4317a5af9982ba79d60f04db69"></a><!-- doxytag: member="ppb_file_io.h::PPB_FileIO" ref="ga7b7a4f4317a5af9982ba79d60f04db69" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___file_i_o__1__1.html">PPB_FileIO</a> <a class="el" href="group___interfaces.html#ga7b7a4f4317a5af9982ba79d60f04db69">PPB_FileIO</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gae5ad593b6aff864c6bd0acc09d6cc5e9"></a><!-- doxytag: member="ppb_file_system.h::PPB_FileSystem" ref="gae5ad593b6aff864c6bd0acc09d6cc5e9" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___file_system__1__0.html">PPB_FileSystem</a> <a class="el" href="group___interfaces.html#gae5ad593b6aff864c6bd0acc09d6cc5e9">PPB_FileSystem</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga965dcf552ef79d1a41e0c24db2cf5c3c"></a><!-- doxytag: member="ppb_fullscreen.h::PPB_Fullscreen" ref="ga965dcf552ef79d1a41e0c24db2cf5c3c" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___fullscreen__1__0.html">PPB_Fullscreen</a> <a class="el" href="group___interfaces.html#ga965dcf552ef79d1a41e0c24db2cf5c3c">PPB_Fullscreen</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga57baea75086a666a92489da807f16f2a"></a><!-- doxytag: member="ppb_gamepad.h::PPB_Gamepad" ref="ga57baea75086a666a92489da807f16f2a" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___gamepad__1__0.html">PPB_Gamepad</a> <a class="el" href="group___interfaces.html#ga57baea75086a666a92489da807f16f2a">PPB_Gamepad</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gaf9f8348d3315d8bb014b401f733ebdb6"></a><!-- doxytag: member="ppb_graphics_2d.h::PPB_Graphics2D" ref="gaf9f8348d3315d8bb014b401f733ebdb6" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___graphics2_d__1__1.html">PPB_Graphics2D</a> <a class="el" href="group___interfaces.html#gaf9f8348d3315d8bb014b401f733ebdb6">PPB_Graphics2D</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga2865870b49481aae8ed416c06c58a7c0"></a><!-- doxytag: member="ppb_graphics_3d.h::PPB_Graphics3D" ref="ga2865870b49481aae8ed416c06c58a7c0" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___graphics3_d__1__0.html">PPB_Graphics3D</a> <a class="el" href="group___interfaces.html#ga2865870b49481aae8ed416c06c58a7c0">PPB_Graphics3D</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga72b9bd04eeace0c69f4e454b7cc4e440"></a><!-- doxytag: member="ppb_host_resolver.h::PPB_HostResolver" ref="ga72b9bd04eeace0c69f4e454b7cc4e440" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___host_resolver__1__0.html">PPB_HostResolver</a> <a class="el" href="group___interfaces.html#ga72b9bd04eeace0c69f4e454b7cc4e440">PPB_HostResolver</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga17e05bbe7da0d6d7b61b6f78c5913c37"></a><!-- doxytag: member="ppb_image_data.h::PPB_ImageData" ref="ga17e05bbe7da0d6d7b61b6f78c5913c37" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___image_data__1__0.html">PPB_ImageData</a> <a class="el" href="group___interfaces.html#ga17e05bbe7da0d6d7b61b6f78c5913c37">PPB_ImageData</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gaaa0c327650de77066ea8e2ec8f5589c5"></a><!-- doxytag: member="ppb_input_event.h::PPB_IMEInputEvent" ref="gaaa0c327650de77066ea8e2ec8f5589c5" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html">PPB_IMEInputEvent</a> <a class="el" href="group___interfaces.html#gaaa0c327650de77066ea8e2ec8f5589c5">PPB_IMEInputEvent</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gac221fa16a0d0daa0bf171a477b465396"></a><!-- doxytag: member="ppb_input_event.h::PPB_InputEvent" ref="gac221fa16a0d0daa0bf171a477b465396" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___input_event__1__0.html">PPB_InputEvent</a> <a class="el" href="group___interfaces.html#gac221fa16a0d0daa0bf171a477b465396">PPB_InputEvent</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gaf2ed3cc24968d8681b52cf70eae066ca"></a><!-- doxytag: member="ppb_instance.h::PPB_Instance" ref="gaf2ed3cc24968d8681b52cf70eae066ca" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___instance__1__0.html">PPB_Instance</a> <a class="el" href="group___interfaces.html#gaf2ed3cc24968d8681b52cf70eae066ca">PPB_Instance</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gad245b3100fef75b215d6ba60cccd626e"></a><!-- doxytag: member="ppb_input_event.h::PPB_KeyboardInputEvent" ref="gad245b3100fef75b215d6ba60cccd626e" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___keyboard_input_event__1__0.html">PPB_KeyboardInputEvent</a> <a class="el" href="group___interfaces.html#gad245b3100fef75b215d6ba60cccd626e">PPB_KeyboardInputEvent</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gae3eb3482b0fb57fb6a4eb05c07908788"></a><!-- doxytag: member="ppb_message_loop.h::PPB_MessageLoop" ref="gae3eb3482b0fb57fb6a4eb05c07908788" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___message_loop__1__0.html">PPB_MessageLoop</a> <a class="el" href="group___interfaces.html#gae3eb3482b0fb57fb6a4eb05c07908788">PPB_MessageLoop</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gac53fe3a3b5941f8b3608349f58ee24f0"></a><!-- doxytag: member="ppb_messaging.h::PPB_Messaging" ref="gac53fe3a3b5941f8b3608349f58ee24f0" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___messaging__1__0.html">PPB_Messaging</a> <a class="el" href="group___interfaces.html#gac53fe3a3b5941f8b3608349f58ee24f0">PPB_Messaging</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gae583d9ea6381e1e4cb7b462c35c5d1de"></a><!-- doxytag: member="ppb_mouse_cursor.h::PPB_MouseCursor" ref="gae583d9ea6381e1e4cb7b462c35c5d1de" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___mouse_cursor__1__0.html">PPB_MouseCursor</a> <a class="el" href="group___interfaces.html#gae583d9ea6381e1e4cb7b462c35c5d1de">PPB_MouseCursor</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga3fcedb0e992eebaf7d9b1b60aacceafc"></a><!-- doxytag: member="ppb_input_event.h::PPB_MouseInputEvent" ref="ga3fcedb0e992eebaf7d9b1b60aacceafc" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___mouse_input_event__1__1.html">PPB_MouseInputEvent</a> <a class="el" href="group___interfaces.html#ga3fcedb0e992eebaf7d9b1b60aacceafc">PPB_MouseInputEvent</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga9d5fa32b9c90b100400161025fda2617"></a><!-- doxytag: member="ppb_mouse_lock.h::PPB_MouseLock" ref="ga9d5fa32b9c90b100400161025fda2617" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___mouse_lock__1__0.html">PPB_MouseLock</a> <a class="el" href="group___interfaces.html#ga9d5fa32b9c90b100400161025fda2617">PPB_MouseLock</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gad6c325ff5a0a74f318a680971d0a7c52"></a><!-- doxytag: member="ppb_net_address.h::PPB_NetAddress" ref="gad6c325ff5a0a74f318a680971d0a7c52" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___net_address__1__0.html">PPB_NetAddress</a> <a class="el" href="group___interfaces.html#gad6c325ff5a0a74f318a680971d0a7c52">PPB_NetAddress</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga675af1709086b2a750d28da442c41f8a"></a><!-- doxytag: member="ppb_network_list.h::PPB_NetworkList" ref="ga675af1709086b2a750d28da442c41f8a" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___network_list__1__0.html">PPB_NetworkList</a> <a class="el" href="group___interfaces.html#ga675af1709086b2a750d28da442c41f8a">PPB_NetworkList</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga873d8c5cd49f7b3c8ad5b4caabd1e8e6"></a><!-- doxytag: member="ppb_network_monitor.h::PPB_NetworkMonitor" ref="ga873d8c5cd49f7b3c8ad5b4caabd1e8e6" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___network_monitor__1__0.html">PPB_NetworkMonitor</a> <a class="el" href="group___interfaces.html#ga873d8c5cd49f7b3c8ad5b4caabd1e8e6">PPB_NetworkMonitor</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gaf8338a682417267c8525446ef1de85b1"></a><!-- doxytag: member="ppb_network_proxy.h::PPB_NetworkProxy" ref="gaf8338a682417267c8525446ef1de85b1" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___network_proxy__1__0.html">PPB_NetworkProxy</a> <a class="el" href="group___interfaces.html#gaf8338a682417267c8525446ef1de85b1">PPB_NetworkProxy</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga0f72e14a6cf9631bd733ded1f8ba4d9f"></a><!-- doxytag: member="ppb_tcp_socket.h::PPB_TCPSocket" ref="ga0f72e14a6cf9631bd733ded1f8ba4d9f" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html">PPB_TCPSocket</a> <a class="el" href="group___interfaces.html#ga0f72e14a6cf9631bd733ded1f8ba4d9f">PPB_TCPSocket</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gab387085f6044f3a0b1631d119d22a942"></a><!-- doxytag: member="ppb_text_input_controller.h::PPB_TextInputController" ref="gab387085f6044f3a0b1631d119d22a942" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___text_input_controller__1__0.html">PPB_TextInputController</a> <a class="el" href="group___interfaces.html#gab387085f6044f3a0b1631d119d22a942">PPB_TextInputController</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga3d25b1582fc1e6b94f53ecfb21422d6c"></a><!-- doxytag: member="ppb_input_event.h::PPB_TouchInputEvent" ref="ga3d25b1582fc1e6b94f53ecfb21422d6c" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___touch_input_event__1__0.html">PPB_TouchInputEvent</a> <a class="el" href="group___interfaces.html#ga3d25b1582fc1e6b94f53ecfb21422d6c">PPB_TouchInputEvent</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gaf04d893ccf01c5d1cfcadee5fcc869d1"></a><!-- doxytag: member="ppb_udp_socket.h::PPB_UDPSocket" ref="gaf04d893ccf01c5d1cfcadee5fcc869d1" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html">PPB_UDPSocket</a> <a class="el" href="group___interfaces.html#gaf04d893ccf01c5d1cfcadee5fcc869d1">PPB_UDPSocket</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga307f562a9e41991de7c80b75cd7f379c"></a><!-- doxytag: member="ppb_url_loader.h::PPB_URLLoader" ref="ga307f562a9e41991de7c80b75cd7f379c" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html">PPB_URLLoader</a> <a class="el" href="group___interfaces.html#ga307f562a9e41991de7c80b75cd7f379c">PPB_URLLoader</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gad60387934d9e235d3d145ee5a1fb4e74"></a><!-- doxytag: member="ppb_url_request_info.h::PPB_URLRequestInfo" ref="gad60387934d9e235d3d145ee5a1fb4e74" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html">PPB_URLRequestInfo</a> <a class="el" href="group___interfaces.html#gad60387934d9e235d3d145ee5a1fb4e74">PPB_URLRequestInfo</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gad63e57584aea115126b6922b141cf745"></a><!-- doxytag: member="ppb_url_response_info.h::PPB_URLResponseInfo" ref="gad63e57584aea115126b6922b141cf745" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___u_r_l_response_info__1__0.html">PPB_URLResponseInfo</a> <a class="el" href="group___interfaces.html#gad63e57584aea115126b6922b141cf745">PPB_URLResponseInfo</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga7363a88a6e5058841915641c1b2923ad"></a><!-- doxytag: member="ppb_var.h::PPB_Var" ref="ga7363a88a6e5058841915641c1b2923ad" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___var__1__1.html">PPB_Var</a> <a class="el" href="group___interfaces.html#ga7363a88a6e5058841915641c1b2923ad">PPB_Var</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gaad75327f1ecc75e58c2805fc4740d3c6"></a><!-- doxytag: member="ppb_var_array.h::PPB_VarArray" ref="gaad75327f1ecc75e58c2805fc4740d3c6" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___var_array__1__0.html">PPB_VarArray</a> <a class="el" href="group___interfaces.html#gaad75327f1ecc75e58c2805fc4740d3c6">PPB_VarArray</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gab26d5bb032f5438d02faf5bdf7b208cb"></a><!-- doxytag: member="ppb_var_array_buffer.h::PPB_VarArrayBuffer" ref="gab26d5bb032f5438d02faf5bdf7b208cb" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___var_array_buffer__1__0.html">PPB_VarArrayBuffer</a> <a class="el" href="group___interfaces.html#gab26d5bb032f5438d02faf5bdf7b208cb">PPB_VarArrayBuffer</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga69826004b5c32232c9639090f3e1db2e"></a><!-- doxytag: member="ppb_var_dictionary.h::PPB_VarDictionary" ref="ga69826004b5c32232c9639090f3e1db2e" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___var_dictionary__1__0.html">PPB_VarDictionary</a> <a class="el" href="group___interfaces.html#ga69826004b5c32232c9639090f3e1db2e">PPB_VarDictionary</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gaccc39c5c499011d13be37e23868a04f3"></a><!-- doxytag: member="ppb_view.h::PPB_View" ref="gaccc39c5c499011d13be37e23868a04f3" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___view__1__1.html">PPB_View</a> <a class="el" href="group___interfaces.html#gaccc39c5c499011d13be37e23868a04f3">PPB_View</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gad0e152d14cefb0b480228f3fc7070faf"></a><!-- doxytag: member="ppb_websocket.h::PPB_WebSocket" ref="gad0e152d14cefb0b480228f3fc7070faf" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___web_socket__1__0.html">PPB_WebSocket</a> <a class="el" href="group___interfaces.html#gad0e152d14cefb0b480228f3fc7070faf">PPB_WebSocket</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gaaefb7f24240d14faa56dfdba8c116889"></a><!-- doxytag: member="ppb_input_event.h::PPB_WheelInputEvent" ref="gaaefb7f24240d14faa56dfdba8c116889" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___wheel_input_event__1__0.html">PPB_WheelInputEvent</a> <a class="el" href="group___interfaces.html#gaaefb7f24240d14faa56dfdba8c116889">PPB_WheelInputEvent</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gab9b763d2ae6ef08a8f18069728f418eb"></a><!-- doxytag: member="ppp_graphics_3d.h::PPP_Graphics3D" ref="gab9b763d2ae6ef08a8f18069728f418eb" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_p___graphics3_d__1__0.html">PPP_Graphics3D</a> <a class="el" href="group___interfaces.html#gab9b763d2ae6ef08a8f18069728f418eb">PPP_Graphics3D</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga9c2577b1c089f77e1e467d74bd97a940"></a><!-- doxytag: member="ppp_input_event.h::PPP_InputEvent" ref="ga9c2577b1c089f77e1e467d74bd97a940" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_p___input_event__0__1.html">PPP_InputEvent</a> <a class="el" href="group___interfaces.html#ga9c2577b1c089f77e1e467d74bd97a940">PPP_InputEvent</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga3397638d116e4171368bf18fcb91ef11"></a><!-- doxytag: member="ppp_instance.h::PPP_Instance" ref="ga3397638d116e4171368bf18fcb91ef11" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_p___instance__1__1.html">PPP_Instance</a> <a class="el" href="group___interfaces.html#ga3397638d116e4171368bf18fcb91ef11">PPP_Instance</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga1b4374f30360ab34679a159083db7e4d"></a><!-- doxytag: member="ppp_messaging.h::PPP_Messaging" ref="ga1b4374f30360ab34679a159083db7e4d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_p___messaging__1__0.html">PPP_Messaging</a> <a class="el" href="group___interfaces.html#ga1b4374f30360ab34679a159083db7e4d">PPP_Messaging</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gae600e8f5b6005b02378e6eb9f51b11cb"></a><!-- doxytag: member="ppp_mouse_lock.h::PPP_MouseLock" ref="gae600e8f5b6005b02378e6eb9f51b11cb" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_p___mouse_lock__1__0.html">PPP_MouseLock</a> <a class="el" href="group___interfaces.html#gae600e8f5b6005b02378e6eb9f51b11cb">PPP_MouseLock</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/group___structs.html b/native_client_sdk/doc_generated/pepper_dev/c/group___structs.html
new file mode 100644
index 0000000..27bff716a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/group___structs.html
@@ -0,0 +1,292 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Structs</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+</div>
+<!--header-->
+<div class="contents">
+<h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___array_output.html">PP_ArrayOutput</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A structure that defines a way for the browser to return arrays of data to the plugin. <a href="struct_p_p___array_output.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> is a common mechanism for supporting potentially asynchronous calls in browser interfaces. <a href="struct_p_p___completion_callback.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___directory_entry.html">PP_DirectoryEntry</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___file_info.html">PP_FileInfo</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="struct_p_p___file_info.html" title="The PP_FileInfo struct represents all information about a file, such as size, type, and creation time.">PP_FileInfo</a></code> struct represents all information about a file, such as size, type, and creation time. <a href="struct_p_p___file_info.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___key.html">PP_InputEvent_Key</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="struct_p_p___input_event___key.html" title="The PP_InputEvent_Key struct represents a key up or key down event.">PP_InputEvent_Key</a></code> struct represents a key up or key down event. <a href="struct_p_p___input_event___key.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___character.html">PP_InputEvent_Character</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="struct_p_p___input_event___character.html" title="The PP_InputEvent_Character struct represents a typed character event.">PP_InputEvent_Character</a></code> struct represents a typed character event. <a href="struct_p_p___input_event___character.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___mouse.html">PP_InputEvent_Mouse</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="struct_p_p___input_event___mouse.html" title="The PP_InputEvent_Mouse struct represents all mouse events except mouse wheel events.">PP_InputEvent_Mouse</a></code> struct represents all mouse events except mouse wheel events. <a href="struct_p_p___input_event___mouse.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___wheel.html">PP_InputEvent_Wheel</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="struct_p_p___input_event___wheel.html" title="The PP_InputEvent_Wheel struct represents all mouse wheel events.">PP_InputEvent_Wheel</a></code> struct represents all mouse wheel events. <a href="struct_p_p___input_event___wheel.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___point.html">PP_Point</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="struct_p_p___point.html" title="The PP_Point structure defines the integer x and y coordinates of a point.">PP_Point</a> structure defines the integer x and y coordinates of a point. <a href="struct_p_p___point.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___float_point.html">PP_FloatPoint</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="struct_p_p___float_point.html" title="The PP_FloatPoint structure defines the floating-point x and y coordinates of a point.">PP_FloatPoint</a> structure defines the floating-point x and y coordinates of a point. <a href="struct_p_p___float_point.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___rect.html">PP_Rect</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="struct_p_p___rect.html" title="The PP_Rect struct contains the size and location of a 2D rectangle.">PP_Rect</a></code> struct contains the size and location of a 2D rectangle. <a href="struct_p_p___rect.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___size.html">PP_Size</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="struct_p_p___size.html" title="The PP_Size struct contains the size of a 2D rectangle.">PP_Size</a></code> struct contains the size of a 2D rectangle. <a href="struct_p_p___size.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___touch_point.html">PP_TouchPoint</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="struct_p_p___touch_point.html" title="The PP_TouchPoint struct represents all information about a single touch point, such as position...">PP_TouchPoint</a></code> struct represents all information about a single touch point, such as position, id, rotation angle, and pressure. <a href="struct_p_p___touch_point.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">union  </td><td class="memItemRight" valign="bottom"><a class="el" href="union_p_p___var_value.html">PP_VarValue</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="union_p_p___var_value.html" title="The PP_VarValue union stores the data for any one of the types listed in the PP_VarType enum...">PP_VarValue</a> union stores the data for any one of the types listed in the PP_VarType enum. <a href="union_p_p___var_value.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___var.html">PP_Var</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PP_VAR</code> struct is a variant data type and can contain any value of one of the types named in the <code>PP_VarType</code> enum. <a href="struct_p_p___var.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___gamepad_sample_data.html">PP_GamepadSampleData</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The data for one gamepad device. <a href="struct_p_p___gamepad_sample_data.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___gamepads_sample_data.html">PP_GamepadsSampleData</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The data for all gamepads connected to the system. <a href="struct_p_p___gamepads_sample_data.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___host_resolver___hint.html">PP_HostResolver_Hint</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><code><a class="el" href="struct_p_p___host_resolver___hint.html" title="PP_HostResolver_Hint represents hints for host resolution.">PP_HostResolver_Hint</a></code> represents hints for host resolution. <a href="struct_p_p___host_resolver___hint.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___image_data_desc.html">PP_ImageDataDesc</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="struct_p_p___image_data_desc.html" title="The PP_ImageDataDesc structure represents a description of image data.">PP_ImageDataDesc</a></code> structure represents a description of image data. <a href="struct_p_p___image_data_desc.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___net_address___i_pv4.html">PP_NetAddress_IPv4</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">All members are expressed in network byte order. <a href="struct_p_p___net_address___i_pv4.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___net_address___i_pv6.html">PP_NetAddress_IPv6</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">All members are expressed in network byte order. <a href="struct_p_p___net_address___i_pv6.html#details">More...</a><br /></td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#gad0a3a59c8cb2fb74717c8d23a5d56295">PP_DirectoryEntry</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#gad224cb61c5859f6655b274eff7328664">PP_FileInfo</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga91c5483306ded19bced2063169de99f8">PP_InputEvent_Key</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga6d1b875e2ae53ba8ee90e10505df6b7e">PP_InputEvent_Character</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga26c37abe55715f606e0a2c91867d051c">PP_InputEvent_Mouse</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga3fe74ccc6894bb133b39df77f96322cf">PP_InputEvent_Wheel</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga501da0561777e3fef2c08aa9b7400cc0">PP_Point</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga2bfb71399c8dac2aba417b75459100bd">PP_FloatPoint</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#gaa91d0179e9f1f1bd3b6f3415f75c9ff1">PP_Rect</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#gafd4a54f9a36c0825eef612e150b50421">PP_Size</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#gafa28da9c7da0da3d7c5cdd57b4485436">PP_TouchPoint</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga7c0f59e0d0c137b8390435582dc8e54d">PP_Var</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga525d88c6ef789fe645908c30bae38e7c">PP_GamepadSampleData</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#gacc3e9ccca109cc93c2fbeea317b7b004">PP_GamepadsSampleData</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga6e27cf6541423cdee5fc2cf5b2d67853">PP_HostResolver_Hint</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#gae0f2df62c9fe8b622336fa44ad897470">PP_ImageDataDesc</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga34eaf167d3bf1a00281de167719ca604">PP_NetAddress_IPv4</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga1301bb0d95a4b2e8907002b3bdc8f6d9">PP_NetAddress_IPv6</a></td></tr>
+</table>
+<hr /><h2>Variable Documentation</h2>
+<a class="anchor" id="gad0a3a59c8cb2fb74717c8d23a5d56295"></a><!-- doxytag: member="pp_directory_entry.h::PP_DirectoryEntry" ref="gad0a3a59c8cb2fb74717c8d23a5d56295" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="struct_p_p___directory_entry.html">PP_DirectoryEntry</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gad224cb61c5859f6655b274eff7328664"></a><!-- doxytag: member="pp_file_info.h::PP_FileInfo" ref="gad224cb61c5859f6655b274eff7328664" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="struct_p_p___file_info.html">PP_FileInfo</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga2bfb71399c8dac2aba417b75459100bd"></a><!-- doxytag: member="pp_point.h::PP_FloatPoint" ref="ga2bfb71399c8dac2aba417b75459100bd" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="struct_p_p___float_point.html">PP_FloatPoint</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga525d88c6ef789fe645908c30bae38e7c"></a><!-- doxytag: member="ppb_gamepad.h::PP_GamepadSampleData" ref="ga525d88c6ef789fe645908c30bae38e7c" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="struct_p_p___gamepad_sample_data.html">PP_GamepadSampleData</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gacc3e9ccca109cc93c2fbeea317b7b004"></a><!-- doxytag: member="ppb_gamepad.h::PP_GamepadsSampleData" ref="gacc3e9ccca109cc93c2fbeea317b7b004" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="struct_p_p___gamepads_sample_data.html">PP_GamepadsSampleData</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga6e27cf6541423cdee5fc2cf5b2d67853"></a><!-- doxytag: member="ppb_host_resolver.h::PP_HostResolver_Hint" ref="ga6e27cf6541423cdee5fc2cf5b2d67853" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="struct_p_p___host_resolver___hint.html">PP_HostResolver_Hint</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gae0f2df62c9fe8b622336fa44ad897470"></a><!-- doxytag: member="ppb_image_data.h::PP_ImageDataDesc" ref="gae0f2df62c9fe8b622336fa44ad897470" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="struct_p_p___image_data_desc.html">PP_ImageDataDesc</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga6d1b875e2ae53ba8ee90e10505df6b7e"></a><!-- doxytag: member="pp_input_event.h::PP_InputEvent_Character" ref="ga6d1b875e2ae53ba8ee90e10505df6b7e" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="struct_p_p___input_event___character.html">PP_InputEvent_Character</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga91c5483306ded19bced2063169de99f8"></a><!-- doxytag: member="pp_input_event.h::PP_InputEvent_Key" ref="ga91c5483306ded19bced2063169de99f8" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="struct_p_p___input_event___key.html">PP_InputEvent_Key</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga26c37abe55715f606e0a2c91867d051c"></a><!-- doxytag: member="pp_input_event.h::PP_InputEvent_Mouse" ref="ga26c37abe55715f606e0a2c91867d051c" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="struct_p_p___input_event___mouse.html">PP_InputEvent_Mouse</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga3fe74ccc6894bb133b39df77f96322cf"></a><!-- doxytag: member="pp_input_event.h::PP_InputEvent_Wheel" ref="ga3fe74ccc6894bb133b39df77f96322cf" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="struct_p_p___input_event___wheel.html">PP_InputEvent_Wheel</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga34eaf167d3bf1a00281de167719ca604"></a><!-- doxytag: member="ppb_net_address.h::PP_NetAddress_IPv4" ref="ga34eaf167d3bf1a00281de167719ca604" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="struct_p_p___net_address___i_pv4.html">PP_NetAddress_IPv4</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga1301bb0d95a4b2e8907002b3bdc8f6d9"></a><!-- doxytag: member="ppb_net_address.h::PP_NetAddress_IPv6" ref="ga1301bb0d95a4b2e8907002b3bdc8f6d9" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="struct_p_p___net_address___i_pv6.html">PP_NetAddress_IPv6</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga501da0561777e3fef2c08aa9b7400cc0"></a><!-- doxytag: member="pp_point.h::PP_Point" ref="ga501da0561777e3fef2c08aa9b7400cc0" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="struct_p_p___point.html">PP_Point</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gaa91d0179e9f1f1bd3b6f3415f75c9ff1"></a><!-- doxytag: member="pp_rect.h::PP_Rect" ref="gaa91d0179e9f1f1bd3b6f3415f75c9ff1" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="struct_p_p___rect.html">PP_Rect</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gafd4a54f9a36c0825eef612e150b50421"></a><!-- doxytag: member="pp_size.h::PP_Size" ref="gafd4a54f9a36c0825eef612e150b50421" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="struct_p_p___size.html">PP_Size</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gafa28da9c7da0da3d7c5cdd57b4485436"></a><!-- doxytag: member="pp_touch_point.h::PP_TouchPoint" ref="gafa28da9c7da0da3d7c5cdd57b4485436" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="struct_p_p___touch_point.html">PP_TouchPoint</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga7c0f59e0d0c137b8390435582dc8e54d"></a><!-- doxytag: member="pp_var.h::PP_Var" ref="ga7c0f59e0d0c137b8390435582dc8e54d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="struct_p_p___var.html">PP_Var</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/group___typedefs.html b/native_client_sdk/doc_generated/pepper_dev/c/group___typedefs.html
new file mode 100644
index 0000000..ce370bc2
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/group___typedefs.html
@@ -0,0 +1,223 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Typedefs</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+</div>
+<!--header-->
+<div class="contents">
+<h2>
+Typedefs</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">typedef void *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#gaa363de651fad7342a37ec58375276af7">PP_ArrayOutput_GetDataBuffer</a> )(void *user_data, uint32_t element_count, uint32_t element_size)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#ga6fe12e1a41df5e10103a811036d4d8d2">PP_CompletionCallback_Func</a> )(void *user_data, int32_t result)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#gab780dd451cd7f51284cb752edd88f9a0">PP_Module</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef double </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef double </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#ga71cb1042cdeb38d7881b121f3b09ce94">PP_TimeTicks</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef double </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#ga3962a5355895925a757f613567e422fa">PP_TimeDelta</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef const void *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#ga68ad7c927b86e0c29d890603edd33154">PPB_GetInterface</a> )(const char *interface_name)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#ga2ec91970f3cb75769ce631b3b732803e">PPB_Audio_Callback</a> )(void *sample_buffer, uint32_t buffer_size_in_bytes, <a class="el" href="group___typedefs.html#ga3962a5355895925a757f613567e422fa">PP_TimeDelta</a> latency, void *user_data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#gae33224cdac15cf8596127fe7b5f08325">PP_InitializeModule_Func</a> )(<a class="el" href="group___typedefs.html#gab780dd451cd7f51284cb752edd88f9a0">PP_Module</a> module, <a class="el" href="group___typedefs.html#ga68ad7c927b86e0c29d890603edd33154">PPB_GetInterface</a> get_browser_interface)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#gad2b49167bcbf6c2c895ffb1a61bc720c">PP_ShutdownModule_Func</a> )(void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef const void *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#ga893cfdc559fdf7ae3004816357c3d7e9">PP_GetInterface_Func</a> )(const char *interface_name)</td></tr>
+</table>
+<hr /><h2>Typedef Documentation</h2>
+<a class="anchor" id="gaa363de651fad7342a37ec58375276af7"></a><!-- doxytag: member="pp_array_output.h::PP_ArrayOutput_GetDataBuffer" ref="gaa363de651fad7342a37ec58375276af7" args=")(void *user_data, uint32_t element_count, uint32_t element_size)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef void*(* <a class="el" href="group___typedefs.html#gaa363de651fad7342a37ec58375276af7">PP_ArrayOutput_GetDataBuffer</a>)(void *user_data, uint32_t element_count, uint32_t element_size)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga6fe12e1a41df5e10103a811036d4d8d2"></a><!-- doxytag: member="pp_completion_callback.h::PP_CompletionCallback_Func" ref="ga6fe12e1a41df5e10103a811036d4d8d2" args=")(void *user_data, int32_t result)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef void(* <a class="el" href="group___typedefs.html#ga6fe12e1a41df5e10103a811036d4d8d2">PP_CompletionCallback_Func</a>)(void *user_data, int32_t result)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This typedef defines the signature that you implement to receive callbacks on asynchronous completion of an operation. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">user_data</td><td>A pointer to user data passed to a callback function. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">result</td><td>If result is 0 (PP_OK), the operation succeeded. Negative values (other than -1 or PP_OK_COMPLETE) indicate error and are specified in <a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a>. Positive values for result usually indicate success and have some operation-dependent meaning (such as bytes read). </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga893cfdc559fdf7ae3004816357c3d7e9"></a><!-- doxytag: member="ppp.h::PP_GetInterface_Func" ref="ga893cfdc559fdf7ae3004816357c3d7e9" args=")(const char *interface_name)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef const void*(* <a class="el" href="group___typedefs.html#ga893cfdc559fdf7ae3004816357c3d7e9">PP_GetInterface_Func</a>)(const char *interface_name)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Defines the type of the <code>PPP_ShutdownModule</code> function. </p>
+</div>
+</div>
+<a class="anchor" id="gae33224cdac15cf8596127fe7b5f08325"></a><!-- doxytag: member="ppp.h::PP_InitializeModule_Func" ref="gae33224cdac15cf8596127fe7b5f08325" args=")(PP_Module module, PPB_GetInterface get_browser_interface)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef int32_t(* <a class="el" href="group___typedefs.html#gae33224cdac15cf8596127fe7b5f08325">PP_InitializeModule_Func</a>)(<a class="el" href="group___typedefs.html#gab780dd451cd7f51284cb752edd88f9a0">PP_Module</a> module, <a class="el" href="group___typedefs.html#ga68ad7c927b86e0c29d890603edd33154">PPB_GetInterface</a> get_browser_interface)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Defines the type of the <code>PPP_InitializeModule</code> function. </p>
+</div>
+</div>
+<a class="anchor" id="ga89b662403e6a687bb914b80114c0d19d"></a><!-- doxytag: member="pp_instance.h::PP_Instance" ref="ga89b662403e6a687bb914b80114c0d19d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <code>PP_Instance</code> value uniquely identifies one instance of a module (.nexe/PP_Module). </p>
+<p>There will be one module instance for every <embed> tag on a page.</p>
+<p>This identifier is an opaque handle assigned by the browser to the module. It is guaranteed never to be 0, so a module can initialize it to 0 to indicate a "NULL handle." </p>
+</div>
+</div>
+<a class="anchor" id="gab780dd451cd7f51284cb752edd88f9a0"></a><!-- doxytag: member="pp_module.h::PP_Module" ref="gab780dd451cd7f51284cb752edd88f9a0" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gab780dd451cd7f51284cb752edd88f9a0">PP_Module</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The PP_Module value uniquely identifies the module or .nexe. </p>
+<p>This identifier is an opaque handle assigned by the browser to the module. It is guaranteed never to be 0, so a module can initialize it to 0 to indicate a "NULL handle." </p>
+</div>
+</div>
+<a class="anchor" id="gafdc3895ee80f4750d0d95ae1b677e9b7"></a><!-- doxytag: member="pp_resource.h::PP_Resource" ref="gafdc3895ee80f4750d0d95ae1b677e9b7" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This typedef represents an opaque handle assigned by the browser to the resource. </p>
+<p>The handle is guaranteed never to be 0 for a valid resource, so a module can initialize it to 0 to indicate a "NULL handle." Some interfaces may return a NULL resource to indicate failure.</p>
+<p>While a Var represents something callable to JS or from the module to the DOM, a resource has no meaning or visibility outside of the module interface.</p>
+<p>Resources are reference counted. Use <code>AddRefResource()</code> and <code>ReleaseResource()</code> in <code><a class="el" href="ppb__core_8h.html" title="This file defines the PPB_Core interface defined by the browser and containing pointers to functions ...">ppb_core.h</a></code> to manage the reference count of a resource. The data will be automatically destroyed when the internal reference count reaches 0. </p>
+</div>
+</div>
+<a class="anchor" id="gad2b49167bcbf6c2c895ffb1a61bc720c"></a><!-- doxytag: member="ppp.h::PP_ShutdownModule_Func" ref="gad2b49167bcbf6c2c895ffb1a61bc720c" args=")(void)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef void(* <a class="el" href="group___typedefs.html#gad2b49167bcbf6c2c895ffb1a61bc720c">PP_ShutdownModule_Func</a>)(void)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Defines the type of the <code>PPP_ShutdownModule</code> function. </p>
+</div>
+</div>
+<a class="anchor" id="ga537b277d2116e42b6acfe9323d40e1a0"></a><!-- doxytag: member="pp_time.h::PP_Time" ref="ga537b277d2116e42b6acfe9323d40e1a0" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <code>PP_Time</code> type represents the "wall clock time" according to the browser and is defined as the number of seconds since the Epoch (00:00:00 UTC, January 1, 1970). </p>
+</div>
+</div>
+<a class="anchor" id="ga3962a5355895925a757f613567e422fa"></a><!-- doxytag: member="pp_time.h::PP_TimeDelta" ref="ga3962a5355895925a757f613567e422fa" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#ga3962a5355895925a757f613567e422fa">PP_TimeDelta</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A <code>PP_TimeDelta</code> value represents a duration of time which is measured in seconds. </p>
+</div>
+</div>
+<a class="anchor" id="ga71cb1042cdeb38d7881b121f3b09ce94"></a><!-- doxytag: member="pp_time.h::PP_TimeTicks" ref="ga71cb1042cdeb38d7881b121f3b09ce94" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#ga71cb1042cdeb38d7881b121f3b09ce94">PP_TimeTicks</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A <code>PP_TimeTicks</code> value represents time ticks which are measured in seconds and are used for indicating the time that certain messages were received. </p>
+<p>In contrast to <code>PP_Time</code>, <code>PP_TimeTicks</code> does not correspond to any actual wall clock time and will not change discontinuously if the user changes their computer clock.</p>
+<p>The units are in seconds, but are not measured relative to any particular epoch, so the most you can do is compare two values. </p>
+</div>
+</div>
+<a class="anchor" id="ga2ec91970f3cb75769ce631b3b732803e"></a><!-- doxytag: member="ppb_audio.h::PPB_Audio_Callback" ref="ga2ec91970f3cb75769ce631b3b732803e" args=")(void *sample_buffer, uint32_t buffer_size_in_bytes, PP_TimeDelta latency, void *user_data)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef void(* <a class="el" href="group___typedefs.html#ga2ec91970f3cb75769ce631b3b732803e">PPB_Audio_Callback</a>)(void *sample_buffer, uint32_t buffer_size_in_bytes, <a class="el" href="group___typedefs.html#ga3962a5355895925a757f613567e422fa">PP_TimeDelta</a> latency, void *user_data)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><code>PPB_Audio_Callback</code> defines the type of an audio callback function used to fill the audio buffer with data. </p>
+<p>Please see the Create() function in the <code>PPB_Audio</code> interface for more details on this callback.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">sample_buffer</td><td>A buffer to fill with audio data. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">buffer_size_in_bytes</td><td>The size of the buffer in bytes. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">latency</td><td>How long before the audio data is to be presented. </td></tr>
+<tr><td class="paramdir"></td><td class="paramname">inout]</td><td>user_data An opaque pointer that was passed into <code><a class="el" href="struct_p_p_b___audio__1__1.html#a9714ecad5eeefae9d5d98c5ea29ac5ce" title="Create() creates an audio resource.">PPB_Audio.Create()</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga68ad7c927b86e0c29d890603edd33154"></a><!-- doxytag: member="ppb.h::PPB_GetInterface" ref="ga68ad7c927b86e0c29d890603edd33154" args=")(const char *interface_name)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef const void*(* <a class="el" href="group___typedefs.html#ga68ad7c927b86e0c29d890603edd33154">PPB_GetInterface</a>)(const char *interface_name)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function pointer type defines the signature for the <code>PPB_GetInterface</code> function. </p>
+<p>A generic <code>PPB_GetInterface</code> pointer is passed to <code>PPP_InitializedModule</code> when your module is loaded. You can use this pointer to request a pointer to a specific browser interface. Browser interface names are ASCII strings and are generally defined in the header file for the interface, such as <code>PPB_AUDIO_INTERFACE</code> found in <code>ppb.audio.h</code> or <code>PPB_GRAPHICS_2D_INTERFACE</code> in <code><a class="el" href="ppb__graphics__2d_8h.html" title="Defines the PPB_Graphics2D struct representing a 2D graphics context within the browser.">ppb_graphics_2d.h</a></code>. Click <a href="/native-client/{{pepperversion}}/pepperc/globals_defs" title="macros">here</a> for a complete list of interface names.</p>
+<p>This value will be NULL if the interface is not supported on the browser. </p>
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/index.html b/native_client_sdk/doc_generated/pepper_dev/c/index.html
new file mode 100644
index 0000000..0bf2ff0
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/index.html
@@ -0,0 +1,169 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<span class="target" id="pepper-dev-c-index"></span><section id="pepper-c-api-reference-dev">
+<h1 id="pepper-c-api-reference-dev">Pepper C API Reference (Dev)</h1>
+<p>This page lists the C API for Pepper 34. Apps that use this API can
+run in Chrome 34 or higher.</p>
+<section id="id1">
+<h2 id="id1"><a class="reference external" href="group___interfaces.html">Interfaces</a></h2>
+<blockquote>
+<div><ul class="small-gap">
+<li><a class="reference external" href="struct_p_p_b___audio__1__1.html">PPB_Audio</a></li>
+<li><a class="reference external" href="struct_p_p_b___audio_config__1__1.html">PPB_AudioConfig</a></li>
+<li><a class="reference external" href="struct_p_p_b___audio_frame__0__1.html">PPB_AudioFrame</a></li>
+<li><a class="reference external" href="struct_p_p_b___console__1__0.html">PPB_Console</a></li>
+<li><a class="reference external" href="struct_p_p_b___core__1__0.html">PPB_Core</a></li>
+<li><a class="reference external" href="struct_p_p_b___file_i_o__1__1.html">PPB_FileIO</a></li>
+<li><a class="reference external" href="struct_p_p_b___file_ref__1__2.html">PPB_FileRef</a></li>
+<li><a class="reference external" href="struct_p_p_b___file_system__1__0.html">PPB_FileSystem</a></li>
+<li><a class="reference external" href="struct_p_p_b___fullscreen__1__0.html">PPB_Fullscreen</a></li>
+<li><a class="reference external" href="struct_p_p_b___gamepad__1__0.html">PPB_Gamepad</a></li>
+<li><a class="reference external" href="struct_p_p_b___graphics2_d__1__1.html">PPB_Graphics2D</a></li>
+<li><a class="reference external" href="struct_p_p_b___graphics3_d__1__0.html">PPB_Graphics3D</a></li>
+<li><a class="reference external" href="struct_p_p_b___host_resolver__1__0.html">PPB_HostResolver</a></li>
+<li><a class="reference external" href="struct_p_p_b___i_m_e_input_event__1__0.html">PPB_IMEInputEvent</a></li>
+<li><a class="reference external" href="struct_p_p_b___image_data__1__0.html">PPB_ImageData</a></li>
+<li><a class="reference external" href="struct_p_p_b___input_event__1__0.html">PPB_InputEvent</a></li>
+<li><a class="reference external" href="struct_p_p_b___instance__1__0.html">PPB_Instance</a></li>
+<li><a class="reference external" href="struct_p_p_b___keyboard_input_event__1__0.html">PPB_KeyboardInputEvent</a></li>
+<li><a class="reference external" href="struct_p_p_b___media_stream_audio_track__0__1.html">PPB_MediaStreamAudioTrack</a></li>
+<li><a class="reference external" href="struct_p_p_b___media_stream_video_track__0__1.html">PPB_MediaStreamVideoTrack</a></li>
+<li><a class="reference external" href="struct_p_p_b___message_loop__1__0.html">PPB_MessageLoop</a></li>
+<li><a class="reference external" href="struct_p_p_b___messaging__1__0.html">PPB_Messaging</a></li>
+<li><a class="reference external" href="struct_p_p_b___mouse_cursor__1__0.html">PPB_MouseCursor</a></li>
+<li><a class="reference external" href="struct_p_p_b___mouse_input_event__1__1.html">PPB_MouseInputEvent</a></li>
+<li><a class="reference external" href="struct_p_p_b___mouse_lock__1__0.html">PPB_MouseLock</a></li>
+<li><a class="reference external" href="struct_p_p_b___net_address__1__0.html">PPB_NetAddress</a></li>
+<li><a class="reference external" href="struct_p_p_b___network_list__1__0.html">PPB_NetworkList</a></li>
+<li><a class="reference external" href="struct_p_p_b___network_monitor__1__0.html">PPB_NetworkMonitor</a></li>
+<li><a class="reference external" href="struct_p_p_b___network_proxy__1__0.html">PPB_NetworkProxy</a></li>
+<li><a class="reference external" href="struct_p_p_b___t_c_p_socket__1__1.html">PPB_TCPSocket</a></li>
+<li><a class="reference external" href="struct_p_p_b___text_input_controller__1__0.html">PPB_TextInputController</a></li>
+<li><a class="reference external" href="struct_p_p_b___touch_input_event__1__0.html">PPB_TouchInputEvent</a></li>
+<li><a class="reference external" href="struct_p_p_b___u_d_p_socket__1__0.html">PPB_UDPSocket</a></li>
+<li><a class="reference external" href="struct_p_p_b___u_r_l_loader__1__0.html">PPB_URLLoader</a></li>
+<li><a class="reference external" href="struct_p_p_b___u_r_l_request_info__1__0.html">PPB_URLRequestInfo</a></li>
+<li><a class="reference external" href="struct_p_p_b___u_r_l_response_info__1__0.html">PPB_URLResponseInfo</a></li>
+<li><a class="reference external" href="struct_p_p_b___var__1__1.html">PPB_Var</a></li>
+<li><a class="reference external" href="struct_p_p_b___var_array__1__0.html">PPB_VarArray</a></li>
+<li><a class="reference external" href="struct_p_p_b___var_array_buffer__1__0.html">PPB_VarArrayBuffer</a></li>
+<li><a class="reference external" href="struct_p_p_b___var_dictionary__1__0.html">PPB_VarDictionary</a></li>
+<li><a class="reference external" href="struct_p_p_b___video_frame__0__1.html">PPB_VideoFrame</a></li>
+<li><a class="reference external" href="struct_p_p_b___view__1__1.html">PPB_View</a></li>
+<li><a class="reference external" href="struct_p_p_b___web_socket__1__0.html">PPB_WebSocket</a></li>
+<li><a class="reference external" href="struct_p_p_b___wheel_input_event__1__0.html">PPB_WheelInputEvent</a></li>
+<li><a class="reference external" href="struct_p_p_p___graphics3_d__1__0.html">PPP_Graphics3D</a></li>
+<li><a class="reference external" href="struct_p_p_p___input_event__0__1.html">PPP_InputEvent</a></li>
+<li><a class="reference external" href="struct_p_p_p___instance__1__1.html">PPP_Instance</a></li>
+<li><a class="reference external" href="struct_p_p_p___messaging__1__0.html">PPP_Messaging</a></li>
+<li><a class="reference external" href="struct_p_p_p___mouse_lock__1__0.html">PPP_MouseLock</a></li>
+</ul>
+</div></blockquote>
+</section><section id="id2">
+<h2 id="id2"><a class="reference external" href="group___structs.html">Structures</a></h2>
+<blockquote>
+<div><ul class="small-gap">
+<li><a class="reference external" href="struct_p_p___array_output.html">PP_ArrayOutput</a></li>
+<li><a class="reference external" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a></li>
+<li><a class="reference external" href="struct_p_p___directory_entry.html">PP_DirectoryEntry</a></li>
+<li><a class="reference external" href="struct_p_p___file_info.html">PP_FileInfo</a></li>
+<li><a class="reference external" href="struct_p_p___float_point.html">PP_FloatPoint</a></li>
+<li><a class="reference external" href="struct_p_p___gamepad_sample_data.html">PP_GamepadSampleData</a></li>
+<li><a class="reference external" href="struct_p_p___gamepads_sample_data.html">PP_GamepadsSampleData</a></li>
+<li><a class="reference external" href="struct_p_p___host_resolver___hint.html">PP_HostResolver_Hint</a></li>
+<li><a class="reference external" href="struct_p_p___image_data_desc.html">PP_ImageDataDesc</a></li>
+<li><a class="reference external" href="struct_p_p___input_event___character.html">PP_InputEvent_Character</a></li>
+<li><a class="reference external" href="struct_p_p___input_event___key.html">PP_InputEvent_Key</a></li>
+<li><a class="reference external" href="struct_p_p___input_event___mouse.html">PP_InputEvent_Mouse</a></li>
+<li><a class="reference external" href="struct_p_p___input_event___wheel.html">PP_InputEvent_Wheel</a></li>
+<li><a class="reference external" href="struct_p_p___net_address___i_pv4.html">PP_NetAddress_IPv4</a></li>
+<li><a class="reference external" href="struct_p_p___net_address___i_pv6.html">PP_NetAddress_IPv6</a></li>
+<li><a class="reference external" href="struct_p_p___point.html">PP_Point</a></li>
+<li><a class="reference external" href="struct_p_p___rect.html">PP_Rect</a></li>
+<li><a class="reference external" href="struct_p_p___size.html">PP_Size</a></li>
+<li><a class="reference external" href="struct_p_p___touch_point.html">PP_TouchPoint</a></li>
+<li><a class="reference external" href="struct_p_p___var.html">PP_Var</a></li>
+<li><a class="reference external" href="union_p_p___var_value.html">PP_VarValue</a></li>
+</ul>
+</div></blockquote>
+</section><section id="id3">
+<h2 id="id3"><a class="reference external" href="group___functions.html">Functions</a></h2>
+</section><section id="id4">
+<h2 id="id4"><a class="reference external" href="group___enums.html">Enums</a></h2>
+</section><section id="id5">
+<h2 id="id5"><a class="reference external" href="group___typedefs.html">Typedefs</a></h2>
+</section><section id="id6">
+<h2 id="id6"><a class="reference external" href="globals_defs.html">Macros</a></h2>
+</section><section id="files">
+<h2 id="files">Files</h2>
+<blockquote>
+<div><ul class="small-gap">
+<li><a class="reference external" href="pp__array__output_8h.html">pp_array_output.h</a></li>
+<li><a class="reference external" href="pp__bool_8h.html">pp_bool.h</a></li>
+<li><a class="reference external" href="pp__completion__callback_8h.html">pp_completion_callback.h</a></li>
+<li><a class="reference external" href="pp__directory__entry_8h.html">pp_directory_entry.h</a></li>
+<li><a class="reference external" href="pp__errors_8h.html">pp_errors.h</a></li>
+<li><a class="reference external" href="pp__file__info_8h.html">pp_file_info.h</a></li>
+<li><a class="reference external" href="pp__graphics__3d_8h.html">pp_graphics_3d.h</a></li>
+<li><a class="reference external" href="pp__input__event_8h.html">pp_input_event.h</a></li>
+<li><a class="reference external" href="pp__instance_8h.html">pp_instance.h</a></li>
+<li><a class="reference external" href="pp__module_8h.html">pp_module.h</a></li>
+<li><a class="reference external" href="pp__point_8h.html">pp_point.h</a></li>
+<li><a class="reference external" href="pp__rect_8h.html">pp_rect.h</a></li>
+<li><a class="reference external" href="pp__resource_8h.html">pp_resource.h</a></li>
+<li><a class="reference external" href="pp__size_8h.html">pp_size.h</a></li>
+<li><a class="reference external" href="pp__stdint_8h.html">pp_stdint.h</a></li>
+<li><a class="reference external" href="pp__time_8h.html">pp_time.h</a></li>
+<li><a class="reference external" href="pp__touch__point_8h.html">pp_touch_point.h</a></li>
+<li><a class="reference external" href="pp__var_8h.html">pp_var.h</a></li>
+<li><a class="reference external" href="ppb_8h.html">ppb.h</a></li>
+<li><a class="reference external" href="ppb__audio_8h.html">ppb_audio.h</a></li>
+<li><a class="reference external" href="ppb__audio__config_8h.html">ppb_audio_config.h</a></li>
+<li><a class="reference external" href="ppb__audio__frame_8h.html">ppb_audio_frame.h</a></li>
+<li><a class="reference external" href="ppb__console_8h.html">ppb_console.h</a></li>
+<li><a class="reference external" href="ppb__core_8h.html">ppb_core.h</a></li>
+<li><a class="reference external" href="ppb__file__io_8h.html">ppb_file_io.h</a></li>
+<li><a class="reference external" href="ppb__file__ref_8h.html">ppb_file_ref.h</a></li>
+<li><a class="reference external" href="ppb__file__system_8h.html">ppb_file_system.h</a></li>
+<li><a class="reference external" href="ppb__fullscreen_8h.html">ppb_fullscreen.h</a></li>
+<li><a class="reference external" href="ppb__gamepad_8h.html">ppb_gamepad.h</a></li>
+<li><a class="reference external" href="ppb__graphics__2d_8h.html">ppb_graphics_2d.h</a></li>
+<li><a class="reference external" href="ppb__graphics__3d_8h.html">ppb_graphics_3d.h</a></li>
+<li><a class="reference external" href="ppb__host__resolver_8h.html">ppb_host_resolver.h</a></li>
+<li><a class="reference external" href="ppb__image__data_8h.html">ppb_image_data.h</a></li>
+<li><a class="reference external" href="ppb__input__event_8h.html">ppb_input_event.h</a></li>
+<li><a class="reference external" href="ppb__instance_8h.html">ppb_instance.h</a></li>
+<li><a class="reference external" href="ppb__media__stream__audio__track_8h.html">ppb_media_stream_audio_track.h</a></li>
+<li><a class="reference external" href="ppb__media__stream__video__track_8h.html">ppb_media_stream_video_track.h</a></li>
+<li><a class="reference external" href="ppb__message__loop_8h.html">ppb_message_loop.h</a></li>
+<li><a class="reference external" href="ppb__messaging_8h.html">ppb_messaging.h</a></li>
+<li><a class="reference external" href="ppb__mouse__cursor_8h.html">ppb_mouse_cursor.h</a></li>
+<li><a class="reference external" href="ppb__mouse__lock_8h.html">ppb_mouse_lock.h</a></li>
+<li><a class="reference external" href="ppb__net__address_8h.html">ppb_net_address.h</a></li>
+<li><a class="reference external" href="ppb__network__list_8h.html">ppb_network_list.h</a></li>
+<li><a class="reference external" href="ppb__network__monitor_8h.html">ppb_network_monitor.h</a></li>
+<li><a class="reference external" href="ppb__network__proxy_8h.html">ppb_network_proxy.h</a></li>
+<li><a class="reference external" href="ppb__tcp__socket_8h.html">ppb_tcp_socket.h</a></li>
+<li><a class="reference external" href="ppb__text__input__controller_8h.html">ppb_text_input_controller.h</a></li>
+<li><a class="reference external" href="ppb__udp__socket_8h.html">ppb_udp_socket.h</a></li>
+<li><a class="reference external" href="ppb__url__loader_8h.html">ppb_url_loader.h</a></li>
+<li><a class="reference external" href="ppb__url__request__info_8h.html">ppb_url_request_info.h</a></li>
+<li><a class="reference external" href="ppb__url__response__info_8h.html">ppb_url_response_info.h</a></li>
+<li><a class="reference external" href="ppb__var_8h.html">ppb_var.h</a></li>
+<li><a class="reference external" href="ppb__var__array_8h.html">ppb_var_array.h</a></li>
+<li><a class="reference external" href="ppb__var__array__buffer_8h.html">ppb_var_array_buffer.h</a></li>
+<li><a class="reference external" href="ppb__var__dictionary_8h.html">ppb_var_dictionary.h</a></li>
+<li><a class="reference external" href="ppb__video__frame_8h.html">ppb_video_frame.h</a></li>
+<li><a class="reference external" href="ppb__view_8h.html">ppb_view.h</a></li>
+<li><a class="reference external" href="ppb__websocket_8h.html">ppb_websocket.h</a></li>
+<li><a class="reference external" href="ppp_8h.html">ppp.h</a></li>
+<li><a class="reference external" href="ppp__graphics__3d_8h.html">ppp_graphics_3d.h</a></li>
+<li><a class="reference external" href="ppp__input__event_8h.html">ppp_input_event.h</a></li>
+<li><a class="reference external" href="ppp__instance_8h.html">ppp_instance.h</a></li>
+<li><a class="reference external" href="ppp__messaging_8h.html">ppp_messaging.h</a></li>
+<li><a class="reference external" href="ppp__mouse__lock_8h.html">ppp_mouse_lock.h</a></li>
+</ul>
+</div></blockquote>
+</section></section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/index.rst b/native_client_sdk/doc_generated/pepper_dev/c/index.rst
new file mode 100644
index 0000000..afc8a6a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/index.rst
@@ -0,0 +1,299 @@
+.. _pepper_dev_c_index:
+
+.. DO NOT EDIT! This document is auto-generated by doxygen/rst_index.py.
+
+##########################################
+Pepper C API Reference (Dev)
+##########################################
+
+This page lists the C API for Pepper 34. Apps that use this API can
+run in Chrome 34 or higher.
+
+`Interfaces <group___interfaces.html>`_
+=======================================
+ * `PPB_Audio <struct_p_p_b___audio__1__1.html>`_
+
+ * `PPB_AudioConfig <struct_p_p_b___audio_config__1__1.html>`_
+
+ * `PPB_AudioFrame <struct_p_p_b___audio_frame__0__1.html>`_
+
+ * `PPB_Console <struct_p_p_b___console__1__0.html>`_
+
+ * `PPB_Core <struct_p_p_b___core__1__0.html>`_
+
+ * `PPB_FileIO <struct_p_p_b___file_i_o__1__1.html>`_
+
+ * `PPB_FileRef <struct_p_p_b___file_ref__1__2.html>`_
+
+ * `PPB_FileSystem <struct_p_p_b___file_system__1__0.html>`_
+
+ * `PPB_Fullscreen <struct_p_p_b___fullscreen__1__0.html>`_
+
+ * `PPB_Gamepad <struct_p_p_b___gamepad__1__0.html>`_
+
+ * `PPB_Graphics2D <struct_p_p_b___graphics2_d__1__1.html>`_
+
+ * `PPB_Graphics3D <struct_p_p_b___graphics3_d__1__0.html>`_
+
+ * `PPB_HostResolver <struct_p_p_b___host_resolver__1__0.html>`_
+
+ * `PPB_IMEInputEvent <struct_p_p_b___i_m_e_input_event__1__0.html>`_
+
+ * `PPB_ImageData <struct_p_p_b___image_data__1__0.html>`_
+
+ * `PPB_InputEvent <struct_p_p_b___input_event__1__0.html>`_
+
+ * `PPB_Instance <struct_p_p_b___instance__1__0.html>`_
+
+ * `PPB_KeyboardInputEvent <struct_p_p_b___keyboard_input_event__1__0.html>`_
+
+ * `PPB_MediaStreamAudioTrack <struct_p_p_b___media_stream_audio_track__0__1.html>`_
+
+ * `PPB_MediaStreamVideoTrack <struct_p_p_b___media_stream_video_track__0__1.html>`_
+
+ * `PPB_MessageLoop <struct_p_p_b___message_loop__1__0.html>`_
+
+ * `PPB_Messaging <struct_p_p_b___messaging__1__0.html>`_
+
+ * `PPB_MouseCursor <struct_p_p_b___mouse_cursor__1__0.html>`_
+
+ * `PPB_MouseInputEvent <struct_p_p_b___mouse_input_event__1__1.html>`_
+
+ * `PPB_MouseLock <struct_p_p_b___mouse_lock__1__0.html>`_
+
+ * `PPB_NetAddress <struct_p_p_b___net_address__1__0.html>`_
+
+ * `PPB_NetworkList <struct_p_p_b___network_list__1__0.html>`_
+
+ * `PPB_NetworkMonitor <struct_p_p_b___network_monitor__1__0.html>`_
+
+ * `PPB_NetworkProxy <struct_p_p_b___network_proxy__1__0.html>`_
+
+ * `PPB_TCPSocket <struct_p_p_b___t_c_p_socket__1__1.html>`_
+
+ * `PPB_TextInputController <struct_p_p_b___text_input_controller__1__0.html>`_
+
+ * `PPB_TouchInputEvent <struct_p_p_b___touch_input_event__1__0.html>`_
+
+ * `PPB_UDPSocket <struct_p_p_b___u_d_p_socket__1__0.html>`_
+
+ * `PPB_URLLoader <struct_p_p_b___u_r_l_loader__1__0.html>`_
+
+ * `PPB_URLRequestInfo <struct_p_p_b___u_r_l_request_info__1__0.html>`_
+
+ * `PPB_URLResponseInfo <struct_p_p_b___u_r_l_response_info__1__0.html>`_
+
+ * `PPB_Var <struct_p_p_b___var__1__1.html>`_
+
+ * `PPB_VarArray <struct_p_p_b___var_array__1__0.html>`_
+
+ * `PPB_VarArrayBuffer <struct_p_p_b___var_array_buffer__1__0.html>`_
+
+ * `PPB_VarDictionary <struct_p_p_b___var_dictionary__1__0.html>`_
+
+ * `PPB_VideoFrame <struct_p_p_b___video_frame__0__1.html>`_
+
+ * `PPB_View <struct_p_p_b___view__1__1.html>`_
+
+ * `PPB_WebSocket <struct_p_p_b___web_socket__1__0.html>`_
+
+ * `PPB_WheelInputEvent <struct_p_p_b___wheel_input_event__1__0.html>`_
+
+ * `PPP_Graphics3D <struct_p_p_p___graphics3_d__1__0.html>`_
+
+ * `PPP_InputEvent <struct_p_p_p___input_event__0__1.html>`_
+
+ * `PPP_Instance <struct_p_p_p___instance__1__1.html>`_
+
+ * `PPP_Messaging <struct_p_p_p___messaging__1__0.html>`_
+
+ * `PPP_MouseLock <struct_p_p_p___mouse_lock__1__0.html>`_
+
+
+`Structures <group___structs.html>`_
+====================================
+ * `PP_ArrayOutput <struct_p_p___array_output.html>`_
+
+ * `PP_CompletionCallback <struct_p_p___completion_callback.html>`_
+
+ * `PP_DirectoryEntry <struct_p_p___directory_entry.html>`_
+
+ * `PP_FileInfo <struct_p_p___file_info.html>`_
+
+ * `PP_FloatPoint <struct_p_p___float_point.html>`_
+
+ * `PP_GamepadSampleData <struct_p_p___gamepad_sample_data.html>`_
+
+ * `PP_GamepadsSampleData <struct_p_p___gamepads_sample_data.html>`_
+
+ * `PP_HostResolver_Hint <struct_p_p___host_resolver___hint.html>`_
+
+ * `PP_ImageDataDesc <struct_p_p___image_data_desc.html>`_
+
+ * `PP_InputEvent_Character <struct_p_p___input_event___character.html>`_
+
+ * `PP_InputEvent_Key <struct_p_p___input_event___key.html>`_
+
+ * `PP_InputEvent_Mouse <struct_p_p___input_event___mouse.html>`_
+
+ * `PP_InputEvent_Wheel <struct_p_p___input_event___wheel.html>`_
+
+ * `PP_NetAddress_IPv4 <struct_p_p___net_address___i_pv4.html>`_
+
+ * `PP_NetAddress_IPv6 <struct_p_p___net_address___i_pv6.html>`_
+
+ * `PP_Point <struct_p_p___point.html>`_
+
+ * `PP_Rect <struct_p_p___rect.html>`_
+
+ * `PP_Size <struct_p_p___size.html>`_
+
+ * `PP_TouchPoint <struct_p_p___touch_point.html>`_
+
+ * `PP_Var <struct_p_p___var.html>`_
+
+ * `PP_VarValue <union_p_p___var_value.html>`_
+
+
+`Functions <group___functions.html>`_
+=====================================
+
+`Enums <group___enums.html>`_
+=============================
+
+`Typedefs <group___typedefs.html>`_
+===================================
+
+`Macros <globals_defs.html>`_
+=============================
+
+Files
+=====
+ * `pp_array_output.h <pp__array__output_8h.html>`_
+
+ * `pp_bool.h <pp__bool_8h.html>`_
+
+ * `pp_completion_callback.h <pp__completion__callback_8h.html>`_
+
+ * `pp_directory_entry.h <pp__directory__entry_8h.html>`_
+
+ * `pp_errors.h <pp__errors_8h.html>`_
+
+ * `pp_file_info.h <pp__file__info_8h.html>`_
+
+ * `pp_graphics_3d.h <pp__graphics__3d_8h.html>`_
+
+ * `pp_input_event.h <pp__input__event_8h.html>`_
+
+ * `pp_instance.h <pp__instance_8h.html>`_
+
+ * `pp_module.h <pp__module_8h.html>`_
+
+ * `pp_point.h <pp__point_8h.html>`_
+
+ * `pp_rect.h <pp__rect_8h.html>`_
+
+ * `pp_resource.h <pp__resource_8h.html>`_
+
+ * `pp_size.h <pp__size_8h.html>`_
+
+ * `pp_stdint.h <pp__stdint_8h.html>`_
+
+ * `pp_time.h <pp__time_8h.html>`_
+
+ * `pp_touch_point.h <pp__touch__point_8h.html>`_
+
+ * `pp_var.h <pp__var_8h.html>`_
+
+ * `ppb.h <ppb_8h.html>`_
+
+ * `ppb_audio.h <ppb__audio_8h.html>`_
+
+ * `ppb_audio_config.h <ppb__audio__config_8h.html>`_
+
+ * `ppb_audio_frame.h <ppb__audio__frame_8h.html>`_
+
+ * `ppb_console.h <ppb__console_8h.html>`_
+
+ * `ppb_core.h <ppb__core_8h.html>`_
+
+ * `ppb_file_io.h <ppb__file__io_8h.html>`_
+
+ * `ppb_file_ref.h <ppb__file__ref_8h.html>`_
+
+ * `ppb_file_system.h <ppb__file__system_8h.html>`_
+
+ * `ppb_fullscreen.h <ppb__fullscreen_8h.html>`_
+
+ * `ppb_gamepad.h <ppb__gamepad_8h.html>`_
+
+ * `ppb_graphics_2d.h <ppb__graphics__2d_8h.html>`_
+
+ * `ppb_graphics_3d.h <ppb__graphics__3d_8h.html>`_
+
+ * `ppb_host_resolver.h <ppb__host__resolver_8h.html>`_
+
+ * `ppb_image_data.h <ppb__image__data_8h.html>`_
+
+ * `ppb_input_event.h <ppb__input__event_8h.html>`_
+
+ * `ppb_instance.h <ppb__instance_8h.html>`_
+
+ * `ppb_media_stream_audio_track.h <ppb__media__stream__audio__track_8h.html>`_
+
+ * `ppb_media_stream_video_track.h <ppb__media__stream__video__track_8h.html>`_
+
+ * `ppb_message_loop.h <ppb__message__loop_8h.html>`_
+
+ * `ppb_messaging.h <ppb__messaging_8h.html>`_
+
+ * `ppb_mouse_cursor.h <ppb__mouse__cursor_8h.html>`_
+
+ * `ppb_mouse_lock.h <ppb__mouse__lock_8h.html>`_
+
+ * `ppb_net_address.h <ppb__net__address_8h.html>`_
+
+ * `ppb_network_list.h <ppb__network__list_8h.html>`_
+
+ * `ppb_network_monitor.h <ppb__network__monitor_8h.html>`_
+
+ * `ppb_network_proxy.h <ppb__network__proxy_8h.html>`_
+
+ * `ppb_tcp_socket.h <ppb__tcp__socket_8h.html>`_
+
+ * `ppb_text_input_controller.h <ppb__text__input__controller_8h.html>`_
+
+ * `ppb_udp_socket.h <ppb__udp__socket_8h.html>`_
+
+ * `ppb_url_loader.h <ppb__url__loader_8h.html>`_
+
+ * `ppb_url_request_info.h <ppb__url__request__info_8h.html>`_
+
+ * `ppb_url_response_info.h <ppb__url__response__info_8h.html>`_
+
+ * `ppb_var.h <ppb__var_8h.html>`_
+
+ * `ppb_var_array.h <ppb__var__array_8h.html>`_
+
+ * `ppb_var_array_buffer.h <ppb__var__array__buffer_8h.html>`_
+
+ * `ppb_var_dictionary.h <ppb__var__dictionary_8h.html>`_
+
+ * `ppb_video_frame.h <ppb__video__frame_8h.html>`_
+
+ * `ppb_view.h <ppb__view_8h.html>`_
+
+ * `ppb_websocket.h <ppb__websocket_8h.html>`_
+
+ * `ppp.h <ppp_8h.html>`_
+
+ * `ppp_graphics_3d.h <ppp__graphics__3d_8h.html>`_
+
+ * `ppp_input_event.h <ppp__input__event_8h.html>`_
+
+ * `ppp_instance.h <ppp__instance_8h.html>`_
+
+ * `ppp_messaging.h <ppp__messaging_8h.html>`_
+
+ * `ppp_mouse_lock.h <ppp__mouse__lock_8h.html>`_
+
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/pp__array__output_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/pp__array__output_8h.html
new file mode 100644
index 0000000..05f8a49c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/pp__array__output_8h.html
@@ -0,0 +1,43 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/pp_array_output.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for pp_array_output.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="pp__array__output_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2pp__array__output_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2pp__array__output_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2pp__array__output_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___array_output.html">PP_ArrayOutput</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A structure that defines a way for the browser to return arrays of data to the plugin. <a href="struct_p_p___array_output.html#details">More...</a><br /></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef void *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#gaa363de651fad7342a37ec58375276af7">PP_ArrayOutput_GetDataBuffer</a> )(void *user_data, uint32_t element_count, uint32_t element_size)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>PP_ArrayOutput_GetDataBuffer is a callback function to allocate plugin memory for an array. </p>
+<p>It returns the allocated memory or null on failure.</p>
+<p>This function will be called reentrantly. This means that if you call a function PPB_Foo.GetData(&array_output), GetData will call your GetDataBuffer function before it returns.</p>
+<p>This function will be called even when returning 0-length arrays, so be sure your implementation can support that. You can return NULL for 0 length arrays and it will not be treated as a failure.</p>
+<p>You should not perform any processing in this callback, including calling other PPAPI functions, outside of allocating memory. You should not throw any exceptions. In C++, this means using "new (nothrow)" or being sure to catch any exceptions before returning.</p>
+<p>The C++ wrapper provides a convenient templatized implementation around std::vector which you should generally use instead of coding this specifically.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramname">user_data</td><td>The pointer provided in the <a class="el" href="struct_p_p___array_output.html" title="A structure that defines a way for the browser to return arrays of data to the plugin.">PP_ArrayOutput</a> structure. This has no meaning to the browser, it is intended to be used by the implementation to figure out where to put the data.</td></tr>
+<tr><td class="paramname">element_count</td><td>The number of elements in the array. This will be 0 if there is no data to return.</td></tr>
+<tr><td class="paramname">element_size</td><td>The size of each element in bytes.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns a pointer to the allocated memory. On failure, returns null. You can also return null if the element_count is 0. When a non-null value is returned, the buffer must remain valid until after the callback runs. If used with a blocking callback, the buffer must remain valid until after the function returns. The plugin can then free any memory that it allocated. </dd></dl>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/pp__array__output_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/pp__array__output_8h__incl.png
new file mode 100644
index 0000000..dc02856
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/pp__array__output_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/pp__bool_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/pp__bool_8h.html
new file mode 100644
index 0000000..d67c085
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/pp__bool_8h.html
@@ -0,0 +1,30 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/pp_bool.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for pp_bool.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="pp__bool_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2pp__bool_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2pp__bool_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2pp__bool_8h">
+</map>
+</div>
+</div><h2>
+Enumerations</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> { <a class="el" href="group___enums.html#gga4f272d99be14aacafe08dfd4ef830918aeb6cdb899071a9ea4695a184bfdc3e81">PP_FALSE</a> = 0,
+<a class="el" href="group___enums.html#gga4f272d99be14aacafe08dfd4ef830918a177ce110df585fe2b468dba9a0eefda5">PP_TRUE</a> = 1
+ }</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PP_Bool</code> enumeration for use in PPAPI C headers. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/pp__bool_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/pp__bool_8h__incl.png
new file mode 100644
index 0000000..9da0c31
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/pp__bool_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/pp__completion__callback_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/pp__completion__callback_8h.html
new file mode 100644
index 0000000..ed2e28d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/pp__completion__callback_8h.html
@@ -0,0 +1,44 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/pp_completion_callback.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for pp_completion_callback.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="pp__completion__callback_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2pp__completion__callback_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2pp__completion__callback_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2pp__completion__callback_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> is a common mechanism for supporting potentially asynchronous calls in browser interfaces. <a href="struct_p_p___completion_callback.html#details">More...</a><br /></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#ga6fe12e1a41df5e10103a811036d4d8d2">PP_CompletionCallback_Func</a> )(void *user_data, int32_t result)</td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga7610f0fba2396d46384859caa4d91798">PP_CompletionCallback_Flag</a> { <a class="el" href="group___enums.html#gga7610f0fba2396d46384859caa4d91798a6eedc0f315784a4cb47c5806b828c7cc">PP_COMPLETIONCALLBACK_FLAG_NONE</a> = 0 << 0,
+<a class="el" href="group___enums.html#gga7610f0fba2396d46384859caa4d91798aebb176d8930b14219b7966fd93a2e967">PP_COMPLETIONCALLBACK_FLAG_OPTIONAL</a> = 1 << 0
+ }</td></tr>
+</table><h2>
+Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga8691f15edad9b391c3644064ac57f191">PP_MakeCompletionCallback</a> (<a class="el" href="group___typedefs.html#ga6fe12e1a41df5e10103a811036d4d8d2">PP_CompletionCallback_Func</a> func, void *user_data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#gabd6bf83f4c787477631c37d44418c4db">PP_MakeOptionalCompletionCallback</a> (<a class="el" href="group___typedefs.html#ga6fe12e1a41df5e10103a811036d4d8d2">PP_CompletionCallback_Func</a> func, void *user_data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#gaffce49266a735f9ee8d149b14477404f">PP_RunCompletionCallback</a> (struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> *cc, int32_t result)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga340e452b4931d17bd44928769490e282">PP_BlockUntilComplete</a> (void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga8dac45aa496bbb1f97a15e2833d3ed02">PP_RunAndClearCompletionCallback</a> (struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> *cc, int32_t res)</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga7610f0fba2396d46384859caa4d91798">PP_CompletionCallback_Flag</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API to create and run a callback. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/pp__completion__callback_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/pp__completion__callback_8h__incl.png
new file mode 100644
index 0000000..79604b2
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/pp__completion__callback_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/pp__directory__entry_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/pp__directory__entry_8h.html
new file mode 100644
index 0000000..70a3ea4f
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/pp__directory__entry_8h.html
@@ -0,0 +1,28 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/pp_directory_entry.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for pp_directory_entry.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="pp__directory__entry_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2pp__directory__entry_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2pp__directory__entry_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2pp__directory__entry_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___directory_entry.html">PP_DirectoryEntry</a></td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#gad0a3a59c8cb2fb74717c8d23a5d56295">PP_DirectoryEntry</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code><a class="el" href="struct_p_p___directory_entry.html">PP_DirectoryEntry</a></code> struct. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/pp__directory__entry_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/pp__directory__entry_8h__incl.png
new file mode 100644
index 0000000..cae5145
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/pp__directory__entry_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/pp__errors_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/pp__errors_8h.html
new file mode 100644
index 0000000..47c4211
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/pp__errors_8h.html
@@ -0,0 +1,71 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/pp_errors.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for pp_errors.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="pp__errors_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2pp__errors_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2pp__errors_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2pp__errors_8h">
+</map>
+</div>
+</div><h2>
+Enumerations</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom">{ <br />
+  <a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba5c394615cfa8eaceba77ecedb65dc9cb">PP_OK</a> = 0,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55baa5f7aa5667dc3eb61dd4f822d1163b29">PP_OK_COMPLETIONPENDING</a> = -1,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba06a8964482e41bf50c45c0d9dd281830">PP_ERROR_FAILED</a> = -2,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba8389cb348aeba81a94b058622f5914af">PP_ERROR_ABORTED</a> = -3,
+<br />
+  <a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba02f23038858b2b1a3c95f1593332503f">PP_ERROR_BADARGUMENT</a> = -4,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba55448d3b2c42d96c7b347a5833df7e76">PP_ERROR_BADRESOURCE</a> = -5,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba7bc23fde1d7408a2d5e0c02fda77a157">PP_ERROR_NOINTERFACE</a> = -6,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55baccd33fd6aa1c9a64b692a615b8099f10">PP_ERROR_NOACCESS</a> = -7,
+<br />
+  <a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba77543198f33b4da09f5431f61be0fdfe">PP_ERROR_NOMEMORY</a> = -8,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55baa52e024aa5d86ea5c2d0e9fe4d4223b1">PP_ERROR_NOSPACE</a> = -9,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba32f8a2ecfc27357c36e8cab62f5f8b60">PP_ERROR_NOQUOTA</a> = -10,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba2eb423e9cc9c19a6a7150b342a0b383a">PP_ERROR_INPROGRESS</a> = -11,
+<br />
+  <a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55babb8fa3e1cb15627f433a049d68e49d5b">PP_ERROR_NOTSUPPORTED</a> = -12,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba282ee581bafd4579a8982a5141793de4">PP_ERROR_BLOCKS_MAIN_THREAD</a> = -13,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba6c1c35f64dd233fc0a46151a82915960">PP_ERROR_FILENOTFOUND</a> = -20,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba325aca7c7d73483de41998329b342ef0">PP_ERROR_FILEEXISTS</a> = -21,
+<br />
+  <a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55bac0eab80ff249433a206cd93e34d1e965">PP_ERROR_FILETOOBIG</a> = -22,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55baa2e274f5a24c62f7ebf50ef2e2dd98a6">PP_ERROR_FILECHANGED</a> = -23,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55baf216de52da5770d56ba7e483974ec209">PP_ERROR_NOTAFILE</a> = -24,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba53382f01745b691ba6f91c65b6059953">PP_ERROR_TIMEDOUT</a> = -30,
+<br />
+  <a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba3f20bb850c408a7e05fbc9ce42a8e999">PP_ERROR_USERCANCEL</a> = -40,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba8c428198d142124ef0c99eb8e8572491">PP_ERROR_NO_USER_GESTURE</a> = -41,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba7469b76adbd5e8e931314160093a9e1a">PP_ERROR_CONTEXT_LOST</a> = -50,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55baf907cc8f39ca083a5cad188fb808fc0f">PP_ERROR_NO_MESSAGE_LOOP</a> = -51,
+<br />
+  <a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55bae18e92e98e2dd0d106b49387af13c997">PP_ERROR_WRONG_THREAD</a> = -52,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55babbc1f7cf46e1746ce232e4655191630e">PP_ERROR_CONNECTION_CLOSED</a> = -100,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55bac7e0cbefef9315c63c0d7858d0fc4c01">PP_ERROR_CONNECTION_RESET</a> = -101,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55bab3873811c2f684a437a2efa3133d3452">PP_ERROR_CONNECTION_REFUSED</a> = -102,
+<br />
+  <a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55baf86ee9c96af9f4c315ac6458b6638f27">PP_ERROR_CONNECTION_ABORTED</a> = -103,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55bacd6d028056cb3596b966682edb6effcf">PP_ERROR_CONNECTION_FAILED</a> = -104,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba49150f7eacf465fc552e751ac521b4ae">PP_ERROR_CONNECTION_TIMEDOUT</a> = -105,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55baa13c10929736aa23a8056ee33dcd23e5">PP_ERROR_ADDRESS_INVALID</a> = -106,
+<br />
+  <a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba4304630fb13c40107ed6da9e5b764003">PP_ERROR_ADDRESS_UNREACHABLE</a> = -107,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55bafb9e232a63a5787ec0445ee9cc7fc7c2">PP_ERROR_ADDRESS_IN_USE</a> = -108,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba679d405ff44d259db51dfc6f312b465f">PP_ERROR_MESSAGE_TOO_BIG</a> = -109,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba74c1a24f06288fc63221631ba6a2a7b6">PP_ERROR_NAME_NOT_RESOLVED</a> = -110
+<br />
+ }</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines an enumeration of all PPAPI error codes. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/pp__errors_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/pp__errors_8h__incl.png
new file mode 100644
index 0000000..d1a530b
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/pp__errors_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/pp__file__info_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/pp__file__info_8h.html
new file mode 100644
index 0000000..1eee6e22
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/pp__file__info_8h.html
@@ -0,0 +1,46 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/pp_file_info.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for pp_file_info.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="pp__file__info_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2pp__file__info_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2pp__file__info_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2pp__file__info_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___file_info.html">PP_FileInfo</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="struct_p_p___file_info.html" title="The PP_FileInfo struct represents all information about a file, such as size, type, and creation time.">PP_FileInfo</a></code> struct represents all information about a file, such as size, type, and creation time. <a href="struct_p_p___file_info.html#details">More...</a><br /></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga36f6dfbe9c1e98540c5247f790746427">PP_FileType</a> { <a class="el" href="group___enums.html#gga36f6dfbe9c1e98540c5247f790746427acd0d93632365573bba7774b7fe0c62fd">PP_FILETYPE_REGULAR</a> = 0,
+<a class="el" href="group___enums.html#gga36f6dfbe9c1e98540c5247f790746427a81b606e1444df5fb838a692f891fbde9">PP_FILETYPE_DIRECTORY</a> = 1,
+<a class="el" href="group___enums.html#gga36f6dfbe9c1e98540c5247f790746427a9e3863ab973d8643dcc96708f55df880">PP_FILETYPE_OTHER</a> = 2
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga87b353f2ec8935c9c3294daff612c145">PP_FileSystemType</a> { <br />
+  <a class="el" href="group___enums.html#gga87b353f2ec8935c9c3294daff612c145a48e7bd0df8bd086812085be972e963a0">PP_FILESYSTEMTYPE_INVALID</a> = 0,
+<a class="el" href="group___enums.html#gga87b353f2ec8935c9c3294daff612c145aa21f18053ba5b3594a0b5373074742c2">PP_FILESYSTEMTYPE_EXTERNAL</a> = 1,
+<a class="el" href="group___enums.html#gga87b353f2ec8935c9c3294daff612c145a4c51625a4c977d3fab0c4dd28127603c">PP_FILESYSTEMTYPE_LOCALPERSISTENT</a> = 2,
+<a class="el" href="group___enums.html#gga87b353f2ec8935c9c3294daff612c145abefda8d47a5cd9b8918f012c34496ca9">PP_FILESYSTEMTYPE_LOCALTEMPORARY</a> = 3,
+<br />
+  <a class="el" href="group___enums.html#gga87b353f2ec8935c9c3294daff612c145aeceec88ea91ee70c499ff39119dd33b5">PP_FILESYSTEMTYPE_ISOLATED</a> = 4
+<br />
+ }</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga36f6dfbe9c1e98540c5247f790746427">PP_FileType</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga87b353f2ec8935c9c3294daff612c145">PP_FileSystemType</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#gad224cb61c5859f6655b274eff7328664">PP_FileInfo</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines three enumerations for use in the PPAPI C file IO APIs. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/pp__file__info_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/pp__file__info_8h__incl.png
new file mode 100644
index 0000000..50c1fa5c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/pp__file__info_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/pp__graphics__3d_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/pp__graphics__3d_8h.html
new file mode 100644
index 0000000..c0bc79d2
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/pp__graphics__3d_8h.html
@@ -0,0 +1,51 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/pp_graphics_3d.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for pp_graphics_3d.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="pp__graphics__3d_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2pp__graphics__3d_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2pp__graphics__3d_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2pp__graphics__3d_8h">
+</map>
+</div>
+</div><h2>
+Enumerations</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga7df48e1c55f6401beea2a1b9c07967e8">PP_Graphics3DAttrib</a> { <br />
+  <a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8aac0fc60be37c86f193fb535bedb09458">PP_GRAPHICS3DATTRIB_ALPHA_SIZE</a> = 0x3021,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a519cd199423721033780ee13ecb0e60b">PP_GRAPHICS3DATTRIB_BLUE_SIZE</a> = 0x3022,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8ade95a6e685ca23522da80c1703d294a7">PP_GRAPHICS3DATTRIB_GREEN_SIZE</a> = 0x3023,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a7caad99c8c857fdb804c6755551398f5">PP_GRAPHICS3DATTRIB_RED_SIZE</a> = 0x3024,
+<br />
+  <a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8ab594f7ae52f23b7b0609797c06cf7cf8">PP_GRAPHICS3DATTRIB_DEPTH_SIZE</a> = 0x3025,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8acc0e34bee390933357c7386391faeac0">PP_GRAPHICS3DATTRIB_STENCIL_SIZE</a> = 0x3026,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a98c1bf99b329be847d53f4eb651b4a63">PP_GRAPHICS3DATTRIB_SAMPLES</a> = 0x3031,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a8bccea594213dbdd1750f97f3b187047">PP_GRAPHICS3DATTRIB_SAMPLE_BUFFERS</a> = 0x3032,
+<br />
+  <a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a66b15e43e8159f71751be033d44fda21">PP_GRAPHICS3DATTRIB_NONE</a> = 0x3038,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8ac37b92e8426753d7a24d0cf193a5923d">PP_GRAPHICS3DATTRIB_HEIGHT</a> = 0x3056,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a378f15587369cdefbcf565bc8f15db2c">PP_GRAPHICS3DATTRIB_WIDTH</a> = 0x3057,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a03d8a647ddb24105718bcb91b8f972fd">PP_GRAPHICS3DATTRIB_SWAP_BEHAVIOR</a> = 0x3093,
+<br />
+  <a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a46b174aaf7b91e26cc2a014268e65512">PP_GRAPHICS3DATTRIB_BUFFER_PRESERVED</a> = 0x3094,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a8aa6eff69c6b613b0a65803fa75d48fb">PP_GRAPHICS3DATTRIB_BUFFER_DESTROYED</a> = 0x3095,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a48ed49219981a01405e97eb414c89fec">PP_GRAPHICS3DATTRIB_GPU_PREFERENCE</a> = 0x11000,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a4295d8750ae536c3aed03d794429e336">PP_GRAPHICS3DATTRIB_GPU_PREFERENCE_LOW_POWER</a> = 0x11001,
+<br />
+  <a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a1a7563ae755ca52d429302a35930201a">PP_GRAPHICS3DATTRIB_GPU_PREFERENCE_PERFORMANCE</a> = 0x11002
+<br />
+ }</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga7df48e1c55f6401beea2a1b9c07967e8">PP_Graphics3DAttrib</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PP_Graphics3DAttrib</code> enumeration for use in PPAPI C headers. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/pp__graphics__3d_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/pp__graphics__3d_8h__incl.png
new file mode 100644
index 0000000..9ae3b3d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/pp__graphics__3d_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/pp__input__event_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/pp__input__event_8h.html
new file mode 100644
index 0000000..03031b06
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/pp__input__event_8h.html
@@ -0,0 +1,38 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/pp_input_event.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for pp_input_event.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="pp__input__event_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2pp__input__event_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2pp__input__event_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2pp__input__event_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___key.html">PP_InputEvent_Key</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="struct_p_p___input_event___key.html" title="The PP_InputEvent_Key struct represents a key up or key down event.">PP_InputEvent_Key</a></code> struct represents a key up or key down event. <a href="struct_p_p___input_event___key.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___character.html">PP_InputEvent_Character</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="struct_p_p___input_event___character.html" title="The PP_InputEvent_Character struct represents a typed character event.">PP_InputEvent_Character</a></code> struct represents a typed character event. <a href="struct_p_p___input_event___character.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___mouse.html">PP_InputEvent_Mouse</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="struct_p_p___input_event___mouse.html" title="The PP_InputEvent_Mouse struct represents all mouse events except mouse wheel events.">PP_InputEvent_Mouse</a></code> struct represents all mouse events except mouse wheel events. <a href="struct_p_p___input_event___mouse.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___wheel.html">PP_InputEvent_Wheel</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="struct_p_p___input_event___wheel.html" title="The PP_InputEvent_Wheel struct represents all mouse wheel events.">PP_InputEvent_Wheel</a></code> struct represents all mouse wheel events. <a href="struct_p_p___input_event___wheel.html#details">More...</a><br /></td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga91c5483306ded19bced2063169de99f8">PP_InputEvent_Key</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga6d1b875e2ae53ba8ee90e10505df6b7e">PP_InputEvent_Character</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga26c37abe55715f606e0a2c91867d051c">PP_InputEvent_Mouse</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga3fe74ccc6894bb133b39df77f96322cf">PP_InputEvent_Wheel</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API used to handle mouse and keyboard input events. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/pp__input__event_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/pp__input__event_8h__incl.png
new file mode 100644
index 0000000..32fe10f8
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/pp__input__event_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/pp__instance_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/pp__instance_8h.html
new file mode 100644
index 0000000..6f2a1dc
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/pp__instance_8h.html
@@ -0,0 +1,25 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/pp_instance.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for pp_instance.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="pp__instance_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2pp__instance_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2pp__instance_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2pp__instance_8h">
+</map>
+</div>
+</div><h2>
+Typedefs</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">typedef int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the PP_Instance type which uniquely identifies one module instance. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/pp__instance_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/pp__instance_8h__incl.png
new file mode 100644
index 0000000..77b3ceadc
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/pp__instance_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/pp__module_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/pp__module_8h.html
new file mode 100644
index 0000000..9e061f0
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/pp__module_8h.html
@@ -0,0 +1,25 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/pp_module.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for pp_module.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="pp__module_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2pp__module_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2pp__module_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2pp__module_8h">
+</map>
+</div>
+</div><h2>
+Typedefs</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">typedef int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#gab780dd451cd7f51284cb752edd88f9a0">PP_Module</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the PP_Module type which uniquely identifies the module or .nexe. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/pp__module_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/pp__module_8h__incl.png
new file mode 100644
index 0000000..f022d85
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/pp__module_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/pp__point_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/pp__point_8h.html
new file mode 100644
index 0000000..c9e8ed1
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/pp__point_8h.html
@@ -0,0 +1,37 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/pp_point.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for pp_point.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="pp__point_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2pp__point_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2pp__point_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2pp__point_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___point.html">PP_Point</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="struct_p_p___point.html" title="The PP_Point structure defines the integer x and y coordinates of a point.">PP_Point</a> structure defines the integer x and y coordinates of a point. <a href="struct_p_p___point.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___float_point.html">PP_FloatPoint</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="struct_p_p___float_point.html" title="The PP_FloatPoint structure defines the floating-point x and y coordinates of a point.">PP_FloatPoint</a> structure defines the floating-point x and y coordinates of a point. <a href="struct_p_p___float_point.html#details">More...</a><br /></td></tr>
+</table><h2>
+Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___point.html">PP_Point</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga15880e8085178758053cc521af33b250">PP_MakePoint</a> (int32_t x, int32_t y)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___float_point.html">PP_FloatPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga0aca79088546fe91d13c97db9033e709">PP_MakeFloatPoint</a> (float x, float y)</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga501da0561777e3fef2c08aa9b7400cc0">PP_Point</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga2bfb71399c8dac2aba417b75459100bd">PP_FloatPoint</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API to create a 2 dimensional point. </p>
+<p>0,0 is the upper-left starting coordinate. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/pp__point_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/pp__point_8h__incl.png
new file mode 100644
index 0000000..e839e24
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/pp__point_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/pp__rect_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/pp__rect_8h.html
new file mode 100644
index 0000000..45512ae
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/pp__rect_8h.html
@@ -0,0 +1,32 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/pp_rect.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for pp_rect.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="pp__rect_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2pp__rect_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2pp__rect_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2pp__rect_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___rect.html">PP_Rect</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="struct_p_p___rect.html" title="The PP_Rect struct contains the size and location of a 2D rectangle.">PP_Rect</a></code> struct contains the size and location of a 2D rectangle. <a href="struct_p_p___rect.html#details">More...</a><br /></td></tr>
+</table><h2>
+Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___rect.html">PP_Rect</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#gaf868e2929269ef195241b79a015fcf61">PP_MakeRectFromXYWH</a> (int32_t x, int32_t y, int32_t w, int32_t h)</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#gaa91d0179e9f1f1bd3b6f3415f75c9ff1">PP_Rect</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the APIs for creating a 2 dimensional rectangle. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/pp__rect_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/pp__rect_8h__incl.png
new file mode 100644
index 0000000..a4c29a5c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/pp__rect_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/pp__resource_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/pp__resource_8h.html
new file mode 100644
index 0000000..e43664d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/pp__resource_8h.html
@@ -0,0 +1,25 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/pp_resource.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for pp_resource.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="pp__resource_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2pp__resource_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2pp__resource_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2pp__resource_8h">
+</map>
+</div>
+</div><h2>
+Typedefs</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">typedef int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PP_Resource</code> type which represents data associated with the module. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/pp__resource_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/pp__resource_8h__incl.png
new file mode 100644
index 0000000..0d9c7e84
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/pp__resource_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/pp__size_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/pp__size_8h.html
new file mode 100644
index 0000000..9d36875
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/pp__size_8h.html
@@ -0,0 +1,32 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/pp_size.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for pp_size.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="pp__size_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2pp__size_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2pp__size_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2pp__size_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___size.html">PP_Size</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="struct_p_p___size.html" title="The PP_Size struct contains the size of a 2D rectangle.">PP_Size</a></code> struct contains the size of a 2D rectangle. <a href="struct_p_p___size.html#details">More...</a><br /></td></tr>
+</table><h2>
+Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___size.html">PP_Size</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga35a97e64d18402d8feff46722b98beb0">PP_MakeSize</a> (int32_t w, int32_t h)</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#gafd4a54f9a36c0825eef612e150b50421">PP_Size</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the width and height of a 2D rectangle. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/pp__size_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/pp__size_8h__incl.png
new file mode 100644
index 0000000..3ebf79e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/pp__size_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/pp__stdint_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/pp__stdint_8h.html
new file mode 100644
index 0000000..4b4b854
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/pp__stdint_8h.html
@@ -0,0 +1,21 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/pp_stdint.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for pp_stdint.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="pp__stdint_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2pp__stdint_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2pp__stdint_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2pp__stdint_8h">
+</map>
+</div>
+</div><hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file provides a definition of C99 sized types for Microsoft compilers. </p>
+<p>These definitions only apply for trusted modules. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/pp__stdint_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/pp__stdint_8h__incl.png
new file mode 100644
index 0000000..612d360
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/pp__stdint_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/pp__time_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/pp__time_8h.html
new file mode 100644
index 0000000..ac8d626a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/pp__time_8h.html
@@ -0,0 +1,27 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/pp_time.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for pp_time.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="pp__time_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2pp__time_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2pp__time_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2pp__time_8h">
+</map>
+</div>
+</div><h2>
+Typedefs</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">typedef double </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef double </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#ga71cb1042cdeb38d7881b121f3b09ce94">PP_TimeTicks</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef double </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#ga3962a5355895925a757f613567e422fa">PP_TimeDelta</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines time, time ticks and time delta types. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/pp__time_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/pp__time_8h__incl.png
new file mode 100644
index 0000000..ab001e4
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/pp__time_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/pp__touch__point_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/pp__touch__point_8h.html
new file mode 100644
index 0000000..d4a5ee0
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/pp__touch__point_8h.html
@@ -0,0 +1,32 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/pp_touch_point.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for pp_touch_point.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="pp__touch__point_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2pp__touch__point_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2pp__touch__point_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2pp__touch__point_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___touch_point.html">PP_TouchPoint</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="struct_p_p___touch_point.html" title="The PP_TouchPoint struct represents all information about a single touch point, such as position...">PP_TouchPoint</a></code> struct represents all information about a single touch point, such as position, id, rotation angle, and pressure. <a href="struct_p_p___touch_point.html#details">More...</a><br /></td></tr>
+</table><h2>
+Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___touch_point.html">PP_TouchPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#gae7f6d41cbb173c12f474242c2a3bf5e7">PP_MakeTouchPoint</a> (void)</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#gafa28da9c7da0da3d7c5cdd57b4485436">PP_TouchPoint</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API to create a touch point or position where fingers makes contact with touch screen device. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/pp__touch__point_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/pp__touch__point_8h__incl.png
new file mode 100644
index 0000000..4f0be60d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/pp__touch__point_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/pp__var_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/pp__var_8h.html
new file mode 100644
index 0000000..0416b25
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/pp__var_8h.html
@@ -0,0 +1,57 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/pp_var.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for pp_var.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="pp__var_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2pp__var_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2pp__var_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2pp__var_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">union  </td><td class="memItemRight" valign="bottom"><a class="el" href="union_p_p___var_value.html">PP_VarValue</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="union_p_p___var_value.html" title="The PP_VarValue union stores the data for any one of the types listed in the PP_VarType enum...">PP_VarValue</a> union stores the data for any one of the types listed in the PP_VarType enum. <a href="union_p_p___var_value.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___var.html">PP_Var</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PP_VAR</code> struct is a variant data type and can contain any value of one of the types named in the <code>PP_VarType</code> enum. <a href="struct_p_p___var.html#details">More...</a><br /></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga9815041477d810724e44da862f9852ed">PP_VarType</a> { <br />
+  <a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852eda499cc75cc2a3a16632b6f0e38172fce7">PP_VARTYPE_UNDEFINED</a> = 0,
+<a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852edabfa22cf2659270ee5d4c1ff4eabf6e67">PP_VARTYPE_NULL</a> = 1,
+<a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852edad1a70cd8b8b8b815687c3234f40513b5">PP_VARTYPE_BOOL</a> = 2,
+<a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852eda40a4a8c45ec7629e3093eb93b9ff1556">PP_VARTYPE_INT32</a> = 3,
+<br />
+  <a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852eda26caea042c1cb14ff640f7aec3f2af90">PP_VARTYPE_DOUBLE</a> = 4,
+<a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852eda079c1c085b9b0f1b076807a0eb5ba6bd">PP_VARTYPE_STRING</a> = 5,
+<a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852eda7060b95352ff46ed2f0144e08cc949cc">PP_VARTYPE_OBJECT</a> = 6,
+<a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852eda50df125d91ade69f5b2de4d08427508c">PP_VARTYPE_ARRAY</a> = 7,
+<br />
+  <a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852edae44188e85906d83c2f52f34aa5b38687">PP_VARTYPE_DICTIONARY</a> = 8,
+<a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852eda363024b8067811f2f2f42f969be44529">PP_VARTYPE_ARRAY_BUFFER</a> = 9,
+<a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852eda898e69540595e8b95681d850ddecc7f1">PP_VARTYPE_RESOURCE</a> = 10
+<br />
+ }</td></tr>
+</table><h2>
+Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga0edc8314fc1a92f93dd3d0eab286cb5d">PP_MakeUndefined</a> (void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga75f83ac65ccbf57866d52d45cd5792e7">PP_MakeNull</a> (void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga0fba11ae90d57086064d41b0af710253">PP_MakeBool</a> (<a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> value)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#gad14a59fa681d4cc532b3d49c0438f0ca">PP_MakeInt32</a> (int32_t value)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#gafbebaae212cb7e737efc56eea0e785b5">PP_MakeDouble</a> (double value)</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga9815041477d810724e44da862f9852ed">PP_VarType</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga7c0f59e0d0c137b8390435582dc8e54d">PP_Var</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API for handling the passing of data types between your module and the page. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/pp__var_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/pp__var_8h__incl.png
new file mode 100644
index 0000000..0b82d2f
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/pp__var_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/ppb_8h.html
new file mode 100644
index 0000000..3b02706
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb_8h.html
@@ -0,0 +1,25 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/ppb.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2ppb_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb_8h">
+</map>
+</div>
+</div><h2>
+Typedefs</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">typedef const void *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#ga68ad7c927b86e0c29d890603edd33154">PPB_GetInterface</a> )(const char *interface_name)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines a function pointer type for the <code>PPB_GetInterface</code> function. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/ppb_8h__incl.png
new file mode 100644
index 0000000..0e2d09c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__audio_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/ppb__audio_8h.html
new file mode 100644
index 0000000..85fa6a99
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__audio_8h.html
@@ -0,0 +1,59 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/ppb_audio.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_audio.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__audio_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__audio_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__audio_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__audio_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio__1__1.html">PPB_Audio</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_Audio</code> interface contains pointers to several functions for handling audio resources. <a href="struct_p_p_b___audio__1__1.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__audio_8h.html#a05e57cf808f3ccd4467019e20832f28d">PPB_AUDIO_INTERFACE</a>   "PPB_Audio;1.1"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__audio_8h.html#a7d9614327b9f7d6e145eabd5bf2c4ad1">PPB_AUDIO_INTERFACE</a>   <a class="el" href="ppb__audio_8h.html#a05e57cf808f3ccd4467019e20832f28d">PPB_AUDIO_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#ga2ec91970f3cb75769ce631b3b732803e">PPB_Audio_Callback</a> )(void *sample_buffer, uint32_t buffer_size_in_bytes, <a class="el" href="group___typedefs.html#ga3962a5355895925a757f613567e422fa">PP_TimeDelta</a> latency, void *user_data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___audio__1__1.html">PPB_Audio</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaa420ab6e5eec1d780700bb505fe7d7f5">PPB_Audio</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_Audio</code> interface, which provides realtime stereo audio streaming capabilities. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a7d9614327b9f7d6e145eabd5bf2c4ad1"></a><!-- doxytag: member="ppb_audio.h::PPB_AUDIO_INTERFACE" ref="a7d9614327b9f7d6e145eabd5bf2c4ad1" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__audio_8h.html#a7d9614327b9f7d6e145eabd5bf2c4ad1">PPB_AUDIO_INTERFACE</a>   <a class="el" href="ppb__audio_8h.html#a05e57cf808f3ccd4467019e20832f28d">PPB_AUDIO_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a05e57cf808f3ccd4467019e20832f28d"></a><!-- doxytag: member="ppb_audio.h::PPB_AUDIO_INTERFACE" ref="a05e57cf808f3ccd4467019e20832f28d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__audio_8h.html#a05e57cf808f3ccd4467019e20832f28d">PPB_AUDIO_INTERFACE</a>   "PPB_Audio;1.1"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__audio_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/ppb__audio_8h__incl.png
new file mode 100644
index 0000000..dbdaadfd
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__audio_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__audio__config_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/ppb__audio__config_8h.html
new file mode 100644
index 0000000..e8f2c48
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__audio__config_8h.html
@@ -0,0 +1,70 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/ppb_audio_config.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_audio_config.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__audio__config_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__audio__config_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__audio__config_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__audio__config_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio_config__1__1.html">PPB_AudioConfig</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_AudioConfig</code> interface contains pointers to several functions for establishing your audio configuration within the browser. <a href="struct_p_p_b___audio_config__1__1.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__audio__config_8h.html#ae25decba5eb6b3f71b9e36bd8dcdcda7">PPB_AUDIO_CONFIG_INTERFACE</a>   "PPB_AudioConfig;1.1"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__audio__config_8h.html#a96fc67cc118c99f3c685f9fcc79d88ac">PPB_AUDIO_CONFIG_INTERFACE</a>   <a class="el" href="ppb__audio__config_8h.html#ae25decba5eb6b3f71b9e36bd8dcdcda7">PPB_AUDIO_CONFIG_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___audio_config__1__1.html">PPB_AudioConfig</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga6c784ebe92dee70d03a685298a8b8345">PPB_AudioConfig</a></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___enums.html#ggadf764cbdea00d65edcd07bb9953ad2b7a9bf932735e301eeecf183a9defc378b3">PP_AUDIOMINSAMPLEFRAMECOUNT</a> = 64,
+<a class="el" href="group___enums.html#ggadf764cbdea00d65edcd07bb9953ad2b7a335c882fde010a0515ec5678a7003ce4">PP_AUDIOMAXSAMPLEFRAMECOUNT</a> = 32768
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gaee750c350655f2fb0fe04c04029e0ff8">PP_AudioSampleRate</a> { <a class="el" href="group___enums.html#ggaee750c350655f2fb0fe04c04029e0ff8a3028e109c6005f2e9ffd635f92ef3324">PP_AUDIOSAMPLERATE_NONE</a> = 0,
+<a class="el" href="group___enums.html#ggaee750c350655f2fb0fe04c04029e0ff8ac6d1056f50ebe082622d3250def41a54">PP_AUDIOSAMPLERATE_44100</a> = 44100,
+<a class="el" href="group___enums.html#ggaee750c350655f2fb0fe04c04029e0ff8a0a3ddad3c00d75e1c57a245e599727cd">PP_AUDIOSAMPLERATE_48000</a> = 48000
+ }</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gaee750c350655f2fb0fe04c04029e0ff8">PP_AudioSampleRate</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the PPB_AudioConfig interface for establishing an audio configuration resource within the browser. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a96fc67cc118c99f3c685f9fcc79d88ac"></a><!-- doxytag: member="ppb_audio_config.h::PPB_AUDIO_CONFIG_INTERFACE" ref="a96fc67cc118c99f3c685f9fcc79d88ac" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__audio__config_8h.html#a96fc67cc118c99f3c685f9fcc79d88ac">PPB_AUDIO_CONFIG_INTERFACE</a>   <a class="el" href="ppb__audio__config_8h.html#ae25decba5eb6b3f71b9e36bd8dcdcda7">PPB_AUDIO_CONFIG_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ae25decba5eb6b3f71b9e36bd8dcdcda7"></a><!-- doxytag: member="ppb_audio_config.h::PPB_AUDIO_CONFIG_INTERFACE" ref="ae25decba5eb6b3f71b9e36bd8dcdcda7" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__audio__config_8h.html#ae25decba5eb6b3f71b9e36bd8dcdcda7">PPB_AUDIO_CONFIG_INTERFACE</a>   "PPB_AudioConfig;1.1"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__audio__config_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/ppb__audio__config_8h__incl.png
new file mode 100644
index 0000000..d35c0ab
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__audio__config_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__audio__frame_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/ppb__audio__frame_8h.html
new file mode 100644
index 0000000..9954164
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__audio__frame_8h.html
@@ -0,0 +1,41 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/ppb_audio_frame.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_audio_frame.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__audio__frame_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__audio__frame_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__audio__frame_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__audio__frame_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio_frame__0__1.html">PPB_AudioFrame</a></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__audio__frame_8h.html#a8d8064bd5989ae176ec6a726d15b1a8b">PPB_AUDIOFRAME_INTERFACE</a>   "PPB_AudioFrame;0.1" /* dev */</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Defines the <code>PPB_AudioFrame</code> interface. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a8d8064bd5989ae176ec6a726d15b1a8b"></a><!-- doxytag: member="ppb_audio_frame.h::PPB_AUDIOFRAME_INTERFACE" ref="a8d8064bd5989ae176ec6a726d15b1a8b" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__audio__frame_8h.html#a8d8064bd5989ae176ec6a726d15b1a8b">PPB_AUDIOFRAME_INTERFACE</a>   "PPB_AudioFrame;0.1" /* dev */</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__audio__frame_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/ppb__audio__frame_8h__incl.png
new file mode 100644
index 0000000..2e91b125
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__audio__frame_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__console_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/ppb__console_8h.html
new file mode 100644
index 0000000..2ed7d90
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__console_8h.html
@@ -0,0 +1,67 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/ppb_console.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_console.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__console_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__console_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__console_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__console_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___console__1__0.html">PPB_Console</a></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__console_8h.html#af944896c561ac6200f2170a9060b4d3e">PPB_CONSOLE_INTERFACE</a>   "PPB_Console;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__console_8h.html#aeb04d0356a4ddc1488162c9512d318dd">PPB_CONSOLE_INTERFACE</a>   <a class="el" href="ppb__console_8h.html#af944896c561ac6200f2170a9060b4d3e">PPB_CONSOLE_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___console__1__0.html">PPB_Console</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gab38f2ca92926b53d58d1cf2ce6320ebb">PPB_Console</a></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gac39067c0883ec80b94290dd2a3bae440">PP_LogLevel</a> { <a class="el" href="group___enums.html#ggac39067c0883ec80b94290dd2a3bae440afe7444b89be7688e17bd6e4f0b1d3b34">PP_LOGLEVEL_TIP</a> = 0,
+<a class="el" href="group___enums.html#ggac39067c0883ec80b94290dd2a3bae440a8c6fdcc8aa698af314fe72ebd08db32a">PP_LOGLEVEL_LOG</a> = 1,
+<a class="el" href="group___enums.html#ggac39067c0883ec80b94290dd2a3bae440a66a3c4f684827eb994093dea14284aaf">PP_LOGLEVEL_WARNING</a> = 2,
+<a class="el" href="group___enums.html#ggac39067c0883ec80b94290dd2a3bae440a5854926dface39f205d138d9e47c37eb">PP_LOGLEVEL_ERROR</a> = 3
+ }</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gac39067c0883ec80b94290dd2a3bae440">PP_LogLevel</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_Console</code> interface. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="aeb04d0356a4ddc1488162c9512d318dd"></a><!-- doxytag: member="ppb_console.h::PPB_CONSOLE_INTERFACE" ref="aeb04d0356a4ddc1488162c9512d318dd" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__console_8h.html#aeb04d0356a4ddc1488162c9512d318dd">PPB_CONSOLE_INTERFACE</a>   <a class="el" href="ppb__console_8h.html#af944896c561ac6200f2170a9060b4d3e">PPB_CONSOLE_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="af944896c561ac6200f2170a9060b4d3e"></a><!-- doxytag: member="ppb_console.h::PPB_CONSOLE_INTERFACE" ref="af944896c561ac6200f2170a9060b4d3e" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__console_8h.html#af944896c561ac6200f2170a9060b4d3e">PPB_CONSOLE_INTERFACE</a>   "PPB_Console;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__console_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/ppb__console_8h__incl.png
new file mode 100644
index 0000000..dccff96
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__console_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__core_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/ppb__core_8h.html
new file mode 100644
index 0000000..361cd82
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__core_8h.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/ppb_core.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_core.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__core_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__core_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__core_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__core_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___core__1__0.html">PPB_Core</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_Core</code> interface contains pointers to functions related to memory management, time, and threads on the browser. <a href="struct_p_p_b___core__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__core_8h.html#acdd54c61a74a494eedba88bff5fef3e5">PPB_CORE_INTERFACE</a>   "PPB_Core;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__core_8h.html#ab634737b105d529729cc926ee6dee212">PPB_CORE_INTERFACE</a>   <a class="el" href="ppb__core_8h.html#acdd54c61a74a494eedba88bff5fef3e5">PPB_CORE_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___core__1__0.html">PPB_Core</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga34a986157c49afcad3537479bc5361e9">PPB_Core</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_Core</code> interface defined by the browser and containing pointers to functions related to memory management, time, and threads. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="ab634737b105d529729cc926ee6dee212"></a><!-- doxytag: member="ppb_core.h::PPB_CORE_INTERFACE" ref="ab634737b105d529729cc926ee6dee212" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__core_8h.html#ab634737b105d529729cc926ee6dee212">PPB_CORE_INTERFACE</a>   <a class="el" href="ppb__core_8h.html#acdd54c61a74a494eedba88bff5fef3e5">PPB_CORE_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="acdd54c61a74a494eedba88bff5fef3e5"></a><!-- doxytag: member="ppb_core.h::PPB_CORE_INTERFACE" ref="acdd54c61a74a494eedba88bff5fef3e5" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__core_8h.html#acdd54c61a74a494eedba88bff5fef3e5">PPB_CORE_INTERFACE</a>   "PPB_Core;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__core_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/ppb__core_8h__incl.png
new file mode 100644
index 0000000..8e4dd62
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__core_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__file__io_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/ppb__file__io_8h.html
new file mode 100644
index 0000000..2e1aa50
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__file__io_8h.html
@@ -0,0 +1,73 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/ppb_file_io.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_file_io.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__file__io_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__file__io_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__file__io_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__file__io_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_i_o__1__1.html">PPB_FileIO</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_FileIO</code> struct is used to operate on a regular file (PP_FileType_Regular). <a href="struct_p_p_b___file_i_o__1__1.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__file__io_8h.html#aee417de3562daef62dbf68ddc16a8477">PPB_FILEIO_INTERFACE</a>   "PPB_FileIO;1.1"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__file__io_8h.html#af7e4bdd4e8dbe17acf89068130f60660">PPB_FILEIO_INTERFACE</a>   <a class="el" href="ppb__file__io_8h.html#aee417de3562daef62dbf68ddc16a8477">PPB_FILEIO_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___file_i_o__1__1.html">PPB_FileIO</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga7b7a4f4317a5af9982ba79d60f04db69">PPB_FileIO</a></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga4c87e6dd19c1d49b66a9b37136a82e82">PP_FileOpenFlags</a> { <br />
+  <a class="el" href="group___enums.html#gga4c87e6dd19c1d49b66a9b37136a82e82a9d409b8a19e1a1c90b6c01f45cea8468">PP_FILEOPENFLAG_READ</a> = 1 << 0,
+<a class="el" href="group___enums.html#gga4c87e6dd19c1d49b66a9b37136a82e82ad43adf355739f7a82d0f1a884531afbd">PP_FILEOPENFLAG_WRITE</a> = 1 << 1,
+<a class="el" href="group___enums.html#gga4c87e6dd19c1d49b66a9b37136a82e82adc826ab2826a482ee2b15cc25d0d9ba2">PP_FILEOPENFLAG_CREATE</a> = 1 << 2,
+<a class="el" href="group___enums.html#gga4c87e6dd19c1d49b66a9b37136a82e82afc54dddff300e46f1ea644855abfd3e5">PP_FILEOPENFLAG_TRUNCATE</a> = 1 << 3,
+<br />
+  <a class="el" href="group___enums.html#gga4c87e6dd19c1d49b66a9b37136a82e82a3ffa615692f3b3a2da0f1e04903eefce">PP_FILEOPENFLAG_EXCLUSIVE</a> = 1 << 4,
+<a class="el" href="group___enums.html#gga4c87e6dd19c1d49b66a9b37136a82e82a78c13cbbccebfa9c2b8b2f758397795c">PP_FILEOPENFLAG_APPEND</a> = 1 << 5
+<br />
+ }</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga4c87e6dd19c1d49b66a9b37136a82e82">PP_FileOpenFlags</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API to create a file i/o object. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="af7e4bdd4e8dbe17acf89068130f60660"></a><!-- doxytag: member="ppb_file_io.h::PPB_FILEIO_INTERFACE" ref="af7e4bdd4e8dbe17acf89068130f60660" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__file__io_8h.html#af7e4bdd4e8dbe17acf89068130f60660">PPB_FILEIO_INTERFACE</a>   <a class="el" href="ppb__file__io_8h.html#aee417de3562daef62dbf68ddc16a8477">PPB_FILEIO_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="aee417de3562daef62dbf68ddc16a8477"></a><!-- doxytag: member="ppb_file_io.h::PPB_FILEIO_INTERFACE" ref="aee417de3562daef62dbf68ddc16a8477" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__file__io_8h.html#aee417de3562daef62dbf68ddc16a8477">PPB_FILEIO_INTERFACE</a>   "PPB_FileIO;1.1"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__file__io_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/ppb__file__io_8h__incl.png
new file mode 100644
index 0000000..34998568
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__file__io_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__file__ref_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/ppb__file__ref_8h.html
new file mode 100644
index 0000000..82220cb
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__file__ref_8h.html
@@ -0,0 +1,48 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/ppb_file_ref.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_file_ref.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__file__ref_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__file__ref_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__file__ref_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__file__ref_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_ref__1__2.html">PPB_FileRef</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_FileRef</code> struct represents a "weak pointer" to a file in a file system. <a href="struct_p_p_b___file_ref__1__2.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__file__ref_8h.html#a4752245ebf41b0ebee2c50019ec2bbe4">PPB_FILEREF_INTERFACE</a>   "PPB_FileRef;1.2" /* dev */</td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gadcb0a92e6ca510586c3f34088d35dc9f">PP_MakeDirectoryFlags</a> { <a class="el" href="group___enums.html#ggadcb0a92e6ca510586c3f34088d35dc9fafeeef418b62780276c4671a57196ad3f">PP_MAKEDIRECTORYFLAG_NONE</a> = 0 << 0,
+<a class="el" href="group___enums.html#ggadcb0a92e6ca510586c3f34088d35dc9fa5c7f89c8784c9d8abfaeae51d9cb84ba">PP_MAKEDIRECTORYFLAG_WITH_ANCESTORS</a> = 1 << 0,
+<a class="el" href="group___enums.html#ggadcb0a92e6ca510586c3f34088d35dc9fa34dd5b5ba9af9e5c820d3c6e21fc2094">PP_MAKEDIRECTORYFLAG_EXCLUSIVE</a> = 1 << 1
+ }</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API to create a file reference or "weak pointer" to a file in a file system. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a4752245ebf41b0ebee2c50019ec2bbe4"></a><!-- doxytag: member="ppb_file_ref.h::PPB_FILEREF_INTERFACE" ref="a4752245ebf41b0ebee2c50019ec2bbe4" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__file__ref_8h.html#a4752245ebf41b0ebee2c50019ec2bbe4">PPB_FILEREF_INTERFACE</a>   "PPB_FileRef;1.2" /* dev */</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__file__ref_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/ppb__file__ref_8h__incl.png
new file mode 100644
index 0000000..1384850
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__file__ref_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__file__system_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/ppb__file__system_8h.html
new file mode 100644
index 0000000..ee3a7c5
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__file__system_8h.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/ppb_file_system.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_file_system.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__file__system_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__file__system_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__file__system_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__file__system_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_system__1__0.html">PPB_FileSystem</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_FileSystem</code> struct identifies the file system type associated with a file. <a href="struct_p_p_b___file_system__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__file__system_8h.html#a856262c69fb3460f83a1b1fa3630c7c9">PPB_FILESYSTEM_INTERFACE</a>   "PPB_FileSystem;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__file__system_8h.html#a492a8ab8ba84394c44cca88c45852f2c">PPB_FILESYSTEM_INTERFACE</a>   <a class="el" href="ppb__file__system_8h.html#a856262c69fb3460f83a1b1fa3630c7c9">PPB_FILESYSTEM_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___file_system__1__0.html">PPB_FileSystem</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gae5ad593b6aff864c6bd0acc09d6cc5e9">PPB_FileSystem</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API to create a file system associated with a file. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a492a8ab8ba84394c44cca88c45852f2c"></a><!-- doxytag: member="ppb_file_system.h::PPB_FILESYSTEM_INTERFACE" ref="a492a8ab8ba84394c44cca88c45852f2c" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__file__system_8h.html#a492a8ab8ba84394c44cca88c45852f2c">PPB_FILESYSTEM_INTERFACE</a>   <a class="el" href="ppb__file__system_8h.html#a856262c69fb3460f83a1b1fa3630c7c9">PPB_FILESYSTEM_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a856262c69fb3460f83a1b1fa3630c7c9"></a><!-- doxytag: member="ppb_file_system.h::PPB_FILESYSTEM_INTERFACE" ref="a856262c69fb3460f83a1b1fa3630c7c9" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__file__system_8h.html#a856262c69fb3460f83a1b1fa3630c7c9">PPB_FILESYSTEM_INTERFACE</a>   "PPB_FileSystem;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__file__system_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/ppb__file__system_8h__incl.png
new file mode 100644
index 0000000..1e17a23
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__file__system_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__fullscreen_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/ppb__fullscreen_8h.html
new file mode 100644
index 0000000..a9e5d444
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__fullscreen_8h.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/ppb_fullscreen.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_fullscreen.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__fullscreen_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__fullscreen_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__fullscreen_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__fullscreen_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___fullscreen__1__0.html">PPB_Fullscreen</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_Fullscreen</code> interface is implemented by the browser. <a href="struct_p_p_b___fullscreen__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__fullscreen_8h.html#a4c01a722d680c2ddb2acb8eb84567b96">PPB_FULLSCREEN_INTERFACE</a>   "PPB_Fullscreen;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__fullscreen_8h.html#ac9eade8043cf2d61bf195d9fa880fb34">PPB_FULLSCREEN_INTERFACE</a>   <a class="el" href="ppb__fullscreen_8h.html#a4c01a722d680c2ddb2acb8eb84567b96">PPB_FULLSCREEN_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___fullscreen__1__0.html">PPB_Fullscreen</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga965dcf552ef79d1a41e0c24db2cf5c3c">PPB_Fullscreen</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_Fullscreen</code> interface for handling transitions of a module instance to and from fullscreen mode. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="ac9eade8043cf2d61bf195d9fa880fb34"></a><!-- doxytag: member="ppb_fullscreen.h::PPB_FULLSCREEN_INTERFACE" ref="ac9eade8043cf2d61bf195d9fa880fb34" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__fullscreen_8h.html#ac9eade8043cf2d61bf195d9fa880fb34">PPB_FULLSCREEN_INTERFACE</a>   <a class="el" href="ppb__fullscreen_8h.html#a4c01a722d680c2ddb2acb8eb84567b96">PPB_FULLSCREEN_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a4c01a722d680c2ddb2acb8eb84567b96"></a><!-- doxytag: member="ppb_fullscreen.h::PPB_FULLSCREEN_INTERFACE" ref="a4c01a722d680c2ddb2acb8eb84567b96" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__fullscreen_8h.html#a4c01a722d680c2ddb2acb8eb84567b96">PPB_FULLSCREEN_INTERFACE</a>   "PPB_Fullscreen;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__fullscreen_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/ppb__fullscreen_8h__incl.png
new file mode 100644
index 0000000..3d7a883
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__fullscreen_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__gamepad_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/ppb__gamepad_8h.html
new file mode 100644
index 0000000..f17fba9
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__gamepad_8h.html
@@ -0,0 +1,66 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/ppb_gamepad.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_gamepad.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__gamepad_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__gamepad_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__gamepad_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__gamepad_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___gamepad_sample_data.html">PP_GamepadSampleData</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The data for one gamepad device. <a href="struct_p_p___gamepad_sample_data.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___gamepads_sample_data.html">PP_GamepadsSampleData</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The data for all gamepads connected to the system. <a href="struct_p_p___gamepads_sample_data.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___gamepad__1__0.html">PPB_Gamepad</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_Gamepad</code> interface allows retrieving data from gamepad/joystick devices that are connected to the system. <a href="struct_p_p_b___gamepad__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__gamepad_8h.html#ae18db8da1163096b8ea10071317305b2">PPB_GAMEPAD_INTERFACE</a>   "PPB_Gamepad;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__gamepad_8h.html#aca090c38021f6dcef779de7a255313f3">PPB_GAMEPAD_INTERFACE</a>   <a class="el" href="ppb__gamepad_8h.html#ae18db8da1163096b8ea10071317305b2">PPB_GAMEPAD_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___gamepad__1__0.html">PPB_Gamepad</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga57baea75086a666a92489da807f16f2a">PPB_Gamepad</a></td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga525d88c6ef789fe645908c30bae38e7c">PP_GamepadSampleData</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#gacc3e9ccca109cc93c2fbeea317b7b004">PP_GamepadsSampleData</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_Gamepad</code> interface, which provides access to gamepad devices. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="aca090c38021f6dcef779de7a255313f3"></a><!-- doxytag: member="ppb_gamepad.h::PPB_GAMEPAD_INTERFACE" ref="aca090c38021f6dcef779de7a255313f3" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__gamepad_8h.html#aca090c38021f6dcef779de7a255313f3">PPB_GAMEPAD_INTERFACE</a>   <a class="el" href="ppb__gamepad_8h.html#ae18db8da1163096b8ea10071317305b2">PPB_GAMEPAD_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ae18db8da1163096b8ea10071317305b2"></a><!-- doxytag: member="ppb_gamepad.h::PPB_GAMEPAD_INTERFACE" ref="ae18db8da1163096b8ea10071317305b2" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__gamepad_8h.html#ae18db8da1163096b8ea10071317305b2">PPB_GAMEPAD_INTERFACE</a>   "PPB_Gamepad;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__gamepad_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/ppb__gamepad_8h__incl.png
new file mode 100644
index 0000000..7ed5f7d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__gamepad_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__graphics__2d_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/ppb__graphics__2d_8h.html
new file mode 100644
index 0000000..3ecd301
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__graphics__2d_8h.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/ppb_graphics_2d.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_graphics_2d.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__graphics__2d_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__graphics__2d_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__graphics__2d_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__graphics__2d_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics2_d__1__1.html">PPB_Graphics2D</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><code>PPB_Graphics2D</code> defines the interface for a 2D graphics context. <a href="struct_p_p_b___graphics2_d__1__1.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__graphics__2d_8h.html#ad9792b60ca6ce77f3925be8d60e06640">PPB_GRAPHICS_2D_INTERFACE</a>   "PPB_Graphics2D;1.1"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__graphics__2d_8h.html#ab4930fe7aea6b403503d5cc748824b0d">PPB_GRAPHICS_2D_INTERFACE</a>   <a class="el" href="ppb__graphics__2d_8h.html#ad9792b60ca6ce77f3925be8d60e06640">PPB_GRAPHICS_2D_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___graphics2_d__1__1.html">PPB_Graphics2D</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaf9f8348d3315d8bb014b401f733ebdb6">PPB_Graphics2D</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Defines the <code>PPB_Graphics2D</code> struct representing a 2D graphics context within the browser. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="ab4930fe7aea6b403503d5cc748824b0d"></a><!-- doxytag: member="ppb_graphics_2d.h::PPB_GRAPHICS_2D_INTERFACE" ref="ab4930fe7aea6b403503d5cc748824b0d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__graphics__2d_8h.html#ab4930fe7aea6b403503d5cc748824b0d">PPB_GRAPHICS_2D_INTERFACE</a>   <a class="el" href="ppb__graphics__2d_8h.html#ad9792b60ca6ce77f3925be8d60e06640">PPB_GRAPHICS_2D_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ad9792b60ca6ce77f3925be8d60e06640"></a><!-- doxytag: member="ppb_graphics_2d.h::PPB_GRAPHICS_2D_INTERFACE" ref="ad9792b60ca6ce77f3925be8d60e06640" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__graphics__2d_8h.html#ad9792b60ca6ce77f3925be8d60e06640">PPB_GRAPHICS_2D_INTERFACE</a>   "PPB_Graphics2D;1.1"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__graphics__2d_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/ppb__graphics__2d_8h__incl.png
new file mode 100644
index 0000000..d77f36d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__graphics__2d_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__graphics__3d_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/ppb__graphics__3d_8h.html
new file mode 100644
index 0000000..a36e498
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__graphics__3d_8h.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/ppb_graphics_3d.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_graphics_3d.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__graphics__3d_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__graphics__3d_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__graphics__3d_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__graphics__3d_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics3_d__1__0.html">PPB_Graphics3D</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><code>PPB_Graphics3D</code> defines the interface for a 3D graphics context. <a href="struct_p_p_b___graphics3_d__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__graphics__3d_8h.html#a2619e373c7a32f9b0a763330c39ee282">PPB_GRAPHICS_3D_INTERFACE</a>   "PPB_Graphics3D;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__graphics__3d_8h.html#a3ba3c80f5959aca6bdef2584a2ceb55e">PPB_GRAPHICS_3D_INTERFACE</a>   <a class="el" href="ppb__graphics__3d_8h.html#a2619e373c7a32f9b0a763330c39ee282">PPB_GRAPHICS_3D_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___graphics3_d__1__0.html">PPB_Graphics3D</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga2865870b49481aae8ed416c06c58a7c0">PPB_Graphics3D</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Defines the <code>PPB_Graphics3D</code> struct representing a 3D graphics context within the browser. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a3ba3c80f5959aca6bdef2584a2ceb55e"></a><!-- doxytag: member="ppb_graphics_3d.h::PPB_GRAPHICS_3D_INTERFACE" ref="a3ba3c80f5959aca6bdef2584a2ceb55e" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__graphics__3d_8h.html#a3ba3c80f5959aca6bdef2584a2ceb55e">PPB_GRAPHICS_3D_INTERFACE</a>   <a class="el" href="ppb__graphics__3d_8h.html#a2619e373c7a32f9b0a763330c39ee282">PPB_GRAPHICS_3D_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a2619e373c7a32f9b0a763330c39ee282"></a><!-- doxytag: member="ppb_graphics_3d.h::PPB_GRAPHICS_3D_INTERFACE" ref="a2619e373c7a32f9b0a763330c39ee282" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__graphics__3d_8h.html#a2619e373c7a32f9b0a763330c39ee282">PPB_GRAPHICS_3D_INTERFACE</a>   "PPB_Graphics3D;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__graphics__3d_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/ppb__graphics__3d_8h__incl.png
new file mode 100644
index 0000000..a30a514
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__graphics__3d_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__host__resolver_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/ppb__host__resolver_8h.html
new file mode 100644
index 0000000..661ef29
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__host__resolver_8h.html
@@ -0,0 +1,68 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/ppb_host_resolver.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_host_resolver.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__host__resolver_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__host__resolver_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__host__resolver_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__host__resolver_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___host_resolver___hint.html">PP_HostResolver_Hint</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><code><a class="el" href="struct_p_p___host_resolver___hint.html" title="PP_HostResolver_Hint represents hints for host resolution.">PP_HostResolver_Hint</a></code> represents hints for host resolution. <a href="struct_p_p___host_resolver___hint.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___host_resolver__1__0.html">PPB_HostResolver</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_HostResolver</code> interface supports host name resolution. <a href="struct_p_p_b___host_resolver__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__host__resolver_8h.html#af02d4ce7194c9c440c0bd42e81ab7731">PPB_HOSTRESOLVER_INTERFACE</a>   "PPB_HostResolver;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__host__resolver_8h.html#a92db0e0376e1dd64b24f1e107b277d71">PPB_HOSTRESOLVER_INTERFACE</a>   <a class="el" href="ppb__host__resolver_8h.html#af02d4ce7194c9c440c0bd42e81ab7731">PPB_HOSTRESOLVER_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___host_resolver__1__0.html">PPB_HostResolver</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga72b9bd04eeace0c69f4e454b7cc4e440">PPB_HostResolver</a></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gadb4b8db19266831040fc604f73c83a25">PP_HostResolver_Flag</a> { <a class="el" href="group___enums.html#ggadb4b8db19266831040fc604f73c83a25a1fc5655c5b292459d24dc035e930e75e">PP_HOSTRESOLVER_FLAG_CANONNAME</a> = 1 << 0
+ }</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gadb4b8db19266831040fc604f73c83a25">PP_HostResolver_Flag</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga6e27cf6541423cdee5fc2cf5b2d67853">PP_HostResolver_Hint</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_HostResolver</code> interface. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a92db0e0376e1dd64b24f1e107b277d71"></a><!-- doxytag: member="ppb_host_resolver.h::PPB_HOSTRESOLVER_INTERFACE" ref="a92db0e0376e1dd64b24f1e107b277d71" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__host__resolver_8h.html#a92db0e0376e1dd64b24f1e107b277d71">PPB_HOSTRESOLVER_INTERFACE</a>   <a class="el" href="ppb__host__resolver_8h.html#af02d4ce7194c9c440c0bd42e81ab7731">PPB_HOSTRESOLVER_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="af02d4ce7194c9c440c0bd42e81ab7731"></a><!-- doxytag: member="ppb_host_resolver.h::PPB_HOSTRESOLVER_INTERFACE" ref="af02d4ce7194c9c440c0bd42e81ab7731" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__host__resolver_8h.html#af02d4ce7194c9c440c0bd42e81ab7731">PPB_HOSTRESOLVER_INTERFACE</a>   "PPB_HostResolver;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__host__resolver_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/ppb__host__resolver_8h__incl.png
new file mode 100644
index 0000000..4313c90
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__host__resolver_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__image__data_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/ppb__image__data_8h.html
new file mode 100644
index 0000000..524f293
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__image__data_8h.html
@@ -0,0 +1,69 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/ppb_image_data.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_image_data.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__image__data_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__image__data_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__image__data_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__image__data_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___image_data_desc.html">PP_ImageDataDesc</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="struct_p_p___image_data_desc.html" title="The PP_ImageDataDesc structure represents a description of image data.">PP_ImageDataDesc</a></code> structure represents a description of image data. <a href="struct_p_p___image_data_desc.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___image_data__1__0.html">PPB_ImageData</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_ImageData</code> interface contains pointers to several functions for determining the browser's treatment of image data. <a href="struct_p_p_b___image_data__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__image__data_8h.html#ab08ef8c9002eec0102a71d9c766f0893">PPB_IMAGEDATA_INTERFACE</a>   "PPB_ImageData;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__image__data_8h.html#a706a4eb837834aefe135ccbfb3ebe21d">PPB_IMAGEDATA_INTERFACE</a>   <a class="el" href="ppb__image__data_8h.html#ab08ef8c9002eec0102a71d9c766f0893">PPB_IMAGEDATA_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___image_data__1__0.html">PPB_ImageData</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga17e05bbe7da0d6d7b61b6f78c5913c37">PPB_ImageData</a></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga2ee7ad01799553e5f17bdaa35dd952ee">PP_ImageDataFormat</a> { <a class="el" href="group___enums.html#gga2ee7ad01799553e5f17bdaa35dd952eea8685611ba2e85347f5f6bb0043940358">PP_IMAGEDATAFORMAT_BGRA_PREMUL</a>,
+<a class="el" href="group___enums.html#gga2ee7ad01799553e5f17bdaa35dd952eeab291a13cd5f4728eab3c207938916622">PP_IMAGEDATAFORMAT_RGBA_PREMUL</a>
+ }</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga2ee7ad01799553e5f17bdaa35dd952ee">PP_ImageDataFormat</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#gae0f2df62c9fe8b622336fa44ad897470">PP_ImageDataDesc</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_ImageData</code> struct for determining how a browser handles image data. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a706a4eb837834aefe135ccbfb3ebe21d"></a><!-- doxytag: member="ppb_image_data.h::PPB_IMAGEDATA_INTERFACE" ref="a706a4eb837834aefe135ccbfb3ebe21d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__image__data_8h.html#a706a4eb837834aefe135ccbfb3ebe21d">PPB_IMAGEDATA_INTERFACE</a>   <a class="el" href="ppb__image__data_8h.html#ab08ef8c9002eec0102a71d9c766f0893">PPB_IMAGEDATA_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ab08ef8c9002eec0102a71d9c766f0893"></a><!-- doxytag: member="ppb_image_data.h::PPB_IMAGEDATA_INTERFACE" ref="ab08ef8c9002eec0102a71d9c766f0893" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__image__data_8h.html#ab08ef8c9002eec0102a71d9c766f0893">PPB_IMAGEDATA_INTERFACE</a>   "PPB_ImageData;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__image__data_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/ppb__image__data_8h__incl.png
new file mode 100644
index 0000000..e819aeef
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__image__data_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__input__event_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/ppb__input__event_8h.html
new file mode 100644
index 0000000..22182aa
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__input__event_8h.html
@@ -0,0 +1,280 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/ppb_input_event.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_input_event.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__input__event_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__input__event_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__input__event_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__input__event_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___input_event__1__0.html">PPB_InputEvent</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_InputEvent</code> interface contains pointers to several functions related to generic input events on the browser. <a href="struct_p_p_b___input_event__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___mouse_input_event__1__1.html">PPB_MouseInputEvent</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_MouseInputEvent</code> interface contains pointers to several functions related to mouse input events. <a href="struct_p_p_b___mouse_input_event__1__1.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___wheel_input_event__1__0.html">PPB_WheelInputEvent</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_WheelIputEvent</code> interface contains pointers to several functions related to wheel input events. <a href="struct_p_p_b___wheel_input_event__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___keyboard_input_event__1__0.html">PPB_KeyboardInputEvent</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_KeyboardInputEvent</code> interface contains pointers to several functions related to keyboard input events. <a href="struct_p_p_b___keyboard_input_event__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___touch_input_event__1__0.html">PPB_TouchInputEvent</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_TouchInputEvent</code> interface contains pointers to several functions related to touch events. <a href="struct_p_p_b___touch_input_event__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html">PPB_IMEInputEvent</a></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__input__event_8h.html#af4e5b597aea9864e7d9aa81c71e781d2">PPB_INPUT_EVENT_INTERFACE</a>   "PPB_InputEvent;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__input__event_8h.html#a40fd5bca277483a37c2713b8961b5117">PPB_INPUT_EVENT_INTERFACE</a>   <a class="el" href="ppb__input__event_8h.html#af4e5b597aea9864e7d9aa81c71e781d2">PPB_INPUT_EVENT_INTERFACE</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__input__event_8h.html#a9887382b4700999b639a2f2de497e104">PPB_MOUSE_INPUT_EVENT_INTERFACE</a>   "PPB_MouseInputEvent;1.1"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__input__event_8h.html#a761fcf6df555946b6c2e1a0b6cd01c5e">PPB_MOUSE_INPUT_EVENT_INTERFACE</a>   <a class="el" href="ppb__input__event_8h.html#a9887382b4700999b639a2f2de497e104">PPB_MOUSE_INPUT_EVENT_INTERFACE</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__input__event_8h.html#a0a7bcd124b8e7677b629b236eabfb563">PPB_WHEEL_INPUT_EVENT_INTERFACE</a>   "PPB_WheelInputEvent;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__input__event_8h.html#a2e592782e919e590dd393d421af8850f">PPB_WHEEL_INPUT_EVENT_INTERFACE</a>   <a class="el" href="ppb__input__event_8h.html#a0a7bcd124b8e7677b629b236eabfb563">PPB_WHEEL_INPUT_EVENT_INTERFACE</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__input__event_8h.html#a0d5e2d948d5a25cd3194a59c21ad992e">PPB_KEYBOARD_INPUT_EVENT_INTERFACE</a>   "PPB_KeyboardInputEvent;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__input__event_8h.html#a969f9e171a3202249e8dfabaef33c288">PPB_KEYBOARD_INPUT_EVENT_INTERFACE</a>   <a class="el" href="ppb__input__event_8h.html#a0d5e2d948d5a25cd3194a59c21ad992e">PPB_KEYBOARD_INPUT_EVENT_INTERFACE</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__input__event_8h.html#a36b8536215a705ecc3fd4cd366b0f975">PPB_TOUCH_INPUT_EVENT_INTERFACE</a>   "PPB_TouchInputEvent;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__input__event_8h.html#a9ef6ad6634a1d1912b83006862a0e57b">PPB_TOUCH_INPUT_EVENT_INTERFACE</a>   <a class="el" href="ppb__input__event_8h.html#a36b8536215a705ecc3fd4cd366b0f975">PPB_TOUCH_INPUT_EVENT_INTERFACE</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__input__event_8h.html#ad911c1aed763c2f362037995ffca801a">PPB_IME_INPUT_EVENT_INTERFACE</a>   "PPB_IMEInputEvent;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__input__event_8h.html#ac7e4bf41f38afcb87e0a75c8f27ca33f">PPB_IME_INPUT_EVENT_INTERFACE</a>   <a class="el" href="ppb__input__event_8h.html#ad911c1aed763c2f362037995ffca801a">PPB_IME_INPUT_EVENT_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___input_event__1__0.html">PPB_InputEvent</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gac221fa16a0d0daa0bf171a477b465396">PPB_InputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___mouse_input_event__1__1.html">PPB_MouseInputEvent</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga3fcedb0e992eebaf7d9b1b60aacceafc">PPB_MouseInputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___wheel_input_event__1__0.html">PPB_WheelInputEvent</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaaefb7f24240d14faa56dfdba8c116889">PPB_WheelInputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___keyboard_input_event__1__0.html">PPB_KeyboardInputEvent</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gad245b3100fef75b215d6ba60cccd626e">PPB_KeyboardInputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___touch_input_event__1__0.html">PPB_TouchInputEvent</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga3d25b1582fc1e6b94f53ecfb21422d6c">PPB_TouchInputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html">PPB_IMEInputEvent</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaaa0c327650de77066ea8e2ec8f5589c5">PPB_IMEInputEvent</a></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gaca7296cfec99fcb6646b7144d1d6a0c5">PP_InputEvent_Type</a> { <br />
+  <a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a9b6d5489f328f0b902da4a1f5836b4cb">PP_INPUTEVENT_TYPE_UNDEFINED</a> = -1,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a4309eee5fb8284b6be7c258090b21e77">PP_INPUTEVENT_TYPE_MOUSEDOWN</a> = 0,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a9f0a8196670b1da0e9c3cf081329c3ca">PP_INPUTEVENT_TYPE_MOUSEUP</a> = 1,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a9d3a09d7fb33663f3a7d920fd2e3208d">PP_INPUTEVENT_TYPE_MOUSEMOVE</a> = 2,
+<br />
+  <a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5ad240947fd6d67f23b679be4806947e2a">PP_INPUTEVENT_TYPE_MOUSEENTER</a> = 3,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a0870576010613081518c9c6683abd2e8">PP_INPUTEVENT_TYPE_MOUSELEAVE</a> = 4,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a2eedbec689780077aa98188805a559f6">PP_INPUTEVENT_TYPE_WHEEL</a> = 5,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a05c7f50eb36e606a3e5a0065b337d96c">PP_INPUTEVENT_TYPE_RAWKEYDOWN</a> = 6,
+<br />
+  <a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a4064a5f6ce10c7e5a0834aff7cd7e474">PP_INPUTEVENT_TYPE_KEYDOWN</a> = 7,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5af57c2b682b29f7b03f27519f98febdea">PP_INPUTEVENT_TYPE_KEYUP</a> = 8,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a0d547efbed42c655264b96a51954e0dd">PP_INPUTEVENT_TYPE_CHAR</a> = 9,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a0cf7525c015c97ded19afab9d7d9afee">PP_INPUTEVENT_TYPE_CONTEXTMENU</a> = 10,
+<br />
+  <a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a90668acda261e23721f3dd757f557031">PP_INPUTEVENT_TYPE_IME_COMPOSITION_START</a> = 11,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a1eff5df3bb41546046f97993376607c2">PP_INPUTEVENT_TYPE_IME_COMPOSITION_UPDATE</a> = 12,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a5c009302410ac6f55da4df618b2d85d5">PP_INPUTEVENT_TYPE_IME_COMPOSITION_END</a> = 13,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a5826ba18e40265a7b74e4b3ae1fe3772">PP_INPUTEVENT_TYPE_IME_TEXT</a> = 14,
+<br />
+  <a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5ac604f0e894f8f9e660d36e30db16b52d">PP_INPUTEVENT_TYPE_TOUCHSTART</a> = 15,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a43888c9c671ac5973f5bcea7eabcc889">PP_INPUTEVENT_TYPE_TOUCHMOVE</a> = 16,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5ae1c312aafaf4caeddb1afc09e81c9655">PP_INPUTEVENT_TYPE_TOUCHEND</a> = 17,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a78266e75562e546005eb8098f455ce91">PP_INPUTEVENT_TYPE_TOUCHCANCEL</a> = 18
+<br />
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga21b811ac0484a214a8751aa3e1c959d9">PP_InputEvent_Modifier</a> { <br />
+  <a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9a7506fd613b0e3055b37700eddcc04c8e">PP_INPUTEVENT_MODIFIER_SHIFTKEY</a> = 1 << 0,
+<a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9aeb4a9ad52cbfbfab9dea7cf2429c52f7">PP_INPUTEVENT_MODIFIER_CONTROLKEY</a> = 1 << 1,
+<a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9ab30d756ab410e7155deef8c48568fc95">PP_INPUTEVENT_MODIFIER_ALTKEY</a> = 1 << 2,
+<a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9ab3b68a7fb23fa33be297b30a2d3f27d7">PP_INPUTEVENT_MODIFIER_METAKEY</a> = 1 << 3,
+<br />
+  <a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9a24f5d73cf82a01116f52b57410e64c9d">PP_INPUTEVENT_MODIFIER_ISKEYPAD</a> = 1 << 4,
+<a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9a0d6141a7a3498af2020093469358472f">PP_INPUTEVENT_MODIFIER_ISAUTOREPEAT</a> = 1 << 5,
+<a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9a31e52901313720fd0e431976228f2153">PP_INPUTEVENT_MODIFIER_LEFTBUTTONDOWN</a> = 1 << 6,
+<a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9aa2369bf6eb5309a43d608ef83d747a04">PP_INPUTEVENT_MODIFIER_MIDDLEBUTTONDOWN</a> = 1 << 7,
+<br />
+  <a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9aee3e5083c83130d4368b79878fd574fe">PP_INPUTEVENT_MODIFIER_RIGHTBUTTONDOWN</a> = 1 << 8,
+<a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9a99a27b5dab8360eb08189439b85b8781">PP_INPUTEVENT_MODIFIER_CAPSLOCKKEY</a> = 1 << 9,
+<a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9a493ca598187014e2356cd7a5ba8cdffd">PP_INPUTEVENT_MODIFIER_NUMLOCKKEY</a> = 1 << 10,
+<a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9a8295bfc8067c06a17ccfc5fb6a992e17">PP_INPUTEVENT_MODIFIER_ISLEFT</a> = 1 << 11,
+<br />
+  <a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9a348f43efaf61edbefd83346428c5b122">PP_INPUTEVENT_MODIFIER_ISRIGHT</a> = 1 << 12
+<br />
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga25113f3c8d33e863fd38b3f70f8a5e6e">PP_InputEvent_MouseButton</a> { <a class="el" href="group___enums.html#gga25113f3c8d33e863fd38b3f70f8a5e6eaa2d4e499d6c23ef45381a89612e654d9">PP_INPUTEVENT_MOUSEBUTTON_NONE</a> = -1,
+<a class="el" href="group___enums.html#gga25113f3c8d33e863fd38b3f70f8a5e6eaa44f4ea3c7759e4fce6150f349909f63">PP_INPUTEVENT_MOUSEBUTTON_LEFT</a> = 0,
+<a class="el" href="group___enums.html#gga25113f3c8d33e863fd38b3f70f8a5e6ea3f8a2698990ec1e36943651ca600e3be">PP_INPUTEVENT_MOUSEBUTTON_MIDDLE</a> = 1,
+<a class="el" href="group___enums.html#gga25113f3c8d33e863fd38b3f70f8a5e6ea681614da50d511b516d0a88fbaa6eb5b">PP_INPUTEVENT_MOUSEBUTTON_RIGHT</a> = 2
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gafe68e3c1031daa4a6496845ff47649cd">PP_InputEvent_Class</a> { <br />
+  <a class="el" href="group___enums.html#ggafe68e3c1031daa4a6496845ff47649cda79ccc5180eb39c52ab3207f0c876dd52">PP_INPUTEVENT_CLASS_MOUSE</a> = 1 << 0,
+<a class="el" href="group___enums.html#ggafe68e3c1031daa4a6496845ff47649cda2c3341eacc3a459713ce334b9af0cda8">PP_INPUTEVENT_CLASS_KEYBOARD</a> = 1 << 1,
+<a class="el" href="group___enums.html#ggafe68e3c1031daa4a6496845ff47649cda59d6686dbce1f0dc092cb88a451bb3a6">PP_INPUTEVENT_CLASS_WHEEL</a> = 1 << 2,
+<a class="el" href="group___enums.html#ggafe68e3c1031daa4a6496845ff47649cda19b05264fa31d7e975eba297f9f146af">PP_INPUTEVENT_CLASS_TOUCH</a> = 1 << 3,
+<br />
+  <a class="el" href="group___enums.html#ggafe68e3c1031daa4a6496845ff47649cda1280fe9a85edf74e20e4d503a345ab7d">PP_INPUTEVENT_CLASS_IME</a> = 1 << 4
+<br />
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gad5885a239d04166c8777432c81e39d0a">PP_TouchListType</a> { <a class="el" href="group___enums.html#ggad5885a239d04166c8777432c81e39d0aa739dfd65f4cd719996f20bdd2e7db4ca">PP_TOUCHLIST_TYPE_TOUCHES</a> = 0,
+<a class="el" href="group___enums.html#ggad5885a239d04166c8777432c81e39d0aa89d31d55d67fa0746d1f3bf4050eafff">PP_TOUCHLIST_TYPE_CHANGEDTOUCHES</a> = 1,
+<a class="el" href="group___enums.html#ggad5885a239d04166c8777432c81e39d0aa0682e6c428fed9b900e3d9e56aaa8fca">PP_TOUCHLIST_TYPE_TARGETTOUCHES</a> = 2
+ }</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gaca7296cfec99fcb6646b7144d1d6a0c5">PP_InputEvent_Type</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga21b811ac0484a214a8751aa3e1c959d9">PP_InputEvent_Modifier</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga25113f3c8d33e863fd38b3f70f8a5e6e">PP_InputEvent_MouseButton</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gafe68e3c1031daa4a6496845ff47649cd">PP_InputEvent_Class</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gad5885a239d04166c8777432c81e39d0a">PP_TouchListType</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the Input Event interfaces. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="ac7e4bf41f38afcb87e0a75c8f27ca33f"></a><!-- doxytag: member="ppb_input_event.h::PPB_IME_INPUT_EVENT_INTERFACE" ref="ac7e4bf41f38afcb87e0a75c8f27ca33f" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__input__event_8h.html#ac7e4bf41f38afcb87e0a75c8f27ca33f">PPB_IME_INPUT_EVENT_INTERFACE</a>   <a class="el" href="ppb__input__event_8h.html#ad911c1aed763c2f362037995ffca801a">PPB_IME_INPUT_EVENT_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ad911c1aed763c2f362037995ffca801a"></a><!-- doxytag: member="ppb_input_event.h::PPB_IME_INPUT_EVENT_INTERFACE" ref="ad911c1aed763c2f362037995ffca801a" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__input__event_8h.html#ad911c1aed763c2f362037995ffca801a">PPB_IME_INPUT_EVENT_INTERFACE</a>   "PPB_IMEInputEvent;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a40fd5bca277483a37c2713b8961b5117"></a><!-- doxytag: member="ppb_input_event.h::PPB_INPUT_EVENT_INTERFACE" ref="a40fd5bca277483a37c2713b8961b5117" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__input__event_8h.html#a40fd5bca277483a37c2713b8961b5117">PPB_INPUT_EVENT_INTERFACE</a>   <a class="el" href="ppb__input__event_8h.html#af4e5b597aea9864e7d9aa81c71e781d2">PPB_INPUT_EVENT_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="af4e5b597aea9864e7d9aa81c71e781d2"></a><!-- doxytag: member="ppb_input_event.h::PPB_INPUT_EVENT_INTERFACE" ref="af4e5b597aea9864e7d9aa81c71e781d2" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__input__event_8h.html#af4e5b597aea9864e7d9aa81c71e781d2">PPB_INPUT_EVENT_INTERFACE</a>   "PPB_InputEvent;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a969f9e171a3202249e8dfabaef33c288"></a><!-- doxytag: member="ppb_input_event.h::PPB_KEYBOARD_INPUT_EVENT_INTERFACE" ref="a969f9e171a3202249e8dfabaef33c288" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__input__event_8h.html#a969f9e171a3202249e8dfabaef33c288">PPB_KEYBOARD_INPUT_EVENT_INTERFACE</a>   <a class="el" href="ppb__input__event_8h.html#a0d5e2d948d5a25cd3194a59c21ad992e">PPB_KEYBOARD_INPUT_EVENT_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a0d5e2d948d5a25cd3194a59c21ad992e"></a><!-- doxytag: member="ppb_input_event.h::PPB_KEYBOARD_INPUT_EVENT_INTERFACE" ref="a0d5e2d948d5a25cd3194a59c21ad992e" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__input__event_8h.html#a0d5e2d948d5a25cd3194a59c21ad992e">PPB_KEYBOARD_INPUT_EVENT_INTERFACE</a>   "PPB_KeyboardInputEvent;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a761fcf6df555946b6c2e1a0b6cd01c5e"></a><!-- doxytag: member="ppb_input_event.h::PPB_MOUSE_INPUT_EVENT_INTERFACE" ref="a761fcf6df555946b6c2e1a0b6cd01c5e" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__input__event_8h.html#a761fcf6df555946b6c2e1a0b6cd01c5e">PPB_MOUSE_INPUT_EVENT_INTERFACE</a>   <a class="el" href="ppb__input__event_8h.html#a9887382b4700999b639a2f2de497e104">PPB_MOUSE_INPUT_EVENT_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a9887382b4700999b639a2f2de497e104"></a><!-- doxytag: member="ppb_input_event.h::PPB_MOUSE_INPUT_EVENT_INTERFACE" ref="a9887382b4700999b639a2f2de497e104" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__input__event_8h.html#a9887382b4700999b639a2f2de497e104">PPB_MOUSE_INPUT_EVENT_INTERFACE</a>   "PPB_MouseInputEvent;1.1"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a9ef6ad6634a1d1912b83006862a0e57b"></a><!-- doxytag: member="ppb_input_event.h::PPB_TOUCH_INPUT_EVENT_INTERFACE" ref="a9ef6ad6634a1d1912b83006862a0e57b" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__input__event_8h.html#a9ef6ad6634a1d1912b83006862a0e57b">PPB_TOUCH_INPUT_EVENT_INTERFACE</a>   <a class="el" href="ppb__input__event_8h.html#a36b8536215a705ecc3fd4cd366b0f975">PPB_TOUCH_INPUT_EVENT_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a36b8536215a705ecc3fd4cd366b0f975"></a><!-- doxytag: member="ppb_input_event.h::PPB_TOUCH_INPUT_EVENT_INTERFACE" ref="a36b8536215a705ecc3fd4cd366b0f975" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__input__event_8h.html#a36b8536215a705ecc3fd4cd366b0f975">PPB_TOUCH_INPUT_EVENT_INTERFACE</a>   "PPB_TouchInputEvent;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a2e592782e919e590dd393d421af8850f"></a><!-- doxytag: member="ppb_input_event.h::PPB_WHEEL_INPUT_EVENT_INTERFACE" ref="a2e592782e919e590dd393d421af8850f" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__input__event_8h.html#a2e592782e919e590dd393d421af8850f">PPB_WHEEL_INPUT_EVENT_INTERFACE</a>   <a class="el" href="ppb__input__event_8h.html#a0a7bcd124b8e7677b629b236eabfb563">PPB_WHEEL_INPUT_EVENT_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a0a7bcd124b8e7677b629b236eabfb563"></a><!-- doxytag: member="ppb_input_event.h::PPB_WHEEL_INPUT_EVENT_INTERFACE" ref="a0a7bcd124b8e7677b629b236eabfb563" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__input__event_8h.html#a0a7bcd124b8e7677b629b236eabfb563">PPB_WHEEL_INPUT_EVENT_INTERFACE</a>   "PPB_WheelInputEvent;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__input__event_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/ppb__input__event_8h__incl.png
new file mode 100644
index 0000000..b629a3a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__input__event_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__instance_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/ppb__instance_8h.html
new file mode 100644
index 0000000..5cdf67b
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__instance_8h.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/ppb_instance.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_instance.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__instance_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__instance_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__instance_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__instance_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___instance__1__0.html">PPB_Instance</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The PPB_Instance interface contains pointers to functions related to the module instance on a web page. <a href="struct_p_p_b___instance__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__instance_8h.html#ad3b639018921516cd4d2d3adcffdbc8f">PPB_INSTANCE_INTERFACE</a>   "PPB_Instance;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__instance_8h.html#ab707353c04e78fe57eba3783692a0eed">PPB_INSTANCE_INTERFACE</a>   <a class="el" href="ppb__instance_8h.html#ad3b639018921516cd4d2d3adcffdbc8f">PPB_INSTANCE_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___instance__1__0.html">PPB_Instance</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaf2ed3cc24968d8681b52cf70eae066ca">PPB_Instance</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_Instance</code> interface implemented by the browser and containing pointers to functions related to the module instance on a web page. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="ab707353c04e78fe57eba3783692a0eed"></a><!-- doxytag: member="ppb_instance.h::PPB_INSTANCE_INTERFACE" ref="ab707353c04e78fe57eba3783692a0eed" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__instance_8h.html#ab707353c04e78fe57eba3783692a0eed">PPB_INSTANCE_INTERFACE</a>   <a class="el" href="ppb__instance_8h.html#ad3b639018921516cd4d2d3adcffdbc8f">PPB_INSTANCE_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ad3b639018921516cd4d2d3adcffdbc8f"></a><!-- doxytag: member="ppb_instance.h::PPB_INSTANCE_INTERFACE" ref="ad3b639018921516cd4d2d3adcffdbc8f" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__instance_8h.html#ad3b639018921516cd4d2d3adcffdbc8f">PPB_INSTANCE_INTERFACE</a>   "PPB_Instance;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__instance_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/ppb__instance_8h__incl.png
new file mode 100644
index 0000000..b1ffff8
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__instance_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__media__stream__audio__track_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/ppb__media__stream__audio__track_8h.html
new file mode 100644
index 0000000..bba97d68
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__media__stream__audio__track_8h.html
@@ -0,0 +1,42 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/ppb_media_stream_audio_track.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_media_stream_audio_track.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__media__stream__audio__track_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__media__stream__audio__track_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__media__stream__audio__track_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__media__stream__audio__track_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___media_stream_audio_track__0__1.html">PPB_MediaStreamAudioTrack</a></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__media__stream__audio__track_8h.html#a1f573797be0968778c819a0d800f5293">PPB_MEDIASTREAMAUDIOTRACK_INTERFACE</a>   "PPB_MediaStreamAudioTrack;0.1" /* dev */</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Defines the <code>PPB_MediaStreamAudioTrack</code> interface. </p>
+<p>Used for receiving audio frames from a MediaStream audio track in the browser. This interface is still in development (Dev API status) and may change. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a1f573797be0968778c819a0d800f5293"></a><!-- doxytag: member="ppb_media_stream_audio_track.h::PPB_MEDIASTREAMAUDIOTRACK_INTERFACE" ref="a1f573797be0968778c819a0d800f5293" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__media__stream__audio__track_8h.html#a1f573797be0968778c819a0d800f5293">PPB_MEDIASTREAMAUDIOTRACK_INTERFACE</a>   "PPB_MediaStreamAudioTrack;0.1" /* dev */</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__media__stream__audio__track_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/ppb__media__stream__audio__track_8h__incl.png
new file mode 100644
index 0000000..83ed950
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__media__stream__audio__track_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__media__stream__video__track_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/ppb__media__stream__video__track_8h.html
new file mode 100644
index 0000000..ee333c1
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__media__stream__video__track_8h.html
@@ -0,0 +1,42 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/ppb_media_stream_video_track.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_media_stream_video_track.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__media__stream__video__track_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__media__stream__video__track_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__media__stream__video__track_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__media__stream__video__track_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___media_stream_video_track__0__1.html">PPB_MediaStreamVideoTrack</a></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__media__stream__video__track_8h.html#a70f92644b72d37bb973d45ffaba60830">PPB_MEDIASTREAMVIDEOTRACK_INTERFACE</a>   "PPB_MediaStreamVideoTrack;0.1" /* dev */</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Defines the <code>PPB_MediaStreamVideoTrack</code> interface. </p>
+<p>Used for receiving video frames from a MediaStream video track in the browser. This interface is still in development (Dev API status) and may change. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a70f92644b72d37bb973d45ffaba60830"></a><!-- doxytag: member="ppb_media_stream_video_track.h::PPB_MEDIASTREAMVIDEOTRACK_INTERFACE" ref="a70f92644b72d37bb973d45ffaba60830" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__media__stream__video__track_8h.html#a70f92644b72d37bb973d45ffaba60830">PPB_MEDIASTREAMVIDEOTRACK_INTERFACE</a>   "PPB_MediaStreamVideoTrack;0.1" /* dev */</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__media__stream__video__track_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/ppb__media__stream__video__track_8h__incl.png
new file mode 100644
index 0000000..07831d6d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__media__stream__video__track_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__message__loop_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/ppb__message__loop_8h.html
new file mode 100644
index 0000000..8d28be0
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__message__loop_8h.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/ppb_message_loop.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_message_loop.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__message__loop_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__message__loop_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__message__loop_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__message__loop_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___message_loop__1__0.html">PPB_MessageLoop</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A message loop allows PPAPI calls to be issued on a thread. <a href="struct_p_p_b___message_loop__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__message__loop_8h.html#a9b1fcf10002ff75d323617f920de4468">PPB_MESSAGELOOP_INTERFACE</a>   "PPB_MessageLoop;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__message__loop_8h.html#ae810c1f641977db5a6497704d7b0f4b0">PPB_MESSAGELOOP_INTERFACE</a>   <a class="el" href="ppb__message__loop_8h.html#a9b1fcf10002ff75d323617f920de4468">PPB_MESSAGELOOP_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___message_loop__1__0.html">PPB_MessageLoop</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gae3eb3482b0fb57fb6a4eb05c07908788">PPB_MessageLoop</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Defines the PPB_MessageLoop interface. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="ae810c1f641977db5a6497704d7b0f4b0"></a><!-- doxytag: member="ppb_message_loop.h::PPB_MESSAGELOOP_INTERFACE" ref="ae810c1f641977db5a6497704d7b0f4b0" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__message__loop_8h.html#ae810c1f641977db5a6497704d7b0f4b0">PPB_MESSAGELOOP_INTERFACE</a>   <a class="el" href="ppb__message__loop_8h.html#a9b1fcf10002ff75d323617f920de4468">PPB_MESSAGELOOP_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a9b1fcf10002ff75d323617f920de4468"></a><!-- doxytag: member="ppb_message_loop.h::PPB_MESSAGELOOP_INTERFACE" ref="a9b1fcf10002ff75d323617f920de4468" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__message__loop_8h.html#a9b1fcf10002ff75d323617f920de4468">PPB_MESSAGELOOP_INTERFACE</a>   "PPB_MessageLoop;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__message__loop_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/ppb__message__loop_8h__incl.png
new file mode 100644
index 0000000..5ab2e70
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__message__loop_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__messaging_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/ppb__messaging_8h.html
new file mode 100644
index 0000000..d9754fb
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__messaging_8h.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/ppb_messaging.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_messaging.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__messaging_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__messaging_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__messaging_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__messaging_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___messaging__1__0.html">PPB_Messaging</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_Messaging</code> interface is implemented by the browser and is related to sending messages to JavaScript message event listeners on the DOM element associated with specific module instance. <a href="struct_p_p_b___messaging__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__messaging_8h.html#afc64e56f770d45a4556b32cd6568cc77">PPB_MESSAGING_INTERFACE</a>   "PPB_Messaging;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__messaging_8h.html#a558ca32dad39a710cd217aaa09921d92">PPB_MESSAGING_INTERFACE</a>   <a class="el" href="ppb__messaging_8h.html#afc64e56f770d45a4556b32cd6568cc77">PPB_MESSAGING_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___messaging__1__0.html">PPB_Messaging</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gac53fe3a3b5941f8b3608349f58ee24f0">PPB_Messaging</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_Messaging</code> interface implemented by the browser for sending messages to DOM elements associated with a specific module instance. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a558ca32dad39a710cd217aaa09921d92"></a><!-- doxytag: member="ppb_messaging.h::PPB_MESSAGING_INTERFACE" ref="a558ca32dad39a710cd217aaa09921d92" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__messaging_8h.html#a558ca32dad39a710cd217aaa09921d92">PPB_MESSAGING_INTERFACE</a>   <a class="el" href="ppb__messaging_8h.html#afc64e56f770d45a4556b32cd6568cc77">PPB_MESSAGING_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="afc64e56f770d45a4556b32cd6568cc77"></a><!-- doxytag: member="ppb_messaging.h::PPB_MESSAGING_INTERFACE" ref="afc64e56f770d45a4556b32cd6568cc77" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__messaging_8h.html#afc64e56f770d45a4556b32cd6568cc77">PPB_MESSAGING_INTERFACE</a>   "PPB_Messaging;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__messaging_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/ppb__messaging_8h__incl.png
new file mode 100644
index 0000000..25d344d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__messaging_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__mouse__cursor_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/ppb__mouse__cursor_8h.html
new file mode 100644
index 0000000..f532be2
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__mouse__cursor_8h.html
@@ -0,0 +1,120 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/ppb_mouse_cursor.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_mouse_cursor.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__mouse__cursor_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__mouse__cursor_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__mouse__cursor_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__mouse__cursor_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___mouse_cursor__1__0.html">PPB_MouseCursor</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_MouseCursor</code> allows setting the mouse cursor. <a href="struct_p_p_b___mouse_cursor__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__mouse__cursor_8h.html#a5108cd274942fbb6aa1726d32b7b82eb">PPB_MOUSECURSOR_INTERFACE</a>   "PPB_MouseCursor;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__mouse__cursor_8h.html#a9f058eab16725eb940b802f90acb11a9">PPB_MOUSECURSOR_INTERFACE</a>   <a class="el" href="ppb__mouse__cursor_8h.html#a5108cd274942fbb6aa1726d32b7b82eb">PPB_MOUSECURSOR_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___mouse_cursor__1__0.html">PPB_MouseCursor</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gae583d9ea6381e1e4cb7b462c35c5d1de">PPB_MouseCursor</a></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gac53273018386c1db9542d2a06bbe118b">PP_MouseCursor_Type</a> { <br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba1360614abe2d2c3838a42238f75e9ec1">PP_MOUSECURSOR_TYPE_CUSTOM</a> = -1,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba7c0a8b04f51fbf8e12abd4240fb24a9f">PP_MOUSECURSOR_TYPE_POINTER</a> = 0,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba7ee7ede873ec3158179a1ea648bfe677">PP_MOUSECURSOR_TYPE_CROSS</a> = 1,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba5cf81326a94c1150ce98cc15924dee69">PP_MOUSECURSOR_TYPE_HAND</a> = 2,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba705545fdbd4088bf4522b32aa5815877">PP_MOUSECURSOR_TYPE_IBEAM</a> = 3,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118babf8c49b2fc9ee7208b20e7e1f96e2930">PP_MOUSECURSOR_TYPE_WAIT</a> = 4,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bacea1ebe2038e33bb649bcf8ed32f0e7e">PP_MOUSECURSOR_TYPE_HELP</a> = 5,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba3efb608fc10dd3979d4bc0c41654f14b">PP_MOUSECURSOR_TYPE_EASTRESIZE</a> = 6,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba02b638a93841e0f51d234b6643cffcd0">PP_MOUSECURSOR_TYPE_NORTHRESIZE</a> = 7,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118baceb2b9888eed1ef5fe8c5dbc94195b3a">PP_MOUSECURSOR_TYPE_NORTHEASTRESIZE</a> = 8,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bab95b486b6772a79a599c4287f966cd19">PP_MOUSECURSOR_TYPE_NORTHWESTRESIZE</a> = 9,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bac39262939712092e11cc4569b6cab626">PP_MOUSECURSOR_TYPE_SOUTHRESIZE</a> = 10,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba0d7f8011aba0f13ceda6688585b725af">PP_MOUSECURSOR_TYPE_SOUTHEASTRESIZE</a> = 11,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba54f482730eba910a940e1c975f14e2a2">PP_MOUSECURSOR_TYPE_SOUTHWESTRESIZE</a> = 12,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba0c8edb786c8193ef657716a358e327b6">PP_MOUSECURSOR_TYPE_WESTRESIZE</a> = 13,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118babf7026dfaea82565f2527ddbb0383053">PP_MOUSECURSOR_TYPE_NORTHSOUTHRESIZE</a> = 14,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba98177b2980fa939ed33d41c531f06310">PP_MOUSECURSOR_TYPE_EASTWESTRESIZE</a> = 15,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118baf01a2e620b481daeb42b6344843e9e38">PP_MOUSECURSOR_TYPE_NORTHEASTSOUTHWESTRESIZE</a> = 16,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba05d35a31c8af640a6cf2295790e933ee">PP_MOUSECURSOR_TYPE_NORTHWESTSOUTHEASTRESIZE</a> = 17,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bab163a58c75a983ac943d39827c0976cd">PP_MOUSECURSOR_TYPE_COLUMNRESIZE</a> = 18,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bac4d90e13c8d17e32ee9498b795d2f4ca">PP_MOUSECURSOR_TYPE_ROWRESIZE</a> = 19,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba6dbf3de573762e2322d6e8a2392b19fb">PP_MOUSECURSOR_TYPE_MIDDLEPANNING</a> = 20,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba9fec33093306cea2ea6bb6810e8f9040">PP_MOUSECURSOR_TYPE_EASTPANNING</a> = 21,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba0805b4d3a42bb560a656247a57ed6fe0">PP_MOUSECURSOR_TYPE_NORTHPANNING</a> = 22,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118babeaeb782ba084c45e0d12f2bf428a9c3">PP_MOUSECURSOR_TYPE_NORTHEASTPANNING</a> = 23,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba2590e0dc133a8b4534c475abd60c2e1d">PP_MOUSECURSOR_TYPE_NORTHWESTPANNING</a> = 24,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bac9ab4fdcaccb7dcf3a9e0c5edf056e92">PP_MOUSECURSOR_TYPE_SOUTHPANNING</a> = 25,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bacf7c5132070bb6fd8e86ffcafb1dd8b6">PP_MOUSECURSOR_TYPE_SOUTHEASTPANNING</a> = 26,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118baebe615cd19bad5b076b2dd9d86dcd825">PP_MOUSECURSOR_TYPE_SOUTHWESTPANNING</a> = 27,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba8c357f06fc1fc96c091b378d10cc4f02">PP_MOUSECURSOR_TYPE_WESTPANNING</a> = 28,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bab6757be35df5a1e246b3ce8b80c92fbd">PP_MOUSECURSOR_TYPE_MOVE</a> = 29,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba52c5c4259a391557c045b0b82cc0a1fa">PP_MOUSECURSOR_TYPE_VERTICALTEXT</a> = 30,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba62afaa44930d75f750fdf28199511194">PP_MOUSECURSOR_TYPE_CELL</a> = 31,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bad73cecab74f94844438e494ff1439b9f">PP_MOUSECURSOR_TYPE_CONTEXTMENU</a> = 32,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118baca9b4bef41f4c4bd90e81573357b137c">PP_MOUSECURSOR_TYPE_ALIAS</a> = 33,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118babda91fe9ce56b304d95a1ce01fbe8084">PP_MOUSECURSOR_TYPE_PROGRESS</a> = 34,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba1c6cb6e16ac90b8829175e8af9a4a72d">PP_MOUSECURSOR_TYPE_NODROP</a> = 35,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bacee11626427a6fa36653243c4d551608">PP_MOUSECURSOR_TYPE_COPY</a> = 36,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba7a9b1b3187b0bd011b5e19380d4fd698">PP_MOUSECURSOR_TYPE_NONE</a> = 37,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba7d10d5fcc4d9e6aaed4af83246de15a0">PP_MOUSECURSOR_TYPE_NOTALLOWED</a> = 38,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba203b038de96b903e253e29aea5a66460">PP_MOUSECURSOR_TYPE_ZOOMIN</a> = 39,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba797321d4cad9a863a5338318912f3a98">PP_MOUSECURSOR_TYPE_ZOOMOUT</a> = 40,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bafc45b71a6185639e12ac2827a641bdaa">PP_MOUSECURSOR_TYPE_GRAB</a> = 41,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118baa242aeb17b35d8e44e449786a2cbcd1c">PP_MOUSECURSOR_TYPE_GRABBING</a> = 42
+<br />
+ }</td></tr>
+</table><h2>
+Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga9b1b55c2ccaa49d084206619c9034dde">PP_COMPILE_ASSERT_ENUM_SIZE_IN_BYTES</a> (<a class="el" href="group___enums.html#gac53273018386c1db9542d2a06bbe118b">PP_MouseCursor_Type</a>, 4)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_MouseCursor</code> interface for setting the mouse cursor. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a9f058eab16725eb940b802f90acb11a9"></a><!-- doxytag: member="ppb_mouse_cursor.h::PPB_MOUSECURSOR_INTERFACE" ref="a9f058eab16725eb940b802f90acb11a9" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__mouse__cursor_8h.html#a9f058eab16725eb940b802f90acb11a9">PPB_MOUSECURSOR_INTERFACE</a>   <a class="el" href="ppb__mouse__cursor_8h.html#a5108cd274942fbb6aa1726d32b7b82eb">PPB_MOUSECURSOR_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a5108cd274942fbb6aa1726d32b7b82eb"></a><!-- doxytag: member="ppb_mouse_cursor.h::PPB_MOUSECURSOR_INTERFACE" ref="a5108cd274942fbb6aa1726d32b7b82eb" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__mouse__cursor_8h.html#a5108cd274942fbb6aa1726d32b7b82eb">PPB_MOUSECURSOR_INTERFACE</a>   "PPB_MouseCursor;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__mouse__cursor_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/ppb__mouse__cursor_8h__incl.png
new file mode 100644
index 0000000..f40d549
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__mouse__cursor_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__mouse__lock_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/ppb__mouse__lock_8h.html
new file mode 100644
index 0000000..4714f863
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__mouse__lock_8h.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/ppb_mouse_lock.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_mouse_lock.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__mouse__lock_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__mouse__lock_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__mouse__lock_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__mouse__lock_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___mouse_lock__1__0.html">PPB_MouseLock</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_MouseLock</code> interface is implemented by the browser. <a href="struct_p_p_b___mouse_lock__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__mouse__lock_8h.html#a87c8b1ae0950bb6de205bbec68545edd">PPB_MOUSELOCK_INTERFACE</a>   "PPB_MouseLock;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__mouse__lock_8h.html#a61bbe5bd4a3ec739ecd5daf65192db7d">PPB_MOUSELOCK_INTERFACE</a>   <a class="el" href="ppb__mouse__lock_8h.html#a87c8b1ae0950bb6de205bbec68545edd">PPB_MOUSELOCK_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___mouse_lock__1__0.html">PPB_MouseLock</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga9d5fa32b9c90b100400161025fda2617">PPB_MouseLock</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_MouseLock</code> interface for locking the target of mouse events to a specific module instance. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a61bbe5bd4a3ec739ecd5daf65192db7d"></a><!-- doxytag: member="ppb_mouse_lock.h::PPB_MOUSELOCK_INTERFACE" ref="a61bbe5bd4a3ec739ecd5daf65192db7d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__mouse__lock_8h.html#a61bbe5bd4a3ec739ecd5daf65192db7d">PPB_MOUSELOCK_INTERFACE</a>   <a class="el" href="ppb__mouse__lock_8h.html#a87c8b1ae0950bb6de205bbec68545edd">PPB_MOUSELOCK_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a87c8b1ae0950bb6de205bbec68545edd"></a><!-- doxytag: member="ppb_mouse_lock.h::PPB_MOUSELOCK_INTERFACE" ref="a87c8b1ae0950bb6de205bbec68545edd" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__mouse__lock_8h.html#a87c8b1ae0950bb6de205bbec68545edd">PPB_MOUSELOCK_INTERFACE</a>   "PPB_MouseLock;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__mouse__lock_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/ppb__mouse__lock_8h__incl.png
new file mode 100644
index 0000000..cbae069
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__mouse__lock_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__net__address_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/ppb__net__address_8h.html
new file mode 100644
index 0000000..1e04219
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__net__address_8h.html
@@ -0,0 +1,73 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/ppb_net_address.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_net_address.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__net__address_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__net__address_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__net__address_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__net__address_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___net_address___i_pv4.html">PP_NetAddress_IPv4</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">All members are expressed in network byte order. <a href="struct_p_p___net_address___i_pv4.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___net_address___i_pv6.html">PP_NetAddress_IPv6</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">All members are expressed in network byte order. <a href="struct_p_p___net_address___i_pv6.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___net_address__1__0.html">PPB_NetAddress</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_NetAddress</code> interface provides operations on network addresses. <a href="struct_p_p_b___net_address__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__net__address_8h.html#aa487d14ecdf0f4ce95f95f429599b940">PPB_NETADDRESS_INTERFACE</a>   "PPB_NetAddress;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__net__address_8h.html#a4797048cd8b1d0ab96d600d0f2003f88">PPB_NETADDRESS_INTERFACE</a>   <a class="el" href="ppb__net__address_8h.html#aa487d14ecdf0f4ce95f95f429599b940">PPB_NETADDRESS_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___net_address__1__0.html">PPB_NetAddress</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gad6c325ff5a0a74f318a680971d0a7c52">PPB_NetAddress</a></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga43636bcadf9aa312a4c345d210ae6c55">PP_NetAddress_Family</a> { <a class="el" href="group___enums.html#gga43636bcadf9aa312a4c345d210ae6c55a2aef50ef77ad0122b649f0b9ac4c41bc">PP_NETADDRESS_FAMILY_UNSPECIFIED</a> = 0,
+<a class="el" href="group___enums.html#gga43636bcadf9aa312a4c345d210ae6c55a054684e064e8d819f8b2d80640196585">PP_NETADDRESS_FAMILY_IPV4</a> = 1,
+<a class="el" href="group___enums.html#gga43636bcadf9aa312a4c345d210ae6c55aa70bb3acced932eb4fe7df3aae85c27a">PP_NETADDRESS_FAMILY_IPV6</a> = 2
+ }</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga43636bcadf9aa312a4c345d210ae6c55">PP_NetAddress_Family</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga34eaf167d3bf1a00281de167719ca604">PP_NetAddress_IPv4</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga1301bb0d95a4b2e8907002b3bdc8f6d9">PP_NetAddress_IPv6</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_NetAddress</code> interface. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a4797048cd8b1d0ab96d600d0f2003f88"></a><!-- doxytag: member="ppb_net_address.h::PPB_NETADDRESS_INTERFACE" ref="a4797048cd8b1d0ab96d600d0f2003f88" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__net__address_8h.html#a4797048cd8b1d0ab96d600d0f2003f88">PPB_NETADDRESS_INTERFACE</a>   <a class="el" href="ppb__net__address_8h.html#aa487d14ecdf0f4ce95f95f429599b940">PPB_NETADDRESS_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="aa487d14ecdf0f4ce95f95f429599b940"></a><!-- doxytag: member="ppb_net_address.h::PPB_NETADDRESS_INTERFACE" ref="aa487d14ecdf0f4ce95f95f429599b940" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__net__address_8h.html#aa487d14ecdf0f4ce95f95f429599b940">PPB_NETADDRESS_INTERFACE</a>   "PPB_NetAddress;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__net__address_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/ppb__net__address_8h__incl.png
new file mode 100644
index 0000000..ebf7a1c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__net__address_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__network__list_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/ppb__network__list_8h.html
new file mode 100644
index 0000000..34969bd
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__network__list_8h.html
@@ -0,0 +1,72 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/ppb_network_list.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_network_list.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__network__list_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__network__list_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__network__list_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__network__list_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_list__1__0.html">PPB_NetworkList</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_NetworkList</code> is used to represent a list of network interfaces and their configuration. <a href="struct_p_p_b___network_list__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__network__list_8h.html#ac0b7e69aedfaf3e0dd033d17634b0747">PPB_NETWORKLIST_INTERFACE</a>   "PPB_NetworkList;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__network__list_8h.html#a9d022e173e890387820ddb636a8eedfe">PPB_NETWORKLIST_INTERFACE</a>   <a class="el" href="ppb__network__list_8h.html#ac0b7e69aedfaf3e0dd033d17634b0747">PPB_NETWORKLIST_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___network_list__1__0.html">PPB_NetworkList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga675af1709086b2a750d28da442c41f8a">PPB_NetworkList</a></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga1c967cb753eb468493b3bf72e6733983">PP_NetworkList_Type</a> { <a class="el" href="group___enums.html#gga1c967cb753eb468493b3bf72e6733983a6d8ddd32de577965df0d44df0e0acfdd">PP_NETWORKLIST_TYPE_UNKNOWN</a> = 0,
+<a class="el" href="group___enums.html#gga1c967cb753eb468493b3bf72e6733983a6eaef40fe1d62ca5bcfcc1974adc29f9">PP_NETWORKLIST_TYPE_ETHERNET</a> = 1,
+<a class="el" href="group___enums.html#gga1c967cb753eb468493b3bf72e6733983a9a47925bee0d3bd71739475b4c5654ed">PP_NETWORKLIST_TYPE_WIFI</a> = 2,
+<a class="el" href="group___enums.html#gga1c967cb753eb468493b3bf72e6733983ab1c83c6942b208101789971522b3a8c9">PP_NETWORKLIST_TYPE_CELLULAR</a> = 3
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga9188881b5d3346626db0ea8e6aaecf1f">PP_NetworkList_State</a> { <a class="el" href="group___enums.html#gga9188881b5d3346626db0ea8e6aaecf1fa561469f97b38b69868d1cce1142722b6">PP_NETWORKLIST_STATE_DOWN</a> = 0,
+<a class="el" href="group___enums.html#gga9188881b5d3346626db0ea8e6aaecf1fa3b4b789d490cd2d3119a188a79eca0f6">PP_NETWORKLIST_STATE_UP</a> = 1
+ }</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga1c967cb753eb468493b3bf72e6733983">PP_NetworkList_Type</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga9188881b5d3346626db0ea8e6aaecf1f">PP_NetworkList_State</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_NetworkList</code> interface. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a9d022e173e890387820ddb636a8eedfe"></a><!-- doxytag: member="ppb_network_list.h::PPB_NETWORKLIST_INTERFACE" ref="a9d022e173e890387820ddb636a8eedfe" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__network__list_8h.html#a9d022e173e890387820ddb636a8eedfe">PPB_NETWORKLIST_INTERFACE</a>   <a class="el" href="ppb__network__list_8h.html#ac0b7e69aedfaf3e0dd033d17634b0747">PPB_NETWORKLIST_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ac0b7e69aedfaf3e0dd033d17634b0747"></a><!-- doxytag: member="ppb_network_list.h::PPB_NETWORKLIST_INTERFACE" ref="ac0b7e69aedfaf3e0dd033d17634b0747" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__network__list_8h.html#ac0b7e69aedfaf3e0dd033d17634b0747">PPB_NETWORKLIST_INTERFACE</a>   "PPB_NetworkList;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__network__list_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/ppb__network__list_8h__incl.png
new file mode 100644
index 0000000..1ab9d8d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__network__list_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__network__monitor_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/ppb__network__monitor_8h.html
new file mode 100644
index 0000000..b3e9582
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__network__monitor_8h.html
@@ -0,0 +1,59 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/ppb_network_monitor.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_network_monitor.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__network__monitor_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__network__monitor_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__network__monitor_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__network__monitor_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_monitor__1__0.html">PPB_NetworkMonitor</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_NetworkMonitor</code> allows to get network interfaces configuration and monitor network configuration changes. <a href="struct_p_p_b___network_monitor__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__network__monitor_8h.html#aa1c835159cc390a53f853281e62a969f">PPB_NETWORKMONITOR_INTERFACE</a>   "PPB_NetworkMonitor;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__network__monitor_8h.html#a1a8be64663de54d6d189673531f93008">PPB_NETWORKMONITOR_INTERFACE</a>   <a class="el" href="ppb__network__monitor_8h.html#aa1c835159cc390a53f853281e62a969f">PPB_NETWORKMONITOR_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___network_monitor__1__0.html">PPB_NetworkMonitor</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga873d8c5cd49f7b3c8ad5b4caabd1e8e6">PPB_NetworkMonitor</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_NetworkMonitor</code> interface. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a1a8be64663de54d6d189673531f93008"></a><!-- doxytag: member="ppb_network_monitor.h::PPB_NETWORKMONITOR_INTERFACE" ref="a1a8be64663de54d6d189673531f93008" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__network__monitor_8h.html#a1a8be64663de54d6d189673531f93008">PPB_NETWORKMONITOR_INTERFACE</a>   <a class="el" href="ppb__network__monitor_8h.html#aa1c835159cc390a53f853281e62a969f">PPB_NETWORKMONITOR_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="aa1c835159cc390a53f853281e62a969f"></a><!-- doxytag: member="ppb_network_monitor.h::PPB_NETWORKMONITOR_INTERFACE" ref="aa1c835159cc390a53f853281e62a969f" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__network__monitor_8h.html#aa1c835159cc390a53f853281e62a969f">PPB_NETWORKMONITOR_INTERFACE</a>   "PPB_NetworkMonitor;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__network__monitor_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/ppb__network__monitor_8h__incl.png
new file mode 100644
index 0000000..4e0d81e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__network__monitor_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__network__proxy_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/ppb__network__proxy_8h.html
new file mode 100644
index 0000000..78cd134
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__network__proxy_8h.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/ppb_network_proxy.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_network_proxy.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__network__proxy_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__network__proxy_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__network__proxy_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__network__proxy_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_proxy__1__0.html">PPB_NetworkProxy</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This interface provides a way to determine the appropriate proxy settings for a given URL. <a href="struct_p_p_b___network_proxy__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__network__proxy_8h.html#a51bdbe7e4706cc8c5e455ceb47a34472">PPB_NETWORKPROXY_INTERFACE</a>   "PPB_NetworkProxy;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__network__proxy_8h.html#aa951f1e83ded5d77558f770127d5765b">PPB_NETWORKPROXY_INTERFACE</a>   <a class="el" href="ppb__network__proxy_8h.html#a51bdbe7e4706cc8c5e455ceb47a34472">PPB_NETWORKPROXY_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___network_proxy__1__0.html">PPB_NetworkProxy</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaf8338a682417267c8525446ef1de85b1">PPB_NetworkProxy</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_NetworkProxy</code> interface. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="aa951f1e83ded5d77558f770127d5765b"></a><!-- doxytag: member="ppb_network_proxy.h::PPB_NETWORKPROXY_INTERFACE" ref="aa951f1e83ded5d77558f770127d5765b" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__network__proxy_8h.html#aa951f1e83ded5d77558f770127d5765b">PPB_NETWORKPROXY_INTERFACE</a>   <a class="el" href="ppb__network__proxy_8h.html#a51bdbe7e4706cc8c5e455ceb47a34472">PPB_NETWORKPROXY_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a51bdbe7e4706cc8c5e455ceb47a34472"></a><!-- doxytag: member="ppb_network_proxy.h::PPB_NETWORKPROXY_INTERFACE" ref="a51bdbe7e4706cc8c5e455ceb47a34472" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__network__proxy_8h.html#a51bdbe7e4706cc8c5e455ceb47a34472">PPB_NETWORKPROXY_INTERFACE</a>   "PPB_NetworkProxy;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__network__proxy_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/ppb__network__proxy_8h__incl.png
new file mode 100644
index 0000000..4325161
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__network__proxy_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__tcp__socket_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/ppb__tcp__socket_8h.html
new file mode 100644
index 0000000..d43bd3e36
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__tcp__socket_8h.html
@@ -0,0 +1,67 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/ppb_tcp_socket.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_tcp_socket.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__tcp__socket_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__tcp__socket_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__tcp__socket_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__tcp__socket_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html">PPB_TCPSocket</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_TCPSocket</code> interface provides TCP socket operations. <a href="struct_p_p_b___t_c_p_socket__1__1.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__tcp__socket_8h.html#a12b0fabc454cb99a6d4c8352c6f22d71">PPB_TCPSOCKET_INTERFACE</a>   "PPB_TCPSocket;1.1"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__tcp__socket_8h.html#a29ecaef1552f19b223e6c93475d8788c">PPB_TCPSOCKET_INTERFACE</a>   <a class="el" href="ppb__tcp__socket_8h.html#a12b0fabc454cb99a6d4c8352c6f22d71">PPB_TCPSOCKET_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html">PPB_TCPSocket</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga0f72e14a6cf9631bd733ded1f8ba4d9f">PPB_TCPSocket</a></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga1557c0bbce8739a3418e6027a9c44e12">PP_TCPSocket_Option</a> { <a class="el" href="group___enums.html#gga1557c0bbce8739a3418e6027a9c44e12a4b17558654d1df4452aa98f7d2609a10">PP_TCPSOCKET_OPTION_NO_DELAY</a> = 0,
+<a class="el" href="group___enums.html#gga1557c0bbce8739a3418e6027a9c44e12a61ce27ba7853d05f7af51be1bed5d1a6">PP_TCPSOCKET_OPTION_SEND_BUFFER_SIZE</a> = 1,
+<a class="el" href="group___enums.html#gga1557c0bbce8739a3418e6027a9c44e12aef57736e294acb30fb7b3b2f4a425f72">PP_TCPSOCKET_OPTION_RECV_BUFFER_SIZE</a> = 2
+ }</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga1557c0bbce8739a3418e6027a9c44e12">PP_TCPSocket_Option</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_TCPSocket</code> interface. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a29ecaef1552f19b223e6c93475d8788c"></a><!-- doxytag: member="ppb_tcp_socket.h::PPB_TCPSOCKET_INTERFACE" ref="a29ecaef1552f19b223e6c93475d8788c" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__tcp__socket_8h.html#a29ecaef1552f19b223e6c93475d8788c">PPB_TCPSOCKET_INTERFACE</a>   <a class="el" href="ppb__tcp__socket_8h.html#a12b0fabc454cb99a6d4c8352c6f22d71">PPB_TCPSOCKET_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a12b0fabc454cb99a6d4c8352c6f22d71"></a><!-- doxytag: member="ppb_tcp_socket.h::PPB_TCPSOCKET_INTERFACE" ref="a12b0fabc454cb99a6d4c8352c6f22d71" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__tcp__socket_8h.html#a12b0fabc454cb99a6d4c8352c6f22d71">PPB_TCPSOCKET_INTERFACE</a>   "PPB_TCPSocket;1.1"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__tcp__socket_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/ppb__tcp__socket_8h__incl.png
new file mode 100644
index 0000000..4cdf23e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__tcp__socket_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__text__input__controller_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/ppb__text__input__controller_8h.html
new file mode 100644
index 0000000..c6155e2
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__text__input__controller_8h.html
@@ -0,0 +1,76 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/ppb_text_input_controller.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_text_input_controller.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__text__input__controller_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__text__input__controller_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__text__input__controller_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__text__input__controller_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___text_input_controller__1__0.html">PPB_TextInputController</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><code>PPB_TextInputController</code> provides a set of functions for giving hints to the browser about the text input status of plugins, and functions for controlling input method editors (IMEs). <a href="struct_p_p_b___text_input_controller__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__text__input__controller_8h.html#a6ca7f2ae09c011c13d12c79ba155e12a">PPB_TEXTINPUTCONTROLLER_INTERFACE</a>   "PPB_TextInputController;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__text__input__controller_8h.html#a9a28f7fd2db84c2cd550ed272070c0ee">PPB_TEXTINPUTCONTROLLER_INTERFACE</a>   <a class="el" href="ppb__text__input__controller_8h.html#a6ca7f2ae09c011c13d12c79ba155e12a">PPB_TEXTINPUTCONTROLLER_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___text_input_controller__1__0.html">PPB_TextInputController</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gab387085f6044f3a0b1631d119d22a942">PPB_TextInputController</a></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga5fef49ee4c2cc6dcead825340da0f116">PP_TextInput_Type</a> { <br />
+  <a class="el" href="group___enums.html#gga5fef49ee4c2cc6dcead825340da0f116a0d75c884156553959d65252e65aa0916">PP_TEXTINPUT_TYPE_NONE</a> = 0,
+<a class="el" href="group___enums.html#gga5fef49ee4c2cc6dcead825340da0f116a0e5e4072fce915eca7e4dfd7c639626c">PP_TEXTINPUT_TYPE_TEXT</a> = 1,
+<a class="el" href="group___enums.html#gga5fef49ee4c2cc6dcead825340da0f116a00f508676278dd45e0335a8d5d715114">PP_TEXTINPUT_TYPE_PASSWORD</a> = 2,
+<a class="el" href="group___enums.html#gga5fef49ee4c2cc6dcead825340da0f116a0d7975532097315f198617ad5e59bc32">PP_TEXTINPUT_TYPE_SEARCH</a> = 3,
+<br />
+  <a class="el" href="group___enums.html#gga5fef49ee4c2cc6dcead825340da0f116a027963b61eb55438f92662e72e939cf8">PP_TEXTINPUT_TYPE_EMAIL</a> = 4,
+<a class="el" href="group___enums.html#gga5fef49ee4c2cc6dcead825340da0f116af71a3fb3f651ad5b417592433278fd1e">PP_TEXTINPUT_TYPE_NUMBER</a> = 5,
+<a class="el" href="group___enums.html#gga5fef49ee4c2cc6dcead825340da0f116a181e9bd71e6a97acd6c5dace9f0b5fb3">PP_TEXTINPUT_TYPE_TELEPHONE</a> = 6,
+<a class="el" href="group___enums.html#gga5fef49ee4c2cc6dcead825340da0f116ad4371ecdd1a6631a78d4721d83062394">PP_TEXTINPUT_TYPE_URL</a> = 7
+<br />
+ }</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga5fef49ee4c2cc6dcead825340da0f116">PP_TextInput_Type</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_TextInputController</code> interface. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a9a28f7fd2db84c2cd550ed272070c0ee"></a><!-- doxytag: member="ppb_text_input_controller.h::PPB_TEXTINPUTCONTROLLER_INTERFACE" ref="a9a28f7fd2db84c2cd550ed272070c0ee" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__text__input__controller_8h.html#a9a28f7fd2db84c2cd550ed272070c0ee">PPB_TEXTINPUTCONTROLLER_INTERFACE</a>   <a class="el" href="ppb__text__input__controller_8h.html#a6ca7f2ae09c011c13d12c79ba155e12a">PPB_TEXTINPUTCONTROLLER_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a6ca7f2ae09c011c13d12c79ba155e12a"></a><!-- doxytag: member="ppb_text_input_controller.h::PPB_TEXTINPUTCONTROLLER_INTERFACE" ref="a6ca7f2ae09c011c13d12c79ba155e12a" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__text__input__controller_8h.html#a6ca7f2ae09c011c13d12c79ba155e12a">PPB_TEXTINPUTCONTROLLER_INTERFACE</a>   "PPB_TextInputController;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__text__input__controller_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/ppb__text__input__controller_8h__incl.png
new file mode 100644
index 0000000..f62ca2f
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__text__input__controller_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__udp__socket_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/ppb__udp__socket_8h.html
new file mode 100644
index 0000000..e057336
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__udp__socket_8h.html
@@ -0,0 +1,68 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/ppb_udp_socket.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_udp_socket.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__udp__socket_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__udp__socket_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__udp__socket_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__udp__socket_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html">PPB_UDPSocket</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_UDPSocket</code> interface provides UDP socket operations. <a href="struct_p_p_b___u_d_p_socket__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__udp__socket_8h.html#aafc1aecb9a8f2c3f8eed80a93a77763c">PPB_UDPSOCKET_INTERFACE</a>   "PPB_UDPSocket;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__udp__socket_8h.html#a673aeb3fceb5ed977b7b8683f674cbfd">PPB_UDPSOCKET_INTERFACE</a>   <a class="el" href="ppb__udp__socket_8h.html#aafc1aecb9a8f2c3f8eed80a93a77763c">PPB_UDPSOCKET_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html">PPB_UDPSocket</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaf04d893ccf01c5d1cfcadee5fcc869d1">PPB_UDPSocket</a></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga1a8472fa3e7150615c45c38fa8c12ce2">PP_UDPSocket_Option</a> { <a class="el" href="group___enums.html#gga1a8472fa3e7150615c45c38fa8c12ce2a79568403b8927bf98bea0f2d38469984">PP_UDPSOCKET_OPTION_ADDRESS_REUSE</a> = 0,
+<a class="el" href="group___enums.html#gga1a8472fa3e7150615c45c38fa8c12ce2aeceda8fe978a52382b96939de7707c00">PP_UDPSOCKET_OPTION_BROADCAST</a> = 1,
+<a class="el" href="group___enums.html#gga1a8472fa3e7150615c45c38fa8c12ce2a905f0adde2912a5db26883d45fb75d57">PP_UDPSOCKET_OPTION_SEND_BUFFER_SIZE</a> = 2,
+<a class="el" href="group___enums.html#gga1a8472fa3e7150615c45c38fa8c12ce2a1264eb1d6d16eb3a074ee3d21ebb3b64">PP_UDPSOCKET_OPTION_RECV_BUFFER_SIZE</a> = 3
+ }</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga1a8472fa3e7150615c45c38fa8c12ce2">PP_UDPSocket_Option</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_UDPSocket</code> interface. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a673aeb3fceb5ed977b7b8683f674cbfd"></a><!-- doxytag: member="ppb_udp_socket.h::PPB_UDPSOCKET_INTERFACE" ref="a673aeb3fceb5ed977b7b8683f674cbfd" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__udp__socket_8h.html#a673aeb3fceb5ed977b7b8683f674cbfd">PPB_UDPSOCKET_INTERFACE</a>   <a class="el" href="ppb__udp__socket_8h.html#aafc1aecb9a8f2c3f8eed80a93a77763c">PPB_UDPSOCKET_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="aafc1aecb9a8f2c3f8eed80a93a77763c"></a><!-- doxytag: member="ppb_udp_socket.h::PPB_UDPSOCKET_INTERFACE" ref="aafc1aecb9a8f2c3f8eed80a93a77763c" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__udp__socket_8h.html#aafc1aecb9a8f2c3f8eed80a93a77763c">PPB_UDPSOCKET_INTERFACE</a>   "PPB_UDPSocket;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__udp__socket_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/ppb__udp__socket_8h__incl.png
new file mode 100644
index 0000000..10c06ba2
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__udp__socket_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__url__loader_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/ppb__url__loader_8h.html
new file mode 100644
index 0000000..48b4de4
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__url__loader_8h.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/ppb_url_loader.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_url_loader.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__url__loader_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__url__loader_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__url__loader_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__url__loader_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html">PPB_URLLoader</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <b>PPB_URLLoader</b> interface contains pointers to functions for loading URLs. <a href="struct_p_p_b___u_r_l_loader__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__url__loader_8h.html#adebf43440c53ea088f68ae376a7c7bbb">PPB_URLLOADER_INTERFACE</a>   "PPB_URLLoader;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__url__loader_8h.html#ae1fa8c5cdfccb7ea67e184b1e5e1009e">PPB_URLLOADER_INTERFACE</a>   <a class="el" href="ppb__url__loader_8h.html#adebf43440c53ea088f68ae376a7c7bbb">PPB_URLLOADER_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html">PPB_URLLoader</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga307f562a9e41991de7c80b75cd7f379c">PPB_URLLoader</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <b>PPB_URLLoader</b> interface for loading URLs. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="ae1fa8c5cdfccb7ea67e184b1e5e1009e"></a><!-- doxytag: member="ppb_url_loader.h::PPB_URLLOADER_INTERFACE" ref="ae1fa8c5cdfccb7ea67e184b1e5e1009e" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__url__loader_8h.html#ae1fa8c5cdfccb7ea67e184b1e5e1009e">PPB_URLLOADER_INTERFACE</a>   <a class="el" href="ppb__url__loader_8h.html#adebf43440c53ea088f68ae376a7c7bbb">PPB_URLLOADER_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="adebf43440c53ea088f68ae376a7c7bbb"></a><!-- doxytag: member="ppb_url_loader.h::PPB_URLLOADER_INTERFACE" ref="adebf43440c53ea088f68ae376a7c7bbb" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__url__loader_8h.html#adebf43440c53ea088f68ae376a7c7bbb">PPB_URLLOADER_INTERFACE</a>   "PPB_URLLoader;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__url__loader_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/ppb__url__loader_8h__incl.png
new file mode 100644
index 0000000..455f698
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__url__loader_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__url__request__info_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/ppb__url__request__info_8h.html
new file mode 100644
index 0000000..dd44f3c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__url__request__info_8h.html
@@ -0,0 +1,84 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/ppb_url_request_info.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_url_request_info.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__url__request__info_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__url__request__info_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__url__request__info_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__url__request__info_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html">PPB_URLRequestInfo</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_URLRequestInfo</code> interface is used to create and handle URL requests. <a href="struct_p_p_b___u_r_l_request_info__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__url__request__info_8h.html#a1624264dba578e2c15b257f7680a43de">PPB_URLREQUESTINFO_INTERFACE</a>   "PPB_URLRequestInfo;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__url__request__info_8h.html#a61dc8b05683833153b9368eabebc5441">PPB_URLREQUESTINFO_INTERFACE</a>   <a class="el" href="ppb__url__request__info_8h.html#a1624264dba578e2c15b257f7680a43de">PPB_URLREQUESTINFO_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html">PPB_URLRequestInfo</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gad60387934d9e235d3d145ee5a1fb4e74">PPB_URLRequestInfo</a></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga41975630f0a4c49e47d4a21754f8402d">PP_URLRequestProperty</a> { <br />
+  <a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da89e44812e771fed9df0ff8994690e44d">PP_URLREQUESTPROPERTY_URL</a> = 0,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da9cb5229069aac201622dbaa9cbca592c">PP_URLREQUESTPROPERTY_METHOD</a> = 1,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402dac4b3809e34561a77c75b31eac1589e8d">PP_URLREQUESTPROPERTY_HEADERS</a> = 2,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402dac43d267f888233c994bd1ca2b5b6b249">PP_URLREQUESTPROPERTY_STREAMTOFILE</a> = 3,
+<br />
+  <a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da5f1270ecf041c6c0a6ef351eb0c12127">PP_URLREQUESTPROPERTY_FOLLOWREDIRECTS</a> = 4,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da6846ea1e9c4ef7e09ea0f330a90cb7a6">PP_URLREQUESTPROPERTY_RECORDDOWNLOADPROGRESS</a> = 5,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da9202c5a8c6afdc6fa9808ab21b95376c">PP_URLREQUESTPROPERTY_RECORDUPLOADPROGRESS</a> = 6,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da6130d3b9dc8ae434752612ef155e3a38">PP_URLREQUESTPROPERTY_CUSTOMREFERRERURL</a> = 7,
+<br />
+  <a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da23f6523485b5bedf17882fb7a8796c03">PP_URLREQUESTPROPERTY_ALLOWCROSSORIGINREQUESTS</a> = 8,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da7da4140fde998f227f82d8064e9f5460">PP_URLREQUESTPROPERTY_ALLOWCREDENTIALS</a> = 9,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da094e978814d887d1888a2652aa91fc8b">PP_URLREQUESTPROPERTY_CUSTOMCONTENTTRANSFERENCODING</a> = 10,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da69ab9c81542c755313fc906d27396a9e">PP_URLREQUESTPROPERTY_PREFETCHBUFFERUPPERTHRESHOLD</a> = 11,
+<br />
+  <a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da8529403a539c1f604f8b0507078d804d">PP_URLREQUESTPROPERTY_PREFETCHBUFFERLOWERTHRESHOLD</a> = 12,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402dacf34504e827fdce2895f2b504cdd0653">PP_URLREQUESTPROPERTY_CUSTOMUSERAGENT</a> = 13
+<br />
+ }</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga41975630f0a4c49e47d4a21754f8402d">PP_URLRequestProperty</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_URLRequestInfo</code> API for creating and manipulating URL requests. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a61dc8b05683833153b9368eabebc5441"></a><!-- doxytag: member="ppb_url_request_info.h::PPB_URLREQUESTINFO_INTERFACE" ref="a61dc8b05683833153b9368eabebc5441" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__url__request__info_8h.html#a61dc8b05683833153b9368eabebc5441">PPB_URLREQUESTINFO_INTERFACE</a>   <a class="el" href="ppb__url__request__info_8h.html#a1624264dba578e2c15b257f7680a43de">PPB_URLREQUESTINFO_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a1624264dba578e2c15b257f7680a43de"></a><!-- doxytag: member="ppb_url_request_info.h::PPB_URLREQUESTINFO_INTERFACE" ref="a1624264dba578e2c15b257f7680a43de" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__url__request__info_8h.html#a1624264dba578e2c15b257f7680a43de">PPB_URLREQUESTINFO_INTERFACE</a>   "PPB_URLRequestInfo;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__url__request__info_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/ppb__url__request__info_8h__incl.png
new file mode 100644
index 0000000..b53e99d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__url__request__info_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__url__response__info_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/ppb__url__response__info_8h.html
new file mode 100644
index 0000000..ac4ec5a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__url__response__info_8h.html
@@ -0,0 +1,74 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/ppb_url_response_info.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_url_response_info.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__url__response__info_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__url__response__info_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__url__response__info_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__url__response__info_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_response_info__1__0.html">PPB_URLResponseInfo</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The PPB_URLResponseInfo interface contains APIs for examining URL responses. <a href="struct_p_p_b___u_r_l_response_info__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__url__response__info_8h.html#a3703eb2a16b1386517bcd3d7074e94ff">PPB_URLRESPONSEINFO_INTERFACE</a>   "PPB_URLResponseInfo;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__url__response__info_8h.html#a788cf0f4f93d8cbfbc834b5921188f35">PPB_URLRESPONSEINFO_INTERFACE</a>   <a class="el" href="ppb__url__response__info_8h.html#a3703eb2a16b1386517bcd3d7074e94ff">PPB_URLRESPONSEINFO_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___u_r_l_response_info__1__0.html">PPB_URLResponseInfo</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gad63e57584aea115126b6922b141cf745">PPB_URLResponseInfo</a></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga642e6199b27df69aad84aff5597041e0">PP_URLResponseProperty</a> { <br />
+  <a class="el" href="group___enums.html#gga642e6199b27df69aad84aff5597041e0a805e0970808bd8d36cb02171dca7a734">PP_URLRESPONSEPROPERTY_URL</a> = 0,
+<a class="el" href="group___enums.html#gga642e6199b27df69aad84aff5597041e0aaaba524cc005207e2f226400e6a14d8e">PP_URLRESPONSEPROPERTY_REDIRECTURL</a> = 1,
+<a class="el" href="group___enums.html#gga642e6199b27df69aad84aff5597041e0abc45cd41ad54d2350626651b34db6927">PP_URLRESPONSEPROPERTY_REDIRECTMETHOD</a> = 2,
+<a class="el" href="group___enums.html#gga642e6199b27df69aad84aff5597041e0abc04191395637d0a4858657f2edd1ce3">PP_URLRESPONSEPROPERTY_STATUSCODE</a> = 3,
+<br />
+  <a class="el" href="group___enums.html#gga642e6199b27df69aad84aff5597041e0a0224e3907e7efc9ff8d916b0cb7b3287">PP_URLRESPONSEPROPERTY_STATUSLINE</a> = 4,
+<a class="el" href="group___enums.html#gga642e6199b27df69aad84aff5597041e0a45c014f3cb40e884677387855c3d977b">PP_URLRESPONSEPROPERTY_HEADERS</a> = 5
+<br />
+ }</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga642e6199b27df69aad84aff5597041e0">PP_URLResponseProperty</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_URLResponseInfo</code> API for examining URL responses. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a788cf0f4f93d8cbfbc834b5921188f35"></a><!-- doxytag: member="ppb_url_response_info.h::PPB_URLRESPONSEINFO_INTERFACE" ref="a788cf0f4f93d8cbfbc834b5921188f35" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__url__response__info_8h.html#a788cf0f4f93d8cbfbc834b5921188f35">PPB_URLRESPONSEINFO_INTERFACE</a>   <a class="el" href="ppb__url__response__info_8h.html#a3703eb2a16b1386517bcd3d7074e94ff">PPB_URLRESPONSEINFO_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a3703eb2a16b1386517bcd3d7074e94ff"></a><!-- doxytag: member="ppb_url_response_info.h::PPB_URLRESPONSEINFO_INTERFACE" ref="a3703eb2a16b1386517bcd3d7074e94ff" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__url__response__info_8h.html#a3703eb2a16b1386517bcd3d7074e94ff">PPB_URLRESPONSEINFO_INTERFACE</a>   "PPB_URLResponseInfo;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__url__response__info_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/ppb__url__response__info_8h__incl.png
new file mode 100644
index 0000000..223fbe4
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__url__response__info_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__var_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/ppb__var_8h.html
new file mode 100644
index 0000000..8ab2f31
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__var_8h.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/ppb_var.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_var.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__var_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__var_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__var_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__var_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var__1__1.html">PPB_Var</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">PPB_Var API. <a href="struct_p_p_b___var__1__1.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__var_8h.html#acc1cbb0daac02e06063221b751084502">PPB_VAR_INTERFACE</a>   "PPB_Var;1.1"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__var_8h.html#a0d345a2704bcdbc588c4227b46747041">PPB_VAR_INTERFACE</a>   <a class="el" href="ppb__var_8h.html#acc1cbb0daac02e06063221b751084502">PPB_VAR_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___var__1__1.html">PPB_Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga7363a88a6e5058841915641c1b2923ad">PPB_Var</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_Var</code> struct. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a0d345a2704bcdbc588c4227b46747041"></a><!-- doxytag: member="ppb_var.h::PPB_VAR_INTERFACE" ref="a0d345a2704bcdbc588c4227b46747041" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__var_8h.html#a0d345a2704bcdbc588c4227b46747041">PPB_VAR_INTERFACE</a>   <a class="el" href="ppb__var_8h.html#acc1cbb0daac02e06063221b751084502">PPB_VAR_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="acc1cbb0daac02e06063221b751084502"></a><!-- doxytag: member="ppb_var.h::PPB_VAR_INTERFACE" ref="acc1cbb0daac02e06063221b751084502" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__var_8h.html#acc1cbb0daac02e06063221b751084502">PPB_VAR_INTERFACE</a>   "PPB_Var;1.1"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__var_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/ppb__var_8h__incl.png
new file mode 100644
index 0000000..c58ea93
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__var_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__var__array_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/ppb__var__array_8h.html
new file mode 100644
index 0000000..15082bb
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__var__array_8h.html
@@ -0,0 +1,57 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/ppb_var_array.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_var_array.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__var__array_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__var__array_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__var__array_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__var__array_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_array__1__0.html">PPB_VarArray</a></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__var__array_8h.html#a244ad07738d77a4d11d8009a7d69a5aa">PPB_VAR_ARRAY_INTERFACE</a>   "PPB_VarArray;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__var__array_8h.html#a45d67f25be216695420b237b1deeca3f">PPB_VAR_ARRAY_INTERFACE</a>   <a class="el" href="ppb__var__array_8h.html#a244ad07738d77a4d11d8009a7d69a5aa">PPB_VAR_ARRAY_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___var_array__1__0.html">PPB_VarArray</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaad75327f1ecc75e58c2805fc4740d3c6">PPB_VarArray</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_VarArray</code> struct providing a way to interact with array vars. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a45d67f25be216695420b237b1deeca3f"></a><!-- doxytag: member="ppb_var_array.h::PPB_VAR_ARRAY_INTERFACE" ref="a45d67f25be216695420b237b1deeca3f" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__var__array_8h.html#a45d67f25be216695420b237b1deeca3f">PPB_VAR_ARRAY_INTERFACE</a>   <a class="el" href="ppb__var__array_8h.html#a244ad07738d77a4d11d8009a7d69a5aa">PPB_VAR_ARRAY_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a244ad07738d77a4d11d8009a7d69a5aa"></a><!-- doxytag: member="ppb_var_array.h::PPB_VAR_ARRAY_INTERFACE" ref="a244ad07738d77a4d11d8009a7d69a5aa" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__var__array_8h.html#a244ad07738d77a4d11d8009a7d69a5aa">PPB_VAR_ARRAY_INTERFACE</a>   "PPB_VarArray;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__var__array_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/ppb__var__array_8h__incl.png
new file mode 100644
index 0000000..4f8229f
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__var__array_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__var__array__buffer_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/ppb__var__array__buffer_8h.html
new file mode 100644
index 0000000..6e7151ea
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__var__array__buffer_8h.html
@@ -0,0 +1,59 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/ppb_var_array_buffer.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_var_array_buffer.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__var__array__buffer_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__var__array__buffer_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__var__array__buffer_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__var__array__buffer_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_array_buffer__1__0.html">PPB_VarArrayBuffer</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_VarArrayBuffer</code> interface provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous sequence of bytes. <a href="struct_p_p_b___var_array_buffer__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__var__array__buffer_8h.html#aacd03d05467e3a617c0a1c068fa422c7">PPB_VAR_ARRAY_BUFFER_INTERFACE</a>   "PPB_VarArrayBuffer;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__var__array__buffer_8h.html#a2b7e1cca43218ed9eb3c92b24089ecac">PPB_VAR_ARRAY_BUFFER_INTERFACE</a>   <a class="el" href="ppb__var__array__buffer_8h.html#aacd03d05467e3a617c0a1c068fa422c7">PPB_VAR_ARRAY_BUFFER_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___var_array_buffer__1__0.html">PPB_VarArrayBuffer</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gab26d5bb032f5438d02faf5bdf7b208cb">PPB_VarArrayBuffer</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_VarArrayBuffer</code> struct providing a way to interact with JavaScript ArrayBuffers. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a2b7e1cca43218ed9eb3c92b24089ecac"></a><!-- doxytag: member="ppb_var_array_buffer.h::PPB_VAR_ARRAY_BUFFER_INTERFACE" ref="a2b7e1cca43218ed9eb3c92b24089ecac" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__var__array__buffer_8h.html#a2b7e1cca43218ed9eb3c92b24089ecac">PPB_VAR_ARRAY_BUFFER_INTERFACE</a>   <a class="el" href="ppb__var__array__buffer_8h.html#aacd03d05467e3a617c0a1c068fa422c7">PPB_VAR_ARRAY_BUFFER_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="aacd03d05467e3a617c0a1c068fa422c7"></a><!-- doxytag: member="ppb_var_array_buffer.h::PPB_VAR_ARRAY_BUFFER_INTERFACE" ref="aacd03d05467e3a617c0a1c068fa422c7" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__var__array__buffer_8h.html#aacd03d05467e3a617c0a1c068fa422c7">PPB_VAR_ARRAY_BUFFER_INTERFACE</a>   "PPB_VarArrayBuffer;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__var__array__buffer_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/ppb__var__array__buffer_8h__incl.png
new file mode 100644
index 0000000..483fdbd
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__var__array__buffer_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__var__dictionary_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/ppb__var__dictionary_8h.html
new file mode 100644
index 0000000..478971ef
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__var__dictionary_8h.html
@@ -0,0 +1,59 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/ppb_var_dictionary.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_var_dictionary.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__var__dictionary_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__var__dictionary_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__var__dictionary_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__var__dictionary_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_dictionary__1__0.html">PPB_VarDictionary</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A dictionary var contains key-value pairs with unique keys. <a href="struct_p_p_b___var_dictionary__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__var__dictionary_8h.html#a33d58f4be531cacb629c9eb33ab8cdc2">PPB_VAR_DICTIONARY_INTERFACE</a>   "PPB_VarDictionary;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__var__dictionary_8h.html#ac9d41ef2449d860ee3b429c148bd6be9">PPB_VAR_DICTIONARY_INTERFACE</a>   <a class="el" href="ppb__var__dictionary_8h.html#a33d58f4be531cacb629c9eb33ab8cdc2">PPB_VAR_DICTIONARY_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___var_dictionary__1__0.html">PPB_VarDictionary</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga69826004b5c32232c9639090f3e1db2e">PPB_VarDictionary</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_VarDictionary</code> struct providing a way to interact with dictionary vars. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="ac9d41ef2449d860ee3b429c148bd6be9"></a><!-- doxytag: member="ppb_var_dictionary.h::PPB_VAR_DICTIONARY_INTERFACE" ref="ac9d41ef2449d860ee3b429c148bd6be9" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__var__dictionary_8h.html#ac9d41ef2449d860ee3b429c148bd6be9">PPB_VAR_DICTIONARY_INTERFACE</a>   <a class="el" href="ppb__var__dictionary_8h.html#a33d58f4be531cacb629c9eb33ab8cdc2">PPB_VAR_DICTIONARY_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a33d58f4be531cacb629c9eb33ab8cdc2"></a><!-- doxytag: member="ppb_var_dictionary.h::PPB_VAR_DICTIONARY_INTERFACE" ref="a33d58f4be531cacb629c9eb33ab8cdc2" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__var__dictionary_8h.html#a33d58f4be531cacb629c9eb33ab8cdc2">PPB_VAR_DICTIONARY_INTERFACE</a>   "PPB_VarDictionary;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__var__dictionary_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/ppb__var__dictionary_8h__incl.png
new file mode 100644
index 0000000..b7c7389
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__var__dictionary_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__video__frame_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/ppb__video__frame_8h.html
new file mode 100644
index 0000000..6b7ccb2a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__video__frame_8h.html
@@ -0,0 +1,53 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/ppb_video_frame.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_video_frame.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__video__frame_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__video__frame_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__video__frame_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__video__frame_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___video_frame__0__1.html">PPB_VideoFrame</a></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__video__frame_8h.html#a4176d3adc972a5e92e02b9fb85dc78fd">PPB_VIDEOFRAME_INTERFACE</a>   "PPB_VideoFrame;0.1" /* dev */</td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga4e7cf746d8acbfa268db1f5ebe8061bf">PP_VideoFrame_Format</a> { <br />
+  <a class="el" href="group___enums.html#gga4e7cf746d8acbfa268db1f5ebe8061bfa203cae6273b31da926c199ff4d27183a">PP_VIDEOFRAME_FORMAT_UNKNOWN</a> = 0,
+<a class="el" href="group___enums.html#gga4e7cf746d8acbfa268db1f5ebe8061bfa6ff238ffd3c807c510712ae56e051e3a">PP_VIDEOFRAME_FORMAT_YV12</a> = 1,
+<a class="el" href="group___enums.html#gga4e7cf746d8acbfa268db1f5ebe8061bfa81b9dd2e2a21a762c8e0f1e297722fb1">PP_VIDEOFRAME_FORMAT_YV16</a> = 2,
+<a class="el" href="group___enums.html#gga4e7cf746d8acbfa268db1f5ebe8061bfa0f72b9ac0cba278aab35e7a975624f76">PP_VIDEOFRAME_FORMAT_I420</a> = 3,
+<br />
+  <a class="el" href="group___enums.html#gga4e7cf746d8acbfa268db1f5ebe8061bfa763c2a7a80a426ceb85bdd2e47a7f7b0">PP_VIDEOFRAME_FORMAT_YV12A</a> = 4,
+<a class="el" href="group___enums.html#gga4e7cf746d8acbfa268db1f5ebe8061bfaae97d5413c3cfc8ced57e8bf0be0d37a">PP_VIDEOFRAME_FORMAT_YV12J</a> = 5
+<br />
+ }</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Defines the <code>PPB_VideoFrame</code> interface. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a4176d3adc972a5e92e02b9fb85dc78fd"></a><!-- doxytag: member="ppb_video_frame.h::PPB_VIDEOFRAME_INTERFACE" ref="a4176d3adc972a5e92e02b9fb85dc78fd" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__video__frame_8h.html#a4176d3adc972a5e92e02b9fb85dc78fd">PPB_VIDEOFRAME_INTERFACE</a>   "PPB_VideoFrame;0.1" /* dev */</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__video__frame_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/ppb__video__frame_8h__incl.png
new file mode 100644
index 0000000..cff1f99
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__video__frame_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__view_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/ppb__view_8h.html
new file mode 100644
index 0000000..5cd99d56
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__view_8h.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/ppb_view.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_view.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__view_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__view_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__view_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__view_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___view__1__1.html">PPB_View</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><code>PPB_View</code> represents the state of the view of an instance. <a href="struct_p_p_b___view__1__1.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__view_8h.html#a0aa91bef3e37c8a98b77417dcf9a7a6a">PPB_VIEW_INTERFACE</a>   "PPB_View;1.1"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__view_8h.html#a3597f47b815dffc7e9cf250a107e7d3e">PPB_VIEW_INTERFACE</a>   <a class="el" href="ppb__view_8h.html#a0aa91bef3e37c8a98b77417dcf9a7a6a">PPB_VIEW_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___view__1__1.html">PPB_View</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaccc39c5c499011d13be37e23868a04f3">PPB_View</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_View</code> struct representing the state of the view of an instance. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a3597f47b815dffc7e9cf250a107e7d3e"></a><!-- doxytag: member="ppb_view.h::PPB_VIEW_INTERFACE" ref="a3597f47b815dffc7e9cf250a107e7d3e" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__view_8h.html#a3597f47b815dffc7e9cf250a107e7d3e">PPB_VIEW_INTERFACE</a>   <a class="el" href="ppb__view_8h.html#a0aa91bef3e37c8a98b77417dcf9a7a6a">PPB_VIEW_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a0aa91bef3e37c8a98b77417dcf9a7a6a"></a><!-- doxytag: member="ppb_view.h::PPB_VIEW_INTERFACE" ref="a0aa91bef3e37c8a98b77417dcf9a7a6a" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__view_8h.html#a0aa91bef3e37c8a98b77417dcf9a7a6a">PPB_VIEW_INTERFACE</a>   "PPB_View;1.1"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__view_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/ppb__view_8h__incl.png
new file mode 100644
index 0000000..398d3b2a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__view_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__websocket_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/ppb__websocket_8h.html
new file mode 100644
index 0000000..a0bcb6c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__websocket_8h.html
@@ -0,0 +1,97 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/ppb_websocket.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_websocket.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__websocket_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__websocket_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__websocket_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2ppb__websocket_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___web_socket__1__0.html">PPB_WebSocket</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_WebSocket</code> interface provides bi-directional, full-duplex, communications over a single TCP socket. <a href="struct_p_p_b___web_socket__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__websocket_8h.html#ad613dc4aff545f9e9885c415f1673107">PPB_WEBSOCKET_INTERFACE</a>   "PPB_WebSocket;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__websocket_8h.html#a6d56a012c9350b4cc4e55b668d3fbe75">PPB_WEBSOCKET_INTERFACE</a>   <a class="el" href="ppb__websocket_8h.html#ad613dc4aff545f9e9885c415f1673107">PPB_WEBSOCKET_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___web_socket__1__0.html">PPB_WebSocket</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gad0e152d14cefb0b480228f3fc7070faf">PPB_WebSocket</a></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gade61cdf6a7470769b571925694d91a89">PP_WebSocketReadyState</a> { <br />
+  <a class="el" href="group___enums.html#ggade61cdf6a7470769b571925694d91a89a6c603b9df214e22d8b8202431866b26b">PP_WEBSOCKETREADYSTATE_INVALID</a> = -1,
+<a class="el" href="group___enums.html#ggade61cdf6a7470769b571925694d91a89a9ad491ea639e22b598d4e8cab463acd9">PP_WEBSOCKETREADYSTATE_CONNECTING</a> = 0,
+<a class="el" href="group___enums.html#ggade61cdf6a7470769b571925694d91a89a60f99e31f237d57df167d70e7c1ada7d">PP_WEBSOCKETREADYSTATE_OPEN</a> = 1,
+<a class="el" href="group___enums.html#ggade61cdf6a7470769b571925694d91a89a45ce2585ba8b200c6c02112098df6447">PP_WEBSOCKETREADYSTATE_CLOSING</a> = 2,
+<br />
+  <a class="el" href="group___enums.html#ggade61cdf6a7470769b571925694d91a89a43865a04fac402be4f589d2c7f9f02f4">PP_WEBSOCKETREADYSTATE_CLOSED</a> = 3
+<br />
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga8458f33f09ecc56fcf486c60b844678d">PP_WebSocketCloseCode</a> { <br />
+  <a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678dace8b6cbd5ab6bdecc5762b8753702d47">PP_WEBSOCKETSTATUSCODE_NOT_SPECIFIED</a> = 1005,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678daff82b3d825f09240d64479d5ae0a2e00">PP_WEBSOCKETSTATUSCODE_NORMAL_CLOSURE</a> = 1000,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da9d8d5c41a6592a609324249950468fb4">PP_WEBSOCKETSTATUSCODE_GOING_AWAY</a> = 1001,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678daf20b614979599d2a2ed79543618d6ef4">PP_WEBSOCKETSTATUSCODE_PROTOCOL_ERROR</a> = 1002,
+<br />
+  <a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da4c63e46fd3e2a3b03fdcc577431f85ba">PP_WEBSOCKETSTATUSCODE_UNSUPPORTED_DATA</a> = 1003,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da75580d49b265525d2f8591be2aa02fe6">PP_WEBSOCKETSTATUSCODE_NO_STATUS_RECEIVED</a> = 1005,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678dad80b864c592819db0cb640d2b6e74a3f">PP_WEBSOCKETSTATUSCODE_ABNORMAL_CLOSURE</a> = 1006,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678daea768048eaff4826bf06550d8da0dd42">PP_WEBSOCKETSTATUSCODE_INVALID_FRAME_PAYLOAD_DATA</a> = 1007,
+<br />
+  <a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da4d4405b66c4b436c9bb31dfa4fa71523">PP_WEBSOCKETSTATUSCODE_POLICY_VIOLATION</a> = 1008,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da7c8d17601c982c62a933a3f721c049ef">PP_WEBSOCKETSTATUSCODE_MESSAGE_TOO_BIG</a> = 1009,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da5fae5457554a0cad877ccfa1d5636b8d">PP_WEBSOCKETSTATUSCODE_MANDATORY_EXTENSION</a> = 1010,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da7318b30a65ea442445e754453a73be81">PP_WEBSOCKETSTATUSCODE_INTERNAL_SERVER_ERROR</a> = 1011,
+<br />
+  <a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da8aef76170a2836b651922555aa26348d">PP_WEBSOCKETSTATUSCODE_TLS_HANDSHAKE</a> = 1015,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da3a87714e399ce00177f60f85c9a993ba">PP_WEBSOCKETSTATUSCODE_USER_REGISTERED_MIN</a> = 3000,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da08c67e1fcd33b07c350be618d7d72403">PP_WEBSOCKETSTATUSCODE_USER_REGISTERED_MAX</a> = 3999,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da491bd1d7c9ada2c129062beb9eaeded1">PP_WEBSOCKETSTATUSCODE_USER_PRIVATE_MIN</a> = 4000,
+<br />
+  <a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da242327b17ab568d625627236de721e5b">PP_WEBSOCKETSTATUSCODE_USER_PRIVATE_MAX</a> = 4999
+<br />
+ }</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gade61cdf6a7470769b571925694d91a89">PP_WebSocketReadyState</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga8458f33f09ecc56fcf486c60b844678d">PP_WebSocketCloseCode</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_WebSocket</code> interface providing bi-directional, full-duplex, communications over a single TCP socket. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a6d56a012c9350b4cc4e55b668d3fbe75"></a><!-- doxytag: member="ppb_websocket.h::PPB_WEBSOCKET_INTERFACE" ref="a6d56a012c9350b4cc4e55b668d3fbe75" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__websocket_8h.html#a6d56a012c9350b4cc4e55b668d3fbe75">PPB_WEBSOCKET_INTERFACE</a>   <a class="el" href="ppb__websocket_8h.html#ad613dc4aff545f9e9885c415f1673107">PPB_WEBSOCKET_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ad613dc4aff545f9e9885c415f1673107"></a><!-- doxytag: member="ppb_websocket.h::PPB_WEBSOCKET_INTERFACE" ref="ad613dc4aff545f9e9885c415f1673107" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__websocket_8h.html#ad613dc4aff545f9e9885c415f1673107">PPB_WEBSOCKET_INTERFACE</a>   "PPB_WebSocket;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppb__websocket_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/ppb__websocket_8h__incl.png
new file mode 100644
index 0000000..296a235
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppb__websocket_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppp_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/ppp_8h.html
new file mode 100644
index 0000000..83b096a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppp_8h.html
@@ -0,0 +1,32 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/ppp.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppp.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppp_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2ppp_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2ppp_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2ppp_8h">
+</map>
+</div>
+</div><h2>
+Typedefs</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">typedef int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#gae33224cdac15cf8596127fe7b5f08325">PP_InitializeModule_Func</a> )(<a class="el" href="group___typedefs.html#gab780dd451cd7f51284cb752edd88f9a0">PP_Module</a> module, <a class="el" href="group___typedefs.html#ga68ad7c927b86e0c29d890603edd33154">PPB_GetInterface</a> get_browser_interface)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#gad2b49167bcbf6c2c895ffb1a61bc720c">PP_ShutdownModule_Func</a> )(void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef const void *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#ga893cfdc559fdf7ae3004816357c3d7e9">PP_GetInterface_Func</a> )(const char *interface_name)</td></tr>
+</table><h2>
+Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga2fc7b396531c19417d8d7171d56da8b6">PPP_InitializeModule</a> (<a class="el" href="group___typedefs.html#gab780dd451cd7f51284cb752edd88f9a0">PP_Module</a> module, <a class="el" href="group___typedefs.html#ga68ad7c927b86e0c29d890603edd33154">PPB_GetInterface</a> get_browser_interface)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#gaa3021aba7ddc17a8cecb4bc4f8374e98">PPP_ShutdownModule</a> (void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const void * </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga4127b148b2bd0f3bc2c078dd38cbe4cf">PPP_GetInterface</a> (const char *interface_name)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines three functions that your module must implement to interact with the browser. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppp_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/ppp_8h__incl.png
new file mode 100644
index 0000000..4f83293
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppp_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppp__graphics__3d_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/ppp__graphics__3d_8h.html
new file mode 100644
index 0000000..5678ab6
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppp__graphics__3d_8h.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/ppp_graphics_3d.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppp_graphics_3d.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppp__graphics__3d_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2ppp__graphics__3d_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2ppp__graphics__3d_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2ppp__graphics__3d_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___graphics3_d__1__0.html">PPP_Graphics3D</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><code>PPP_Graphics3D</code> defines the notification interface for a 3D graphics context. <a href="struct_p_p_p___graphics3_d__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppp__graphics__3d_8h.html#a24bc6750e56195c99461408d10a3e184">PPP_GRAPHICS_3D_INTERFACE</a>   "PPP_Graphics_3D;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppp__graphics__3d_8h.html#a127a18c58f8a81afc706963ce70ba1a0">PPP_GRAPHICS_3D_INTERFACE</a>   <a class="el" href="ppp__graphics__3d_8h.html#a24bc6750e56195c99461408d10a3e184">PPP_GRAPHICS_3D_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_p___graphics3_d__1__0.html">PPP_Graphics3D</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gab9b763d2ae6ef08a8f18069728f418eb">PPP_Graphics3D</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Defines the <code>PPP_Graphics3D</code> struct representing a 3D graphics context within the browser. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a127a18c58f8a81afc706963ce70ba1a0"></a><!-- doxytag: member="ppp_graphics_3d.h::PPP_GRAPHICS_3D_INTERFACE" ref="a127a18c58f8a81afc706963ce70ba1a0" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppp__graphics__3d_8h.html#a127a18c58f8a81afc706963ce70ba1a0">PPP_GRAPHICS_3D_INTERFACE</a>   <a class="el" href="ppp__graphics__3d_8h.html#a24bc6750e56195c99461408d10a3e184">PPP_GRAPHICS_3D_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a24bc6750e56195c99461408d10a3e184"></a><!-- doxytag: member="ppp_graphics_3d.h::PPP_GRAPHICS_3D_INTERFACE" ref="a24bc6750e56195c99461408d10a3e184" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppp__graphics__3d_8h.html#a24bc6750e56195c99461408d10a3e184">PPP_GRAPHICS_3D_INTERFACE</a>   "PPP_Graphics_3D;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppp__graphics__3d_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/ppp__graphics__3d_8h__incl.png
new file mode 100644
index 0000000..f6a7929
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppp__graphics__3d_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppp__input__event_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/ppp__input__event_8h.html
new file mode 100644
index 0000000..72fa241
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppp__input__event_8h.html
@@ -0,0 +1,57 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/ppp_input_event.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppp_input_event.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppp__input__event_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2ppp__input__event_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2ppp__input__event_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2ppp__input__event_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___input_event__0__1.html">PPP_InputEvent</a></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppp__input__event_8h.html#afcc2e3ed6316bc950b7668d24f1c0476">PPP_INPUT_EVENT_INTERFACE</a>   "PPP_InputEvent;0.1"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppp__input__event_8h.html#a6e94d8b829723cdeff16b7433c87bbea">PPP_INPUT_EVENT_INTERFACE</a>   <a class="el" href="ppp__input__event_8h.html#afcc2e3ed6316bc950b7668d24f1c0476">PPP_INPUT_EVENT_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_p___input_event__0__1.html">PPP_InputEvent</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga9c2577b1c089f77e1e467d74bd97a940">PPP_InputEvent</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API for receiving input events from the browser. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a6e94d8b829723cdeff16b7433c87bbea"></a><!-- doxytag: member="ppp_input_event.h::PPP_INPUT_EVENT_INTERFACE" ref="a6e94d8b829723cdeff16b7433c87bbea" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppp__input__event_8h.html#a6e94d8b829723cdeff16b7433c87bbea">PPP_INPUT_EVENT_INTERFACE</a>   <a class="el" href="ppp__input__event_8h.html#afcc2e3ed6316bc950b7668d24f1c0476">PPP_INPUT_EVENT_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="afcc2e3ed6316bc950b7668d24f1c0476"></a><!-- doxytag: member="ppp_input_event.h::PPP_INPUT_EVENT_INTERFACE" ref="afcc2e3ed6316bc950b7668d24f1c0476" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppp__input__event_8h.html#afcc2e3ed6316bc950b7668d24f1c0476">PPP_INPUT_EVENT_INTERFACE</a>   "PPP_InputEvent;0.1"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppp__input__event_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/ppp__input__event_8h__incl.png
new file mode 100644
index 0000000..de8f9cd
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppp__input__event_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppp__instance_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/ppp__instance_8h.html
new file mode 100644
index 0000000..28e0d51
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppp__instance_8h.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/ppp_instance.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppp_instance.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppp__instance_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2ppp__instance_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2ppp__instance_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2ppp__instance_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___instance__1__1.html">PPP_Instance</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPP_Instance</code> interface contains pointers to a series of functions that you must implement in your module. <a href="struct_p_p_p___instance__1__1.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppp__instance_8h.html#a0e284783d75d3b9a3c84a0feb39d7024">PPP_INSTANCE_INTERFACE</a>   "PPP_Instance;1.1"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppp__instance_8h.html#ae1a0f9616b76b6b42649565ed1081fc1">PPP_INSTANCE_INTERFACE</a>   <a class="el" href="ppp__instance_8h.html#a0e284783d75d3b9a3c84a0feb39d7024">PPP_INSTANCE_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_p___instance__1__1.html">PPP_Instance</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga3397638d116e4171368bf18fcb91ef11">PPP_Instance</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPP_Instance</code> structure - a series of pointers to methods that you must implement in your module. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="ae1a0f9616b76b6b42649565ed1081fc1"></a><!-- doxytag: member="ppp_instance.h::PPP_INSTANCE_INTERFACE" ref="ae1a0f9616b76b6b42649565ed1081fc1" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppp__instance_8h.html#ae1a0f9616b76b6b42649565ed1081fc1">PPP_INSTANCE_INTERFACE</a>   <a class="el" href="ppp__instance_8h.html#a0e284783d75d3b9a3c84a0feb39d7024">PPP_INSTANCE_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a0e284783d75d3b9a3c84a0feb39d7024"></a><!-- doxytag: member="ppp_instance.h::PPP_INSTANCE_INTERFACE" ref="a0e284783d75d3b9a3c84a0feb39d7024" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppp__instance_8h.html#a0e284783d75d3b9a3c84a0feb39d7024">PPP_INSTANCE_INTERFACE</a>   "PPP_Instance;1.1"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppp__instance_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/ppp__instance_8h__incl.png
new file mode 100644
index 0000000..a84422d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppp__instance_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppp__messaging_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/ppp__messaging_8h.html
new file mode 100644
index 0000000..fba3463
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppp__messaging_8h.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/ppp_messaging.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppp_messaging.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppp__messaging_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2ppp__messaging_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2ppp__messaging_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2ppp__messaging_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___messaging__1__0.html">PPP_Messaging</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPP_Messaging</code> interface contains pointers to functions that you must implement to handle postMessage events on the associated DOM element. <a href="struct_p_p_p___messaging__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppp__messaging_8h.html#a2b15920cef3b0b108e4e08ae39ba0b2b">PPP_MESSAGING_INTERFACE</a>   "PPP_Messaging;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppp__messaging_8h.html#a7ea9cbd07fe30bc0d6e3a71a02d7adbb">PPP_MESSAGING_INTERFACE</a>   <a class="el" href="ppp__messaging_8h.html#a2b15920cef3b0b108e4e08ae39ba0b2b">PPP_MESSAGING_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_p___messaging__1__0.html">PPP_Messaging</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga1b4374f30360ab34679a159083db7e4d">PPP_Messaging</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the PPP_Messaging interface containing pointers to functions that you must implement to handle postMessage messages on the associated DOM element. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a7ea9cbd07fe30bc0d6e3a71a02d7adbb"></a><!-- doxytag: member="ppp_messaging.h::PPP_MESSAGING_INTERFACE" ref="a7ea9cbd07fe30bc0d6e3a71a02d7adbb" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppp__messaging_8h.html#a7ea9cbd07fe30bc0d6e3a71a02d7adbb">PPP_MESSAGING_INTERFACE</a>   <a class="el" href="ppp__messaging_8h.html#a2b15920cef3b0b108e4e08ae39ba0b2b">PPP_MESSAGING_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a2b15920cef3b0b108e4e08ae39ba0b2b"></a><!-- doxytag: member="ppp_messaging.h::PPP_MESSAGING_INTERFACE" ref="a2b15920cef3b0b108e4e08ae39ba0b2b" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppp__messaging_8h.html#a2b15920cef3b0b108e4e08ae39ba0b2b">PPP_MESSAGING_INTERFACE</a>   "PPP_Messaging;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppp__messaging_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/ppp__messaging_8h__incl.png
new file mode 100644
index 0000000..e1f1e63
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppp__messaging_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppp__mouse__lock_8h.html b/native_client_sdk/doc_generated/pepper_dev/c/ppp__mouse__lock_8h.html
new file mode 100644
index 0000000..1cdaea17
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppp__mouse__lock_8h.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/c/ppp_mouse_lock.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppp_mouse_lock.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppp__mouse__lock_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2c_2ppp__mouse__lock_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2c_2ppp__mouse__lock_8h" id="_2tmp_2pepper__devp_gd_j_g4_2c_2ppp__mouse__lock_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___mouse_lock__1__0.html">PPP_MouseLock</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPP_MouseLock</code> interface contains a function that you must implement to receive mouse lock events from the browser. <a href="struct_p_p_p___mouse_lock__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppp__mouse__lock_8h.html#a71f74bf4d04a8ac6901b473452f4d7e6">PPP_MOUSELOCK_INTERFACE</a>   "PPP_MouseLock;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppp__mouse__lock_8h.html#a2ce52a0566f0ee91721052673ca521ec">PPP_MOUSELOCK_INTERFACE</a>   <a class="el" href="ppp__mouse__lock_8h.html#a71f74bf4d04a8ac6901b473452f4d7e6">PPP_MOUSELOCK_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_p___mouse_lock__1__0.html">PPP_MouseLock</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gae600e8f5b6005b02378e6eb9f51b11cb">PPP_MouseLock</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPP_MouseLock</code> interface containing a function that you must implement to receive mouse lock events from the browser. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a2ce52a0566f0ee91721052673ca521ec"></a><!-- doxytag: member="ppp_mouse_lock.h::PPP_MOUSELOCK_INTERFACE" ref="a2ce52a0566f0ee91721052673ca521ec" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppp__mouse__lock_8h.html#a2ce52a0566f0ee91721052673ca521ec">PPP_MOUSELOCK_INTERFACE</a>   <a class="el" href="ppp__mouse__lock_8h.html#a71f74bf4d04a8ac6901b473452f4d7e6">PPP_MOUSELOCK_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a71f74bf4d04a8ac6901b473452f4d7e6"></a><!-- doxytag: member="ppp_mouse_lock.h::PPP_MOUSELOCK_INTERFACE" ref="a71f74bf4d04a8ac6901b473452f4d7e6" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppp__mouse__lock_8h.html#a71f74bf4d04a8ac6901b473452f4d7e6">PPP_MOUSELOCK_INTERFACE</a>   "PPP_MouseLock;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/ppp__mouse__lock_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/c/ppp__mouse__lock_8h__incl.png
new file mode 100644
index 0000000..8907dcf
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/ppp__mouse__lock_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___array_output.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___array_output.html
new file mode 100644
index 0000000..885596f
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___array_output.html
@@ -0,0 +1,74 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_ArrayOutput Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_ArrayOutput" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gaa363de651fad7342a37ec58375276af7">PP_ArrayOutput_GetDataBuffer</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___array_output.html#acfd88c0475e6518cc9ed058c85744c58">GetDataBuffer</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___array_output.html#a6323083ee2b06f902c9c334c6b10a6d0">user_data</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>A structure that defines a way for the browser to return arrays of data to the plugin. </p>
+<p>The browser can not allocate memory on behalf of the plugin because the plugin and browser may have different allocators.</p>
+<p>Array output works by having the browser call to the plugin to allocate a buffer, and then the browser will copy the contents of the array into that buffer.</p>
+<p>In C, you would typically implement this as follows:</p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">struct </span>MyArrayOutput {
+ <span class="keywordtype">void</span>* data;
+ <span class="keywordtype">int</span> element_count;
+ };
+ <span class="keywordtype">void</span>* MyGetDataBuffer(<span class="keywordtype">void</span>* <a class="code" href="struct_p_p___array_output.html#a6323083ee2b06f902c9c334c6b10a6d0" title="Data that is passed to the allocation function.">user_data</a>, uint32_t count, uint32_t size) {
+ MyArrayOutput* output = (MyArrayOutput*)user_data;
+ output->element_count = count;
+ <span class="keywordflow">if</span> (size) {
+ output->data = malloc(count * size);
+ <span class="keywordflow">if</span> (!output->data) <span class="comment">// Be careful to set size properly on malloc failure.</span>
+ output->element_count = 0;
+ } <span class="keywordflow">else</span> {
+ output->data = NULL;
+ }
+ <span class="keywordflow">return</span> output->data;
+ }
+ <span class="keywordtype">void</span> MyFunction() {
+ MyArrayOutput array = { NULL, 0 };
+ <a class="code" href="struct_p_p___array_output.html" title="A structure that defines a way for the browser to return arrays of data to the plugin.">PP_ArrayOutput</a> output = { &MyGetDataBuffer, &array };
+ ppb_foo->GetData(&output);
+ }
+</pre></div> </div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="acfd88c0475e6518cc9ed058c85744c58"></a><!-- doxytag: member="PP_ArrayOutput::GetDataBuffer" ref="acfd88c0475e6518cc9ed058c85744c58" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gaa363de651fad7342a37ec58375276af7">PP_ArrayOutput_GetDataBuffer</a> <a class="el" href="struct_p_p___array_output.html#acfd88c0475e6518cc9ed058c85744c58">PP_ArrayOutput::GetDataBuffer</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A pointer to the allocation function that the browser will call. </p>
+</div>
+</div>
+<a class="anchor" id="a6323083ee2b06f902c9c334c6b10a6d0"></a><!-- doxytag: member="PP_ArrayOutput::user_data" ref="a6323083ee2b06f902c9c334c6b10a6d0" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void* <a class="el" href="struct_p_p___array_output.html#a6323083ee2b06f902c9c334c6b10a6d0">PP_ArrayOutput::user_data</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Data that is passed to the allocation function. </p>
+<p>Typically, this is used to communicate how the data should be stored. </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="pp__array__output_8h.html">pp_array_output.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___completion_callback.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___completion_callback.html
new file mode 100644
index 0000000..3d3fe190
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___completion_callback.html
@@ -0,0 +1,80 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_CompletionCallback Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_CompletionCallback" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#ga6fe12e1a41df5e10103a811036d4d8d2">PP_CompletionCallback_Func</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___completion_callback.html#ac8919fd5c44ffdde5e659b51bc696ed4">func</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___completion_callback.html#a7a35a0fdb8e1c49c738e29bbc93066cb">user_data</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___completion_callback.html#a4bd2d9440bc8dc18eeeca2d464156a38">flags</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p><code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> is a common mechanism for supporting potentially asynchronous calls in browser interfaces. </p>
+<p>Any method that takes a <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> can be used in one of three different ways:</p>
+<ul>
+<li>Required: The callback will always be invoked asynchronously on the thread where the associated PPB method was invoked. The method will always return PP_OK_COMPLETIONPENDING when a required callback, and the callback will be invoked later (barring system or thread shutdown; see PPB_MessageLoop for details). Required callbacks are the default. <br />
+<br />
+ NOTE: If you use a required callback on a background thread, you must have created and attached a PPB_MessageLoop. Otherwise, the system can not run your callback on that thread, and will instead emit a log message and crash your plugin to make the problem more obvious.</li>
+</ul>
+<ul>
+<li>Optional: The callback may be invoked asynchronously, or the PPB method may complete synchronously if it can do so without blocking. If the method will complete asynchronously, it will return PP_OK_COMPLETIONPENDING. Otherwise, it will complete synchronously and return an appropriate code (see below for more information on the return code). Optional callbacks are generally more difficult to use correctly than Required callbacks, but can provide better performance for some APIs (especially APIs with buffered reads, such as PPB_URLLoader or PPB_FileIO). <br />
+<br />
+ NOTE: If you use an optional callback on a background thread, and you have not created and attached a PPB_MessageLoop, then the method you invoke will fail without running and return PP_ERROR_NO_MESSAGE_LOOP.</li>
+</ul>
+<ul>
+<li>Blocking: In this case, the callback's function pointer is NULL, and the invoked method must complete synchronously. The method will run to completion and return an appropriate code when finished (see below for more information). Blocking completion callbacks are only supported on background threads. <br />
+<br />
+<code><a class="el" href="group___functions.html#ga340e452b4931d17bd44928769490e282" title="PP_BlockUntilComplete() is used in place of an actual completion callback to request blocking behavio...">PP_BlockUntilComplete()</a></code> provides a convenient way to specify blocking behavior. Refer to <code>PP_BlockUntilComplete</code> for more information.</li>
+</ul>
+<p>When the callback is run asynchronously, the result parameter passed to <code>func</code> is an int32_t that, if negative indicates an error code whose meaning is specific to the calling method (refer to <code>pp_error.h</code> for further information). A positive or 0 value is a return result indicating success whose meaning depends on the calling method (e.g. number of bytes read). </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a4bd2d9440bc8dc18eeeca2d464156a38"></a><!-- doxytag: member="PP_CompletionCallback::flags" ref="a4bd2d9440bc8dc18eeeca2d464156a38" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="struct_p_p___completion_callback.html#a4bd2d9440bc8dc18eeeca2d464156a38">PP_CompletionCallback::flags</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Flags used to control how non-NULL callbacks are scheduled by asynchronous methods. </p>
+</div>
+</div>
+<a class="anchor" id="ac8919fd5c44ffdde5e659b51bc696ed4"></a><!-- doxytag: member="PP_CompletionCallback::func" ref="ac8919fd5c44ffdde5e659b51bc696ed4" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#ga6fe12e1a41df5e10103a811036d4d8d2">PP_CompletionCallback_Func</a> <a class="el" href="struct_p_p___completion_callback.html#ac8919fd5c44ffdde5e659b51bc696ed4">PP_CompletionCallback::func</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value is a callback function that will be called, or NULL if this is a blocking completion callback. </p>
+</div>
+</div>
+<a class="anchor" id="a7a35a0fdb8e1c49c738e29bbc93066cb"></a><!-- doxytag: member="PP_CompletionCallback::user_data" ref="a7a35a0fdb8e1c49c738e29bbc93066cb" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void* <a class="el" href="struct_p_p___completion_callback.html#a7a35a0fdb8e1c49c738e29bbc93066cb">PP_CompletionCallback::user_data</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value is a pointer to user data passed to a callback function. </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="pp__completion__callback_8h.html">pp_completion_callback.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___directory_entry.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___directory_entry.html
new file mode 100644
index 0000000..3d7c25d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___directory_entry.html
@@ -0,0 +1,45 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_DirectoryEntry Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_DirectoryEntry" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___directory_entry.html#ada81c580e377562d3e5090a6fd7ed994">file_ref</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga36f6dfbe9c1e98540c5247f790746427">PP_FileType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___directory_entry.html#aed7b550aee67d58a321e0ca57a59333d">file_type</a></td></tr>
+</table>
+<hr /><h2>Field Documentation</h2>
+<a class="anchor" id="ada81c580e377562d3e5090a6fd7ed994"></a><!-- doxytag: member="PP_DirectoryEntry::file_ref" ref="ada81c580e377562d3e5090a6fd7ed994" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> <a class="el" href="struct_p_p___directory_entry.html#ada81c580e377562d3e5090a6fd7ed994">PP_DirectoryEntry::file_ref</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="aed7b550aee67d58a321e0ca57a59333d"></a><!-- doxytag: member="PP_DirectoryEntry::file_type" ref="aed7b550aee67d58a321e0ca57a59333d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga36f6dfbe9c1e98540c5247f790746427">PP_FileType</a> <a class="el" href="struct_p_p___directory_entry.html#aed7b550aee67d58a321e0ca57a59333d">PP_DirectoryEntry::file_type</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="pp__directory__entry_8h.html">pp_directory_entry.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___file_info.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___file_info.html
new file mode 100644
index 0000000..e7696421
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___file_info.html
@@ -0,0 +1,105 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_FileInfo Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_FileInfo" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___file_info.html#a8e477e77e1938f657ae282139f628368">size</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga36f6dfbe9c1e98540c5247f790746427">PP_FileType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___file_info.html#a2b38985af2a482ddd196cd40b13378f5">type</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga87b353f2ec8935c9c3294daff612c145">PP_FileSystemType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___file_info.html#a02a26955ced1a31ba23806c7cc22676a">system_type</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___file_info.html#ae440d0229864ae7eed164cce2e517c1c">creation_time</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___file_info.html#aa28b1c96d04220ed40f711126032ad20">last_access_time</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___file_info.html#a08c89b213b808c573fbe98079bab7a56">last_modified_time</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="struct_p_p___file_info.html" title="The PP_FileInfo struct represents all information about a file, such as size, type, and creation time.">PP_FileInfo</a></code> struct represents all information about a file, such as size, type, and creation time. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="ae440d0229864ae7eed164cce2e517c1c"></a><!-- doxytag: member="PP_FileInfo::creation_time" ref="ae440d0229864ae7eed164cce2e517c1c" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a> <a class="el" href="struct_p_p___file_info.html#ae440d0229864ae7eed164cce2e517c1c">PP_FileInfo::creation_time</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the creation time of the file. </p>
+</div>
+</div>
+<a class="anchor" id="aa28b1c96d04220ed40f711126032ad20"></a><!-- doxytag: member="PP_FileInfo::last_access_time" ref="aa28b1c96d04220ed40f711126032ad20" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a> <a class="el" href="struct_p_p___file_info.html#aa28b1c96d04220ed40f711126032ad20">PP_FileInfo::last_access_time</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the last time the file was accessed. </p>
+</div>
+</div>
+<a class="anchor" id="a08c89b213b808c573fbe98079bab7a56"></a><!-- doxytag: member="PP_FileInfo::last_modified_time" ref="a08c89b213b808c573fbe98079bab7a56" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a> <a class="el" href="struct_p_p___file_info.html#a08c89b213b808c573fbe98079bab7a56">PP_FileInfo::last_modified_time</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the last time the file was modified. </p>
+</div>
+</div>
+<a class="anchor" id="a8e477e77e1938f657ae282139f628368"></a><!-- doxytag: member="PP_FileInfo::size" ref="a8e477e77e1938f657ae282139f628368" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int64_t <a class="el" href="struct_p_p___file_info.html#a8e477e77e1938f657ae282139f628368">PP_FileInfo::size</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the size of the file measured in bytes. </p>
+</div>
+</div>
+<a class="anchor" id="a02a26955ced1a31ba23806c7cc22676a"></a><!-- doxytag: member="PP_FileInfo::system_type" ref="a02a26955ced1a31ba23806c7cc22676a" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga87b353f2ec8935c9c3294daff612c145">PP_FileSystemType</a> <a class="el" href="struct_p_p___file_info.html#a02a26955ced1a31ba23806c7cc22676a">PP_FileInfo::system_type</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the file system type of the file as defined by the <code>PP_FileSystemType</code> enum. </p>
+</div>
+</div>
+<a class="anchor" id="a2b38985af2a482ddd196cd40b13378f5"></a><!-- doxytag: member="PP_FileInfo::type" ref="a2b38985af2a482ddd196cd40b13378f5" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga36f6dfbe9c1e98540c5247f790746427">PP_FileType</a> <a class="el" href="struct_p_p___file_info.html#a2b38985af2a482ddd196cd40b13378f5">PP_FileInfo::type</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the type of file as defined by the <code>PP_FileType</code> enum. </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="pp__file__info_8h.html">pp_file_info.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___float_point.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___float_point.html
new file mode 100644
index 0000000..4c2c664
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___float_point.html
@@ -0,0 +1,47 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_FloatPoint Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_FloatPoint" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___float_point.html#a40405bdfc98bbc0fe7aa8c065d971947">x</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___float_point.html#a9662ff4361457b92ef5bab02b3850521">y</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <a class="el" href="struct_p_p___float_point.html" title="The PP_FloatPoint structure defines the floating-point x and y coordinates of a point.">PP_FloatPoint</a> structure defines the floating-point x and y coordinates of a point. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a40405bdfc98bbc0fe7aa8c065d971947"></a><!-- doxytag: member="PP_FloatPoint::x" ref="a40405bdfc98bbc0fe7aa8c065d971947" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="struct_p_p___float_point.html#a40405bdfc98bbc0fe7aa8c065d971947">PP_FloatPoint::x</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a9662ff4361457b92ef5bab02b3850521"></a><!-- doxytag: member="PP_FloatPoint::y" ref="a9662ff4361457b92ef5bab02b3850521" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="struct_p_p___float_point.html#a9662ff4361457b92ef5bab02b3850521">PP_FloatPoint::y</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="pp__point_8h.html">pp_point.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___gamepad_sample_data.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___gamepad_sample_data.html
new file mode 100644
index 0000000..70b3fe1f
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___gamepad_sample_data.html
@@ -0,0 +1,136 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_GamepadSampleData Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_GamepadSampleData" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___gamepad_sample_data.html#a27e25af2c4d7278951c71d5a71821db5">axes_length</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___gamepad_sample_data.html#a044a97b221c1e87e26ecbd39b584b416">axes</a> [16]</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___gamepad_sample_data.html#ae58bc687fc618e4a957dda7cd087bd58">buttons_length</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___gamepad_sample_data.html#ac9b7def0b695e6009e685b79d883a9a2">buttons</a> [32]</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___gamepad_sample_data.html#af832f6af0964f9023d712712a6e3afc7">timestamp</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___gamepad_sample_data.html#a0a4d0498f6beecb54628a4f1919c48e3">id</a> [128]</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___gamepad_sample_data.html#ae955efce5fcd9de08ab8d4c7f52d0af7">connected</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">char </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___gamepad_sample_data.html#aad71d81059bd5880ebd79bc3b9e55cd5">unused_pad_</a> [4]</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The data for one gamepad device. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a044a97b221c1e87e26ecbd39b584b416"></a><!-- doxytag: member="PP_GamepadSampleData::axes" ref="a044a97b221c1e87e26ecbd39b584b416" args="[16]" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="struct_p_p___gamepad_sample_data.html#a044a97b221c1e87e26ecbd39b584b416">PP_GamepadSampleData::axes</a>[16]</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Normalized values for the axes, indices valid up to |axes_length|-1. </p>
+<p>Axis values range from -1..1, and are in order of "importance". </p>
+</div>
+</div>
+<a class="anchor" id="a27e25af2c4d7278951c71d5a71821db5"></a><!-- doxytag: member="PP_GamepadSampleData::axes_length" ref="a27e25af2c4d7278951c71d5a71821db5" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="struct_p_p___gamepad_sample_data.html#a27e25af2c4d7278951c71d5a71821db5">PP_GamepadSampleData::axes_length</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Number of valid elements in the |axes| array. </p>
+</div>
+</div>
+<a class="anchor" id="ac9b7def0b695e6009e685b79d883a9a2"></a><!-- doxytag: member="PP_GamepadSampleData::buttons" ref="ac9b7def0b695e6009e685b79d883a9a2" args="[32]" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="struct_p_p___gamepad_sample_data.html#ac9b7def0b695e6009e685b79d883a9a2">PP_GamepadSampleData::buttons</a>[32]</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Normalized values for the buttons, indices valid up to |buttons_length|. </p>
+<ul>
+<li>1. Button values range from 0..1, and are in order of importance. </li>
+</ul>
+</div>
+</div>
+<a class="anchor" id="ae58bc687fc618e4a957dda7cd087bd58"></a><!-- doxytag: member="PP_GamepadSampleData::buttons_length" ref="ae58bc687fc618e4a957dda7cd087bd58" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="struct_p_p___gamepad_sample_data.html#ae58bc687fc618e4a957dda7cd087bd58">PP_GamepadSampleData::buttons_length</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Number of valid elements in the |buttons| array. </p>
+</div>
+</div>
+<a class="anchor" id="ae955efce5fcd9de08ab8d4c7f52d0af7"></a><!-- doxytag: member="PP_GamepadSampleData::connected" ref="ae955efce5fcd9de08ab8d4c7f52d0af7" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> <a class="el" href="struct_p_p___gamepad_sample_data.html#ae955efce5fcd9de08ab8d4c7f52d0af7">PP_GamepadSampleData::connected</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Is there a gamepad connected at this index? If this is false, no other data in this structure is valid. </p>
+</div>
+</div>
+<a class="anchor" id="a0a4d0498f6beecb54628a4f1919c48e3"></a><!-- doxytag: member="PP_GamepadSampleData::id" ref="a0a4d0498f6beecb54628a4f1919c48e3" args="[128]" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint16_t <a class="el" href="struct_p_p___gamepad_sample_data.html#a0a4d0498f6beecb54628a4f1919c48e3">PP_GamepadSampleData::id</a>[128]</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Identifier for the type of device/manufacturer. </p>
+</div>
+</div>
+<a class="anchor" id="af832f6af0964f9023d712712a6e3afc7"></a><!-- doxytag: member="PP_GamepadSampleData::timestamp" ref="af832f6af0964f9023d712712a6e3afc7" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">double <a class="el" href="struct_p_p___gamepad_sample_data.html#af832f6af0964f9023d712712a6e3afc7">PP_GamepadSampleData::timestamp</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Monotonically increasing value that is incremented when the data have been updated. </p>
+</div>
+</div>
+<a class="anchor" id="aad71d81059bd5880ebd79bc3b9e55cd5"></a><!-- doxytag: member="PP_GamepadSampleData::unused_pad_" ref="aad71d81059bd5880ebd79bc3b9e55cd5" args="[4]" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">char <a class="el" href="struct_p_p___gamepad_sample_data.html#aad71d81059bd5880ebd79bc3b9e55cd5">PP_GamepadSampleData::unused_pad_</a>[4]</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppb__gamepad_8h.html">ppb_gamepad.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___gamepads_sample_data.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___gamepads_sample_data.html
new file mode 100644
index 0000000..7bb3e80
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___gamepads_sample_data.html
@@ -0,0 +1,62 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_GamepadsSampleData Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_GamepadsSampleData" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___gamepads_sample_data.html#abc9c0c8b20cfe0219a5ab4e38dd5a800">length</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">char </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___gamepads_sample_data.html#a0664781b0f25af5206d134cb04543235">unused_pad_</a> [4]</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___gamepad_sample_data.html">PP_GamepadSampleData</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___gamepads_sample_data.html#ab0fa87f088fef743ba879a2f91363bfe">items</a> [4]</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The data for all gamepads connected to the system. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="ab0fa87f088fef743ba879a2f91363bfe"></a><!-- doxytag: member="PP_GamepadsSampleData::items" ref="ab0fa87f088fef743ba879a2f91363bfe" args="[4]" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___gamepad_sample_data.html">PP_GamepadSampleData</a> <a class="el" href="struct_p_p___gamepads_sample_data.html#ab0fa87f088fef743ba879a2f91363bfe">PP_GamepadsSampleData::items</a>[4]</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Data for an individual gamepad device connected to the system. </p>
+</div>
+</div>
+<a class="anchor" id="abc9c0c8b20cfe0219a5ab4e38dd5a800"></a><!-- doxytag: member="PP_GamepadsSampleData::length" ref="abc9c0c8b20cfe0219a5ab4e38dd5a800" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="struct_p_p___gamepads_sample_data.html#abc9c0c8b20cfe0219a5ab4e38dd5a800">PP_GamepadsSampleData::length</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Number of valid elements in the |items| array. </p>
+</div>
+</div>
+<a class="anchor" id="a0664781b0f25af5206d134cb04543235"></a><!-- doxytag: member="PP_GamepadsSampleData::unused_pad_" ref="a0664781b0f25af5206d134cb04543235" args="[4]" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">char <a class="el" href="struct_p_p___gamepads_sample_data.html#a0664781b0f25af5206d134cb04543235">PP_GamepadsSampleData::unused_pad_</a>[4]</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppb__gamepad_8h.html">ppb_gamepad.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___host_resolver___hint.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___host_resolver___hint.html
new file mode 100644
index 0000000..a4a1ac0d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___host_resolver___hint.html
@@ -0,0 +1,49 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_HostResolver_Hint Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_HostResolver_Hint" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga43636bcadf9aa312a4c345d210ae6c55">PP_NetAddress_Family</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___host_resolver___hint.html#a22e79f1dd67a5a618fcb4d26adda5734">family</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___host_resolver___hint.html#a9feab0c247ac0011f6f3dbed28eeae1e">flags</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p><code><a class="el" href="struct_p_p___host_resolver___hint.html" title="PP_HostResolver_Hint represents hints for host resolution.">PP_HostResolver_Hint</a></code> represents hints for host resolution. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a22e79f1dd67a5a618fcb4d26adda5734"></a><!-- doxytag: member="PP_HostResolver_Hint::family" ref="a22e79f1dd67a5a618fcb4d26adda5734" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga43636bcadf9aa312a4c345d210ae6c55">PP_NetAddress_Family</a> <a class="el" href="struct_p_p___host_resolver___hint.html#a22e79f1dd67a5a618fcb4d26adda5734">PP_HostResolver_Hint::family</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Network address family. </p>
+</div>
+</div>
+<a class="anchor" id="a9feab0c247ac0011f6f3dbed28eeae1e"></a><!-- doxytag: member="PP_HostResolver_Hint::flags" ref="a9feab0c247ac0011f6f3dbed28eeae1e" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="struct_p_p___host_resolver___hint.html#a9feab0c247ac0011f6f3dbed28eeae1e">PP_HostResolver_Hint::flags</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Combination of flags from <code>PP_HostResolver_Flag</code>. </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppb__host__resolver_8h.html">ppb_host_resolver.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___image_data_desc.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___image_data_desc.html
new file mode 100644
index 0000000..1e759af1
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___image_data_desc.html
@@ -0,0 +1,64 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_ImageDataDesc Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_ImageDataDesc" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga2ee7ad01799553e5f17bdaa35dd952ee">PP_ImageDataFormat</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___image_data_desc.html#a0a621fd3704227310f14ba47323a80e1">format</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___size.html">PP_Size</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___image_data_desc.html#ad5b1dc56bf041929e1b54c7c96d1bd85">size</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___image_data_desc.html#a27f743f8f59a611853815865681bead6">stride</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="struct_p_p___image_data_desc.html" title="The PP_ImageDataDesc structure represents a description of image data.">PP_ImageDataDesc</a></code> structure represents a description of image data. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a0a621fd3704227310f14ba47323a80e1"></a><!-- doxytag: member="PP_ImageDataDesc::format" ref="a0a621fd3704227310f14ba47323a80e1" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga2ee7ad01799553e5f17bdaa35dd952ee">PP_ImageDataFormat</a> <a class="el" href="struct_p_p___image_data_desc.html#a0a621fd3704227310f14ba47323a80e1">PP_ImageDataDesc::format</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents one of the image data types in the <code>PP_ImageDataFormat</code> enum. </p>
+</div>
+</div>
+<a class="anchor" id="ad5b1dc56bf041929e1b54c7c96d1bd85"></a><!-- doxytag: member="PP_ImageDataDesc::size" ref="ad5b1dc56bf041929e1b54c7c96d1bd85" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___size.html">PP_Size</a> <a class="el" href="struct_p_p___image_data_desc.html#ad5b1dc56bf041929e1b54c7c96d1bd85">PP_ImageDataDesc::size</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the size of the bitmap in pixels. </p>
+</div>
+</div>
+<a class="anchor" id="a27f743f8f59a611853815865681bead6"></a><!-- doxytag: member="PP_ImageDataDesc::stride" ref="a27f743f8f59a611853815865681bead6" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="struct_p_p___image_data_desc.html#a27f743f8f59a611853815865681bead6">PP_ImageDataDesc::stride</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the row width in bytes. </p>
+<p>This may be different than width * 4 since there may be padding at the end of the lines. </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppb__image__data_8h.html">ppb_image_data.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___input_event___character.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___input_event___character.html
new file mode 100644
index 0000000..03e61be
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___input_event___character.html
@@ -0,0 +1,52 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_InputEvent_Character Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_InputEvent_Character" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___character.html#a6505d006cdb0e52d39e94b540b923b9a">modifier</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">char </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___character.html#ac5e8c1dbf5c8ae33f22b8781ff5f1760">text</a> [5]</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="struct_p_p___input_event___character.html" title="The PP_InputEvent_Character struct represents a typed character event.">PP_InputEvent_Character</a></code> struct represents a typed character event. </p>
+<p>Normally, the program will receive a key down event, followed by a character event, followed by a key up event. The character event will have any modifier keys applied. Obvious examples are symbols, where Shift-5 gives you a ''. The key down and up events will give you the scan code for the "5" key, and the character event will give you the '' character.</p>
+<p>You may not get a character event for all key down events if the key doesn't generate a character. Likewise, you may actually get multiple character events in a row. For example, some locales have an accent key that modifies the next character typed. You might get this stream of events: accent down, accent up (it didn't generate a character), letter key down, letter with accent character event (it was modified by the previous accent key), letter key up. If the letter can't be combined with the accent, like an umlaut and an 'R', the system might send umlaut down, umlaut up, 'R' key down, umlaut character (can't combine it with 'R', so just send the raw umlaut so it isn't lost"), 'R' character event, 'R' key up. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a6505d006cdb0e52d39e94b540b923b9a"></a><!-- doxytag: member="PP_InputEvent_Character::modifier" ref="a6505d006cdb0e52d39e94b540b923b9a" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="struct_p_p___input_event___character.html#a6505d006cdb0e52d39e94b540b923b9a">PP_InputEvent_Character::modifier</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A combination of the <code>PP_InputEvent_Modifier</code> flags. </p>
+</div>
+</div>
+<a class="anchor" id="ac5e8c1dbf5c8ae33f22b8781ff5f1760"></a><!-- doxytag: member="PP_InputEvent_Character::text" ref="ac5e8c1dbf5c8ae33f22b8781ff5f1760" args="[5]" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">char <a class="el" href="struct_p_p___input_event___character.html#ac5e8c1dbf5c8ae33f22b8781ff5f1760">PP_InputEvent_Character::text</a>[5]</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the typed character as a single null-terminated UTF-8 character. </p>
+<p>Any unused bytes will be filled with null bytes. Since the maximum UTF-8 character is 4 bytes, there will always be at least one null at the end so you can treat this as a null-terminated UTF-8 string. </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="pp__input__event_8h.html">pp_input_event.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___input_event___key.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___input_event___key.html
new file mode 100644
index 0000000..539a8c0
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___input_event___key.html
@@ -0,0 +1,53 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_InputEvent_Key Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_InputEvent_Key" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___key.html#a13f50c267c45d439f009094515c75c10">modifier</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___key.html#ad7b017ab264c307ce846d5df8a8bf867">key_code</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="struct_p_p___input_event___key.html" title="The PP_InputEvent_Key struct represents a key up or key down event.">PP_InputEvent_Key</a></code> struct represents a key up or key down event. </p>
+<p>Key up and key down events correspond to physical keys on the keyboard. The actual character that the user typed (if any) will be delivered in a "character" event.</p>
+<p>If the user loses focus on the module while a key is down, a key up event might not occur. For example, if the module has focus and the user presses and holds the shift key, the module will see a "shift down" message. Then if the user clicks elsewhere on the web page, the module's focus will be lost and no more input events will be delivered.</p>
+<p>If your module depends on receiving key up events, it should also handle "lost focus" as the equivalent of "all keys up." </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="ad7b017ab264c307ce846d5df8a8bf867"></a><!-- doxytag: member="PP_InputEvent_Key::key_code" ref="ad7b017ab264c307ce846d5df8a8bf867" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="struct_p_p___input_event___key.html#ad7b017ab264c307ce846d5df8a8bf867">PP_InputEvent_Key::key_code</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value reflects the DOM KeyboardEvent <code>keyCode</code> field. </p>
+<p>Chrome populates this with the Windows-style Virtual Key code of the key. </p>
+</div>
+</div>
+<a class="anchor" id="a13f50c267c45d439f009094515c75c10"></a><!-- doxytag: member="PP_InputEvent_Key::modifier" ref="a13f50c267c45d439f009094515c75c10" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="struct_p_p___input_event___key.html#a13f50c267c45d439f009094515c75c10">PP_InputEvent_Key::modifier</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value is a bit field combination of the EVENT_MODIFIER flags. </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="pp__input__event_8h.html">pp_input_event.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___input_event___mouse.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___input_event___mouse.html
new file mode 100644
index 0000000..e49beba
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___input_event___mouse.html
@@ -0,0 +1,93 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_InputEvent_Mouse Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_InputEvent_Mouse" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___mouse.html#ade5934096b842e08d4a2b5361efde0ba">modifier</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga25113f3c8d33e863fd38b3f70f8a5e6e">PP_InputEvent_MouseButton</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___mouse.html#a09969e4a48363691517970cd8b374e84">button</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___mouse.html#a12569a7a8bff2107c2a2d67376d26c07">x</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___mouse.html#a19be12e2e7b9007209594ce85912b398">y</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___mouse.html#ad608b42b29ff4f93f63e7dee287ad1d9">click_count</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="struct_p_p___input_event___mouse.html" title="The PP_InputEvent_Mouse struct represents all mouse events except mouse wheel events.">PP_InputEvent_Mouse</a></code> struct represents all mouse events except mouse wheel events. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a09969e4a48363691517970cd8b374e84"></a><!-- doxytag: member="PP_InputEvent_Mouse::button" ref="a09969e4a48363691517970cd8b374e84" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga25113f3c8d33e863fd38b3f70f8a5e6e">PP_InputEvent_MouseButton</a> <a class="el" href="struct_p_p___input_event___mouse.html#a09969e4a48363691517970cd8b374e84">PP_InputEvent_Mouse::button</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the button that changed for mouse down or up events. </p>
+<p>This value will be <code>PP_EVENT_MOUSEBUTTON_NONE</code> for mouse move, enter, and leave events. </p>
+</div>
+</div>
+<a class="anchor" id="ad608b42b29ff4f93f63e7dee287ad1d9"></a><!-- doxytag: member="PP_InputEvent_Mouse::click_count" ref="ad608b42b29ff4f93f63e7dee287ad1d9" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="struct_p_p___input_event___mouse.html#ad608b42b29ff4f93f63e7dee287ad1d9">PP_InputEvent_Mouse::click_count</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ade5934096b842e08d4a2b5361efde0ba"></a><!-- doxytag: member="PP_InputEvent_Mouse::modifier" ref="ade5934096b842e08d4a2b5361efde0ba" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="struct_p_p___input_event___mouse.html#ade5934096b842e08d4a2b5361efde0ba">PP_InputEvent_Mouse::modifier</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value is a bit field combination of the <code>PP_InputEvent_Modifier</code> flags. </p>
+</div>
+</div>
+<a class="anchor" id="a12569a7a8bff2107c2a2d67376d26c07"></a><!-- doxytag: member="PP_InputEvent_Mouse::x" ref="a12569a7a8bff2107c2a2d67376d26c07" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="struct_p_p___input_event___mouse.html#a12569a7a8bff2107c2a2d67376d26c07">PP_InputEvent_Mouse::x</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This values represents the x coordinate of the mouse when the event occurred. </p>
+<p>In most, but not all, cases these coordinates will just be integers. For example, the plugin element might be arbitrarily scaled or transformed in the DOM, and translating a mouse event into the coordinate space of the plugin will give non-integer values. </p>
+</div>
+</div>
+<a class="anchor" id="a19be12e2e7b9007209594ce85912b398"></a><!-- doxytag: member="PP_InputEvent_Mouse::y" ref="a19be12e2e7b9007209594ce85912b398" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="struct_p_p___input_event___mouse.html#a19be12e2e7b9007209594ce85912b398">PP_InputEvent_Mouse::y</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This values represents the y coordinate of the mouse when the event occurred. </p>
+<p>In most, but not all, cases these coordinates will just be integers. For example, the plugin element might be arbitrarily scaled or transformed in the DOM, and translating a mouse event into the coordinate space of the plugin will give non-integer values. </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="pp__input__event_8h.html">pp_input_event.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___input_event___wheel.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___input_event___wheel.html
new file mode 100644
index 0000000..9ec75976
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___input_event___wheel.html
@@ -0,0 +1,117 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_InputEvent_Wheel Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_InputEvent_Wheel" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___wheel.html#ad4af418584f964e9191e78be05bbb3f7">modifier</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___wheel.html#aed0a1a8148ecfb7efe2443c412b8904d">delta_x</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___wheel.html#a51339c7b39cce3073f98f8a7f048f69d">delta_y</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___wheel.html#a0ebc9809d9333e68b63ad7dc7c421775">wheel_ticks_x</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___wheel.html#af39e6e81fc7166e745e3fdb4b4d3ff4e">wheel_ticks_y</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___wheel.html#ad51a5319a1eb82706371d495e397e909">scroll_by_page</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="struct_p_p___input_event___wheel.html" title="The PP_InputEvent_Wheel struct represents all mouse wheel events.">PP_InputEvent_Wheel</a></code> struct represents all mouse wheel events. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="aed0a1a8148ecfb7efe2443c412b8904d"></a><!-- doxytag: member="PP_InputEvent_Wheel::delta_x" ref="aed0a1a8148ecfb7efe2443c412b8904d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="struct_p_p___input_event___wheel.html#aed0a1a8148ecfb7efe2443c412b8904d">PP_InputEvent_Wheel::delta_x</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The mouse wheel's horizontal scroll amount. </p>
+<p>A scroll to the right (where the content moves left) is represented as positive values, and a scroll to the left (where the content moves right) is represented as negative values.</p>
+<p>The units are either in pixels (when scroll_by_page is false) or pages (when scroll_by_page is true). For example, delta_y = -3 means scroll up 3 pixels when scroll_by_page is false, and scroll up 3 pages when scroll_by_page is true.</p>
+<p>This amount is system dependent and will take into account the user's preferred scroll sensitivity and potentially also nonlinear acceleration based on the speed of the scrolling.</p>
+<p>Devices will be of varying resolution. Some mice with large detents will only generate integer scroll amounts. But fractional values are also possible, for example, on some trackpads and newer mice that don't have "clicks". </p>
+</div>
+</div>
+<a class="anchor" id="a51339c7b39cce3073f98f8a7f048f69d"></a><!-- doxytag: member="PP_InputEvent_Wheel::delta_y" ref="a51339c7b39cce3073f98f8a7f048f69d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="struct_p_p___input_event___wheel.html#a51339c7b39cce3073f98f8a7f048f69d">PP_InputEvent_Wheel::delta_y</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The mouse wheel's vertical scroll amount. </p>
+<p>A scroll down (where the content moves up) is represented as positive values, and a scroll up (where the content moves down) is represented as negative values.</p>
+<p>The units are either in pixels (when scroll_by_page is false) or pages (when scroll_by_page is true). For example, delta_y = -3 means scroll up 3 pixels when scroll_by_page is false, and scroll up 3 pages when scroll_by_page is true.</p>
+<p>This amount is system dependent and will take into account the user's preferred scroll sensitivity and potentially also nonlinear acceleration based on the speed of the scrolling.</p>
+<p>Devices will be of varying resolution. Some mice with large detents will only generate integer scroll amounts. But fractional values are also possible, for example, on some trackpads and newer mice that don't have "clicks". </p>
+</div>
+</div>
+<a class="anchor" id="ad4af418584f964e9191e78be05bbb3f7"></a><!-- doxytag: member="PP_InputEvent_Wheel::modifier" ref="ad4af418584f964e9191e78be05bbb3f7" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="struct_p_p___input_event___wheel.html#ad4af418584f964e9191e78be05bbb3f7">PP_InputEvent_Wheel::modifier</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents a combination of the <code>EVENT_MODIFIER</code> flags. </p>
+</div>
+</div>
+<a class="anchor" id="ad51a5319a1eb82706371d495e397e909"></a><!-- doxytag: member="PP_InputEvent_Wheel::scroll_by_page" ref="ad51a5319a1eb82706371d495e397e909" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> <a class="el" href="struct_p_p___input_event___wheel.html#ad51a5319a1eb82706371d495e397e909">PP_InputEvent_Wheel::scroll_by_page</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Indicates if the scroll <code>delta_x</code>/<code>delta_y</code> indicates pages or lines to scroll by. </p>
+<p>When true, the user is requesting to scroll by pages. </p>
+</div>
+</div>
+<a class="anchor" id="a0ebc9809d9333e68b63ad7dc7c421775"></a><!-- doxytag: member="PP_InputEvent_Wheel::wheel_ticks_x" ref="a0ebc9809d9333e68b63ad7dc7c421775" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="struct_p_p___input_event___wheel.html#a0ebc9809d9333e68b63ad7dc7c421775">PP_InputEvent_Wheel::wheel_ticks_x</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The number of "clicks" of the scroll wheel that have produced the event. </p>
+<p>The value may have system-specific acceleration applied to it, depending on the device. The positive and negative meanings are the same as for <code>delta_x</code> and <code>delta_y</code>.</p>
+<p>If you are scrolling, you probably want to use the delta values above. These tick events can be useful if you aren't doing actual scrolling and don't want or pixel values. An example may be cycling between different items in a game.</p>
+<p>You may receive fractional values for the wheel ticks if the mouse wheel is high resolution or doesn't have "clicks". If your program wants discrete events (as in the "picking items" example) you should accumulate fractional click values from multiple messages until the total value reaches positive or negative one. This should represent a similar amount of scrolling as for a mouse that has a discrete mouse wheel. </p>
+</div>
+</div>
+<a class="anchor" id="af39e6e81fc7166e745e3fdb4b4d3ff4e"></a><!-- doxytag: member="PP_InputEvent_Wheel::wheel_ticks_y" ref="af39e6e81fc7166e745e3fdb4b4d3ff4e" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="struct_p_p___input_event___wheel.html#af39e6e81fc7166e745e3fdb4b4d3ff4e">PP_InputEvent_Wheel::wheel_ticks_y</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents. </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="pp__input__event_8h.html">pp_input_event.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___net_address___i_pv4.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___net_address___i_pv4.html
new file mode 100644
index 0000000..f0a5e0f
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___net_address___i_pv4.html
@@ -0,0 +1,49 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_NetAddress_IPv4 Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_NetAddress_IPv4" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___net_address___i_pv4.html#a2357e390da5fdf3d57239b5af50a184d">port</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___net_address___i_pv4.html#a075897f0f5212cce73a114ab4c96775d">addr</a> [4]</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>All members are expressed in network byte order. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a075897f0f5212cce73a114ab4c96775d"></a><!-- doxytag: member="PP_NetAddress_IPv4::addr" ref="a075897f0f5212cce73a114ab4c96775d" args="[4]" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint8_t <a class="el" href="struct_p_p___net_address___i_pv4.html#a075897f0f5212cce73a114ab4c96775d">PP_NetAddress_IPv4::addr</a>[4]</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>IPv4 address. </p>
+</div>
+</div>
+<a class="anchor" id="a2357e390da5fdf3d57239b5af50a184d"></a><!-- doxytag: member="PP_NetAddress_IPv4::port" ref="a2357e390da5fdf3d57239b5af50a184d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint16_t <a class="el" href="struct_p_p___net_address___i_pv4.html#a2357e390da5fdf3d57239b5af50a184d">PP_NetAddress_IPv4::port</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Port number. </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppb__net__address_8h.html">ppb_net_address.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___net_address___i_pv6.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___net_address___i_pv6.html
new file mode 100644
index 0000000..d3c7889
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___net_address___i_pv6.html
@@ -0,0 +1,49 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_NetAddress_IPv6 Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_NetAddress_IPv6" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___net_address___i_pv6.html#a33221e899ef2126330c7ff53218ea63d">port</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___net_address___i_pv6.html#a11e248d3d3063f4a2fc351efadf93783">addr</a> [16]</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>All members are expressed in network byte order. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a11e248d3d3063f4a2fc351efadf93783"></a><!-- doxytag: member="PP_NetAddress_IPv6::addr" ref="a11e248d3d3063f4a2fc351efadf93783" args="[16]" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint8_t <a class="el" href="struct_p_p___net_address___i_pv6.html#a11e248d3d3063f4a2fc351efadf93783">PP_NetAddress_IPv6::addr</a>[16]</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>IPv6 address. </p>
+</div>
+</div>
+<a class="anchor" id="a33221e899ef2126330c7ff53218ea63d"></a><!-- doxytag: member="PP_NetAddress_IPv6::port" ref="a33221e899ef2126330c7ff53218ea63d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint16_t <a class="el" href="struct_p_p___net_address___i_pv6.html#a33221e899ef2126330c7ff53218ea63d">PP_NetAddress_IPv6::port</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Port number. </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppb__net__address_8h.html">ppb_net_address.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___point.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___point.html
new file mode 100644
index 0000000..3717d5d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___point.html
@@ -0,0 +1,49 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_Point Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_Point" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___point.html#a563cc77d7d3154cbb60bc95f0607a5e4">x</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___point.html#a93087f8866bb309f9d69e1ae5d40e852">y</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <a class="el" href="struct_p_p___point.html" title="The PP_Point structure defines the integer x and y coordinates of a point.">PP_Point</a> structure defines the integer x and y coordinates of a point. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a563cc77d7d3154cbb60bc95f0607a5e4"></a><!-- doxytag: member="PP_Point::x" ref="a563cc77d7d3154cbb60bc95f0607a5e4" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="struct_p_p___point.html#a563cc77d7d3154cbb60bc95f0607a5e4">PP_Point::x</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the horizontal coordinate of a point, starting with 0 as the left-most coordinate. </p>
+</div>
+</div>
+<a class="anchor" id="a93087f8866bb309f9d69e1ae5d40e852"></a><!-- doxytag: member="PP_Point::y" ref="a93087f8866bb309f9d69e1ae5d40e852" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="struct_p_p___point.html#a93087f8866bb309f9d69e1ae5d40e852">PP_Point::y</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the vertical coordinate of a point, starting with 0 as the top-most coordinate. </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="pp__point_8h.html">pp_point.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___rect.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___rect.html
new file mode 100644
index 0000000..1ff0dc0
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___rect.html
@@ -0,0 +1,49 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_Rect Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_Rect" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___point.html">PP_Point</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___rect.html#a9c0921483c30057de10cf63c8832dfd3">point</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___size.html">PP_Size</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___rect.html#a25ce3087fc0893c518d907ba04b8e10b">size</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="struct_p_p___rect.html" title="The PP_Rect struct contains the size and location of a 2D rectangle.">PP_Rect</a></code> struct contains the size and location of a 2D rectangle. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a9c0921483c30057de10cf63c8832dfd3"></a><!-- doxytag: member="PP_Rect::point" ref="a9c0921483c30057de10cf63c8832dfd3" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___point.html">PP_Point</a> <a class="el" href="struct_p_p___rect.html#a9c0921483c30057de10cf63c8832dfd3">PP_Rect::point</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the x and y coordinates of the upper-left corner of the rectangle. </p>
+</div>
+</div>
+<a class="anchor" id="a25ce3087fc0893c518d907ba04b8e10b"></a><!-- doxytag: member="PP_Rect::size" ref="a25ce3087fc0893c518d907ba04b8e10b" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___size.html">PP_Size</a> <a class="el" href="struct_p_p___rect.html#a25ce3087fc0893c518d907ba04b8e10b">PP_Rect::size</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the width and height of the rectangle. </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="pp__rect_8h.html">pp_rect.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___size.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___size.html
new file mode 100644
index 0000000..025dde7a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___size.html
@@ -0,0 +1,49 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_Size Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_Size" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___size.html#ae90a3149307a54902cd3a146592353cd">width</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___size.html#ae6eec60ae0ac7e860744eaf0fbab8690">height</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="struct_p_p___size.html" title="The PP_Size struct contains the size of a 2D rectangle.">PP_Size</a></code> struct contains the size of a 2D rectangle. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="ae6eec60ae0ac7e860744eaf0fbab8690"></a><!-- doxytag: member="PP_Size::height" ref="ae6eec60ae0ac7e860744eaf0fbab8690" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="struct_p_p___size.html#ae6eec60ae0ac7e860744eaf0fbab8690">PP_Size::height</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the height of the rectangle. </p>
+</div>
+</div>
+<a class="anchor" id="ae90a3149307a54902cd3a146592353cd"></a><!-- doxytag: member="PP_Size::width" ref="ae90a3149307a54902cd3a146592353cd" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="struct_p_p___size.html#ae90a3149307a54902cd3a146592353cd">PP_Size::width</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the width of the rectangle. </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="pp__size_8h.html">pp_size.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___touch_point.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___touch_point.html
new file mode 100644
index 0000000..f86fc08
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___touch_point.html
@@ -0,0 +1,93 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_TouchPoint Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_TouchPoint" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___touch_point.html#a27542ca67fc89c4fe41050750b80fc3b">id</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___float_point.html">PP_FloatPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___touch_point.html#a5c2dfab481eaafbd40c9b837fc6f9106">position</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___float_point.html">PP_FloatPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___touch_point.html#abcf813398210aaeaa587858f90139292">radius</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___touch_point.html#a8861a485f64399c787093d7fbf609b89">rotation_angle</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___touch_point.html#a3af90cd7d4415434a1f18a23eb28b2d9">pressure</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="struct_p_p___touch_point.html" title="The PP_TouchPoint struct represents all information about a single touch point, such as position...">PP_TouchPoint</a></code> struct represents all information about a single touch point, such as position, id, rotation angle, and pressure. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a27542ca67fc89c4fe41050750b80fc3b"></a><!-- doxytag: member="PP_TouchPoint::id" ref="a27542ca67fc89c4fe41050750b80fc3b" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="struct_p_p___touch_point.html#a27542ca67fc89c4fe41050750b80fc3b">PP_TouchPoint::id</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the identifier for this TouchPoint. </p>
+<p>The id corresponds to the order in which the points were pressed. For example, the first point to be pressed has an id of 0, the second has an id of 1, and so on. An id can be reused when a touch point is released. For example, if two fingers are down, with id 0 and 1, and finger 0 releases, the next finger to be pressed can be assigned to id 0. </p>
+</div>
+</div>
+<a class="anchor" id="a5c2dfab481eaafbd40c9b837fc6f9106"></a><!-- doxytag: member="PP_TouchPoint::position" ref="a5c2dfab481eaafbd40c9b837fc6f9106" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___float_point.html">PP_FloatPoint</a> <a class="el" href="struct_p_p___touch_point.html#a5c2dfab481eaafbd40c9b837fc6f9106">PP_TouchPoint::position</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the x and y pixel position of this TouchPoint relative to the upper-left of the module instance receiving the event. </p>
+</div>
+</div>
+<a class="anchor" id="a3af90cd7d4415434a1f18a23eb28b2d9"></a><!-- doxytag: member="PP_TouchPoint::pressure" ref="a3af90cd7d4415434a1f18a23eb28b2d9" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="struct_p_p___touch_point.html#a3af90cd7d4415434a1f18a23eb28b2d9">PP_TouchPoint::pressure</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the pressure applied to this TouchPoint. </p>
+<p>This value is typically between 0 and 1, with 0 indicating no pressure and 1 indicating some maximum pressure. Scaling differs depending on the hardware and the value is not guaranteed to stay within that range. </p>
+</div>
+</div>
+<a class="anchor" id="abcf813398210aaeaa587858f90139292"></a><!-- doxytag: member="PP_TouchPoint::radius" ref="abcf813398210aaeaa587858f90139292" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___float_point.html">PP_FloatPoint</a> <a class="el" href="struct_p_p___touch_point.html#abcf813398210aaeaa587858f90139292">PP_TouchPoint::radius</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the elliptical radii, in screen pixels, in the x and y direction of this TouchPoint. </p>
+</div>
+</div>
+<a class="anchor" id="a8861a485f64399c787093d7fbf609b89"></a><!-- doxytag: member="PP_TouchPoint::rotation_angle" ref="a8861a485f64399c787093d7fbf609b89" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="struct_p_p___touch_point.html#a8861a485f64399c787093d7fbf609b89">PP_TouchPoint::rotation_angle</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the angle of rotation in degrees of the elliptical model of this TouchPoint clockwise from "up.". </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="pp__touch__point_8h.html">pp_touch_point.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___var.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___var.html
new file mode 100644
index 0000000..9c7bd45
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p___var.html
@@ -0,0 +1,66 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_Var Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_Var" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga9815041477d810724e44da862f9852ed">PP_VarType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___var.html#a80a9be8f342e8d849d4911e5585a8123">type</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___var.html#aa0b507acd514bb2644341721b838b870">padding</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">union <a class="el" href="union_p_p___var_value.html">PP_VarValue</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___var.html#ada122d12bf6da5cf78699a170d188542">value</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PP_VAR</code> struct is a variant data type and can contain any value of one of the types named in the <code>PP_VarType</code> enum. </p>
+<p>This structure is for passing data between native code which can be strongly typed and the browser (JavaScript) which isn't strongly typed.</p>
+<p>JavaScript has a "number" type for holding a number, and does not differentiate between floating point and integer numbers. The JavaScript operations will try to optimize operations by using integers when possible, but could end up with doubles. Therefore, you can't assume a numeric <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> will be the type you expect. Your code should be capable of handling either int32_t or double for numeric PP_Vars sent from JavaScript. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="aa0b507acd514bb2644341721b838b870"></a><!-- doxytag: member="PP_Var::padding" ref="aa0b507acd514bb2644341721b838b870" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="struct_p_p___var.html#aa0b507acd514bb2644341721b838b870">PP_Var::padding</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <code>padding</code> ensures <code>value</code> is aligned on an 8-byte boundary relative to the start of the struct. </p>
+<p>Some compilers align doubles on 8-byte boundaries for 32-bit x86, and some align on 4-byte boundaries. </p>
+</div>
+</div>
+<a class="anchor" id="a80a9be8f342e8d849d4911e5585a8123"></a><!-- doxytag: member="PP_Var::type" ref="a80a9be8f342e8d849d4911e5585a8123" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga9815041477d810724e44da862f9852ed">PP_VarType</a> <a class="el" href="struct_p_p___var.html#a80a9be8f342e8d849d4911e5585a8123">PP_Var::type</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ada122d12bf6da5cf78699a170d188542"></a><!-- doxytag: member="PP_Var::value" ref="ada122d12bf6da5cf78699a170d188542" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">union <a class="el" href="union_p_p___var_value.html">PP_VarValue</a> <a class="el" href="struct_p_p___var.html#ada122d12bf6da5cf78699a170d188542">PP_Var::value</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This <code>value</code> represents the contents of the <a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a>. </p>
+<p>Only one of the fields of <code>value</code> is valid at a time based upon <code>type</code>. </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="pp__var_8h.html">pp_var.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___audio__1__1.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___audio__1__1.html
new file mode 100644
index 0000000..6494a88
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___audio__1__1.html
@@ -0,0 +1,151 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_Audio Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_Audio" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio__1__1.html#a9714ecad5eeefae9d5d98c5ea29ac5ce">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> config, <a class="el" href="group___typedefs.html#ga2ec91970f3cb75769ce631b3b732803e">PPB_Audio_Callback</a> audio_callback, void *user_data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio__1__1.html#af516cae7c19f1439d630fd58049db85b">IsAudio</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio__1__1.html#a85615368f68e629eaeef6507e6b5f8b3">GetCurrentConfig</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> audio)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio__1__1.html#a764b5ba357af0f781839c4f696615a23">StartPlayback</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> audio)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio__1__1.html#a82049c2fbe4f151839fd13f8d10e8395">StopPlayback</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> audio)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_Audio</code> interface contains pointers to several functions for handling audio resources. </p>
+<p>Refer to the <a href="/native-client/{{pepperversion}}/devguide/coding/audio">Audio</a> chapter in the Developer's Guide for information on using this interface. Please see descriptions for each <code>PPB_Audio</code> and <code>PPB_AudioConfig</code> function for more details. A C example using <code>PPB_Audio</code> and <code>PPB_AudioConfig</code> follows.</p>
+<p><b>Example: </b></p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">void</span> audio_callback(<span class="keywordtype">void</span>* sample_buffer,
+ uint32_t buffer_size_in_bytes,
+ <span class="keywordtype">void</span>* user_data) {
+ ... quickly fill in the buffer with samples and <span class="keywordflow">return</span> to caller ...
+ }
+
+ ...Assume the application has cached the audio configuration <span class="keyword">interface </span>in
+ audio_config_interface and the audio interface in
+ audio_interface...
+
+ uint32_t count = audio_config_interface->RecommendSampleFrameCount(
+ <a class="code" href="group___enums.html#ggaee750c350655f2fb0fe04c04029e0ff8ac6d1056f50ebe082622d3250def41a54">PP_AUDIOSAMPLERATE_44100</a>, 4096);
+ <a class="code" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7" title="This typedef represents an opaque handle assigned by the browser to the resource.">PP_Resource</a> pp_audio_config = audio_config_interface->CreateStereo16Bit(
+ pp_instance, <a class="code" href="group___enums.html#ggaee750c350655f2fb0fe04c04029e0ff8ac6d1056f50ebe082622d3250def41a54">PP_AUDIOSAMPLERATE_44100</a>, count);
+ <a class="code" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7" title="This typedef represents an opaque handle assigned by the browser to the resource.">PP_Resource</a> pp_audio = audio_interface->Create(pp_instance, pp_audio_config,
+ audio_callback, NULL);
+ audio_interface->StartPlayback(pp_audio);
+
+ ...audio_callback() will now be periodically invoked on a separate thread...
+</pre></div> </div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a9714ecad5eeefae9d5d98c5ea29ac5ce"></a><!-- doxytag: member="PPB_Audio::Create" ref="a9714ecad5eeefae9d5d98c5ea29ac5ce" args=")(PP_Instance instance, PP_Resource config, PPB_Audio_Callback audio_callback, void *user_data)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___audio__1__1.html#a9714ecad5eeefae9d5d98c5ea29ac5ce">PPB_Audio::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> config, <a class="el" href="group___typedefs.html#ga2ec91970f3cb75769ce631b3b732803e">PPB_Audio_Callback</a> audio_callback, void *user_data)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___audio__1__1.html#a9714ecad5eeefae9d5d98c5ea29ac5ce" title="Create() creates an audio resource.">Create()</a> creates an audio resource. </p>
+<p>No sound will be heard until <a class="el" href="struct_p_p_b___audio__1__1.html#a764b5ba357af0f781839c4f696615a23" title="StartPlayback() starts the playback of the audio resource and begins periodically calling the callbac...">StartPlayback()</a> is called. The callback is called with the buffer address and given user data whenever the buffer needs to be filled. From within the callback, you should not call <code>PPB_Audio</code> functions. The callback will be called on a different thread than the one which created the interface. For performance-critical applications (i.e. low-latency audio), the callback should avoid blocking or calling functions that can obtain locks, such as malloc. The layout and the size of the buffer passed to the audio callback will be determined by the device configuration and is specified in the <code>AudioConfig</code> documentation.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">config</td><td>A <code>PP_Resource</code> corresponding to an audio config resource. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">audio_callback</td><td>A <code>PPB_Audio_Callback</code> callback function that the browser calls when it needs more samples to play. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">user_data</td><td>A pointer to user data used in the callback function.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> containing the audio resource if successful or 0 if the configuration cannot be honored or the callback is null. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a85615368f68e629eaeef6507e6b5f8b3"></a><!-- doxytag: member="PPB_Audio::GetCurrentConfig" ref="a85615368f68e629eaeef6507e6b5f8b3" args=")(PP_Resource audio)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___audio__1__1.html#a85615368f68e629eaeef6507e6b5f8b3">PPB_Audio::GetCurrentConfig</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> audio)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>GetCurrrentConfig() returns an audio config resource for the given audio resource. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">config</td><td>A <code>PP_Resource</code> corresponding to an audio resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> containing the audio config resource if successful. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="af516cae7c19f1439d630fd58049db85b"></a><!-- doxytag: member="PPB_Audio::IsAudio" ref="af516cae7c19f1439d630fd58049db85b" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___audio__1__1.html#af516cae7c19f1439d630fd58049db85b">PPB_Audio::IsAudio</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___audio__1__1.html#af516cae7c19f1439d630fd58049db85b" title="IsAudio() determines if the provided resource is an audio resource.">IsAudio()</a> determines if the provided resource is an audio resource. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a generic resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> containing containing <code>PP_TRUE</code> if the given resource is an Audio resource, otherwise <code>PP_FALSE</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a764b5ba357af0f781839c4f696615a23"></a><!-- doxytag: member="PPB_Audio::StartPlayback" ref="a764b5ba357af0f781839c4f696615a23" args=")(PP_Resource audio)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___audio__1__1.html#a764b5ba357af0f781839c4f696615a23">PPB_Audio::StartPlayback</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> audio)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___audio__1__1.html#a764b5ba357af0f781839c4f696615a23" title="StartPlayback() starts the playback of the audio resource and begins periodically calling the callbac...">StartPlayback()</a> starts the playback of the audio resource and begins periodically calling the callback. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">config</td><td>A <code>PP_Resource</code> corresponding to an audio resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> containing <code>PP_TRUE</code> if successful, otherwise <code>PP_FALSE</code>. Also returns <code>PP_TRUE</code> (and be a no-op) if called while playback is already in progress. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a82049c2fbe4f151839fd13f8d10e8395"></a><!-- doxytag: member="PPB_Audio::StopPlayback" ref="a82049c2fbe4f151839fd13f8d10e8395" args=")(PP_Resource audio)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___audio__1__1.html#a82049c2fbe4f151839fd13f8d10e8395">PPB_Audio::StopPlayback</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> audio)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___audio__1__1.html#a82049c2fbe4f151839fd13f8d10e8395" title="StopPlayback() stops the playback of the audio resource.">StopPlayback()</a> stops the playback of the audio resource. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">config</td><td>A <code>PP_Resource</code> corresponding to an audio resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> containing <code>PP_TRUE</code> if successful, otherwise <code>PP_FALSE</code>. Also returns <code>PP_TRUE</code> (and is a no-op) if called while playback is already stopped. If a callback is in progress, <a class="el" href="struct_p_p_b___audio__1__1.html#a82049c2fbe4f151839fd13f8d10e8395" title="StopPlayback() stops the playback of the audio resource.">StopPlayback()</a> will block until the callback completes. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppb__audio_8h.html">ppb_audio.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___audio_config__1__1.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___audio_config__1__1.html
new file mode 100644
index 0000000..ef47e7c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___audio_config__1__1.html
@@ -0,0 +1,160 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_AudioConfig Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_AudioConfig" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio_config__1__1.html#a541f636cd6818dbf09ff3680701753ae">CreateStereo16Bit</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#gaee750c350655f2fb0fe04c04029e0ff8">PP_AudioSampleRate</a> sample_rate, uint32_t sample_frame_count)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio_config__1__1.html#ad8e61c620a5b2081302e741c94aef921">RecommendSampleFrameCount</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#gaee750c350655f2fb0fe04c04029e0ff8">PP_AudioSampleRate</a> sample_rate, uint32_t requested_sample_frame_count)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio_config__1__1.html#a51282d6afa187ef1fc3a3a559735e209">IsAudioConfig</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#gaee750c350655f2fb0fe04c04029e0ff8">PP_AudioSampleRate</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio_config__1__1.html#a3e9e2d57f89f78d5373f09e9a6bcac72">GetSampleRate</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> config)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio_config__1__1.html#a743a6033adee1e3e8e4822d72e0ccc68">GetSampleFrameCount</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> config)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#gaee750c350655f2fb0fe04c04029e0ff8">PP_AudioSampleRate</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio_config__1__1.html#a7c6808dbbfba59c85facd85548a0199c">RecommendSampleRate</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_AudioConfig</code> interface contains pointers to several functions for establishing your audio configuration within the browser. </p>
+<p>This interface only supports 16-bit stereo output.</p>
+<p>Refer to the <a href="/native-client/{{pepperversion}}/devguide/coding/audio">Audio </a> chapter in the Developer's Guide for information on using this interface. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a541f636cd6818dbf09ff3680701753ae"></a><!-- doxytag: member="PPB_AudioConfig::CreateStereo16Bit" ref="a541f636cd6818dbf09ff3680701753ae" args=")(PP_Instance instance, PP_AudioSampleRate sample_rate, uint32_t sample_frame_count)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___audio_config__1__1.html#a541f636cd6818dbf09ff3680701753ae">PPB_AudioConfig::CreateStereo16Bit</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#gaee750c350655f2fb0fe04c04029e0ff8">PP_AudioSampleRate</a> sample_rate, uint32_t sample_frame_count)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>CreateStereo16bit() creates a 16 bit audio configuration resource. </p>
+<p>The <code>sample_rate</code> should be the result of calling <code>RecommendSampleRate</code> and <code>sample_frame_count</code> should be the result of calling <code>RecommendSampleFrameCount</code>. If the sample frame count or bit rate isn't supported, this function will fail and return a null resource.</p>
+<p>A single sample frame on a stereo device means one value for the left channel and one value for the right channel.</p>
+<p>Buffer layout for a stereo int16 configuration: <code>int16_t *buffer16;</code> <code>buffer16[0]</code> is the first left channel sample. <code>buffer16[1]</code> is the first right channel sample. <code>buffer16[2]</code> is the second left channel sample. <code>buffer16[3]</code> is the second right channel sample. ... <code>buffer16[2 * (sample_frame_count - 1)]</code> is the last left channel sample. <code>buffer16[2 * (sample_frame_count - 1) + 1]</code> is the last right channel sample. Data will always be in the native endian format of the platform.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">sample_rate</td><td>A <code>PP_AudioSampleRate</code> which is either <code>PP_AUDIOSAMPLERATE_44100</code> or <code>PP_AUDIOSAMPLERATE_48000</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">sample_frame_count</td><td>A <code>uint32_t</code> frame count returned from the <code>RecommendSampleFrameCount</code> function.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> containing the <code>PPB_Audio_Config</code> if successful or a null resource if the sample frame count or bit rate are not supported. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a743a6033adee1e3e8e4822d72e0ccc68"></a><!-- doxytag: member="PPB_AudioConfig::GetSampleFrameCount" ref="a743a6033adee1e3e8e4822d72e0ccc68" args=")(PP_Resource config)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t(* <a class="el" href="struct_p_p_b___audio_config__1__1.html#a743a6033adee1e3e8e4822d72e0ccc68">PPB_AudioConfig::GetSampleFrameCount</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> config)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___audio_config__1__1.html#a743a6033adee1e3e8e4822d72e0ccc68" title="GetSampleFrameCount() returns the sample frame count for the given PPB_Audio_Config.">GetSampleFrameCount()</a> returns the sample frame count for the given <code>PPB_Audio_Config</code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">config</td><td>A <code>PP_Resource</code> corresponding to an audio config resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>uint32_t</code> containing sample frame count or 0 if the resource is invalid. Refer to <a class="el" href="struct_p_p_b___audio_config__1__1.html#ad8e61c620a5b2081302e741c94aef921" title="RecommendSampleFrameCount() returns the supported sample frame count closest to the requested count...">RecommendSampleFrameCount()</a> for more on sample frame counts. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a3e9e2d57f89f78d5373f09e9a6bcac72"></a><!-- doxytag: member="PPB_AudioConfig::GetSampleRate" ref="a3e9e2d57f89f78d5373f09e9a6bcac72" args=")(PP_Resource config)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#gaee750c350655f2fb0fe04c04029e0ff8">PP_AudioSampleRate</a>(* <a class="el" href="struct_p_p_b___audio_config__1__1.html#a3e9e2d57f89f78d5373f09e9a6bcac72">PPB_AudioConfig::GetSampleRate</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> config)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___audio_config__1__1.html#a3e9e2d57f89f78d5373f09e9a6bcac72" title="GetSampleRate() returns the sample rate for the given PPB_Audio_Config.">GetSampleRate()</a> returns the sample rate for the given <code>PPB_Audio_Config</code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">config</td><td>A <code>PP_Resource</code> corresponding to a <code>PPB_Audio_Config</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_AudioSampleRate</code> containing sample rate or <code>PP_AUDIOSAMPLERATE_NONE</code> if the resource is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a51282d6afa187ef1fc3a3a559735e209"></a><!-- doxytag: member="PPB_AudioConfig::IsAudioConfig" ref="a51282d6afa187ef1fc3a3a559735e209" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___audio_config__1__1.html#a51282d6afa187ef1fc3a3a559735e209">PPB_AudioConfig::IsAudioConfig</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___audio_config__1__1.html#a51282d6afa187ef1fc3a3a559735e209" title="IsAudioConfig() determines if the given resource is a PPB_Audio_Config.">IsAudioConfig()</a> determines if the given resource is a <code>PPB_Audio_Config</code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to an audio config resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> containing <code>PP_TRUE</code> if the given resource is an <code>AudioConfig</code> resource, otherwise <code>PP_FALSE</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ad8e61c620a5b2081302e741c94aef921"></a><!-- doxytag: member="PPB_AudioConfig::RecommendSampleFrameCount" ref="ad8e61c620a5b2081302e741c94aef921" args=")(PP_Instance instance, PP_AudioSampleRate sample_rate, uint32_t requested_sample_frame_count)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t(* <a class="el" href="struct_p_p_b___audio_config__1__1.html#ad8e61c620a5b2081302e741c94aef921">PPB_AudioConfig::RecommendSampleFrameCount</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#gaee750c350655f2fb0fe04c04029e0ff8">PP_AudioSampleRate</a> sample_rate, uint32_t requested_sample_frame_count)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___audio_config__1__1.html#ad8e61c620a5b2081302e741c94aef921" title="RecommendSampleFrameCount() returns the supported sample frame count closest to the requested count...">RecommendSampleFrameCount()</a> returns the supported sample frame count closest to the requested count. </p>
+<p>The sample frame count determines the overall latency of audio. Since one "frame" is always buffered in advance, smaller frame counts will yield lower latency, but higher CPU utilization.</p>
+<p>Supported sample frame counts will vary by hardware and system (consider that the local system might be anywhere from a cell phone or a high-end audio workstation). Sample counts less than <code>PP_AUDIOMINSAMPLEFRAMECOUNT</code> and greater than <code>PP_AUDIOMAXSAMPLEFRAMECOUNT</code> are never supported on any system, but values in between aren't necessarily valid. This function will return a supported count closest to the requested frame count.</p>
+<p><a class="el" href="struct_p_p_b___audio_config__1__1.html#ad8e61c620a5b2081302e741c94aef921" title="RecommendSampleFrameCount() returns the supported sample frame count closest to the requested count...">RecommendSampleFrameCount()</a> result is intended for audio output devices.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td></td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">sample_rate</td><td>A <code>PP_AudioSampleRate</code> which is either <code>PP_AUDIOSAMPLERATE_44100</code> or <code>PP_AUDIOSAMPLERATE_48000.</code> </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">requested_sample_frame_count</td><td>A <code>uint_32t</code> requested frame count.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>uint32_t</code> containing the recommended sample frame count if successful. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a7c6808dbbfba59c85facd85548a0199c"></a><!-- doxytag: member="PPB_AudioConfig::RecommendSampleRate" ref="a7c6808dbbfba59c85facd85548a0199c" args=")(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#gaee750c350655f2fb0fe04c04029e0ff8">PP_AudioSampleRate</a>(* <a class="el" href="struct_p_p_b___audio_config__1__1.html#a7c6808dbbfba59c85facd85548a0199c">PPB_AudioConfig::RecommendSampleRate</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___audio_config__1__1.html#a7c6808dbbfba59c85facd85548a0199c" title="RecommendSampleRate() returns the native sample rate that the browser is using in the backend...">RecommendSampleRate()</a> returns the native sample rate that the browser is using in the backend. </p>
+<p>Applications that use the recommended sample rate will have potentially better latency and fidelity. The return value is intended for audio output devices. If the output sample rate cannot be determined, this function can return PP_AUDIOSAMPLERATE_NONE.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td></td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>uint32_t</code> containing the recommended sample frame count if successful. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppb__audio__config_8h.html">ppb_audio_config.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___audio_frame__0__1.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___audio_frame__0__1.html
new file mode 100644
index 0000000..b2295e8
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___audio_frame__0__1.html
@@ -0,0 +1,187 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_AudioFrame Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_AudioFrame" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio_frame__0__1.html#a47061a145f5fa7511cad2b65e6c7f0a6">IsAudioFrame</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#ga3962a5355895925a757f613567e422fa">PP_TimeDelta</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio_frame__0__1.html#a64d5acceb403c808b63b17090c7321b8">GetTimestamp</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> frame)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio_frame__0__1.html#a58b693627085d79c202146b2937b9811">SetTimestamp</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> frame, <a class="el" href="group___typedefs.html#ga3962a5355895925a757f613567e422fa">PP_TimeDelta</a> timestamp)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio_frame__0__1.html#a633a8c3215b6afb7b7f08baf164762a2">GetSampleSize</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> frame)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio_frame__0__1.html#abc3b6c3ec27bb3653f9d2ec6e91a13c7">GetNumberOfChannels</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> frame)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio_frame__0__1.html#ad0f46ad3beaa6146f9785d39ade2e4b3">GetNumberOfSamples</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> frame)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio_frame__0__1.html#aa07fd4a8cefea92d3c922221aefe414f">GetDataBuffer</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> frame)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio_frame__0__1.html#a8ded1473451dc73b9c2d6bd33eb8863c">GetDataBufferSize</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> frame)</td></tr>
+</table>
+<hr /><h2>Field Documentation</h2>
+<a class="anchor" id="aa07fd4a8cefea92d3c922221aefe414f"></a><!-- doxytag: member="PPB_AudioFrame::GetDataBuffer" ref="aa07fd4a8cefea92d3c922221aefe414f" args=")(PP_Resource frame)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void*(* <a class="el" href="struct_p_p_b___audio_frame__0__1.html#aa07fd4a8cefea92d3c922221aefe414f">PPB_AudioFrame::GetDataBuffer</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> frame)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the data buffer containing the audio frame samples. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">frame</td><td>A <code>PP_Resource</code> corresponding to an audio frame resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A pointer to the beginning of the data buffer. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a8ded1473451dc73b9c2d6bd33eb8863c"></a><!-- doxytag: member="PPB_AudioFrame::GetDataBufferSize" ref="a8ded1473451dc73b9c2d6bd33eb8863c" args=")(PP_Resource frame)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t(* <a class="el" href="struct_p_p_b___audio_frame__0__1.html#a8ded1473451dc73b9c2d6bd33eb8863c">PPB_AudioFrame::GetDataBufferSize</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> frame)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the size of the data buffer in bytes. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">frame</td><td>A <code>PP_Resource</code> corresponding to an audio frame resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The size of the data buffer in bytes. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="abc3b6c3ec27bb3653f9d2ec6e91a13c7"></a><!-- doxytag: member="PPB_AudioFrame::GetNumberOfChannels" ref="abc3b6c3ec27bb3653f9d2ec6e91a13c7" args=")(PP_Resource frame)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t(* <a class="el" href="struct_p_p_b___audio_frame__0__1.html#abc3b6c3ec27bb3653f9d2ec6e91a13c7">PPB_AudioFrame::GetNumberOfChannels</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> frame)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the number of channels in the audio frame. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">frame</td><td>A <code>PP_Resource</code> corresponding to an audio frame resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The number of channels in the audio frame. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ad0f46ad3beaa6146f9785d39ade2e4b3"></a><!-- doxytag: member="PPB_AudioFrame::GetNumberOfSamples" ref="ad0f46ad3beaa6146f9785d39ade2e4b3" args=")(PP_Resource frame)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t(* <a class="el" href="struct_p_p_b___audio_frame__0__1.html#ad0f46ad3beaa6146f9785d39ade2e4b3">PPB_AudioFrame::GetNumberOfSamples</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> frame)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the number of samples in the audio frame. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">frame</td><td>A <code>PP_Resource</code> corresponding to an audio frame resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The number of samples in the audio frame. For example, at a sampling rate of 44,100 Hz in stereo audio, a frame containing 4410 * 2 samples would have a duration of 100 milliseconds. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a633a8c3215b6afb7b7f08baf164762a2"></a><!-- doxytag: member="PPB_AudioFrame::GetSampleSize" ref="a633a8c3215b6afb7b7f08baf164762a2" args=")(PP_Resource frame)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t(* <a class="el" href="struct_p_p_b___audio_frame__0__1.html#a633a8c3215b6afb7b7f08baf164762a2">PPB_AudioFrame::GetSampleSize</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> frame)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the sample size of the audio frame. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">frame</td><td>A <code>PP_Resource</code> corresponding to an audio frame resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The sample size of the audio frame. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a64d5acceb403c808b63b17090c7321b8"></a><!-- doxytag: member="PPB_AudioFrame::GetTimestamp" ref="a64d5acceb403c808b63b17090c7321b8" args=")(PP_Resource frame)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#ga3962a5355895925a757f613567e422fa">PP_TimeDelta</a>(* <a class="el" href="struct_p_p_b___audio_frame__0__1.html#a64d5acceb403c808b63b17090c7321b8">PPB_AudioFrame::GetTimestamp</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> frame)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the timestamp of the audio frame. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">frame</td><td>A <code>PP_Resource</code> corresponding to an audio frame resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_TimeDelta</code> containing the timestamp of the audio frame. Given in seconds since the start of the containing audio stream. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a47061a145f5fa7511cad2b65e6c7f0a6"></a><!-- doxytag: member="PPB_AudioFrame::IsAudioFrame" ref="a47061a145f5fa7511cad2b65e6c7f0a6" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___audio_frame__0__1.html#a47061a145f5fa7511cad2b65e6c7f0a6">PPB_AudioFrame::IsAudioFrame</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Determines if a resource is an AudioFrame resource. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>The <code>PP_Resource</code> to test.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> with <code>PP_TRUE</code> if the given resource is an AudioFrame resource or <code>PP_FALSE</code> otherwise. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a58b693627085d79c202146b2937b9811"></a><!-- doxytag: member="PPB_AudioFrame::SetTimestamp" ref="a58b693627085d79c202146b2937b9811" args=")(PP_Resource frame, PP_TimeDelta timestamp)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___audio_frame__0__1.html#a58b693627085d79c202146b2937b9811">PPB_AudioFrame::SetTimestamp</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> frame, <a class="el" href="group___typedefs.html#ga3962a5355895925a757f613567e422fa">PP_TimeDelta</a> timestamp)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sets the timestamp of the audio frame. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">frame</td><td>A <code>PP_Resource</code> corresponding to an audio frame resource. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">timestamp</td><td>A <code>PP_TimeDelta</code> containing the timestamp of the audio frame. Given in seconds since the start of the containing audio stream. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppb__audio__frame_8h.html">ppb_audio_frame.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___console__1__0.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___console__1__0.html
new file mode 100644
index 0000000..00732a01
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___console__1__0.html
@@ -0,0 +1,50 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_Console Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_Console" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___console__1__0.html#ae54272123735f49c8d7eb09cb2e1e368">Log</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#gac39067c0883ec80b94290dd2a3bae440">PP_LogLevel</a> level, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> value)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___console__1__0.html#a87a75566f5b86ebb6e2b7bf529d6ade1">LogWithSource</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#gac39067c0883ec80b94290dd2a3bae440">PP_LogLevel</a> level, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> source, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> value)</td></tr>
+</table>
+<hr /><h2>Field Documentation</h2>
+<a class="anchor" id="ae54272123735f49c8d7eb09cb2e1e368"></a><!-- doxytag: member="PPB_Console::Log" ref="ae54272123735f49c8d7eb09cb2e1e368" args=")(PP_Instance instance, PP_LogLevel level, struct PP_Var value)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___console__1__0.html#ae54272123735f49c8d7eb09cb2e1e368">PPB_Console::Log</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#gac39067c0883ec80b94290dd2a3bae440">PP_LogLevel</a> level, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> value)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Logs the given message to the JavaScript console associated with the given plugin instance with the given logging level. </p>
+<p>The name of the plugin issuing the log message will be automatically prepended to the message. The value may be any type of Var. </p>
+</div>
+</div>
+<a class="anchor" id="a87a75566f5b86ebb6e2b7bf529d6ade1"></a><!-- doxytag: member="PPB_Console::LogWithSource" ref="a87a75566f5b86ebb6e2b7bf529d6ade1" args=")(PP_Instance instance, PP_LogLevel level, struct PP_Var source, struct PP_Var value)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___console__1__0.html#a87a75566f5b86ebb6e2b7bf529d6ade1">PPB_Console::LogWithSource</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#gac39067c0883ec80b94290dd2a3bae440">PP_LogLevel</a> level, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> source, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> value)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Logs a message to the console with the given source information rather than using the internal PPAPI plugin name. </p>
+<p>The name must be a string var.</p>
+<p>The regular log function will automatically prepend the name of your plugin to the message as the "source" of the message. Some plugins may wish to override this. For example, if your plugin is a Python interpreter, you would want log messages to contain the source .py file doing the log statement rather than have "python" show up in the console. </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppb__console_8h.html">ppb_console.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___core__1__0.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___core__1__0.html
new file mode 100644
index 0000000..c2cb6f6
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___core__1__0.html
@@ -0,0 +1,134 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_Core Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_Core" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___core__1__0.html#a63ea7047ef5278cc3735dbfd60bd5b81">AddRefResource</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___core__1__0.html#af3163aefc33071af39cd085a0a2d44fe">ReleaseResource</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___core__1__0.html#abae0871b4efc729f4658c37543242857">GetTime</a> )(void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#ga71cb1042cdeb38d7881b121f3b09ce94">PP_TimeTicks</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___core__1__0.html#ad6b66e732c6a592605b7b83c7bddd97d">GetTimeTicks</a> )(void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___core__1__0.html#ad23da4428f462f9f387bab423e93d1f4">CallOnMainThread</a> )(int32_t delay_in_milliseconds, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback, int32_t result)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___core__1__0.html#a2f784682b530b66ed3de692154298e17">IsMainThread</a> )(void)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_Core</code> interface contains pointers to functions related to memory management, time, and threads on the browser. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a63ea7047ef5278cc3735dbfd60bd5b81"></a><!-- doxytag: member="PPB_Core::AddRefResource" ref="a63ea7047ef5278cc3735dbfd60bd5b81" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___core__1__0.html#a63ea7047ef5278cc3735dbfd60bd5b81">PPB_Core::AddRefResource</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___core__1__0.html#a63ea7047ef5278cc3735dbfd60bd5b81" title="AddRefResource() adds a reference to a resource.">AddRefResource()</a> adds a reference to a resource. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">config</td><td>A <code>PP_Resource</code> corresponding to a resource. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ad23da4428f462f9f387bab423e93d1f4"></a><!-- doxytag: member="PPB_Core::CallOnMainThread" ref="ad23da4428f462f9f387bab423e93d1f4" args=")(int32_t delay_in_milliseconds, struct PP_CompletionCallback callback, int32_t result)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___core__1__0.html#ad23da4428f462f9f387bab423e93d1f4">PPB_Core::CallOnMainThread</a>)(int32_t delay_in_milliseconds, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback, int32_t result)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___core__1__0.html#ad23da4428f462f9f387bab423e93d1f4" title="CallOnMainThread() schedules work to be executed on the main module thread after the specified delay...">CallOnMainThread()</a> schedules work to be executed on the main module thread after the specified delay. </p>
+<p>The delay may be 0 to specify a call back as soon as possible.</p>
+<p>The <code>result</code> parameter will just be passed as the second argument to the callback. Many applications won't need this, but it allows a module to emulate calls of some callbacks which do use this value.</p>
+<p><b>Note:</b> CallOnMainThread, even when used from the main thread with a delay of 0 milliseconds, will never directly invoke the callback. Even in this case, the callback will be scheduled asynchronously.</p>
+<p><b>Note:</b> If the browser is shutting down or if the module has no instances, then the callback function may not be called.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">delay_in_milliseconds</td><td>An int32_t delay in milliseconds. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> callback function that the browser will call after the specified delay. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">result</td><td>An int32_t that the browser will pass to the given <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="abae0871b4efc729f4658c37543242857"></a><!-- doxytag: member="PPB_Core::GetTime" ref="abae0871b4efc729f4658c37543242857" args=")(void)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a>(* <a class="el" href="struct_p_p_b___core__1__0.html#abae0871b4efc729f4658c37543242857">PPB_Core::GetTime</a>)(void)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___core__1__0.html#abae0871b4efc729f4658c37543242857" title='GetTime() returns the "wall clock time" according to the browser.'>GetTime()</a> returns the "wall clock time" according to the browser. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Time</code> containing the "wall clock time" according to the browser. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ad6b66e732c6a592605b7b83c7bddd97d"></a><!-- doxytag: member="PPB_Core::GetTimeTicks" ref="ad6b66e732c6a592605b7b83c7bddd97d" args=")(void)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#ga71cb1042cdeb38d7881b121f3b09ce94">PP_TimeTicks</a>(* <a class="el" href="struct_p_p_b___core__1__0.html#ad6b66e732c6a592605b7b83c7bddd97d">PPB_Core::GetTimeTicks</a>)(void)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___core__1__0.html#ad6b66e732c6a592605b7b83c7bddd97d" title='GetTimeTicks() returns the "tick time" according to the browser.'>GetTimeTicks()</a> returns the "tick time" according to the browser. </p>
+<p>This clock is used by the browser when passing some event times to the module (e.g. using the <code>PP_InputEvent::time_stamp_seconds</code> field). It is not correlated to any actual wall clock time (like <a class="el" href="struct_p_p_b___core__1__0.html#abae0871b4efc729f4658c37543242857" title='GetTime() returns the "wall clock time" according to the browser.'>GetTime()</a>). Because of this, it will not run change if the user changes their computer clock.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_TimeTicks</code> containing the "tick time" according to the browser. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2f784682b530b66ed3de692154298e17"></a><!-- doxytag: member="PPB_Core::IsMainThread" ref="a2f784682b530b66ed3de692154298e17" args=")(void)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___core__1__0.html#a2f784682b530b66ed3de692154298e17">PPB_Core::IsMainThread</a>)(void)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___core__1__0.html#a2f784682b530b66ed3de692154298e17" title="IsMainThread() returns true if the current thread is the main pepper thread.">IsMainThread()</a> returns true if the current thread is the main pepper thread. </p>
+<p>This function is useful for implementing sanity checks, and deciding if dispatching using <a class="el" href="struct_p_p_b___core__1__0.html#ad23da4428f462f9f387bab423e93d1f4" title="CallOnMainThread() schedules work to be executed on the main module thread after the specified delay...">CallOnMainThread()</a> is required.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> containing <code>PP_TRUE</code> if the current thread is the main pepper thread, otherwise <code>PP_FALSE</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="af3163aefc33071af39cd085a0a2d44fe"></a><!-- doxytag: member="PPB_Core::ReleaseResource" ref="af3163aefc33071af39cd085a0a2d44fe" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___core__1__0.html#af3163aefc33071af39cd085a0a2d44fe">PPB_Core::ReleaseResource</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___core__1__0.html#af3163aefc33071af39cd085a0a2d44fe" title="ReleaseResource() removes a reference from a resource.">ReleaseResource()</a> removes a reference from a resource. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">config</td><td>A <code>PP_Resource</code> corresponding to a resource. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppb__core_8h.html">ppb_core.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___file_i_o__1__1.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___file_i_o__1__1.html
new file mode 100644
index 0000000..54c5006
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___file_i_o__1__1.html
@@ -0,0 +1,284 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_FileIO Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_FileIO" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_i_o__1__1.html#aedb8773ba67e4c2a1ed3f3a249bb5e30">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_i_o__1__1.html#a09429d1ccad3a300cdc459f2ae4816e7">IsFileIO</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_i_o__1__1.html#a860b24adbb67188de3fd66db44ff961e">Open</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_io, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref, int32_t open_flags, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_i_o__1__1.html#acf7c4d3f2712e5aa436b2ac1588ada02">Query</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_io, struct <a class="el" href="struct_p_p___file_info.html">PP_FileInfo</a> *info, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_i_o__1__1.html#a9f680131d9df0129d79492eb1b41edfc">Touch</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_io, <a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a> last_access_time, <a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a> last_modified_time, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_i_o__1__1.html#ad9295a1eb59a2b31df2e522ec7794f0d">Read</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_io, int64_t offset, char *buffer, int32_t bytes_to_read, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_i_o__1__1.html#a4cbaeff3318200d3913127553ad90aad">Write</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_io, int64_t offset, const char *buffer, int32_t bytes_to_write, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_i_o__1__1.html#aea6686b51ee5a9ef40c2442a7faa652f">SetLength</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_io, int64_t length, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_i_o__1__1.html#acf97d8e09d27253b6eb0b9ca9e7b20b1">Flush</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_io, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_i_o__1__1.html#af321f0590ecd269b728106235e260e26">Close</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_io)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_i_o__1__1.html#a85f0de223c9011c79df5b063ecd4a89f">ReadToArray</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_io, int64_t offset, int32_t max_read_length, struct <a class="el" href="struct_p_p___array_output.html">PP_ArrayOutput</a> *output, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_FileIO</code> struct is used to operate on a regular file (PP_FileType_Regular). </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="af321f0590ecd269b728106235e260e26"></a><!-- doxytag: member="PPB_FileIO::Close" ref="af321f0590ecd269b728106235e260e26" args=")(PP_Resource file_io)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___file_i_o__1__1.html#af321f0590ecd269b728106235e260e26">PPB_FileIO::Close</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_io)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_i_o__1__1.html#af321f0590ecd269b728106235e260e26" title="Close() cancels any IO that may be pending, and closes the FileIO object.">Close()</a> cancels any IO that may be pending, and closes the FileIO object. </p>
+<p>Any pending callbacks will still run, reporting <code>PP_ERROR_ABORTED</code> if pending IO was interrupted. It is not valid to call <a class="el" href="struct_p_p_b___file_i_o__1__1.html#a860b24adbb67188de3fd66db44ff961e" title="Open() opens the specified regular file for I/O according to the given open flags, which is a bit-mask of the PP_FileOpenFlags values.">Open()</a> again after a call to this method. <b>Note:</b> If the FileIO object is destroyed, and it is still open, then it will be implicitly closed, so you are not required to call <a class="el" href="struct_p_p_b___file_i_o__1__1.html#af321f0590ecd269b728106235e260e26" title="Close() cancels any IO that may be pending, and closes the FileIO object.">Close()</a>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_io</td><td>A <code>PP_Resource</code> corresponding to a file FileIO. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="aedb8773ba67e4c2a1ed3f3a249bb5e30"></a><!-- doxytag: member="PPB_FileIO::Create" ref="aedb8773ba67e4c2a1ed3f3a249bb5e30" args=")(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___file_i_o__1__1.html#aedb8773ba67e4c2a1ed3f3a249bb5e30">PPB_FileIO::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_i_o__1__1.html#aedb8773ba67e4c2a1ed3f3a249bb5e30" title="Create() creates a new FileIO object.">Create()</a> creates a new FileIO object. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying the instance with the file.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> corresponding to a FileIO if successful or 0 if the module is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="acf97d8e09d27253b6eb0b9ca9e7b20b1"></a><!-- doxytag: member="PPB_FileIO::Flush" ref="acf97d8e09d27253b6eb0b9ca9e7b20b1" args=")(PP_Resource file_io, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___file_i_o__1__1.html#acf97d8e09d27253b6eb0b9ca9e7b20b1">PPB_FileIO::Flush</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_io, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_i_o__1__1.html#acf97d8e09d27253b6eb0b9ca9e7b20b1" title="Flush() flushes changes to disk.">Flush()</a> flushes changes to disk. </p>
+<p>This call can be very expensive! The FileIO object must have been opened with write access and there must be no other operations pending.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_io</td><td>A <code>PP_Resource</code> corresponding to a file FileIO. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion of <a class="el" href="struct_p_p_b___file_i_o__1__1.html#acf97d8e09d27253b6eb0b9ca9e7b20b1" title="Flush() flushes changes to disk.">Flush()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. PP_ERROR_FAILED will be returned if the file isn't opened, and PP_ERROR_INPROGRESS will be returned if there is another operation pending. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a09429d1ccad3a300cdc459f2ae4816e7"></a><!-- doxytag: member="PPB_FileIO::IsFileIO" ref="a09429d1ccad3a300cdc459f2ae4816e7" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___file_i_o__1__1.html#a09429d1ccad3a300cdc459f2ae4816e7">PPB_FileIO::IsFileIO</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_i_o__1__1.html#a09429d1ccad3a300cdc459f2ae4816e7" title="IsFileIO() determines if the provided resource is a FileIO.">IsFileIO()</a> determines if the provided resource is a FileIO. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a FileIO.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the resource is a <code>PPB_FileIO</code>, <code>PP_FALSE</code> if the resource is invalid or some type other than <code>PPB_FileIO</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a860b24adbb67188de3fd66db44ff961e"></a><!-- doxytag: member="PPB_FileIO::Open" ref="a860b24adbb67188de3fd66db44ff961e" args=")(PP_Resource file_io, PP_Resource file_ref, int32_t open_flags, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___file_i_o__1__1.html#a860b24adbb67188de3fd66db44ff961e">PPB_FileIO::Open</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_io, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref, int32_t open_flags, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_i_o__1__1.html#a860b24adbb67188de3fd66db44ff961e" title="Open() opens the specified regular file for I/O according to the given open flags, which is a bit-mask of the PP_FileOpenFlags values.">Open()</a> opens the specified regular file for I/O according to the given open flags, which is a bit-mask of the <code>PP_FileOpenFlags</code> values. </p>
+<p>Upon success, the corresponding file is classified as "in use" by this FileIO object until such time as the FileIO object is closed or destroyed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_io</td><td>A <code>PP_Resource</code> corresponding to a FileIO. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">file_ref</td><td>A <code>PP_Resource</code> corresponding to a file reference. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">open_flags</td><td>A bit-mask of the <code>PP_FileOpenFlags</code> values. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion of <a class="el" href="struct_p_p_b___file_i_o__1__1.html#a860b24adbb67188de3fd66db44ff961e" title="Open() opens the specified regular file for I/O according to the given open flags, which is a bit-mask of the PP_FileOpenFlags values.">Open()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="acf7c4d3f2712e5aa436b2ac1588ada02"></a><!-- doxytag: member="PPB_FileIO::Query" ref="acf7c4d3f2712e5aa436b2ac1588ada02" args=")(PP_Resource file_io, struct PP_FileInfo *info, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___file_i_o__1__1.html#acf7c4d3f2712e5aa436b2ac1588ada02">PPB_FileIO::Query</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_io, struct <a class="el" href="struct_p_p___file_info.html">PP_FileInfo</a> *info, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_i_o__1__1.html#acf7c4d3f2712e5aa436b2ac1588ada02" title="Query() queries info about the file opened by this FileIO object.">Query()</a> queries info about the file opened by this FileIO object. </p>
+<p>The FileIO object must be opened, and there must be no other operations pending.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_io</td><td>A <code>PP_Resource</code> corresponding to a FileIO. </td></tr>
+<tr><td class="paramdir">[out]</td><td class="paramname">info</td><td>The <code><a class="el" href="struct_p_p___file_info.html" title="The PP_FileInfo struct represents all information about a file, such as size, type, and creation time.">PP_FileInfo</a></code> structure representing all information about the file. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion of <a class="el" href="struct_p_p_b___file_i_o__1__1.html#acf7c4d3f2712e5aa436b2ac1588ada02" title="Query() queries info about the file opened by this FileIO object.">Query()</a>. <code>info</code> must remain valid until after the callback runs. If you pass a blocking callback, <code>info</code> must remain valid until after <a class="el" href="struct_p_p_b___file_i_o__1__1.html#acf7c4d3f2712e5aa436b2ac1588ada02" title="Query() queries info about the file opened by this FileIO object.">Query()</a> returns.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. PP_ERROR_FAILED will be returned if the file isn't opened, and PP_ERROR_INPROGRESS will be returned if there is another operation pending. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ad9295a1eb59a2b31df2e522ec7794f0d"></a><!-- doxytag: member="PPB_FileIO::Read" ref="ad9295a1eb59a2b31df2e522ec7794f0d" args=")(PP_Resource file_io, int64_t offset, char *buffer, int32_t bytes_to_read, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___file_i_o__1__1.html#ad9295a1eb59a2b31df2e522ec7794f0d">PPB_FileIO::Read</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_io, int64_t offset, char *buffer, int32_t bytes_to_read, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_i_o__1__1.html#ad9295a1eb59a2b31df2e522ec7794f0d" title="Read() reads from an offset in the file.">Read()</a> reads from an offset in the file. </p>
+<p>The size of the buffer must be large enough to hold the specified number of bytes to read. This function might perform a partial read, meaning all the requested bytes might not be returned, even if the end of the file has not been reached. The FileIO object must have been opened with read access.</p>
+<p><a class="el" href="struct_p_p_b___file_i_o__1__1.html#a85f0de223c9011c79df5b063ecd4a89f" title="ReadToArray() reads from an offset in the file.">ReadToArray()</a> is preferred to <a class="el" href="struct_p_p_b___file_i_o__1__1.html#ad9295a1eb59a2b31df2e522ec7794f0d" title="Read() reads from an offset in the file.">Read()</a> when doing asynchronous operations.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_io</td><td>A <code>PP_Resource</code> corresponding to a file FileIO. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">offset</td><td>The offset into the file. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">buffer</td><td>The buffer to hold the specified number of bytes read. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">bytes_to_read</td><td>The number of bytes to read from <code>offset</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion of <a class="el" href="struct_p_p_b___file_i_o__1__1.html#ad9295a1eb59a2b31df2e522ec7794f0d" title="Read() reads from an offset in the file.">Read()</a>. <code>buffer</code> must remain valid until after the callback runs. If you pass a blocking callback, <code>buffer</code> must remain valid until after <a class="el" href="struct_p_p_b___file_i_o__1__1.html#ad9295a1eb59a2b31df2e522ec7794f0d" title="Read() reads from an offset in the file.">Read()</a> returns.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The number of bytes read or an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. If the return value is 0, then end-of-file was reached. It is valid to call <a class="el" href="struct_p_p_b___file_i_o__1__1.html#ad9295a1eb59a2b31df2e522ec7794f0d" title="Read() reads from an offset in the file.">Read()</a> multiple times with a completion callback to queue up parallel reads from the file, but pending reads cannot be interleaved with other operations. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a85f0de223c9011c79df5b063ecd4a89f"></a><!-- doxytag: member="PPB_FileIO::ReadToArray" ref="a85f0de223c9011c79df5b063ecd4a89f" args=")(PP_Resource file_io, int64_t offset, int32_t max_read_length, struct PP_ArrayOutput *output, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___file_i_o__1__1.html#a85f0de223c9011c79df5b063ecd4a89f">PPB_FileIO::ReadToArray</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_io, int64_t offset, int32_t max_read_length, struct <a class="el" href="struct_p_p___array_output.html">PP_ArrayOutput</a> *output, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_i_o__1__1.html#a85f0de223c9011c79df5b063ecd4a89f" title="ReadToArray() reads from an offset in the file.">ReadToArray()</a> reads from an offset in the file. </p>
+<p>A <a class="el" href="struct_p_p___array_output.html" title="A structure that defines a way for the browser to return arrays of data to the plugin.">PP_ArrayOutput</a> must be provided so that output will be stored in its allocated buffer. This function might perform a partial read. The FileIO object must have been opened with read access.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_io</td><td>A <code>PP_Resource</code> corresponding to a file FileIO. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">offset</td><td>The offset into the file. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">max_read_length</td><td>The maximum number of bytes to read from <code>offset</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">output</td><td>A <code><a class="el" href="struct_p_p___array_output.html" title="A structure that defines a way for the browser to return arrays of data to the plugin.">PP_ArrayOutput</a></code> to hold the output data. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion of <a class="el" href="struct_p_p_b___file_i_o__1__1.html#a85f0de223c9011c79df5b063ecd4a89f" title="ReadToArray() reads from an offset in the file.">ReadToArray()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The number of bytes read or an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. If the return value is 0, then end-of-file was reached. It is valid to call <a class="el" href="struct_p_p_b___file_i_o__1__1.html#a85f0de223c9011c79df5b063ecd4a89f" title="ReadToArray() reads from an offset in the file.">ReadToArray()</a> multiple times with a completion callback to queue up parallel reads from the file, but pending reads cannot be interleaved with other operations. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aea6686b51ee5a9ef40c2442a7faa652f"></a><!-- doxytag: member="PPB_FileIO::SetLength" ref="aea6686b51ee5a9ef40c2442a7faa652f" args=")(PP_Resource file_io, int64_t length, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___file_i_o__1__1.html#aea6686b51ee5a9ef40c2442a7faa652f">PPB_FileIO::SetLength</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_io, int64_t length, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_i_o__1__1.html#aea6686b51ee5a9ef40c2442a7faa652f" title="SetLength() sets the length of the file.">SetLength()</a> sets the length of the file. </p>
+<p>If the file size is extended, then the extended area of the file is zero-filled. The FileIO object must have been opened with write access and there must be no other operations pending.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_io</td><td>A <code>PP_Resource</code> corresponding to a file FileIO. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>The length of the file to be set. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion of <a class="el" href="struct_p_p_b___file_i_o__1__1.html#aea6686b51ee5a9ef40c2442a7faa652f" title="SetLength() sets the length of the file.">SetLength()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. PP_ERROR_FAILED will be returned if the file isn't opened, and PP_ERROR_INPROGRESS will be returned if there is another operation pending. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a9f680131d9df0129d79492eb1b41edfc"></a><!-- doxytag: member="PPB_FileIO::Touch" ref="a9f680131d9df0129d79492eb1b41edfc" args=")(PP_Resource file_io, PP_Time last_access_time, PP_Time last_modified_time, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___file_i_o__1__1.html#a9f680131d9df0129d79492eb1b41edfc">PPB_FileIO::Touch</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_io, <a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a> last_access_time, <a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a> last_modified_time, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_i_o__1__1.html#a9f680131d9df0129d79492eb1b41edfc" title="Touch() Updates time stamps for the file opened by this FileIO object.">Touch()</a> Updates time stamps for the file opened by this FileIO object. </p>
+<p>This function will fail if the FileIO object has not been opened. The FileIO object must be opened, and there must be no other operations pending.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_io</td><td>A <code>PP_Resource</code> corresponding to a file FileIO. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">last_access_time</td><td>The last time the FileIO was accessed. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">last_modified_time</td><td>The last time the FileIO was modified. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion of <a class="el" href="struct_p_p_b___file_i_o__1__1.html#a9f680131d9df0129d79492eb1b41edfc" title="Touch() Updates time stamps for the file opened by this FileIO object.">Touch()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. PP_ERROR_FAILED will be returned if the file isn't opened, and PP_ERROR_INPROGRESS will be returned if there is another operation pending. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a4cbaeff3318200d3913127553ad90aad"></a><!-- doxytag: member="PPB_FileIO::Write" ref="a4cbaeff3318200d3913127553ad90aad" args=")(PP_Resource file_io, int64_t offset, const char *buffer, int32_t bytes_to_write, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___file_i_o__1__1.html#a4cbaeff3318200d3913127553ad90aad">PPB_FileIO::Write</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_io, int64_t offset, const char *buffer, int32_t bytes_to_write, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_i_o__1__1.html#a4cbaeff3318200d3913127553ad90aad" title="Write() writes to an offset in the file.">Write()</a> writes to an offset in the file. </p>
+<p>This function might perform a partial write. The FileIO object must have been opened with write access.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_io</td><td>A <code>PP_Resource</code> corresponding to a file FileIO. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">offset</td><td>The offset into the file. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">buffer</td><td>The buffer to hold the specified number of bytes read. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">bytes_to_write</td><td>The number of bytes to write to <code>offset</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion of <a class="el" href="struct_p_p_b___file_i_o__1__1.html#a4cbaeff3318200d3913127553ad90aad" title="Write() writes to an offset in the file.">Write()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The number of bytes written or an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. If the return value is 0, then end-of-file was reached. It is valid to call <a class="el" href="struct_p_p_b___file_i_o__1__1.html#a4cbaeff3318200d3913127553ad90aad" title="Write() writes to an offset in the file.">Write()</a> multiple times with a completion callback to queue up parallel writes to the file, but pending writes cannot be interleaved with other operations. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppb__file__io_8h.html">ppb_file_io.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___file_ref__1__2.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___file_ref__1__2.html
new file mode 100644
index 0000000..f88eacf
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___file_ref__1__2.html
@@ -0,0 +1,294 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_FileRef Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_FileRef" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_ref__1__2.html#a10924f2900841919002972972567df40">Create</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_system, const char *path)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_ref__1__2.html#a53f053134366e9491aee0b88e08346c8">IsFileRef</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga87b353f2ec8935c9c3294daff612c145">PP_FileSystemType</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_ref__1__2.html#acf8cefbf96f2e8ec6b3acd7233dbcce4">GetFileSystemType</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_ref__1__2.html#ad58bd00ff6a93829b810e4bb4a2ba1af">GetName</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_ref__1__2.html#aafb00e9a6100b5a1490819606ed36451">GetPath</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_ref__1__2.html#af6cfee4cde7c6d96aec1fd49d3768113">GetParent</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_ref__1__2.html#a829f880110d9d0756552a7070a08ed33">MakeDirectory</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> directory_ref, int32_t make_directory_flags, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_ref__1__2.html#a7a83c853e8066a47eb7f222967ac4559">Touch</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref, <a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a> last_access_time, <a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a> last_modified_time, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_ref__1__2.html#afe27a664ce6b576ae754ed3122f83cae">Delete</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_ref__1__2.html#a5139b53dae2953f5e3ec18a3b4ad93fa">Rename</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> new_file_ref, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_ref__1__2.html#abc723bde3892c6e5d323497070a08a60">Query</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref, struct <a class="el" href="struct_p_p___file_info.html">PP_FileInfo</a> *info, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_ref__1__2.html#adf5ee82e600680aae53cd70e39e9a568">ReadDirectoryEntries</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref, struct <a class="el" href="struct_p_p___array_output.html">PP_ArrayOutput</a> output, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_FileRef</code> struct represents a "weak pointer" to a file in a file system. </p>
+<p>This struct contains a <code>PP_FileSystemType</code> identifier and a file path string. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a10924f2900841919002972972567df40"></a><!-- doxytag: member="PPB_FileRef::Create" ref="a10924f2900841919002972972567df40" args=")(PP_Resource file_system, const char *path)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___file_ref__1__2.html#a10924f2900841919002972972567df40">PPB_FileRef::Create</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_system, const char *path)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_ref__1__2.html#a10924f2900841919002972972567df40" title="Create() creates a weak pointer to a file in the given file system.">Create()</a> creates a weak pointer to a file in the given file system. </p>
+<p>File paths are POSIX style.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a file system. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">path</td><td>A path to the file. Must begin with a '/' character.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> corresponding to a file reference if successful or 0 if the path is malformed. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="afe27a664ce6b576ae754ed3122f83cae"></a><!-- doxytag: member="PPB_FileRef::Delete" ref="afe27a664ce6b576ae754ed3122f83cae" args=")(PP_Resource file_ref, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___file_ref__1__2.html#afe27a664ce6b576ae754ed3122f83cae">PPB_FileRef::Delete</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_ref__1__2.html#afe27a664ce6b576ae754ed3122f83cae" title="Delete() deletes a file or directory.">Delete()</a> deletes a file or directory. </p>
+<p>If <code>file_ref</code> refers to a directory, then the directory must be empty. It is an error to delete a file or directory that is in use. It is not valid to delete a file in the external file system.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_ref</td><td>A <code>PP_Resource</code> corresponding to a file reference. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion of <a class="el" href="struct_p_p_b___file_ref__1__2.html#afe27a664ce6b576ae754ed3122f83cae" title="Delete() deletes a file or directory.">Delete()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="acf8cefbf96f2e8ec6b3acd7233dbcce4"></a><!-- doxytag: member="PPB_FileRef::GetFileSystemType" ref="acf8cefbf96f2e8ec6b3acd7233dbcce4" args=")(PP_Resource file_ref)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga87b353f2ec8935c9c3294daff612c145">PP_FileSystemType</a>(* <a class="el" href="struct_p_p_b___file_ref__1__2.html#acf8cefbf96f2e8ec6b3acd7233dbcce4">PPB_FileRef::GetFileSystemType</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_ref__1__2.html#acf8cefbf96f2e8ec6b3acd7233dbcce4" title="GetFileSystemType() returns the type of the file system.">GetFileSystemType()</a> returns the type of the file system. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_ref</td><td>A <code>PP_Resource</code> corresponding to a file reference.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_FileSystemType</code> with the file system type if valid or <code>PP_FILESYSTEMTYPE_INVALID</code> if the provided resource is not a valid file reference. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ad58bd00ff6a93829b810e4bb4a2ba1af"></a><!-- doxytag: member="PPB_FileRef::GetName" ref="ad58bd00ff6a93829b810e4bb4a2ba1af" args=")(PP_Resource file_ref)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___file_ref__1__2.html#ad58bd00ff6a93829b810e4bb4a2ba1af">PPB_FileRef::GetName</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_ref__1__2.html#ad58bd00ff6a93829b810e4bb4a2ba1af" title="GetName() returns the name of the file.">GetName()</a> returns the name of the file. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_ref</td><td>A <code>PP_Resource</code> corresponding to a file reference.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> containing the name of the file. The value returned by this function does not include any path components (such as the name of the parent directory, for example). It is just the name of the file. Use <a class="el" href="struct_p_p_b___file_ref__1__2.html#aafb00e9a6100b5a1490819606ed36451" title="GetPath() returns the absolute path of the file.">GetPath()</a> to get the full file path. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="af6cfee4cde7c6d96aec1fd49d3768113"></a><!-- doxytag: member="PPB_FileRef::GetParent" ref="af6cfee4cde7c6d96aec1fd49d3768113" args=")(PP_Resource file_ref)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___file_ref__1__2.html#af6cfee4cde7c6d96aec1fd49d3768113">PPB_FileRef::GetParent</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_ref__1__2.html#af6cfee4cde7c6d96aec1fd49d3768113" title="GetParent() returns the parent directory of this file.">GetParent()</a> returns the parent directory of this file. </p>
+<p>If <code>file_ref</code> points to the root of the filesystem, then the root is returned.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_ref</td><td>A <code>PP_Resource</code> corresponding to a file reference.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> containing the parent directory of the file. This function fails if the file system type is <code>PP_FileSystemType_External</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aafb00e9a6100b5a1490819606ed36451"></a><!-- doxytag: member="PPB_FileRef::GetPath" ref="aafb00e9a6100b5a1490819606ed36451" args=")(PP_Resource file_ref)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___file_ref__1__2.html#aafb00e9a6100b5a1490819606ed36451">PPB_FileRef::GetPath</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_ref__1__2.html#aafb00e9a6100b5a1490819606ed36451" title="GetPath() returns the absolute path of the file.">GetPath()</a> returns the absolute path of the file. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_ref</td><td>A <code>PP_Resource</code> corresponding to a file reference.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> containing the absolute path of the file. This function fails if the file system type is <code>PP_FileSystemType_External</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a53f053134366e9491aee0b88e08346c8"></a><!-- doxytag: member="PPB_FileRef::IsFileRef" ref="a53f053134366e9491aee0b88e08346c8" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___file_ref__1__2.html#a53f053134366e9491aee0b88e08346c8">PPB_FileRef::IsFileRef</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_ref__1__2.html#a53f053134366e9491aee0b88e08346c8" title="IsFileRef() determines if the provided resource is a file reference.">IsFileRef()</a> determines if the provided resource is a file reference. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a file reference.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the resource is a <code>PPB_FileRef</code>, <code>PP_FALSE</code> if the resource is invalid or some type other than <code>PPB_FileRef</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a829f880110d9d0756552a7070a08ed33"></a><!-- doxytag: member="PPB_FileRef::MakeDirectory" ref="a829f880110d9d0756552a7070a08ed33" args=")(PP_Resource directory_ref, int32_t make_directory_flags, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___file_ref__1__2.html#a829f880110d9d0756552a7070a08ed33">PPB_FileRef::MakeDirectory</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> directory_ref, int32_t make_directory_flags, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_ref__1__2.html#a829f880110d9d0756552a7070a08ed33" title="MakeDirectory() makes a new directory in the file system according to the given make_directory_flags...">MakeDirectory()</a> makes a new directory in the file system according to the given <code>make_directory_flags</code>, which is a bit-mask of the <code>PP_MakeDirectoryFlags</code> values. </p>
+<p>It is not valid to make a directory in the external file system.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_ref</td><td>A <code>PP_Resource</code> corresponding to a file reference. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">make_directory_flags</td><td>A bit-mask of the <code>PP_MakeDirectoryFlags</code> values. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion of <a class="el" href="struct_p_p_b___file_ref__1__2.html#a829f880110d9d0756552a7070a08ed33" title="MakeDirectory() makes a new directory in the file system according to the given make_directory_flags...">MakeDirectory()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="abc723bde3892c6e5d323497070a08a60"></a><!-- doxytag: member="PPB_FileRef::Query" ref="abc723bde3892c6e5d323497070a08a60" args=")(PP_Resource file_ref, struct PP_FileInfo *info, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___file_ref__1__2.html#abc723bde3892c6e5d323497070a08a60">PPB_FileRef::Query</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref, struct <a class="el" href="struct_p_p___file_info.html">PP_FileInfo</a> *info, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_ref__1__2.html#abc723bde3892c6e5d323497070a08a60" title="Query() queries info about a file or directory.">Query()</a> queries info about a file or directory. </p>
+<p>You must have access to read this file or directory if it exists in the external filesystem.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_ref</td><td>A <code>PP_Resource</code> corresponding to a file reference. </td></tr>
+<tr><td class="paramdir">[out]</td><td class="paramname">info</td><td>A pointer to a <code><a class="el" href="struct_p_p___file_info.html" title="The PP_FileInfo struct represents all information about a file, such as size, type, and creation time.">PP_FileInfo</a></code> which will be populated with information about the file or directory. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion of <a class="el" href="struct_p_p_b___file_ref__1__2.html#abc723bde3892c6e5d323497070a08a60" title="Query() queries info about a file or directory.">Query()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="adf5ee82e600680aae53cd70e39e9a568"></a><!-- doxytag: member="PPB_FileRef::ReadDirectoryEntries" ref="adf5ee82e600680aae53cd70e39e9a568" args=")(PP_Resource file_ref, struct PP_ArrayOutput output, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___file_ref__1__2.html#adf5ee82e600680aae53cd70e39e9a568">PPB_FileRef::ReadDirectoryEntries</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref, struct <a class="el" href="struct_p_p___array_output.html">PP_ArrayOutput</a> output, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_ref__1__2.html#adf5ee82e600680aae53cd70e39e9a568" title="ReadDirectoryEntries() reads all entries in a directory.">ReadDirectoryEntries()</a> reads all entries in a directory. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_ref</td><td>A <code>PP_Resource</code> corresponding to a directory reference. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">output</td><td>An output array which will receive <code><a class="el" href="struct_p_p___directory_entry.html">PP_DirectoryEntry</a></code> objects on success. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to run on completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a5139b53dae2953f5e3ec18a3b4ad93fa"></a><!-- doxytag: member="PPB_FileRef::Rename" ref="a5139b53dae2953f5e3ec18a3b4ad93fa" args=")(PP_Resource file_ref, PP_Resource new_file_ref, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___file_ref__1__2.html#a5139b53dae2953f5e3ec18a3b4ad93fa">PPB_FileRef::Rename</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> new_file_ref, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_ref__1__2.html#a5139b53dae2953f5e3ec18a3b4ad93fa" title="Rename() renames a file or directory.">Rename()</a> renames a file or directory. </p>
+<p>Arguments <code>file_ref</code> and <code>new_file_ref</code> must both refer to files in the same file system. It is an error to rename a file or directory that is in use. It is not valid to rename a file in the external file system.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_ref</td><td>A <code>PP_Resource</code> corresponding to a file reference. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">new_file_ref</td><td>A <code>PP_Resource</code> corresponding to a new file reference. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion of <a class="el" href="struct_p_p_b___file_ref__1__2.html#a5139b53dae2953f5e3ec18a3b4ad93fa" title="Rename() renames a file or directory.">Rename()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a7a83c853e8066a47eb7f222967ac4559"></a><!-- doxytag: member="PPB_FileRef::Touch" ref="a7a83c853e8066a47eb7f222967ac4559" args=")(PP_Resource file_ref, PP_Time last_access_time, PP_Time last_modified_time, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___file_ref__1__2.html#a7a83c853e8066a47eb7f222967ac4559">PPB_FileRef::Touch</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref, <a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a> last_access_time, <a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a> last_modified_time, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_ref__1__2.html#a7a83c853e8066a47eb7f222967ac4559" title="Touch() Updates time stamps for a file.">Touch()</a> Updates time stamps for a file. </p>
+<p>You must have write access to the file if it exists in the external filesystem.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_ref</td><td>A <code>PP_Resource</code> corresponding to a file reference. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">last_access_time</td><td>The last time the file was accessed. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">last_modified_time</td><td>The last time the file was modified. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion of <a class="el" href="struct_p_p_b___file_ref__1__2.html#a7a83c853e8066a47eb7f222967ac4559" title="Touch() Updates time stamps for a file.">Touch()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppb__file__ref_8h.html">ppb_file_ref.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___file_system__1__0.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___file_system__1__0.html
new file mode 100644
index 0000000..53aee363
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___file_system__1__0.html
@@ -0,0 +1,109 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_FileSystem Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_FileSystem" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_system__1__0.html#a14946dd216cfe9cf786b2c1442588083">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#ga87b353f2ec8935c9c3294daff612c145">PP_FileSystemType</a> type)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_system__1__0.html#a4d65860ba1d916f2488bab25e89d2dba">IsFileSystem</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_system__1__0.html#a9add9cdffaa742c8d19c33a73bca9e3a">Open</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_system, int64_t expected_size, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga87b353f2ec8935c9c3294daff612c145">PP_FileSystemType</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_system__1__0.html#a59a9fed00deae5bfbc9480184232ab68">GetType</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_system)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_FileSystem</code> struct identifies the file system type associated with a file. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a14946dd216cfe9cf786b2c1442588083"></a><!-- doxytag: member="PPB_FileSystem::Create" ref="a14946dd216cfe9cf786b2c1442588083" args=")(PP_Instance instance, PP_FileSystemType type)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___file_system__1__0.html#a14946dd216cfe9cf786b2c1442588083">PPB_FileSystem::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#ga87b353f2ec8935c9c3294daff612c145">PP_FileSystemType</a> type)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_system__1__0.html#a14946dd216cfe9cf786b2c1442588083" title="Create() creates a file system object of the given type.">Create()</a> creates a file system object of the given type. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying the instance with the file. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>A file system type as defined by <code>PP_FileSystemType</code> enum (except PP_FILESYSTEMTYPE_ISOLATED, which is currently not supported). </td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> corresponding to a file system if successful. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a59a9fed00deae5bfbc9480184232ab68"></a><!-- doxytag: member="PPB_FileSystem::GetType" ref="a59a9fed00deae5bfbc9480184232ab68" args=")(PP_Resource file_system)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga87b353f2ec8935c9c3294daff612c145">PP_FileSystemType</a>(* <a class="el" href="struct_p_p_b___file_system__1__0.html#a59a9fed00deae5bfbc9480184232ab68">PPB_FileSystem::GetType</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_system)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_system__1__0.html#a59a9fed00deae5bfbc9480184232ab68" title="GetType() returns the type of the provided file system.">GetType()</a> returns the type of the provided file system. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_system</td><td>A <code>PP_Resource</code> corresponding to a file system.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_FileSystemType</code> with the file system type if valid or <code>PP_FILESYSTEMTYPE_INVALID</code> if the provided resource is not a valid file system. It is valid to call this function even before <a class="el" href="struct_p_p_b___file_system__1__0.html#a9add9cdffaa742c8d19c33a73bca9e3a" title="Open() opens the file system.">Open()</a> completes. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a4d65860ba1d916f2488bab25e89d2dba"></a><!-- doxytag: member="PPB_FileSystem::IsFileSystem" ref="a4d65860ba1d916f2488bab25e89d2dba" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___file_system__1__0.html#a4d65860ba1d916f2488bab25e89d2dba">PPB_FileSystem::IsFileSystem</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_system__1__0.html#a4d65860ba1d916f2488bab25e89d2dba" title="IsFileSystem() determines if the provided resource is a file system.">IsFileSystem()</a> determines if the provided resource is a file system. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a file system.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the resource is a <code>PPB_FileSystem</code>, <code>PP_FALSE</code> if the resource is invalid or some type other than <code>PPB_FileSystem</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a9add9cdffaa742c8d19c33a73bca9e3a"></a><!-- doxytag: member="PPB_FileSystem::Open" ref="a9add9cdffaa742c8d19c33a73bca9e3a" args=")(PP_Resource file_system, int64_t expected_size, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___file_system__1__0.html#a9add9cdffaa742c8d19c33a73bca9e3a">PPB_FileSystem::Open</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_system, int64_t expected_size, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_system__1__0.html#a9add9cdffaa742c8d19c33a73bca9e3a" title="Open() opens the file system.">Open()</a> opens the file system. </p>
+<p>A file system must be opened before running any other operation on it.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_system</td><td>A <code>PP_Resource</code> corresponding to a file system.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">expected_size</td><td>The expected size of the file system. Note that this does not request quota; to do that, you must either invoke requestQuota from JavaScript: <a href="http://www.html5rocks.com/en/tutorials/file/filesystem/#toc-requesting-quota">http://www.html5rocks.com/en/tutorials/file/filesystem/#toc-requesting-quota</a> or set the unlimitedStorage permission for Chrome Web Store apps: <a href="http://code.google.com/chrome/extensions/manifest.html#permissions">http://code.google.com/chrome/extensions/manifest.html#permissions</a></td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion of <a class="el" href="struct_p_p_b___file_system__1__0.html#a9add9cdffaa742c8d19c33a73bca9e3a" title="Open() opens the file system.">Open()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppb__file__system_8h.html">ppb_file_system.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___fullscreen__1__0.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___fullscreen__1__0.html
new file mode 100644
index 0000000..a05c4c7
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___fullscreen__1__0.html
@@ -0,0 +1,90 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_Fullscreen Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_Fullscreen" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___fullscreen__1__0.html#a8b6a560d3a57b6df9395b5dcf138cd1d">IsFullscreen</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___fullscreen__1__0.html#a1074f98a5800667313de626b0ed8ad27">SetFullscreen</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> fullscreen)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___fullscreen__1__0.html#afc4e416a40c4bf0ed1dd0cae74547c86">GetScreenSize</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, struct <a class="el" href="struct_p_p___size.html">PP_Size</a> *size)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_Fullscreen</code> interface is implemented by the browser. </p>
+<p>This interface provides a way of checking the current screen mode and toggling fullscreen mode. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="afc4e416a40c4bf0ed1dd0cae74547c86"></a><!-- doxytag: member="PPB_Fullscreen::GetScreenSize" ref="afc4e416a40c4bf0ed1dd0cae74547c86" args=")(PP_Instance instance, struct PP_Size *size)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___fullscreen__1__0.html#afc4e416a40c4bf0ed1dd0cae74547c86">PPB_Fullscreen::GetScreenSize</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, struct <a class="el" href="struct_p_p___size.html">PP_Size</a> *size)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___fullscreen__1__0.html#afc4e416a40c4bf0ed1dd0cae74547c86" title="GetScreenSize() gets the size of the screen in pixels.">GetScreenSize()</a> gets the size of the screen in pixels. </p>
+<p>The module instance will be resized to this size when <a class="el" href="struct_p_p_b___fullscreen__1__0.html#a1074f98a5800667313de626b0ed8ad27" title="SetFullscreen() switches the module instance to and from fullscreen mode.">SetFullscreen()</a> is called to enter fullscreen mode.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module. </td></tr>
+<tr><td class="paramdir">[out]</td><td class="paramname">size</td><td>The size of the entire screen in pixels.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> on success or <code>PP_FALSE</code> on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a8b6a560d3a57b6df9395b5dcf138cd1d"></a><!-- doxytag: member="PPB_Fullscreen::IsFullscreen" ref="a8b6a560d3a57b6df9395b5dcf138cd1d" args=")(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___fullscreen__1__0.html#a8b6a560d3a57b6df9395b5dcf138cd1d">PPB_Fullscreen::IsFullscreen</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___fullscreen__1__0.html#a8b6a560d3a57b6df9395b5dcf138cd1d" title="IsFullscreen() checks whether the module instance is currently in fullscreen mode.">IsFullscreen()</a> checks whether the module instance is currently in fullscreen mode. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the module instance is in fullscreen mode, <code>PP_FALSE</code> if the module instance is not in fullscreen mode. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a1074f98a5800667313de626b0ed8ad27"></a><!-- doxytag: member="PPB_Fullscreen::SetFullscreen" ref="a1074f98a5800667313de626b0ed8ad27" args=")(PP_Instance instance, PP_Bool fullscreen)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___fullscreen__1__0.html#a1074f98a5800667313de626b0ed8ad27">PPB_Fullscreen::SetFullscreen</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> fullscreen)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___fullscreen__1__0.html#a1074f98a5800667313de626b0ed8ad27" title="SetFullscreen() switches the module instance to and from fullscreen mode.">SetFullscreen()</a> switches the module instance to and from fullscreen mode. </p>
+<p>The transition to and from fullscreen mode is asynchronous. During the transition, <a class="el" href="struct_p_p_b___fullscreen__1__0.html#a8b6a560d3a57b6df9395b5dcf138cd1d" title="IsFullscreen() checks whether the module instance is currently in fullscreen mode.">IsFullscreen()</a> will return the previous value and no 2D or 3D device can be bound. The transition ends at DidChangeView() when <a class="el" href="struct_p_p_b___fullscreen__1__0.html#a8b6a560d3a57b6df9395b5dcf138cd1d" title="IsFullscreen() checks whether the module instance is currently in fullscreen mode.">IsFullscreen()</a> returns the new value. You might receive other DidChangeView() calls while in transition.</p>
+<p>The transition to fullscreen mode can only occur while the browser is processing a user gesture, even if <code>PP_TRUE</code> is returned.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">fullscreen</td><td><code>PP_TRUE</code> to enter fullscreen mode, or <code>PP_FALSE</code> to exit fullscreen mode.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> on success or <code>PP_FALSE</code> on failure. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppb__fullscreen_8h.html">ppb_fullscreen.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___gamepad__1__0.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___gamepad__1__0.html
new file mode 100644
index 0000000..aece70d4
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___gamepad__1__0.html
@@ -0,0 +1,35 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_Gamepad Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_Gamepad" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___gamepad__1__0.html#a0245687e881a8bc182f9c0641046277a">Sample</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, struct <a class="el" href="struct_p_p___gamepads_sample_data.html">PP_GamepadsSampleData</a> *data)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_Gamepad</code> interface allows retrieving data from gamepad/joystick devices that are connected to the system. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a0245687e881a8bc182f9c0641046277a"></a><!-- doxytag: member="PPB_Gamepad::Sample" ref="a0245687e881a8bc182f9c0641046277a" args=")(PP_Instance instance, struct PP_GamepadsSampleData *data)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___gamepad__1__0.html#a0245687e881a8bc182f9c0641046277a">PPB_Gamepad::Sample</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, struct <a class="el" href="struct_p_p___gamepads_sample_data.html">PP_GamepadsSampleData</a> *data)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Samples the current state of the available gamepads. </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppb__gamepad_8h.html">ppb_gamepad.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___graphics2_d__1__1.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___graphics2_d__1__1.html
new file mode 100644
index 0000000..ad1b3c6
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___graphics2_d__1__1.html
@@ -0,0 +1,235 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_Graphics2D Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_Graphics2D" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a034e6a3df2bccb119a087874e7cf18ed">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, const struct <a class="el" href="struct_p_p___size.html">PP_Size</a> *size, <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> is_always_opaque)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a8d634407f71b52367901e8c807f3bb15">IsGraphics2D</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics2_d__1__1.html#ae9aae546a51e35ee85688e0f80907fc3">Describe</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> graphics_2d, struct <a class="el" href="struct_p_p___size.html">PP_Size</a> *size, <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> *is_always_opaque)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a912e5704c150c4228ee4ec326e7cb1bb">PaintImageData</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> graphics_2d, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> image_data, const struct <a class="el" href="struct_p_p___point.html">PP_Point</a> *top_left, const struct <a class="el" href="struct_p_p___rect.html">PP_Rect</a> *src_rect)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a2242719819a82b11b0e3f71c4a19f461">Scroll</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> graphics_2d, const struct <a class="el" href="struct_p_p___rect.html">PP_Rect</a> *clip_rect, const struct <a class="el" href="struct_p_p___point.html">PP_Point</a> *amount)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics2_d__1__1.html#ae5cfb7616fe383d9fedee88131f4b9ff">ReplaceContents</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> graphics_2d, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> image_data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a46607be26d07e4af31b56ef0791022fa">Flush</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> graphics_2d, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics2_d__1__1.html#ad809f5d73448def11577d54147fa268e">SetScale</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, float scale)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a9e284dc50e55e87c5367e9f081f44045">GetScale</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p><code>PPB_Graphics2D</code> defines the interface for a 2D graphics context. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a034e6a3df2bccb119a087874e7cf18ed"></a><!-- doxytag: member="PPB_Graphics2D::Create" ref="a034e6a3df2bccb119a087874e7cf18ed" args=")(PP_Instance instance, const struct PP_Size *size, PP_Bool is_always_opaque)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a034e6a3df2bccb119a087874e7cf18ed">PPB_Graphics2D::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, const struct <a class="el" href="struct_p_p___size.html">PP_Size</a> *size, <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> is_always_opaque)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a034e6a3df2bccb119a087874e7cf18ed" title="Create() creates a 2D graphics context.">Create()</a> creates a 2D graphics context. </p>
+<p>The returned graphics context will not be bound to the module instance on creation (call BindGraphics() on the module instance to bind the returned graphics context to the module instance).</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The module instance. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>The size of the graphic context. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">is_always_opaque</td><td>Set the <code>is_always_opaque</code> flag to <code>PP_TRUE</code> if you know that you will be painting only opaque data to this context. This option will disable blending when compositing the module with the web page, which might give higher performance on some computers.</td></tr>
+</table>
+</dd>
+</dl>
+<p>If you set <code>is_always_opaque</code>, your alpha channel should always be set to 0xFF or there may be painting artifacts. The alpha values overwrite the destination alpha values without blending when <code>is_always_opaque</code> is true.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> containing the 2D graphics context if successful or 0 if unsuccessful. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ae9aae546a51e35ee85688e0f80907fc3"></a><!-- doxytag: member="PPB_Graphics2D::Describe" ref="ae9aae546a51e35ee85688e0f80907fc3" args=")(PP_Resource graphics_2d, struct PP_Size *size, PP_Bool *is_always_opaque)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___graphics2_d__1__1.html#ae9aae546a51e35ee85688e0f80907fc3">PPB_Graphics2D::Describe</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> graphics_2d, struct <a class="el" href="struct_p_p___size.html">PP_Size</a> *size, <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> *is_always_opaque)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___graphics2_d__1__1.html#ae9aae546a51e35ee85688e0f80907fc3" title="Describe() retrieves the configuration for the given graphics context, filling the given values (whic...">Describe()</a> retrieves the configuration for the given graphics context, filling the given values (which must not be <code>NULL</code>). </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>The 2D Graphics resource. </td></tr>
+<tr><td class="paramdir">[in,out]</td><td class="paramname">size</td><td>The size of the 2D graphics context in the browser. </td></tr>
+<tr><td class="paramdir">[in,out]</td><td class="paramname">is_always_opaque</td><td>Identifies whether only opaque data will be painted.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>PP_TRUE</code> on success or <code>PP_FALSE</code> if the resource is invalid. The output parameters will be set to 0 on a <code>PP_FALSE</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a46607be26d07e4af31b56ef0791022fa"></a><!-- doxytag: member="PPB_Graphics2D::Flush" ref="a46607be26d07e4af31b56ef0791022fa" args=")(PP_Resource graphics_2d, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a46607be26d07e4af31b56ef0791022fa">PPB_Graphics2D::Flush</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> graphics_2d, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a46607be26d07e4af31b56ef0791022fa" title="Flush() flushes any enqueued paint, scroll, and replace commands to the backing store.">Flush()</a> flushes any enqueued paint, scroll, and replace commands to the backing store. </p>
+<p>This function actually executes the updates, and causes a repaint of the webpage, assuming this graphics context is bound to a module instance.</p>
+<p><a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a46607be26d07e4af31b56ef0791022fa" title="Flush() flushes any enqueued paint, scroll, and replace commands to the backing store.">Flush()</a> runs in asynchronous mode. Specify a callback function and the argument for that callback function. The callback function will be executed on the calling thread when the image has been painted to the screen. While you are waiting for a flush callback, additional calls to <a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a46607be26d07e4af31b56ef0791022fa" title="Flush() flushes any enqueued paint, scroll, and replace commands to the backing store.">Flush()</a> will fail.</p>
+<p>Because the callback is executed (or thread unblocked) only when the instance's image is actually on the screen, this function provides a way to rate limit animations. By waiting until the image is on the screen before painting the next frame, you can ensure you're not flushing 2D graphics faster than the screen can be updated.</p>
+<p><b>Unbound contexts</b> If the context is not bound to a module instance, you will still get a callback. The callback will execute after <a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a46607be26d07e4af31b56ef0791022fa" title="Flush() flushes any enqueued paint, scroll, and replace commands to the backing store.">Flush()</a> returns to avoid reentrancy. The callback will not wait until anything is painted to the screen because there will be nothing on the screen. The timing of this callback is not guaranteed and may be deprioritized by the browser because it is not affecting the user experience.</p>
+<p><b>Off-screen instances</b> If the context is bound to an instance that is currently not visible (for example, scrolled out of view) it will behave like the "unbound context" case.</p>
+<p><b>Detaching a context</b> If you detach a context from a module instance, any pending flush callbacks will be converted into the "unbound context" case.</p>
+<p><b>Released contexts</b> A callback may or may not get called even if you have released all of your references to the context. This scenario can occur if there are internal references to the context suggesting it has not been internally destroyed (for example, if it is still bound to an instance) or due to other implementation details. As a result, you should be careful to check that flush callbacks are for the context you expect and that you're capable of handling callbacks for unreferenced contexts.</p>
+<p><b>Shutdown</b> If a module instance is removed when a flush is pending, the callback will not be executed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">graphics_2d</td><td>The 2D Graphics resource. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code>CompletionCallback</code> to be called when the image has been painted on the screen.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>PP_OK</code> on success or <code>PP_ERROR_BADRESOURCE</code> if the graphics context is invalid, <code>PP_ERROR_BADARGUMENT</code> if the callback is null and flush is being called from the main thread of the module, or <code>PP_ERROR_INPROGRESS</code> if a flush is already pending that has not issued its callback yet. In the failure case, nothing will be updated and no callback will be scheduled. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a9e284dc50e55e87c5367e9f081f44045"></a><!-- doxytag: member="PPB_Graphics2D::GetScale" ref="a9e284dc50e55e87c5367e9f081f44045" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float(* <a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a9e284dc50e55e87c5367e9f081f44045">PPB_Graphics2D::GetScale</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a8d634407f71b52367901e8c807f3bb15"></a><!-- doxytag: member="PPB_Graphics2D::IsGraphics2D" ref="a8d634407f71b52367901e8c807f3bb15" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a8d634407f71b52367901e8c807f3bb15">PPB_Graphics2D::IsGraphics2D</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a8d634407f71b52367901e8c807f3bb15" title="IsGraphics2D() determines if the given resource is a valid Graphics2D.">IsGraphics2D()</a> determines if the given resource is a valid <code>Graphics2D</code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>Graphics2D</code> context resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>PP_TRUE if the given resource is a valid <code>Graphics2D</code>, <code>PP_FALSE</code> if it is an invalid resource or is a resource of another type. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a912e5704c150c4228ee4ec326e7cb1bb"></a><!-- doxytag: member="PPB_Graphics2D::PaintImageData" ref="a912e5704c150c4228ee4ec326e7cb1bb" args=")(PP_Resource graphics_2d, PP_Resource image_data, const struct PP_Point *top_left, const struct PP_Rect *src_rect)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a912e5704c150c4228ee4ec326e7cb1bb">PPB_Graphics2D::PaintImageData</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> graphics_2d, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> image_data, const struct <a class="el" href="struct_p_p___point.html">PP_Point</a> *top_left, const struct <a class="el" href="struct_p_p___rect.html">PP_Rect</a> *src_rect)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a912e5704c150c4228ee4ec326e7cb1bb" title="PaintImageData() enqueues a paint of the given image into the context.">PaintImageData()</a> enqueues a paint of the given image into the context. </p>
+<p>This function has no effect until you call <a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a46607be26d07e4af31b56ef0791022fa" title="Flush() flushes any enqueued paint, scroll, and replace commands to the backing store.">Flush()</a> As a result, what counts is the contents of the bitmap when you call <a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a46607be26d07e4af31b56ef0791022fa" title="Flush() flushes any enqueued paint, scroll, and replace commands to the backing store.">Flush()</a>, not when you call this function.</p>
+<p>The provided image will be placed at <code>top_left</code> from the top left of the context's internal backing store. Then the pixels contained in <code>src_rect</code> will be copied into the backing store. This means that the rectangle being painted will be at <code>src_rect</code> offset by <code>top_left</code>.</p>
+<p>The <code>src_rect</code> is specified in the coordinate system of the image being painted, not the context. For the common case of copying the entire image, you may specify an empty <code>src_rect</code>.</p>
+<p>The painted area of the source bitmap must fall entirely within the context. Attempting to paint outside of the context will result in an error. However, the source bitmap may fall outside the context, as long as the <code>src_rect</code> subset of it falls entirely within the context.</p>
+<p>There are two methods most modules will use for painting. The first method is to generate a new <code>ImageData</code> and then paint it. In this case, you'll set the location of your painting to <code>top_left</code> and set <code>src_rect</code> to <code>NULL</code>. The second is that you're generating small invalid regions out of a larger bitmap representing your entire instance. In this case, you would set the location of your image to (0,0) and then set <code>src_rect</code> to the pixels you changed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>The 2D Graphics resource. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">image</td><td>The <code>ImageData</code> to be painted. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">top_left</td><td>A <code>Point</code> representing the <code>top_left</code> location where the <code>ImageData</code> will be painted. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">src_rect</td><td>The rectangular area where the <code>ImageData</code> will be painted. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ae5cfb7616fe383d9fedee88131f4b9ff"></a><!-- doxytag: member="PPB_Graphics2D::ReplaceContents" ref="ae5cfb7616fe383d9fedee88131f4b9ff" args=")(PP_Resource graphics_2d, PP_Resource image_data)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___graphics2_d__1__1.html#ae5cfb7616fe383d9fedee88131f4b9ff">PPB_Graphics2D::ReplaceContents</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> graphics_2d, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> image_data)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___graphics2_d__1__1.html#ae5cfb7616fe383d9fedee88131f4b9ff" title="ReplaceContents() provides a slightly more efficient way to paint the entire module's image...">ReplaceContents()</a> provides a slightly more efficient way to paint the entire module's image. </p>
+<p>Normally, calling <a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a912e5704c150c4228ee4ec326e7cb1bb" title="PaintImageData() enqueues a paint of the given image into the context.">PaintImageData()</a> requires that the browser copy the pixels out of the image and into the graphics context's backing store. This function replaces the graphics context's backing store with the given image, avoiding the copy.</p>
+<p>The new image must be the exact same size as this graphics context. If the new image uses a different image format than the browser's native bitmap format (use <code><a class="el" href="struct_p_p_b___image_data__1__0.html#adba78e8f9e623809b6b23419dbce4d65" title="GetNativeImageDataFormat() returns the browser's preferred format for image data.">PPB_ImageData.GetNativeImageDataFormat()</a></code> to retrieve the format), then a conversion will be done inside the browser which may slow the performance a little bit.</p>
+<p><b>Note:</b> The new image will not be painted until you call <a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a46607be26d07e4af31b56ef0791022fa" title="Flush() flushes any enqueued paint, scroll, and replace commands to the backing store.">Flush()</a>.</p>
+<p>After this call, you should take care to release your references to the image. If you paint to the image after <a class="el" href="struct_p_p_b___graphics2_d__1__1.html#ae5cfb7616fe383d9fedee88131f4b9ff" title="ReplaceContents() provides a slightly more efficient way to paint the entire module's image...">ReplaceContents()</a>, there is the possibility of significant painting artifacts because the page might use partially-rendered data when copying out of the backing store.</p>
+<p>In the case of an animation, you will want to allocate a new image for the next frame. It is best if you wait until the flush callback has executed before allocating this bitmap. This gives the browser the option of caching the previous backing store and handing it back to you (assuming the sizes match). In the optimal case, this means no bitmaps are allocated during the animation, and the backing store and "front buffer" (which the plugin is painting into) are just being swapped back and forth.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">graphics_2d</td><td>The 2D Graphics resource. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">image</td><td>The <code>ImageData</code> to be painted. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a2242719819a82b11b0e3f71c4a19f461"></a><!-- doxytag: member="PPB_Graphics2D::Scroll" ref="a2242719819a82b11b0e3f71c4a19f461" args=")(PP_Resource graphics_2d, const struct PP_Rect *clip_rect, const struct PP_Point *amount)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a2242719819a82b11b0e3f71c4a19f461">PPB_Graphics2D::Scroll</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> graphics_2d, const struct <a class="el" href="struct_p_p___rect.html">PP_Rect</a> *clip_rect, const struct <a class="el" href="struct_p_p___point.html">PP_Point</a> *amount)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a2242719819a82b11b0e3f71c4a19f461" title="Scroll() enqueues a scroll of the context's backing store.">Scroll()</a> enqueues a scroll of the context's backing store. </p>
+<p>This function has no effect until you call <a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a46607be26d07e4af31b56ef0791022fa" title="Flush() flushes any enqueued paint, scroll, and replace commands to the backing store.">Flush()</a>. The data within the provided clipping rectangle will be shifted by (dx, dy) pixels.</p>
+<p>This function will result in some exposed region which will have undefined contents. The module should call <a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a912e5704c150c4228ee4ec326e7cb1bb" title="PaintImageData() enqueues a paint of the given image into the context.">PaintImageData()</a> on these exposed regions to give the correct contents.</p>
+<p>The scroll can be larger than the area of the clipping rectangle, which means the current image will be scrolled out of the rectangle. This scenario is not an error but will result in a no-op.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">graphics_2d</td><td>The 2D Graphics resource. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">clip</td><td>The clipping rectangle. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">amount</td><td>The amount the area in the clipping rectangle will shifted. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ad809f5d73448def11577d54147fa268e"></a><!-- doxytag: member="PPB_Graphics2D::SetScale" ref="ad809f5d73448def11577d54147fa268e" args=")(PP_Resource resource, float scale)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___graphics2_d__1__1.html#ad809f5d73448def11577d54147fa268e">PPB_Graphics2D::SetScale</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, float scale)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___graphics2_d__1__1.html#ad809f5d73448def11577d54147fa268e" title="SetScale() sets the scale factor that will be applied when painting the graphics context onto the out...">SetScale()</a> sets the scale factor that will be applied when painting the graphics context onto the output device. </p>
+<p>Typically, if rendering at device resolution is desired, the context would be created with the width and height scaled up by the view's GetDeviceScale and SetScale called with a scale of 1.0 / GetDeviceScale(). For example, if the view resource passed to DidChangeView has a rectangle of (w=200, h=100) and a device scale of 2.0, one would call Create with a size of (w=400, h=200) and then call SetScale with 0.5. One would then treat each pixel in the context as a single device pixel.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>Graphics2D</code> context resource. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">scale</td><td>The scale to apply when painting.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>PP_TRUE</code> on success or <code>PP_FALSE</code> if the resource is invalid or the scale factor is 0 or less. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppb__graphics__2d_8h.html">ppb_graphics_2d.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___graphics3_d__1__0.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___graphics3_d__1__0.html
new file mode 100644
index 0000000..2f0abb9
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___graphics3_d__1__0.html
@@ -0,0 +1,297 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_Graphics3D Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_Graphics3D" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#a80698c6d8c8b04e07d08c4595e0e977b">GetAttribMaxValue</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> instance, int32_t attribute, int32_t *value)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#a818bc5829aac77215321b30f85e26e01">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> share_context, const int32_t attrib_list[])</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#af59ffbcc71e08386f66594a138ab4ea5">IsGraphics3D</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#aae3be34b7308c4510a3952b06fb7d6d9">GetAttribs</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> context, int32_t attrib_list[])</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#a093c4674cef82a08f5726bed8361d49d">SetAttribs</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> context, const int32_t attrib_list[])</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#ae6e9764a94663000dcb2aa610fac724c">GetError</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> context)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#a3bea5a6f3fc77df73c1cf4f02d32b4ec">ResizeBuffers</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> context, int32_t width, int32_t height)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#a293c6941c0da084267ffba3954793497">SwapBuffers</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> context, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p><code>PPB_Graphics3D</code> defines the interface for a 3D graphics context. </p>
+<p><b>Example usage from plugin code:</b></p>
+<p><b>Setup:</b> </p>
+<div class="fragment"><pre class="fragment"> <a class="code" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7" title="This typedef represents an opaque handle assigned by the browser to the resource.">PP_Resource</a> context;
+ int32_t attribs[] = {<a class="code" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a378f15587369cdefbcf565bc8f15db2c" title="Width of surface in pixels.">PP_GRAPHICS3DATTRIB_WIDTH</a>, 800,
+ <a class="code" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8ac37b92e8426753d7a24d0cf193a5923d" title="Height of surface in pixels.">PP_GRAPHICS3DATTRIB_HEIGHT</a>, 800,
+ <a class="code" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a66b15e43e8159f71751be033d44fda21" title="Attrib list terminator.">PP_GRAPHICS3DATTRIB_NONE</a>};
+ context = g3d->Create(instance, 0, attribs);
+ inst->BindGraphics(instance, context);
+</pre></div><p><b>Present one frame:</b> </p>
+<div class="fragment"><pre class="fragment"> <a class="code" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a> callback = {
+ DidFinishSwappingBuffers, 0, <a class="code" href="group___enums.html#gga7610f0fba2396d46384859caa4d91798a6eedc0f315784a4cb47c5806b828c7cc" title="By default any non-NULL callback will always invoked asynchronously, on success or error...">PP_COMPLETIONCALLBACK_FLAG_NONE</a>,
+ };
+ gles2->Clear(context, GL_COLOR_BUFFER_BIT);
+ g3d->SwapBuffers(context, callback);
+</pre></div><p><b>Shutdown:</b> </p>
+<div class="fragment"><pre class="fragment"> core->ReleaseResource(context);
+</pre></div> </div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a818bc5829aac77215321b30f85e26e01"></a><!-- doxytag: member="PPB_Graphics3D::Create" ref="a818bc5829aac77215321b30f85e26e01" args=")(PP_Instance instance, PP_Resource share_context, const int32_t attrib_list[])" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___graphics3_d__1__0.html#a818bc5829aac77215321b30f85e26e01">PPB_Graphics3D::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> share_context, const int32_t attrib_list[])</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#a818bc5829aac77215321b30f85e26e01" title="Create() creates and initializes a 3D rendering context.">Create()</a> creates and initializes a 3D rendering context. </p>
+<p>The returned context is off-screen to start with. It must be attached to a plugin instance using <code><a class="el" href="struct_p_p_b___instance__1__0.html#ae5b0da2fc0975c82213f687d96434625" title="BindGraphics() binds the given graphics as the current display surface.">PPB_Instance::BindGraphics</a></code> to draw on the web page.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The module instance.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">share_context</td><td>The 3D context with which the created context would share resources. If <code>share_context</code> is not 0, then all shareable data, as defined by the client API (note that for OpenGL and OpenGL ES, shareable data excludes texture objects named 0) will be shared by <code>share_context</code><code>, all other contexts </code><code>share_context</code> already shares with, and the newly created context. An arbitrary number of <code>PPB_Graphics3D</code> can share data in this fashion.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">attrib_list</td><td><code></code><code>specifies a list of attributes for the context. It is a list of attribute name-value pairs in which each attribute is immediately followed by the corresponding desired value. The list is terminated with </code><code>PP_GRAPHICS3DATTRIB_NONE</code>. The <code>attrib_list</code><code> may be 0 or empty (first attribute is </code><code>PP_GRAPHICS3DATTRIB_NONE</code>). If an attribute is not specified in <code>attrib_list</code>, then the default value is used (it is said to be specified implicitly). Attributes for the context are chosen according to an attribute-specific criteria. Attributes can be classified into two categories:<ul>
+<li>AtLeast: The attribute value in the returned context meets or exceeds the value specified in <code>attrib_list</code>.</li>
+<li>Exact: The attribute value in the returned context is equal to the value specified in <code>attrib_list</code>.</li>
+</ul>
+</td></tr>
+</table>
+</dd>
+</dl>
+<p>Attributes that can be specified in <code>attrib_list</code> include:</p>
+<ul>
+<li><code></code><code></code><code></code><code></code><code>PP_GRAPHICS3DATTRIB_ALPHA_SIZE</code>: Category: AtLeast Default: 0.</li>
+<li><code></code><code></code><code></code><code></code><code>PP_GRAPHICS3DATTRIB_BLUE_SIZE</code>: Category: AtLeast Default: 0.</li>
+<li><code></code><code></code><code></code><code></code><code>PP_GRAPHICS3DATTRIB_GREEN_SIZE</code>: Category: AtLeast Default: 0.</li>
+<li><code></code><code></code><code></code><code></code><code>PP_GRAPHICS3DATTRIB_RED_SIZE</code>: Category: AtLeast Default: 0.</li>
+<li><code></code><code></code><code></code><code></code><code>PP_GRAPHICS3DATTRIB_DEPTH_SIZE</code>: Category: AtLeast Default: 0.</li>
+<li><code></code><code></code><code></code><code></code><code>PP_GRAPHICS3DATTRIB_STENCIL_SIZE</code>: Category: AtLeast Default: 0.</li>
+<li><code></code><code></code><code></code><code></code><code>PP_GRAPHICS3DATTRIB_SAMPLES</code>: Category: AtLeast Default: 0.</li>
+<li><code></code><code></code><code></code><code></code><code>PP_GRAPHICS3DATTRIB_SAMPLE_BUFFERS</code>: Category: AtLeast Default: 0.</li>
+<li><code></code><code></code><code></code><code></code><code>PP_GRAPHICS3DATTRIB_WIDTH</code>: Category: Exact Default: 0.</li>
+<li><code></code><code></code><code></code><code></code><code>PP_GRAPHICS3DATTRIB_HEIGHT</code>: Category: Exact Default: 0.</li>
+<li><code></code><code></code><code></code><code></code><code>PP_GRAPHICS3DATTRIB_SWAP_BEHAVIOR</code>: Category: Exact Default: Implementation defined.</li>
+</ul>
+<p><code></code><code></code><code></code><code> </code></p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> containing the 3D graphics context if successful or 0 if unsuccessful. </dd></dl>
+<p></p>
+</div>
+</div>
+<a class="anchor" id="a80698c6d8c8b04e07d08c4595e0e977b"></a><!-- doxytag: member="PPB_Graphics3D::GetAttribMaxValue" ref="a80698c6d8c8b04e07d08c4595e0e977b" args=")(PP_Resource instance, int32_t attribute, int32_t *value)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___graphics3_d__1__0.html#a80698c6d8c8b04e07d08c4595e0e977b">PPB_Graphics3D::GetAttribMaxValue</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> instance, int32_t attribute, int32_t *value)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#a80698c6d8c8b04e07d08c4595e0e977b" title="GetAttribMaxValue() retrieves the maximum supported value for the given attribute.">GetAttribMaxValue()</a> retrieves the maximum supported value for the given attribute. </p>
+<p>This function may be used to check if a particular attribute value is supported before attempting to create a context.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The module instance. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">attribute</td><td>The attribute for which maximum value is queried. Attributes that can be queried for include:<ul>
+<li><code>PP_GRAPHICS3DATTRIB_ALPHA_SIZE</code></li>
+<li><code>PP_GRAPHICS3DATTRIB_BLUE_SIZE</code></li>
+<li><code>PP_GRAPHICS3DATTRIB_GREEN_SIZE</code></li>
+<li><code>PP_GRAPHICS3DATTRIB_RED_SIZE</code></li>
+<li><code>PP_GRAPHICS3DATTRIB_DEPTH_SIZE</code></li>
+<li><code>PP_GRAPHICS3DATTRIB_STENCIL_SIZE</code></li>
+<li><code>PP_GRAPHICS3DATTRIB_SAMPLES</code></li>
+<li><code>PP_GRAPHICS3DATTRIB_SAMPLE_BUFFERS</code></li>
+<li><code>PP_GRAPHICS3DATTRIB_WIDTH</code></li>
+<li><code>PP_GRAPHICS3DATTRIB_HEIGHT</code> </li>
+</ul>
+</td></tr>
+<tr><td class="paramdir">[out]</td><td class="paramname">value</td><td>The maximum supported value for <code>attribute</code></td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>PP_TRUE</code> on success or the following on error:<ul>
+<li><code>PP_ERROR_BADRESOURCE</code> if <code>instance</code> is invalid</li>
+<li><code>PP_ERROR_BADARGUMENT</code> if <code>attribute</code> is invalid or <code>value</code> is 0 </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<a class="anchor" id="aae3be34b7308c4510a3952b06fb7d6d9"></a><!-- doxytag: member="PPB_Graphics3D::GetAttribs" ref="aae3be34b7308c4510a3952b06fb7d6d9" args=")(PP_Resource context, int32_t attrib_list[])" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___graphics3_d__1__0.html#aae3be34b7308c4510a3952b06fb7d6d9">PPB_Graphics3D::GetAttribs</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> context, int32_t attrib_list[])</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#aae3be34b7308c4510a3952b06fb7d6d9" title="GetAttribs() retrieves the value for each attribute in attrib_list.">GetAttribs()</a> retrieves the value for each attribute in <code>attrib_list</code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>The 3D graphics context. </td></tr>
+<tr><td class="paramdir">[in,out]</td><td class="paramname">attrib_list</td><td>The list of attributes that are queried. <code>attrib_list</code> has the same structure as described for <code><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#a818bc5829aac77215321b30f85e26e01" title="Create() creates and initializes a 3D rendering context.">PPB_Graphics3D::Create</a></code>. It is both input and output structure for this function. All attributes specified in <code><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#a818bc5829aac77215321b30f85e26e01" title="Create() creates and initializes a 3D rendering context.">PPB_Graphics3D::Create</a></code> can be queried for.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>PP_OK</code> on success or:<ul>
+<li><code>PP_ERROR_BADRESOURCE</code> if context is invalid</li>
+<li><code>PP_ERROR_BADARGUMENT</code> if attrib_list is 0 or any attribute in the <code>attrib_list</code> is not a valid attribute.</li>
+</ul>
+</dd></dl>
+<p><b>Example usage:</b> To get the values for rgb bits in the color buffer, this function must be called as following: </p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">int</span> attrib_list[] = {<a class="code" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a7caad99c8c857fdb804c6755551398f5" title="Bits of Red in the color buffer.">PP_GRAPHICS3DATTRIB_RED_SIZE</a>, 0,
+ <a class="code" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8ade95a6e685ca23522da80c1703d294a7" title="Bits of Green in the color buffer.">PP_GRAPHICS3DATTRIB_GREEN_SIZE</a>, 0,
+ <a class="code" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a519cd199423721033780ee13ecb0e60b" title="Bits of Blue in the color buffer.">PP_GRAPHICS3DATTRIB_BLUE_SIZE</a>, 0,
+ <a class="code" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a66b15e43e8159f71751be033d44fda21" title="Attrib list terminator.">PP_GRAPHICS3DATTRIB_NONE</a>};
+ <a class="code" href="struct_p_p_b___graphics3_d__1__0.html#aae3be34b7308c4510a3952b06fb7d6d9" title="GetAttribs() retrieves the value for each attribute in attrib_list.">GetAttribs</a>(context, attrib_list);
+ <span class="keywordtype">int</span> red_bits = attrib_list[1];
+ <span class="keywordtype">int</span> green_bits = attrib_list[3];
+ <span class="keywordtype">int</span> blue_bits = attrib_list[5];
+</pre></div>
+</div>
+</div>
+<a class="anchor" id="ae6e9764a94663000dcb2aa610fac724c"></a><!-- doxytag: member="PPB_Graphics3D::GetError" ref="ae6e9764a94663000dcb2aa610fac724c" args=")(PP_Resource context)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___graphics3_d__1__0.html#ae6e9764a94663000dcb2aa610fac724c">PPB_Graphics3D::GetError</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> context)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#ae6e9764a94663000dcb2aa610fac724c" title="GetError() returns the current state of the given 3D context.">GetError()</a> returns the current state of the given 3D context. </p>
+<p>The recoverable error conditions that have no side effect are detected and returned immediately by all functions in this interface. In addition the implementation may get into a fatal state while processing a command. In this case the application must destroy the context and reinitialize client API state and objects to continue rendering.</p>
+<p>Note that the same error code is also returned in the SwapBuffers callback. It is recommended to handle error in the SwapBuffers callback because GetError is synchronous. This function may be useful in rare cases where drawing a frame is expensive and you want to verify the result of ResizeBuffers before attempting to draw a frame.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">The</td><td>3D graphics context. </td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns:<ul>
+<li><code>PP_OK</code> if no error</li>
+<li><code>PP_ERROR_NOMEMORY</code></li>
+<li><code>PP_ERROR_CONTEXT_LOST</code> </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<a class="anchor" id="af59ffbcc71e08386f66594a138ab4ea5"></a><!-- doxytag: member="PPB_Graphics3D::IsGraphics3D" ref="af59ffbcc71e08386f66594a138ab4ea5" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___graphics3_d__1__0.html#af59ffbcc71e08386f66594a138ab4ea5">PPB_Graphics3D::IsGraphics3D</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#af59ffbcc71e08386f66594a138ab4ea5" title="IsGraphics3D() determines if the given resource is a valid Graphics3D context.">IsGraphics3D()</a> determines if the given resource is a valid <code>Graphics3D</code> context. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>Graphics3D</code> context resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>PP_TRUE if the given resource is a valid <code>Graphics3D</code>, <code>PP_FALSE</code> if it is an invalid resource or is a resource of another type. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a3bea5a6f3fc77df73c1cf4f02d32b4ec"></a><!-- doxytag: member="PPB_Graphics3D::ResizeBuffers" ref="a3bea5a6f3fc77df73c1cf4f02d32b4ec" args=")(PP_Resource context, int32_t width, int32_t height)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___graphics3_d__1__0.html#a3bea5a6f3fc77df73c1cf4f02d32b4ec">PPB_Graphics3D::ResizeBuffers</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> context, int32_t width, int32_t height)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#a3bea5a6f3fc77df73c1cf4f02d32b4ec" title="ResizeBuffers() resizes the backing surface for context.">ResizeBuffers()</a> resizes the backing surface for context. </p>
+<p>If the surface could not be resized due to insufficient resources, <code>PP_ERROR_NOMEMORY</code> error is returned on the next <code>SwapBuffers</code> callback.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>The 3D graphics context. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">width</td><td>The width of the backing surface. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">height</td><td>The height of the backing surface. </td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>PP_OK</code> on success or:<ul>
+<li><code>PP_ERROR_BADRESOURCE</code> if context is invalid.</li>
+<li><code>PP_ERROR_BADARGUMENT</code> if the value specified for <code>width</code> or <code>height</code> is less than zero. </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<a class="anchor" id="a093c4674cef82a08f5726bed8361d49d"></a><!-- doxytag: member="PPB_Graphics3D::SetAttribs" ref="a093c4674cef82a08f5726bed8361d49d" args=")(PP_Resource context, const int32_t attrib_list[])" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___graphics3_d__1__0.html#a093c4674cef82a08f5726bed8361d49d">PPB_Graphics3D::SetAttribs</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> context, const int32_t attrib_list[])</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#a093c4674cef82a08f5726bed8361d49d" title="SetAttribs() sets the values for each attribute in attrib_list.">SetAttribs()</a> sets the values for each attribute in <code>attrib_list</code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>The 3D graphics context. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">attrib_list</td><td>The list of attributes whose values need to be set. <code>attrib_list</code> has the same structure as described for <code><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#a818bc5829aac77215321b30f85e26e01" title="Create() creates and initializes a 3D rendering context.">PPB_Graphics3D::Create</a></code>. Attributes that can be specified are:<ul>
+<li><code>PP_GRAPHICS3DATTRIB_SWAP_BEHAVIOR</code></li>
+</ul>
+</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>PP_OK</code> on success or:<ul>
+<li><code>PP_ERROR_BADRESOURCE</code> if <code>context</code> is invalid.</li>
+<li><code>PP_ERROR_BADARGUMENT</code> if <code>attrib_list</code> is 0 or any attribute in the <code>attrib_list</code> is not a valid attribute. </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<a class="anchor" id="a293c6941c0da084267ffba3954793497"></a><!-- doxytag: member="PPB_Graphics3D::SwapBuffers" ref="a293c6941c0da084267ffba3954793497" args=")(PP_Resource context, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___graphics3_d__1__0.html#a293c6941c0da084267ffba3954793497">PPB_Graphics3D::SwapBuffers</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> context, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#a293c6941c0da084267ffba3954793497" title="SwapBuffers() makes the contents of the color buffer available for compositing.">SwapBuffers()</a> makes the contents of the color buffer available for compositing. </p>
+<p>This function has no effect on off-screen surfaces - ones not bound to any plugin instance. The contents of ancillary buffers are always undefined after calling <code>SwapBuffers</code>. The contents of the color buffer are undefined if the value of the <code>PP_GRAPHICS3DATTRIB_SWAP_BEHAVIOR</code> attribute of context is not <code>PP_GRAPHICS3DATTRIB_BUFFER_PRESERVED</code>.</p>
+<p><code>SwapBuffers</code> runs in asynchronous mode. Specify a callback function and the argument for that callback function. The callback function will be executed on the calling thread after the color buffer has been composited with rest of the html page. While you are waiting for a SwapBuffers callback, additional calls to SwapBuffers will fail.</p>
+<p>Because the callback is executed (or thread unblocked) only when the plugin's current state is actually on the screen, this function provides a way to rate limit animations. By waiting until the image is on the screen before painting the next frame, you can ensure you're not generating updates faster than the screen can be updated.</p>
+<p>SwapBuffers performs an implicit flush operation on context. If the context gets into an unrecoverable error condition while processing a command, the error code will be returned as the argument for the callback. The callback may return the following error codes:</p>
+<ul>
+<li><code>PP_ERROR_NOMEMORY</code></li>
+<li><code>PP_ERROR_CONTEXT_LOST</code> Note that the same error code may also be obtained by calling GetError.</li>
+</ul>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>The 3D graphics context. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>The callback that will executed when <code>SwapBuffers</code> completes.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns PP_OK on success or:<ul>
+<li><code>PP_ERROR_BADRESOURCE</code> if context is invalid.</li>
+<li><code>PP_ERROR_BADARGUMENT</code> if callback is invalid. </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppb__graphics__3d_8h.html">ppb_graphics_3d.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___host_resolver__1__0.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___host_resolver__1__0.html
new file mode 100644
index 0000000..b6c1106
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___host_resolver__1__0.html
@@ -0,0 +1,154 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_HostResolver Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_HostResolver" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___host_resolver__1__0.html#a7dfb4977c9bb0b3efb8016393e1adcc1">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___host_resolver__1__0.html#a26202fbec754f45ec43e1b7479f07365">IsHostResolver</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___host_resolver__1__0.html#a006c54c355fc4258fc1c9e75e8861dea">Resolve</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> host_resolver, const char *host, uint16_t port, const struct <a class="el" href="struct_p_p___host_resolver___hint.html">PP_HostResolver_Hint</a> *hint, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___host_resolver__1__0.html#a5edb535ad2bdc3db835ef7ec57f98f49">GetCanonicalName</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> host_resolver)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___host_resolver__1__0.html#afe9dc8c673c2a12331eceaf60ecba911">GetNetAddressCount</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> host_resolver)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___host_resolver__1__0.html#a7202ffb6c7b6d02da4ece9e748aaa886">GetNetAddress</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> host_resolver, uint32_t index)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_HostResolver</code> interface supports host name resolution. </p>
+<p>Permissions: In order to run <code><a class="el" href="struct_p_p_b___host_resolver__1__0.html#a006c54c355fc4258fc1c9e75e8861dea" title="Requests resolution of a host name.">Resolve()</a></code>, apps permission <code>socket</code> with subrule <code>resolve-host</code> is required. For more details about network communication permissions, please see: <a href="http://developer.chrome.com/apps/app_network.html">http://developer.chrome.com/apps/app_network.html</a> </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a7dfb4977c9bb0b3efb8016393e1adcc1"></a><!-- doxytag: member="PPB_HostResolver::Create" ref="a7dfb4977c9bb0b3efb8016393e1adcc1" args=")(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___host_resolver__1__0.html#a7dfb4977c9bb0b3efb8016393e1adcc1">PPB_HostResolver::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Creates a host resolver resource. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> corresponding to a host reslover or 0 on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a5edb535ad2bdc3db835ef7ec57f98f49"></a><!-- doxytag: member="PPB_HostResolver::GetCanonicalName" ref="a5edb535ad2bdc3db835ef7ec57f98f49" args=")(PP_Resource host_resolver)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___host_resolver__1__0.html#a5edb535ad2bdc3db835ef7ec57f98f49">PPB_HostResolver::GetCanonicalName</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> host_resolver)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the canonical name of the host. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">host_resolver</td><td>A <code>PP_Resource</code> corresponding to a host resolver.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A string <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> on success, which is an empty string if <code>PP_HOSTRESOLVER_FLAG_CANONNAME</code> is not set in the hint flags when calling <code><a class="el" href="struct_p_p_b___host_resolver__1__0.html#a006c54c355fc4258fc1c9e75e8861dea" title="Requests resolution of a host name.">Resolve()</a></code>; an undefined <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> if there is a pending <code><a class="el" href="struct_p_p_b___host_resolver__1__0.html#a006c54c355fc4258fc1c9e75e8861dea" title="Requests resolution of a host name.">Resolve()</a></code> call or the previous <code><a class="el" href="struct_p_p_b___host_resolver__1__0.html#a006c54c355fc4258fc1c9e75e8861dea" title="Requests resolution of a host name.">Resolve()</a></code> call failed. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a7202ffb6c7b6d02da4ece9e748aaa886"></a><!-- doxytag: member="PPB_HostResolver::GetNetAddress" ref="a7202ffb6c7b6d02da4ece9e748aaa886" args=")(PP_Resource host_resolver, uint32_t index)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___host_resolver__1__0.html#a7202ffb6c7b6d02da4ece9e748aaa886">PPB_HostResolver::GetNetAddress</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> host_resolver, uint32_t index)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets a network address. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">host_resolver</td><td>A <code>PP_Resource</code> corresponding to a host resolver. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>An index indicating which address to return.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PPB_NetAddress</code> resource on success; 0 if there is a pending <code><a class="el" href="struct_p_p_b___host_resolver__1__0.html#a006c54c355fc4258fc1c9e75e8861dea" title="Requests resolution of a host name.">Resolve()</a></code> call or the previous <code><a class="el" href="struct_p_p_b___host_resolver__1__0.html#a006c54c355fc4258fc1c9e75e8861dea" title="Requests resolution of a host name.">Resolve()</a></code> call failed, or the specified index is out of range. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="afe9dc8c673c2a12331eceaf60ecba911"></a><!-- doxytag: member="PPB_HostResolver::GetNetAddressCount" ref="afe9dc8c673c2a12331eceaf60ecba911" args=")(PP_Resource host_resolver)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t(* <a class="el" href="struct_p_p_b___host_resolver__1__0.html#afe9dc8c673c2a12331eceaf60ecba911">PPB_HostResolver::GetNetAddressCount</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> host_resolver)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the number of network addresses. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">host_resolver</td><td>A <code>PP_Resource</code> corresponding to a host resolver.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The number of available network addresses on success; 0 if there is a pending <code><a class="el" href="struct_p_p_b___host_resolver__1__0.html#a006c54c355fc4258fc1c9e75e8861dea" title="Requests resolution of a host name.">Resolve()</a></code> call or the previous <code><a class="el" href="struct_p_p_b___host_resolver__1__0.html#a006c54c355fc4258fc1c9e75e8861dea" title="Requests resolution of a host name.">Resolve()</a></code> call failed. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a26202fbec754f45ec43e1b7479f07365"></a><!-- doxytag: member="PPB_HostResolver::IsHostResolver" ref="a26202fbec754f45ec43e1b7479f07365" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___host_resolver__1__0.html#a26202fbec754f45ec43e1b7479f07365">PPB_HostResolver::IsHostResolver</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Determines if a given resource is a host resolver. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> to check.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the input is a <code>PPB_HostResolver</code> resource; <code>PP_FALSE</code> otherwise. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a006c54c355fc4258fc1c9e75e8861dea"></a><!-- doxytag: member="PPB_HostResolver::Resolve" ref="a006c54c355fc4258fc1c9e75e8861dea" args=")(PP_Resource host_resolver, const char *host, uint16_t port, const struct PP_HostResolver_Hint *hint, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___host_resolver__1__0.html#a006c54c355fc4258fc1c9e75e8861dea">PPB_HostResolver::Resolve</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> host_resolver, const char *host, uint16_t port, const struct <a class="el" href="struct_p_p___host_resolver___hint.html">PP_HostResolver_Hint</a> *hint, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Requests resolution of a host name. </p>
+<p>If the call completes successfully, the results can be retrieved by <code><a class="el" href="struct_p_p_b___host_resolver__1__0.html#a5edb535ad2bdc3db835ef7ec57f98f49" title="Gets the canonical name of the host.">GetCanonicalName()</a></code>, <code><a class="el" href="struct_p_p_b___host_resolver__1__0.html#afe9dc8c673c2a12331eceaf60ecba911" title="Gets the number of network addresses.">GetNetAddressCount()</a></code> and <code><a class="el" href="struct_p_p_b___host_resolver__1__0.html#a7202ffb6c7b6d02da4ece9e748aaa886" title="Gets a network address.">GetNetAddress()</a></code>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">host_resolver</td><td>A <code>PP_Resource</code> corresponding to a host resolver. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">host</td><td>The host name (or IP address literal) to resolve. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">port</td><td>The port number to be set in the resulting network addresses. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">hint</td><td>A <code><a class="el" href="struct_p_p___host_resolver___hint.html" title="PP_HostResolver_Hint represents hints for host resolution.">PP_HostResolver_Hint</a></code> structure providing hints for host resolution. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. <code>PP_ERROR_NOACCESS</code> will be returned if the caller doesn't have required permissions. <code>PP_ERROR_NAME_NOT_RESOLVED</code> will be returned if the host name couldn't be resolved. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppb__host__resolver_8h.html">ppb_host_resolver.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___i_m_e_input_event__1__0.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___i_m_e_input_event__1__0.html
new file mode 100644
index 0000000..512e7d7
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___i_m_e_input_event__1__0.html
@@ -0,0 +1,178 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_IMEInputEvent Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_IMEInputEvent" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#ad4bd2c64c71c9af07c110e47d64d94c4">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#gaca7296cfec99fcb6646b7144d1d6a0c5">PP_InputEvent_Type</a> type, <a class="el" href="group___typedefs.html#ga71cb1042cdeb38d7881b121f3b09ce94">PP_TimeTicks</a> time_stamp, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> text, uint32_t segment_number, const uint32_t segment_offsets[], int32_t target_segment, uint32_t selection_start, uint32_t selection_end)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a73a886654b174d99af7f52c13272dce0">IsIMEInputEvent</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a107e031acc73b3c620b0d92245952e6e">GetText</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> ime_event)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a1b3d8e023aa9400dff5b3a32a49cc018">GetSegmentNumber</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> ime_event)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a5d469ddc9be36e60eda5ab74878da205">GetSegmentOffset</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> ime_event, uint32_t index)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#ac4891be932c004cff409df47fe4627fa">GetTargetSegment</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> ime_event)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a42150bcee1b6416ec89780343ce2b30a">GetSelection</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> ime_event, uint32_t *start, uint32_t *end)</td></tr>
+</table>
+<hr /><h2>Field Documentation</h2>
+<a class="anchor" id="ad4bd2c64c71c9af07c110e47d64d94c4"></a><!-- doxytag: member="PPB_IMEInputEvent::Create" ref="ad4bd2c64c71c9af07c110e47d64d94c4" args=")(PP_Instance instance, PP_InputEvent_Type type, PP_TimeTicks time_stamp, struct PP_Var text, uint32_t segment_number, const uint32_t segment_offsets[], int32_t target_segment, uint32_t selection_start, uint32_t selection_end)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#ad4bd2c64c71c9af07c110e47d64d94c4">PPB_IMEInputEvent::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#gaca7296cfec99fcb6646b7144d1d6a0c5">PP_InputEvent_Type</a> type, <a class="el" href="group___typedefs.html#ga71cb1042cdeb38d7881b121f3b09ce94">PP_TimeTicks</a> time_stamp, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> text, uint32_t segment_number, const uint32_t segment_offsets[], int32_t target_segment, uint32_t selection_start, uint32_t selection_end)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#ad4bd2c64c71c9af07c110e47d64d94c4" title="Create() creates an IME input event with the given parameters.">Create()</a> creates an IME input event with the given parameters. </p>
+<p>Normally you will get an IME event passed through the <code>HandleInputEvent</code> and will not need to create them, but some applications may want to create their own for internal use.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance for which this event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>A <code>PP_InputEvent_Type</code> identifying the type of input event. The type must be one of the IME event types.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">time_stamp</td><td>A <code>PP_TimeTicks</code> indicating the time when the event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">text</td><td>The string returned by <code>GetText</code>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">segment_number</td><td>The number returned by <code>GetSegmentNumber</code>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">segment_offsets</td><td>The array of numbers returned by <code>GetSegmentOffset</code>. If <code>segment_number</code> is zero, the number of elements of the array should be zero. If <code>segment_number</code> is non-zero, the length of the array must be <code>segment_number</code> + 1.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">target_segment</td><td>The number returned by <code>GetTargetSegment</code>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">selection_start</td><td>The start index returned by <code>GetSelection</code>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">selection_end</td><td>The end index returned by <code>GetSelection</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> containing the new IME input event. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a1b3d8e023aa9400dff5b3a32a49cc018"></a><!-- doxytag: member="PPB_IMEInputEvent::GetSegmentNumber" ref="a1b3d8e023aa9400dff5b3a32a49cc018" args=")(PP_Resource ime_event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t(* <a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a1b3d8e023aa9400dff5b3a32a49cc018">PPB_IMEInputEvent::GetSegmentNumber</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> ime_event)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a1b3d8e023aa9400dff5b3a32a49cc018" title="GetSegmentNumber() returns the number of segments in the composition text.">GetSegmentNumber()</a> returns the number of segments in the composition text. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">ime_event</td><td>A <code>PP_Resource</code> corresponding to an IME event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The number of segments. For events other than COMPOSITION_UPDATE, returns 0. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a5d469ddc9be36e60eda5ab74878da205"></a><!-- doxytag: member="PPB_IMEInputEvent::GetSegmentOffset" ref="a5d469ddc9be36e60eda5ab74878da205" args=")(PP_Resource ime_event, uint32_t index)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t(* <a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a5d469ddc9be36e60eda5ab74878da205">PPB_IMEInputEvent::GetSegmentOffset</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> ime_event, uint32_t index)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a5d469ddc9be36e60eda5ab74878da205" title="GetSegmentOffset() returns the position of the index-th segmentation point in the composition text...">GetSegmentOffset()</a> returns the position of the index-th segmentation point in the composition text. </p>
+<p>The position is given by a byte-offset (not a character-offset) of the string returned by <a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a107e031acc73b3c620b0d92245952e6e" title="GetText() returns the composition text as a UTF-8 string for the given IME event.">GetText()</a>. It always satisfies 0=GetSegmentOffset(0) < ... < GetSegmentOffset(i) < GetSegmentOffset(i+1) < ... < GetSegmentOffset(<a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a1b3d8e023aa9400dff5b3a32a49cc018" title="GetSegmentNumber() returns the number of segments in the composition text.">GetSegmentNumber()</a>)=(byte-length of <a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a107e031acc73b3c620b0d92245952e6e" title="GetText() returns the composition text as a UTF-8 string for the given IME event.">GetText()</a>). Note that [GetSegmentOffset(i), GetSegmentOffset(i+1)) represents the range of the i-th segment, and hence <a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a1b3d8e023aa9400dff5b3a32a49cc018" title="GetSegmentNumber() returns the number of segments in the composition text.">GetSegmentNumber()</a> can be a valid argument to this function instead of an off-by-1 error.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">ime_event</td><td>A <code>PP_Resource</code> corresponding to an IME event.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>An integer indicating a segment.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The byte-offset of the segmentation point. If the event is not COMPOSITION_UPDATE or index is out of range, returns 0. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a42150bcee1b6416ec89780343ce2b30a"></a><!-- doxytag: member="PPB_IMEInputEvent::GetSelection" ref="a42150bcee1b6416ec89780343ce2b30a" args=")(PP_Resource ime_event, uint32_t *start, uint32_t *end)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a42150bcee1b6416ec89780343ce2b30a">PPB_IMEInputEvent::GetSelection</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> ime_event, uint32_t *start, uint32_t *end)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a42150bcee1b6416ec89780343ce2b30a" title="GetSelection() returns the range selected by caret in the composition text.">GetSelection()</a> returns the range selected by caret in the composition text. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">ime_event</td><td>A <code>PP_Resource</code> corresponding to an IME event.</td></tr>
+<tr><td class="paramdir">[out]</td><td class="paramname">start</td><td>The start position of the current selection.</td></tr>
+<tr><td class="paramdir">[out]</td><td class="paramname">end</td><td>The end position of the current selection. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ac4891be932c004cff409df47fe4627fa"></a><!-- doxytag: member="PPB_IMEInputEvent::GetTargetSegment" ref="ac4891be932c004cff409df47fe4627fa" args=")(PP_Resource ime_event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#ac4891be932c004cff409df47fe4627fa">PPB_IMEInputEvent::GetTargetSegment</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> ime_event)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#ac4891be932c004cff409df47fe4627fa" title="GetTargetSegment() returns the index of the current target segment of composition.">GetTargetSegment()</a> returns the index of the current target segment of composition. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">ime_event</td><td>A <code>PP_Resource</code> corresponding to an IME event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An integer indicating the index of the target segment. When there is no active target segment, or the event is not COMPOSITION_UPDATE, returns -1. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a107e031acc73b3c620b0d92245952e6e"></a><!-- doxytag: member="PPB_IMEInputEvent::GetText" ref="a107e031acc73b3c620b0d92245952e6e" args=")(PP_Resource ime_event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a107e031acc73b3c620b0d92245952e6e">PPB_IMEInputEvent::GetText</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> ime_event)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a107e031acc73b3c620b0d92245952e6e" title="GetText() returns the composition text as a UTF-8 string for the given IME event.">GetText()</a> returns the composition text as a UTF-8 string for the given IME event. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">ime_event</td><td>A <code>PP_Resource</code> corresponding to an IME event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A string var representing the composition text. For non-IME input events the return value will be an undefined var. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a73a886654b174d99af7f52c13272dce0"></a><!-- doxytag: member="PPB_IMEInputEvent::IsIMEInputEvent" ref="a73a886654b174d99af7f52c13272dce0" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a73a886654b174d99af7f52c13272dce0">PPB_IMEInputEvent::IsIMEInputEvent</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a73a886654b174d99af7f52c13272dce0" title="IsIMEInputEvent() determines if a resource is an IME event.">IsIMEInputEvent()</a> determines if a resource is an IME event. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to an event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the given resource is a valid input event. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppb__input__event_8h.html">ppb_input_event.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___image_data__1__0.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___image_data__1__0.html
new file mode 100644
index 0000000..94a4887
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___image_data__1__0.html
@@ -0,0 +1,168 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_ImageData Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_ImageData" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga2ee7ad01799553e5f17bdaa35dd952ee">PP_ImageDataFormat</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___image_data__1__0.html#adba78e8f9e623809b6b23419dbce4d65">GetNativeImageDataFormat</a> )(void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___image_data__1__0.html#a451a583a5caa74bdc735e324de282b82">IsImageDataFormatSupported</a> )(<a class="el" href="group___enums.html#ga2ee7ad01799553e5f17bdaa35dd952ee">PP_ImageDataFormat</a> format)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___image_data__1__0.html#ab7146e66c91e651259ef9d81bcee7776">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#ga2ee7ad01799553e5f17bdaa35dd952ee">PP_ImageDataFormat</a> format, const struct <a class="el" href="struct_p_p___size.html">PP_Size</a> *size, <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> init_to_zero)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___image_data__1__0.html#a1e208943ea241fc4050d0190a0e92492">IsImageData</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> image_data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___image_data__1__0.html#a0598a298c53b777d9909f80c70987629">Describe</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> image_data, struct <a class="el" href="struct_p_p___image_data_desc.html">PP_ImageDataDesc</a> *desc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___image_data__1__0.html#a2e7d4b40b88c0680b263db05745055e9">Map</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> image_data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___image_data__1__0.html#ab0fc702469c51be79b2f8b74d9148c81">Unmap</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> image_data)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_ImageData</code> interface contains pointers to several functions for determining the browser's treatment of image data. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="ab7146e66c91e651259ef9d81bcee7776"></a><!-- doxytag: member="PPB_ImageData::Create" ref="ab7146e66c91e651259ef9d81bcee7776" args=")(PP_Instance instance, PP_ImageDataFormat format, const struct PP_Size *size, PP_Bool init_to_zero)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___image_data__1__0.html#ab7146e66c91e651259ef9d81bcee7776">PPB_ImageData::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#ga2ee7ad01799553e5f17bdaa35dd952ee">PP_ImageDataFormat</a> format, const struct <a class="el" href="struct_p_p___size.html">PP_Size</a> *size, <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> init_to_zero)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___image_data__1__0.html#ab7146e66c91e651259ef9d81bcee7776" title="Create() allocates an image data resource with the given format and size.">Create()</a> allocates an image data resource with the given format and size. </p>
+<p>For security reasons, if uninitialized, the bitmap will not contain random memory, but may contain data from a previous image produced by the same module if the bitmap was cached and re-used.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>The desired image data format. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>A pointer to a <code><a class="el" href="struct_p_p___size.html" title="The PP_Size struct contains the size of a 2D rectangle.">PP_Size</a></code> containing the image size. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">init_to_zero</td><td>A <code>PP_Bool</code> to determine transparency at creation. Set the <code>init_to_zero</code> flag if you want the bitmap initialized to transparent during the creation process. If this flag is not set, the current contents of the bitmap will be undefined, and the module should be sure to set all the pixels.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> with a nonzero ID on success or zero on failure. Failure means the instance, image size, or format was invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a0598a298c53b777d9909f80c70987629"></a><!-- doxytag: member="PPB_ImageData::Describe" ref="a0598a298c53b777d9909f80c70987629" args=")(PP_Resource image_data, struct PP_ImageDataDesc *desc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___image_data__1__0.html#a0598a298c53b777d9909f80c70987629">PPB_ImageData::Describe</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> image_data, struct <a class="el" href="struct_p_p___image_data_desc.html">PP_ImageDataDesc</a> *desc)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___image_data__1__0.html#a0598a298c53b777d9909f80c70987629" title="Describe() computes the description of the image data.">Describe()</a> computes the description of the image data. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">image_data</td><td>A <code>PP_Resource</code> corresponding to image data. </td></tr>
+<tr><td class="paramdir">[in,out]</td><td class="paramname">desc</td><td>A pointer to a <code><a class="el" href="struct_p_p___image_data_desc.html" title="The PP_ImageDataDesc structure represents a description of image data.">PP_ImageDataDesc</a></code> containing the description.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> with <code>PP_TRUE</code> on success or <code>PP_FALSE</code> if the resource is not an image data. On <code>PP_FALSE</code>, the <code>desc</code> structure will be filled with 0. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="adba78e8f9e623809b6b23419dbce4d65"></a><!-- doxytag: member="PPB_ImageData::GetNativeImageDataFormat" ref="adba78e8f9e623809b6b23419dbce4d65" args=")(void)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga2ee7ad01799553e5f17bdaa35dd952ee">PP_ImageDataFormat</a>(* <a class="el" href="struct_p_p_b___image_data__1__0.html#adba78e8f9e623809b6b23419dbce4d65">PPB_ImageData::GetNativeImageDataFormat</a>)(void)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___image_data__1__0.html#adba78e8f9e623809b6b23419dbce4d65" title="GetNativeImageDataFormat() returns the browser's preferred format for image data.">GetNativeImageDataFormat()</a> returns the browser's preferred format for image data. </p>
+<p>The browser uses this format internally for painting. Other formats may require internal conversions to paint or may have additional restrictions depending on the function.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_ImageDataFormat</code> containing the preferred format. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a1e208943ea241fc4050d0190a0e92492"></a><!-- doxytag: member="PPB_ImageData::IsImageData" ref="a1e208943ea241fc4050d0190a0e92492" args=")(PP_Resource image_data)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___image_data__1__0.html#a1e208943ea241fc4050d0190a0e92492">PPB_ImageData::IsImageData</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> image_data)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___image_data__1__0.html#a1e208943ea241fc4050d0190a0e92492" title="IsImageData() determines if a given resource is image data.">IsImageData()</a> determines if a given resource is image data. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">image_data</td><td>A <code>PP_Resource</code> corresponding to image data.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> with <code>PP_TRUE</code> if the given resource is an image data or <code>PP_FALSE</code> if the resource is invalid or some type other than image data. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a451a583a5caa74bdc735e324de282b82"></a><!-- doxytag: member="PPB_ImageData::IsImageDataFormatSupported" ref="a451a583a5caa74bdc735e324de282b82" args=")(PP_ImageDataFormat format)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___image_data__1__0.html#a451a583a5caa74bdc735e324de282b82">PPB_ImageData::IsImageDataFormatSupported</a>)(<a class="el" href="group___enums.html#ga2ee7ad01799553e5f17bdaa35dd952ee">PP_ImageDataFormat</a> format)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___image_data__1__0.html#a451a583a5caa74bdc735e324de282b82" title="IsImageDataFormatSupported() determines if the given image data format is supported by the browser...">IsImageDataFormatSupported()</a> determines if the given image data format is supported by the browser. </p>
+<p>Note: <code>PP_IMAGEDATAFORMAT_BGRA_PREMUL</code> and <code>PP_IMAGEDATAFORMAT_RGBA_PREMUL</code> formats are always supported. Other image formats do not make this guarantee, and should be checked first with <a class="el" href="struct_p_p_b___image_data__1__0.html#a451a583a5caa74bdc735e324de282b82" title="IsImageDataFormatSupported() determines if the given image data format is supported by the browser...">IsImageDataFormatSupported()</a> before using.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>The image data format.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> with <code>PP_TRUE</code> if the given image data format is supported by the browser. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2e7d4b40b88c0680b263db05745055e9"></a><!-- doxytag: member="PPB_ImageData::Map" ref="a2e7d4b40b88c0680b263db05745055e9" args=")(PP_Resource image_data)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void*(* <a class="el" href="struct_p_p_b___image_data__1__0.html#a2e7d4b40b88c0680b263db05745055e9">PPB_ImageData::Map</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> image_data)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___image_data__1__0.html#a2e7d4b40b88c0680b263db05745055e9" title="Map() maps an image data into the module address space.">Map()</a> maps an image data into the module address space. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">image_data</td><td>A <code>PP_Resource</code> corresponding to image data.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A pointer to the beginning of the data. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab0fc702469c51be79b2f8b74d9148c81"></a><!-- doxytag: member="PPB_ImageData::Unmap" ref="ab0fc702469c51be79b2f8b74d9148c81" args=")(PP_Resource image_data)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___image_data__1__0.html#ab0fc702469c51be79b2f8b74d9148c81">PPB_ImageData::Unmap</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> image_data)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Unmap is a pointer to a function that unmaps an image data from the module address space. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">image_data</td><td>A <code>PP_Resource</code> corresponding to image data. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppb__image__data_8h.html">ppb_image_data.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___input_event__1__0.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___input_event__1__0.html
new file mode 100644
index 0000000..3bb7cac
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___input_event__1__0.html
@@ -0,0 +1,182 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_InputEvent Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_InputEvent" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___input_event__1__0.html#a369d79730ad84d0b8dee9127c114086e">RequestInputEvents</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, uint32_t event_classes)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___input_event__1__0.html#a42dcc8edf80141680e919258f3066069">RequestFilteringInputEvents</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, uint32_t event_classes)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___input_event__1__0.html#aec4b0db6ac3dca03f4d3a1c034f84a5a">ClearInputEventRequest</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, uint32_t event_classes)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___input_event__1__0.html#a292409d067d969ee6357af350f6fb544">IsInputEvent</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#gaca7296cfec99fcb6646b7144d1d6a0c5">PP_InputEvent_Type</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___input_event__1__0.html#a1d83a144ef7cb784a34caabc81786538">GetType</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> event)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#ga71cb1042cdeb38d7881b121f3b09ce94">PP_TimeTicks</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___input_event__1__0.html#a9bf9a261e8161a3a6ec4093ba6f737b2">GetTimeStamp</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> event)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___input_event__1__0.html#a31311048765ee5af6dd3fb62ae014372">GetModifiers</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> event)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_InputEvent</code> interface contains pointers to several functions related to generic input events on the browser. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="aec4b0db6ac3dca03f4d3a1c034f84a5a"></a><!-- doxytag: member="PPB_InputEvent::ClearInputEventRequest" ref="aec4b0db6ac3dca03f4d3a1c034f84a5a" args=")(PP_Instance instance, uint32_t event_classes)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___input_event__1__0.html#aec4b0db6ac3dca03f4d3a1c034f84a5a">PPB_InputEvent::ClearInputEventRequest</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, uint32_t event_classes)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___input_event__1__0.html#aec4b0db6ac3dca03f4d3a1c034f84a5a" title="ClearInputEventRequest() requests that input events corresponding to the given input classes no longe...">ClearInputEventRequest()</a> requests that input events corresponding to the given input classes no longer be delivered to the instance. </p>
+<p>By default, no input events are delivered. If you have previously requested input events via <a class="el" href="struct_p_p_b___input_event__1__0.html#a369d79730ad84d0b8dee9127c114086e" title="RequestInputEvent() requests that input events corresponding to the given input events are delivered ...">RequestInputEvents()</a> or <a class="el" href="struct_p_p_b___input_event__1__0.html#a42dcc8edf80141680e919258f3066069" title="RequestFilteringInputEvents() requests that input events corresponding to the given input events are ...">RequestFilteringInputEvents()</a>, this function will unregister handling for the given instance. This will allow greater browser performance for those events.</p>
+<p>Note that you may still get some input events after clearing the flag if they were dispatched before the request was cleared. For example, if there are 3 mouse move events waiting to be delivered, and you clear the mouse event class during the processing of the first one, you'll still receive the next two. You just won't get more events generated.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramname">instance</td><td>The <code>PP_Instance</code> of the instance requesting to no longer receive the given events.</td></tr>
+<tr><td class="paramname">event_classes</td><td>A combination of flags from <code>PP_InputEvent_Class</code> that identify the classes of events the instance is no longer interested in. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a31311048765ee5af6dd3fb62ae014372"></a><!-- doxytag: member="PPB_InputEvent::GetModifiers" ref="a31311048765ee5af6dd3fb62ae014372" args=")(PP_Resource event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t(* <a class="el" href="struct_p_p_b___input_event__1__0.html#a31311048765ee5af6dd3fb62ae014372">PPB_InputEvent::GetModifiers</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> event)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___input_event__1__0.html#a31311048765ee5af6dd3fb62ae014372" title="GetModifiers() returns a bitfield indicating which modifiers were down at the time of the event...">GetModifiers()</a> returns a bitfield indicating which modifiers were down at the time of the event. </p>
+<p>This is a combination of the flags in the <code>PP_InputEvent_Modifier</code> enum.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to an input event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The modifiers associated with the event, or 0 if the given resource is not a valid event resource. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a9bf9a261e8161a3a6ec4093ba6f737b2"></a><!-- doxytag: member="PPB_InputEvent::GetTimeStamp" ref="a9bf9a261e8161a3a6ec4093ba6f737b2" args=")(PP_Resource event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#ga71cb1042cdeb38d7881b121f3b09ce94">PP_TimeTicks</a>(* <a class="el" href="struct_p_p_b___input_event__1__0.html#a9bf9a261e8161a3a6ec4093ba6f737b2">PPB_InputEvent::GetTimeStamp</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> event)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___input_event__1__0.html#a9bf9a261e8161a3a6ec4093ba6f737b2" title="GetTimeStamp() Returns the time that the event was generated.">GetTimeStamp()</a> Returns the time that the event was generated. </p>
+<p>This will be before the current time since processing and dispatching the event has some overhead. Use this value to compare the times the user generated two events without being sensitive to variable processing time.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to the event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The return value is in time ticks, which is a monotonically increasing clock not related to the wall clock time. It will not change if the user changes their clock or daylight savings time starts, so can be reliably used to compare events. This means, however, that you can't correlate event times to a particular time of day on the system clock. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a1d83a144ef7cb784a34caabc81786538"></a><!-- doxytag: member="PPB_InputEvent::GetType" ref="a1d83a144ef7cb784a34caabc81786538" args=")(PP_Resource event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#gaca7296cfec99fcb6646b7144d1d6a0c5">PP_InputEvent_Type</a>(* <a class="el" href="struct_p_p_b___input_event__1__0.html#a1d83a144ef7cb784a34caabc81786538">PPB_InputEvent::GetType</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> event)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___input_event__1__0.html#a1d83a144ef7cb784a34caabc81786538" title="GetType() returns the type of input event for the given input event resource.">GetType()</a> returns the type of input event for the given input event resource. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to an input event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_InputEvent_Type</code> if its a valid input event or <code>PP_INPUTEVENT_TYPE_UNDEFINED</code> if the resource is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a292409d067d969ee6357af350f6fb544"></a><!-- doxytag: member="PPB_InputEvent::IsInputEvent" ref="a292409d067d969ee6357af350f6fb544" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___input_event__1__0.html#a292409d067d969ee6357af350f6fb544">PPB_InputEvent::IsInputEvent</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___input_event__1__0.html#a292409d067d969ee6357af350f6fb544" title="IsInputEvent() returns true if the given resource is a valid input event resource.">IsInputEvent()</a> returns true if the given resource is a valid input event resource. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a generic resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the given resource is a valid input event resource. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a42dcc8edf80141680e919258f3066069"></a><!-- doxytag: member="PPB_InputEvent::RequestFilteringInputEvents" ref="a42dcc8edf80141680e919258f3066069" args=")(PP_Instance instance, uint32_t event_classes)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___input_event__1__0.html#a42dcc8edf80141680e919258f3066069">PPB_InputEvent::RequestFilteringInputEvents</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, uint32_t event_classes)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___input_event__1__0.html#a42dcc8edf80141680e919258f3066069" title="RequestFilteringInputEvents() requests that input events corresponding to the given input events are ...">RequestFilteringInputEvents()</a> requests that input events corresponding to the given input events are delivered to the instance for filtering. </p>
+<p>By default, no input events are delivered. In most cases you would register to receive events by calling <a class="el" href="struct_p_p_b___input_event__1__0.html#a369d79730ad84d0b8dee9127c114086e" title="RequestInputEvent() requests that input events corresponding to the given input events are delivered ...">RequestInputEvents()</a>. In some cases, however, you may wish to filter events such that they can be bubbled up to the DOM. In this case, register for those classes of events using this function instead of <a class="el" href="struct_p_p_b___input_event__1__0.html#a369d79730ad84d0b8dee9127c114086e" title="RequestInputEvent() requests that input events corresponding to the given input events are delivered ...">RequestInputEvents()</a>.</p>
+<p>Filtering input events requires significantly more overhead than just delivering them to the instance. As such, you should only request filtering in those cases where it's absolutely necessary. The reason is that it requires the browser to stop and block for the instance to handle the input event, rather than sending the input event asynchronously. This can have significant overhead.</p>
+<p><b>Example:</b> </p>
+<div class="fragment"><pre class="fragment"> <a class="code" href="struct_p_p_b___input_event__1__0.html#a369d79730ad84d0b8dee9127c114086e" title="RequestInputEvent() requests that input events corresponding to the given input events are delivered ...">RequestInputEvents</a>(instance, <a class="code" href="group___enums.html#ggafe68e3c1031daa4a6496845ff47649cda79ccc5180eb39c52ab3207f0c876dd52" title="Request mouse input events.">PP_INPUTEVENT_CLASS_MOUSE</a>);
+ <a class="code" href="struct_p_p_b___input_event__1__0.html#a42dcc8edf80141680e919258f3066069" title="RequestFilteringInputEvents() requests that input events corresponding to the given input events are ...">RequestFilteringInputEvents</a>(instance,
+ <a class="code" href="group___enums.html#ggafe68e3c1031daa4a6496845ff47649cda59d6686dbce1f0dc092cb88a451bb3a6" title="Identifies scroll wheel input event.">PP_INPUTEVENT_CLASS_WHEEL</a> | <a class="code" href="group___enums.html#ggafe68e3c1031daa4a6496845ff47649cda2c3341eacc3a459713ce334b9af0cda8" title="Requests keyboard events.">PP_INPUTEVENT_CLASS_KEYBOARD</a>);
+</pre></div><dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_OK</code> if the operation succeeded, <code>PP_ERROR_BADARGUMENT</code> if instance is invalid, or <code>PP_ERROR_NOTSUPPORTED</code> if one of the event class bits were illegal. In the case of an invalid bit, all valid bits will be applied and only the illegal bits will be ignored. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a369d79730ad84d0b8dee9127c114086e"></a><!-- doxytag: member="PPB_InputEvent::RequestInputEvents" ref="a369d79730ad84d0b8dee9127c114086e" args=")(PP_Instance instance, uint32_t event_classes)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___input_event__1__0.html#a369d79730ad84d0b8dee9127c114086e">PPB_InputEvent::RequestInputEvents</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, uint32_t event_classes)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>RequestInputEvent() requests that input events corresponding to the given input events are delivered to the instance. </p>
+<p>It's recommended that you use <a class="el" href="struct_p_p_b___input_event__1__0.html#a42dcc8edf80141680e919258f3066069" title="RequestFilteringInputEvents() requests that input events corresponding to the given input events are ...">RequestFilteringInputEvents()</a> for keyboard events instead of this function so that you don't interfere with normal browser accelerators.</p>
+<p>By default, no input events are delivered. Call this function with the classes of events you are interested in to have them be delivered to the instance. Calling this function will override any previous setting for each specified class of input events (for example, if you previously called <a class="el" href="struct_p_p_b___input_event__1__0.html#a42dcc8edf80141680e919258f3066069" title="RequestFilteringInputEvents() requests that input events corresponding to the given input events are ...">RequestFilteringInputEvents()</a>, this function will set those events to non-filtering mode).</p>
+<p>Input events may have high overhead, so you should only request input events that your plugin will actually handle. For example, the browser may do optimizations for scroll or touch events that can be processed substantially faster if it knows there are no non-default receivers for that message. Requesting that such messages be delivered, even if they are processed very quickly, may have a noticeable effect on the performance of the page.</p>
+<p>Note that synthetic mouse events will be generated from touch events if (and only if) the you do not request touch events.</p>
+<p>When requesting input events through this function, the events will be delivered and <em>not</em> bubbled to the page. This means that even if you aren't interested in the message, no other parts of the page will get a crack at the message.</p>
+<p><b>Example:</b> </p>
+<div class="fragment"><pre class="fragment"> <a class="code" href="struct_p_p_b___input_event__1__0.html#a369d79730ad84d0b8dee9127c114086e" title="RequestInputEvent() requests that input events corresponding to the given input events are delivered ...">RequestInputEvents</a>(instance, <a class="code" href="group___enums.html#ggafe68e3c1031daa4a6496845ff47649cda79ccc5180eb39c52ab3207f0c876dd52" title="Request mouse input events.">PP_INPUTEVENT_CLASS_MOUSE</a>);
+ <a class="code" href="struct_p_p_b___input_event__1__0.html#a42dcc8edf80141680e919258f3066069" title="RequestFilteringInputEvents() requests that input events corresponding to the given input events are ...">RequestFilteringInputEvents</a>(instance,
+ <a class="code" href="group___enums.html#ggafe68e3c1031daa4a6496845ff47649cda59d6686dbce1f0dc092cb88a451bb3a6" title="Identifies scroll wheel input event.">PP_INPUTEVENT_CLASS_WHEEL</a> | <a class="code" href="group___enums.html#ggafe68e3c1031daa4a6496845ff47649cda2c3341eacc3a459713ce334b9af0cda8" title="Requests keyboard events.">PP_INPUTEVENT_CLASS_KEYBOARD</a>);
+</pre></div><dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramname">instance</td><td>The <code>PP_Instance</code> of the instance requesting the given events.</td></tr>
+<tr><td class="paramname">event_classes</td><td>A combination of flags from <code>PP_InputEvent_Class</code> that identifies the classes of events the instance is requesting. The flags are combined by logically ORing their values.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_OK</code> if the operation succeeded, <code>PP_ERROR_BADARGUMENT</code> if instance is invalid, or <code>PP_ERROR_NOTSUPPORTED</code> if one of the event class bits were illegal. In the case of an invalid bit, all valid bits will be applied and only the illegal bits will be ignored. The most common cause of a <code>PP_ERROR_NOTSUPPORTED</code> return value is requesting keyboard events, these must use <a class="el" href="struct_p_p_b___input_event__1__0.html#a42dcc8edf80141680e919258f3066069" title="RequestFilteringInputEvents() requests that input events corresponding to the given input events are ...">RequestFilteringInputEvents()</a>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppb__input__event_8h.html">ppb_input_event.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___instance__1__0.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___instance__1__0.html
new file mode 100644
index 0000000..a9ff51e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___instance__1__0.html
@@ -0,0 +1,69 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_Instance Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_Instance" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___instance__1__0.html#ae5b0da2fc0975c82213f687d96434625">BindGraphics</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> device)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___instance__1__0.html#a1a7dc39b5aa46596c91299047c6ab8b2">IsFullFrame</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The PPB_Instance interface contains pointers to functions related to the module instance on a web page. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="ae5b0da2fc0975c82213f687d96434625"></a><!-- doxytag: member="PPB_Instance::BindGraphics" ref="ae5b0da2fc0975c82213f687d96434625" args=")(PP_Instance instance, PP_Resource device)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___instance__1__0.html#ae5b0da2fc0975c82213f687d96434625">PPB_Instance::BindGraphics</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> device)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___instance__1__0.html#ae5b0da2fc0975c82213f687d96434625" title="BindGraphics() binds the given graphics as the current display surface.">BindGraphics()</a> binds the given graphics as the current display surface. </p>
+<p>The contents of this device is what will be displayed in the instance's area on the web page. The device must be a 2D or a 3D device.</p>
+<p>You can pass a <code>NULL</code> resource as the device parameter to unbind all devices from the given instance. The instance will then appear transparent. Re-binding the same device will return <code>PP_TRUE</code> and will do nothing.</p>
+<p>Any previously-bound device will be released. It is an error to bind a device when it is already bound to another instance. If you want to move a device between instances, first unbind it from the old one, and then rebind it to the new one.</p>
+<p>Binding a device will invalidate that portion of the web page to flush the contents of the new device to the screen.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A PP_Instance identifying one instance of a module. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">device</td><td>A PP_Resource corresponding to a graphics device.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_Bool</code> containing <code>PP_TRUE</code> if bind was successful or <code>PP_FALSE</code> if the device was not the correct type. On success, a reference to the device will be held by the instance, so the caller can release its reference if it chooses. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a1a7dc39b5aa46596c91299047c6ab8b2"></a><!-- doxytag: member="PPB_Instance::IsFullFrame" ref="a1a7dc39b5aa46596c91299047c6ab8b2" args=")(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___instance__1__0.html#a1a7dc39b5aa46596c91299047c6ab8b2">PPB_Instance::IsFullFrame</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___instance__1__0.html#a1a7dc39b5aa46596c91299047c6ab8b2" title="IsFullFrame() determines if the instance is full-frame.">IsFullFrame()</a> determines if the instance is full-frame. </p>
+<p>Such an instance represents the entire document in a frame rather than an embedded resource. This can happen if the user does a top-level navigation or the page specifies an iframe to a resource with a MIME type registered by the module.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> containing <code>PP_TRUE</code> if the instance is full-frame. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppb__instance_8h.html">ppb_instance.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___keyboard_input_event__1__0.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___keyboard_input_event__1__0.html
new file mode 100644
index 0000000..920b25e3
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___keyboard_input_event__1__0.html
@@ -0,0 +1,112 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_KeyboardInputEvent Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_KeyboardInputEvent" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___keyboard_input_event__1__0.html#a4363d350778229bf8651c14321fc218e">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#gaca7296cfec99fcb6646b7144d1d6a0c5">PP_InputEvent_Type</a> type, <a class="el" href="group___typedefs.html#ga71cb1042cdeb38d7881b121f3b09ce94">PP_TimeTicks</a> time_stamp, uint32_t modifiers, uint32_t key_code, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> character_text)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___keyboard_input_event__1__0.html#aa8adda758cb3b4fcaea97862eb8f5e4f">IsKeyboardInputEvent</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___keyboard_input_event__1__0.html#a6fe1d45a20581608f1d8721e91130876">GetKeyCode</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> key_event)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___keyboard_input_event__1__0.html#a8a03b57ca3bde680dc8065c1d4a2099a">GetCharacterText</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> character_event)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_KeyboardInputEvent</code> interface contains pointers to several functions related to keyboard input events. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a4363d350778229bf8651c14321fc218e"></a><!-- doxytag: member="PPB_KeyboardInputEvent::Create" ref="a4363d350778229bf8651c14321fc218e" args=")(PP_Instance instance, PP_InputEvent_Type type, PP_TimeTicks time_stamp, uint32_t modifiers, uint32_t key_code, struct PP_Var character_text)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___keyboard_input_event__1__0.html#a4363d350778229bf8651c14321fc218e">PPB_KeyboardInputEvent::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#gaca7296cfec99fcb6646b7144d1d6a0c5">PP_InputEvent_Type</a> type, <a class="el" href="group___typedefs.html#ga71cb1042cdeb38d7881b121f3b09ce94">PP_TimeTicks</a> time_stamp, uint32_t modifiers, uint32_t key_code, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> character_text)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Creates a keyboard input event with the given parameters. </p>
+<p>Normally you will get a keyboard event passed through the HandleInputEvent and will not need to create them, but some applications may want to create their own for internal use. The type must be one of the keyboard event types.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance for which this event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>A <code>PP_InputEvent_Type</code> identifying the type of input event.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">time_stamp</td><td>A <code>PP_TimeTicks</code> indicating the time when the event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">modifiers</td><td>A bit field combination of the <code>PP_InputEvent_Modifier</code> flags.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">key_code</td><td>This value reflects the DOM KeyboardEvent <code>keyCode</code> field. Chrome populates this with the Windows-style Virtual Key code of the key.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">character_text</td><td>This value represents the typed character as a UTF-8 string.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> containing the new keyboard input event. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a8a03b57ca3bde680dc8065c1d4a2099a"></a><!-- doxytag: member="PPB_KeyboardInputEvent::GetCharacterText" ref="a8a03b57ca3bde680dc8065c1d4a2099a" args=")(PP_Resource character_event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___keyboard_input_event__1__0.html#a8a03b57ca3bde680dc8065c1d4a2099a">PPB_KeyboardInputEvent::GetCharacterText</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> character_event)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___keyboard_input_event__1__0.html#a8a03b57ca3bde680dc8065c1d4a2099a" title="GetCharacterText() returns the typed character as a UTF-8 string for the given character event...">GetCharacterText()</a> returns the typed character as a UTF-8 string for the given character event. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">character_event</td><td>A <code>PP_Resource</code> corresponding to a keyboard event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A string var representing a single typed character for character input events. For non-character input events the return value will be an undefined var. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a6fe1d45a20581608f1d8721e91130876"></a><!-- doxytag: member="PPB_KeyboardInputEvent::GetKeyCode" ref="a6fe1d45a20581608f1d8721e91130876" args=")(PP_Resource key_event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t(* <a class="el" href="struct_p_p_b___keyboard_input_event__1__0.html#a6fe1d45a20581608f1d8721e91130876">PPB_KeyboardInputEvent::GetKeyCode</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> key_event)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___keyboard_input_event__1__0.html#a6fe1d45a20581608f1d8721e91130876" title="GetKeyCode() returns the DOM keyCode field for the keyboard event.">GetKeyCode()</a> returns the DOM keyCode field for the keyboard event. </p>
+<p>Chrome populates this with the Windows-style Virtual Key code of the key.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">key_event</td><td>A <code>PP_Resource</code> corresponding to a keyboard event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The DOM keyCode field for the keyboard event. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aa8adda758cb3b4fcaea97862eb8f5e4f"></a><!-- doxytag: member="PPB_KeyboardInputEvent::IsKeyboardInputEvent" ref="aa8adda758cb3b4fcaea97862eb8f5e4f" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___keyboard_input_event__1__0.html#aa8adda758cb3b4fcaea97862eb8f5e4f">PPB_KeyboardInputEvent::IsKeyboardInputEvent</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___keyboard_input_event__1__0.html#aa8adda758cb3b4fcaea97862eb8f5e4f" title="IsKeyboardInputEvent() determines if a resource is a keyboard event.">IsKeyboardInputEvent()</a> determines if a resource is a keyboard event. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to an event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the given resource is a valid input event. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppb__input__event_8h.html">ppb_input_event.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___media_stream_audio_track__0__1.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___media_stream_audio_track__0__1.html
new file mode 100644
index 0000000..10a807c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___media_stream_audio_track__0__1.html
@@ -0,0 +1,175 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_MediaStreamAudioTrack Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_MediaStreamAudioTrack" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___media_stream_audio_track__0__1.html#a578685c385942e0f9e9e3b041dea4f17">IsMediaStreamAudioTrack</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___media_stream_audio_track__0__1.html#a601dfa7dc958d6e0e33a667fe98cf087">Configure</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> audio_track, uint32_t samples_per_frame, uint32_t max_buffered_frames)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___media_stream_audio_track__0__1.html#a54bbc279f3440f49fbb9ad357ba4d224">GetId</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> audio_track)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___media_stream_audio_track__0__1.html#a21037392fc0a6fb893881fddb204002f">HasEnded</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> audio_track)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___media_stream_audio_track__0__1.html#af63b07a557e11a5bbee56a90b9071535">GetFrame</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> audio_track, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> *frame, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___media_stream_audio_track__0__1.html#aef0d773171eaaf01357982088795e3c4">RecycleFrame</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> audio_track, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> frame)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___media_stream_audio_track__0__1.html#a459bc28c5a626eb4a59a81286e9f8a58">Close</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> audio_track)</td></tr>
+</table>
+<hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a459bc28c5a626eb4a59a81286e9f8a58"></a><!-- doxytag: member="PPB_MediaStreamAudioTrack::Close" ref="a459bc28c5a626eb4a59a81286e9f8a58" args=")(PP_Resource audio_track)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___media_stream_audio_track__0__1.html#a459bc28c5a626eb4a59a81286e9f8a58">PPB_MediaStreamAudioTrack::Close</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> audio_track)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Closes the MediaStream audio track and disconnects it from the audio source. </p>
+<p>After calling <code><a class="el" href="struct_p_p_b___media_stream_audio_track__0__1.html#a459bc28c5a626eb4a59a81286e9f8a58" title="Closes the MediaStream audio track and disconnects it from the audio source.">Close()</a></code>, no new frames will be received.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">audio_track</td><td>A <code>PP_Resource</code> corresponding to a MediaStream audio track resource. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a601dfa7dc958d6e0e33a667fe98cf087"></a><!-- doxytag: member="PPB_MediaStreamAudioTrack::Configure" ref="a601dfa7dc958d6e0e33a667fe98cf087" args=")(PP_Resource audio_track, uint32_t samples_per_frame, uint32_t max_buffered_frames)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___media_stream_audio_track__0__1.html#a601dfa7dc958d6e0e33a667fe98cf087">PPB_MediaStreamAudioTrack::Configure</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> audio_track, uint32_t samples_per_frame, uint32_t max_buffered_frames)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Configures underlying frame buffers for incoming frames. </p>
+<p>If the application doesn't want to drop frames, then the <code>max_buffered_frames</code> should be chosen such that inter-frame processing time variability won't overrun the input buffer. If the buffer is overfilled, then frames will be dropped. The application can detect this by examining the timestamp on returned frames. If <code><a class="el" href="struct_p_p_b___media_stream_audio_track__0__1.html#a601dfa7dc958d6e0e33a667fe98cf087" title="Configures underlying frame buffers for incoming frames.">Configure()</a></code> is not used, default settings will be used.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">audio_track</td><td>A <code>PP_Resource</code> corresponding to an audio resource. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">samples_per_frame</td><td>The number of audio samples in an audio frame. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">max_buffered_frames</td><td>The maximum number of audio frames to hold in the input buffer.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing a result code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="af63b07a557e11a5bbee56a90b9071535"></a><!-- doxytag: member="PPB_MediaStreamAudioTrack::GetFrame" ref="af63b07a557e11a5bbee56a90b9071535" args=")(PP_Resource audio_track, PP_Resource *frame, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___media_stream_audio_track__0__1.html#af63b07a557e11a5bbee56a90b9071535">PPB_MediaStreamAudioTrack::GetFrame</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> audio_track, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> *frame, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the next audio frame from the MediaStream track. </p>
+<p>If internal processing is slower than the incoming frame rate, new frames will be dropped from the incoming stream. Once the input buffer is full, frames will be dropped until <code><a class="el" href="struct_p_p_b___media_stream_audio_track__0__1.html#aef0d773171eaaf01357982088795e3c4" title="Recycles a frame returned by GetFrame(), so the track can reuse the underlying buffer of this frame...">RecycleFrame()</a></code> is called to free a spot for another frame to be buffered. If there are no frames in the input buffer, <code>PP_OK_COMPLETIONPENDING</code> will be returned immediately and the <code>callback</code> will be called, when a new frame is received or an error happens.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">audio_track</td><td>A <code>PP_Resource</code> corresponding to an audio resource. </td></tr>
+<tr><td class="paramdir">[out]</td><td class="paramname">frame</td><td>A <code>PP_Resource</code> corresponding to an AudioFrame resource. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion of <a class="el" href="struct_p_p_b___media_stream_audio_track__0__1.html#af63b07a557e11a5bbee56a90b9071535" title="Gets the next audio frame from the MediaStream track.">GetFrame()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing a result code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. Returns PP_ERROR_NOMEMORY if <code>max_buffered_frames</code> frames buffer was not allocated successfully. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a54bbc279f3440f49fbb9ad357ba4d224"></a><!-- doxytag: member="PPB_MediaStreamAudioTrack::GetId" ref="a54bbc279f3440f49fbb9ad357ba4d224" args=")(PP_Resource audio_track)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___media_stream_audio_track__0__1.html#a54bbc279f3440f49fbb9ad357ba4d224">PPB_MediaStreamAudioTrack::GetId</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> audio_track)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns the track ID of the underlying MediaStream audio track. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">audio_track</td><td>The <code>PP_Resource</code> to check.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> containing the MediaStream track ID as a string. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a21037392fc0a6fb893881fddb204002f"></a><!-- doxytag: member="PPB_MediaStreamAudioTrack::HasEnded" ref="a21037392fc0a6fb893881fddb204002f" args=")(PP_Resource audio_track)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___media_stream_audio_track__0__1.html#a21037392fc0a6fb893881fddb204002f">PPB_MediaStreamAudioTrack::HasEnded</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> audio_track)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Checks whether the underlying MediaStream track has ended. </p>
+<p>Calls to GetFrame while the track has ended are safe to make and will complete, but will fail.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">audio_track</td><td>The <code>PP_Resource</code> to check.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> with <code>PP_TRUE</code> if the given MediaStream track has ended or <code>PP_FALSE</code> otherwise. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a578685c385942e0f9e9e3b041dea4f17"></a><!-- doxytag: member="PPB_MediaStreamAudioTrack::IsMediaStreamAudioTrack" ref="a578685c385942e0f9e9e3b041dea4f17" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___media_stream_audio_track__0__1.html#a578685c385942e0f9e9e3b041dea4f17">PPB_MediaStreamAudioTrack::IsMediaStreamAudioTrack</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Determines if a resource is a MediaStream audio track resource. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>The <code>PP_Resource</code> to test.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> with <code>PP_TRUE</code> if the given resource is a Mediastream audio track resource or <code>PP_FALSE</code> otherwise. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aef0d773171eaaf01357982088795e3c4"></a><!-- doxytag: member="PPB_MediaStreamAudioTrack::RecycleFrame" ref="aef0d773171eaaf01357982088795e3c4" args=")(PP_Resource audio_track, PP_Resource frame)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___media_stream_audio_track__0__1.html#aef0d773171eaaf01357982088795e3c4">PPB_MediaStreamAudioTrack::RecycleFrame</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> audio_track, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> frame)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Recycles a frame returned by <code><a class="el" href="struct_p_p_b___media_stream_audio_track__0__1.html#af63b07a557e11a5bbee56a90b9071535" title="Gets the next audio frame from the MediaStream track.">GetFrame()</a></code>, so the track can reuse the underlying buffer of this frame. </p>
+<p>And the frame will become invalid. The caller should release all references it holds to <code>frame</code> and not use it anymore.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">audio_track</td><td>A <code>PP_Resource</code> corresponding to an audio resource. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">frame</td><td>A <code>PP_Resource</code> corresponding to an AudioFrame resource returned by <code><a class="el" href="struct_p_p_b___media_stream_audio_track__0__1.html#af63b07a557e11a5bbee56a90b9071535" title="Gets the next audio frame from the MediaStream track.">GetFrame()</a></code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing a result code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppb__media__stream__audio__track_8h.html">ppb_media_stream_audio_track.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___media_stream_video_track__0__1.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___media_stream_video_track__0__1.html
new file mode 100644
index 0000000..1eb4699
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___media_stream_video_track__0__1.html
@@ -0,0 +1,174 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_MediaStreamVideoTrack Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_MediaStreamVideoTrack" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___media_stream_video_track__0__1.html#acb36727330ad85fd453547524dab645c">IsMediaStreamVideoTrack</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___media_stream_video_track__0__1.html#a00292de78a0848ba446b9c30f0890df1">Configure</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> video_track, uint32_t max_buffered_frames)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___media_stream_video_track__0__1.html#a929702f82ad867840e7dca32551083c5">GetId</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> video_track)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___media_stream_video_track__0__1.html#a5b2224b56fcbafe375bd9576e6a34e93">HasEnded</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> video_track)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___media_stream_video_track__0__1.html#ad43cf4d43fb51164869f606e059aaa2b">GetFrame</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> video_track, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> *frame, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___media_stream_video_track__0__1.html#a83799a7e7956d469b1864b9810ff1552">RecycleFrame</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> video_track, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> frame)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___media_stream_video_track__0__1.html#ad7a0c8b598e2e8f5a325e4427d963211">Close</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> video_track)</td></tr>
+</table>
+<hr /><h2>Field Documentation</h2>
+<a class="anchor" id="ad7a0c8b598e2e8f5a325e4427d963211"></a><!-- doxytag: member="PPB_MediaStreamVideoTrack::Close" ref="ad7a0c8b598e2e8f5a325e4427d963211" args=")(PP_Resource video_track)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___media_stream_video_track__0__1.html#ad7a0c8b598e2e8f5a325e4427d963211">PPB_MediaStreamVideoTrack::Close</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> video_track)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Closes the MediaStream video track and disconnects it from video source. </p>
+<p>After calling <code><a class="el" href="struct_p_p_b___media_stream_video_track__0__1.html#ad7a0c8b598e2e8f5a325e4427d963211" title="Closes the MediaStream video track and disconnects it from video source.">Close()</a></code>, no new frames will be received.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">video_track</td><td>A <code>PP_Resource</code> corresponding to a MediaStream video track resource. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a00292de78a0848ba446b9c30f0890df1"></a><!-- doxytag: member="PPB_MediaStreamVideoTrack::Configure" ref="a00292de78a0848ba446b9c30f0890df1" args=")(PP_Resource video_track, uint32_t max_buffered_frames)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___media_stream_video_track__0__1.html#a00292de78a0848ba446b9c30f0890df1">PPB_MediaStreamVideoTrack::Configure</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> video_track, uint32_t max_buffered_frames)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Configures underlying frame buffers for incoming frames. </p>
+<p>If the application doesn't want to drop frames, then the <code>max_buffered_frames</code> should be chosen such that inter-frame processing time variability won't overrun the input buffer. If the buffer is overfilled, then frames will be dropped. The application can detect this by examining the timestamp on returned frames. If <code><a class="el" href="struct_p_p_b___media_stream_video_track__0__1.html#a00292de78a0848ba446b9c30f0890df1" title="Configures underlying frame buffers for incoming frames.">Configure()</a></code> is not used, default settings will be used.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">video_track</td><td>A <code>PP_Resource</code> corresponding to a video resource. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">max_buffered_frames</td><td>The maximum number of video frames to hold in the input buffer.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing a result code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ad43cf4d43fb51164869f606e059aaa2b"></a><!-- doxytag: member="PPB_MediaStreamVideoTrack::GetFrame" ref="ad43cf4d43fb51164869f606e059aaa2b" args=")(PP_Resource video_track, PP_Resource *frame, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___media_stream_video_track__0__1.html#ad43cf4d43fb51164869f606e059aaa2b">PPB_MediaStreamVideoTrack::GetFrame</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> video_track, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> *frame, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the next video frame from the MediaStream track. </p>
+<p>If internal processing is slower than the incoming frame rate, new frames will be dropped from the incoming stream. Once the input buffer is full, frames will be dropped until <code><a class="el" href="struct_p_p_b___media_stream_video_track__0__1.html#a83799a7e7956d469b1864b9810ff1552" title="Recycles a frame returned by GetFrame(), so the track can reuse the underlying buffer of this frame...">RecycleFrame()</a></code> is called to free a spot for another frame to be buffered. If there are no frames in the input buffer, <code>PP_OK_COMPLETIONPENDING</code> will be returned immediately and the <code>callback</code> will be called when a new frame is received or an error happens.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">video_track</td><td>A <code>PP_Resource</code> corresponding to a video resource. </td></tr>
+<tr><td class="paramdir">[out]</td><td class="paramname">frame</td><td>A <code>PP_Resource</code> corresponding to a VideoFrame resource. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion of <a class="el" href="struct_p_p_b___media_stream_video_track__0__1.html#ad43cf4d43fb51164869f606e059aaa2b" title="Gets the next video frame from the MediaStream track.">GetFrame()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing a result code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. Returns PP_ERROR_NOMEMORY if <code>max_buffered_frames</code> frames buffer was not allocated successfully. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a929702f82ad867840e7dca32551083c5"></a><!-- doxytag: member="PPB_MediaStreamVideoTrack::GetId" ref="a929702f82ad867840e7dca32551083c5" args=")(PP_Resource video_track)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___media_stream_video_track__0__1.html#a929702f82ad867840e7dca32551083c5">PPB_MediaStreamVideoTrack::GetId</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> video_track)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns the track ID of the underlying MediaStream video track. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">video_track</td><td>The <code>PP_Resource</code> to check.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> containing the MediaStream track ID as a string. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a5b2224b56fcbafe375bd9576e6a34e93"></a><!-- doxytag: member="PPB_MediaStreamVideoTrack::HasEnded" ref="a5b2224b56fcbafe375bd9576e6a34e93" args=")(PP_Resource video_track)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___media_stream_video_track__0__1.html#a5b2224b56fcbafe375bd9576e6a34e93">PPB_MediaStreamVideoTrack::HasEnded</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> video_track)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Checks whether the underlying MediaStream track has ended. </p>
+<p>Calls to GetFrame while the track has ended are safe to make and will complete, but will fail.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">video_track</td><td>The <code>PP_Resource</code> to check.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> with <code>PP_TRUE</code> if the given MediaStream track has ended or <code>PP_FALSE</code> otherwise. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="acb36727330ad85fd453547524dab645c"></a><!-- doxytag: member="PPB_MediaStreamVideoTrack::IsMediaStreamVideoTrack" ref="acb36727330ad85fd453547524dab645c" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___media_stream_video_track__0__1.html#acb36727330ad85fd453547524dab645c">PPB_MediaStreamVideoTrack::IsMediaStreamVideoTrack</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Determines if a resource is a MediaStream video track resource. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>The <code>PP_Resource</code> to test.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> with <code>PP_TRUE</code> if the given resource is a Mediastream video track resource or <code>PP_FALSE</code> otherwise. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a83799a7e7956d469b1864b9810ff1552"></a><!-- doxytag: member="PPB_MediaStreamVideoTrack::RecycleFrame" ref="a83799a7e7956d469b1864b9810ff1552" args=")(PP_Resource video_track, PP_Resource frame)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___media_stream_video_track__0__1.html#a83799a7e7956d469b1864b9810ff1552">PPB_MediaStreamVideoTrack::RecycleFrame</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> video_track, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> frame)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Recycles a frame returned by <code><a class="el" href="struct_p_p_b___media_stream_video_track__0__1.html#ad43cf4d43fb51164869f606e059aaa2b" title="Gets the next video frame from the MediaStream track.">GetFrame()</a></code>, so the track can reuse the underlying buffer of this frame. </p>
+<p>And the frame will become invalid. The caller should release all references it holds to <code>frame</code> and not use it anymore.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">video_track</td><td>A <code>PP_Resource</code> corresponding to a video resource. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">frame</td><td>A <code>PP_Resource</code> corresponding to a VideoFrame resource returned by <code><a class="el" href="struct_p_p_b___media_stream_video_track__0__1.html#ad43cf4d43fb51164869f606e059aaa2b" title="Gets the next video frame from the MediaStream track.">GetFrame()</a></code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing a result code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppb__media__stream__video__track_8h.html">ppb_media_stream_video_track.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___message_loop__1__0.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___message_loop__1__0.html
new file mode 100644
index 0000000..3d51eb1
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___message_loop__1__0.html
@@ -0,0 +1,227 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_MessageLoop Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_MessageLoop" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___message_loop__1__0.html#a2bbe000366ee68200cb97d956b9e33ef">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___message_loop__1__0.html#ab3ac0fdbe4c56d687bcf316552f0a6f6">GetForMainThread</a> )(void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___message_loop__1__0.html#a8049f2ad6395195a673d801b1eeb65df">GetCurrent</a> )(void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___message_loop__1__0.html#ad7e1c1fb0baf6a0446ffb241a6b226b9">AttachToCurrentThread</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> message_loop)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___message_loop__1__0.html#a2262dd5022845450f77b3601578cc22d">Run</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> message_loop)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___message_loop__1__0.html#a77b0e82e183d5295b0d765f70c4fe7ff">PostWork</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> message_loop, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback, int64_t delay_ms)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___message_loop__1__0.html#adbbdc03661c9ac41df82fffcc566603d">PostQuit</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> message_loop, <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> should_destroy)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>A message loop allows PPAPI calls to be issued on a thread. </p>
+<p>You may not issue any API calls on a thread without creating a message loop. It also allows you to post work to the message loop for a thread.</p>
+<p>To process work posted to the message loop, as well as completion callbacks for asynchronous operations, you must run the message loop via <a class="el" href="struct_p_p_b___message_loop__1__0.html#a2262dd5022845450f77b3601578cc22d" title="Runs the thread message loop.">Run()</a>.</p>
+<p>Note the system manages the lifetime of the instance (and all associated resources). If the instance is deleted from the page, background threads may suddenly see their PP_Resource handles become invalid. In this case, calls will fail with PP_ERROR_BADRESOURCE. If you need to access data associated with your instance, you will probably want to create some kind of threadsafe proxy object that can handle asynchronous destruction of the instance object.</p>
+<p>Typical usage: On the main thread:</p>
+<ul>
+<li>Create the thread yourself (using pthreads).</li>
+<li>Create the message loop resource.</li>
+<li>Pass the message loop resource to your thread's main function.</li>
+<li>Call <a class="el" href="struct_p_p_b___message_loop__1__0.html#a77b0e82e183d5295b0d765f70c4fe7ff" title="Schedules work to run on the given message loop.">PostWork()</a> on the message loop to run functions on the thread.</li>
+</ul>
+<p>From the background thread's main function:</p>
+<ul>
+<li>Call <a class="el" href="struct_p_p_b___message_loop__1__0.html#ad7e1c1fb0baf6a0446ffb241a6b226b9" title="Sets the given message loop resource as being the associated message loop for the currently running t...">AttachToCurrentThread()</a> with the message loop resource.</li>
+<li>Call <a class="el" href="struct_p_p_b___message_loop__1__0.html#a2262dd5022845450f77b3601578cc22d" title="Runs the thread message loop.">Run()</a> with the message loop resource.</li>
+</ul>
+<p>Your callbacks should look like this: </p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">void</span> DoMyWork(<span class="keywordtype">void</span>* user_data, int32_t status) {
+ <span class="keywordflow">if</span> (status != <a class="code" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba5c394615cfa8eaceba77ecedb65dc9cb" title="This value is returned by a function on successful synchronous completion or is passed as a result to...">PP_OK</a>) {
+ Cleanup(); <span class="comment">// e.g. free user_data.</span>
+ <span class="keywordflow">return</span>;
+ }
+ ... <span class="keywordflow">do</span> your work...
+ }
+</pre></div><p> For a C++ example, see ppapi/utility/threading/simple_thread.h</p>
+<p>(You can also create the message loop resource on the background thread, but then the main thread will have no reference to it should you want to call <a class="el" href="struct_p_p_b___message_loop__1__0.html#a77b0e82e183d5295b0d765f70c4fe7ff" title="Schedules work to run on the given message loop.">PostWork()</a>).</p>
+<p>THREAD HANDLING</p>
+<p>The main thread has an implicitly created message loop. The main thread is the thread where PPP_InitializeModule and PPP_Instance functions are called. You can retrieve a reference to this message loop by calling <a class="el" href="struct_p_p_b___message_loop__1__0.html#ab3ac0fdbe4c56d687bcf316552f0a6f6" title="Returns a resource identifying the message loop for the main thread.">GetForMainThread()</a> or, if your code is on the main thread, <a class="el" href="struct_p_p_b___message_loop__1__0.html#a8049f2ad6395195a673d801b1eeb65df" title="Returns a reference to the PPB_MessageLoop object attached to the current thread.">GetCurrent()</a> will also work.</p>
+<p>Some special threads created by the system can not have message loops. In particular, the background thread created for audio processing has this requirement because it's intended to be highly responsive to keep up with the realtime requirements of audio processing. You can not make PPAPI calls from these threads.</p>
+<p>Once you associate a message loop with a thread, you don't have to keep a reference to it. The system will hold a reference to the message loop for as long as the thread is running. The current message loop can be retrieved using the <a class="el" href="struct_p_p_b___message_loop__1__0.html#a8049f2ad6395195a673d801b1eeb65df" title="Returns a reference to the PPB_MessageLoop object attached to the current thread.">GetCurrent()</a> function.</p>
+<p>It is legal to create threads in your plugin without message loops, but PPAPI calls will fail unless explicitly noted in the documentation.</p>
+<p>You can create a message loop object on a thread and never actually run the message loop. This will allow you to call blocking PPAPI calls (via <a class="el" href="group___functions.html#ga340e452b4931d17bd44928769490e282" title="PP_BlockUntilComplete() is used in place of an actual completion callback to request blocking behavio...">PP_BlockUntilComplete()</a>). If you make any asynchronous calls, the callbacks from those calls will be queued in the message loop and never run. The same thing will happen if work is scheduled after the message loop exits and the message loop is not run again.</p>
+<p>DESTRUCTION AND ERROR HANDLING</p>
+<p>Often, your application will associate memory with completion callbacks. For example, the C++ CompletionCallbackFactory has a small amount of heap-allocated memory for each callback. This memory will be leaked if the callback is never run. To avoid this memory leak, you need to be careful about error handling and shutdown.</p>
+<p>There are a number of cases where posted callbacks will never be run:</p>
+<ul>
+<li>You tear down the thread (via pthreads) without "destroying" the message loop (via PostQuit with should_destroy = PP_TRUE). In this case, any tasks in the message queue will be lost.</li>
+</ul>
+<ul>
+<li>You create a message loop, post callbacks to it, and never run it.</li>
+</ul>
+<ul>
+<li>You quit the message loop via PostQuit with should_destroy set to PP_FALSE. In this case, the system will assume the message loop will be run again later and keep your tasks.</li>
+</ul>
+<p>To do proper shutdown, call PostQuit with should_destroy = PP_TRUE. This will prohibit future work from being posted, and will allow the message loop to run until all pending tasks are run.</p>
+<p>If you post a callback to a message loop that's been destroyed, or to an invalid message loop, PostWork will return an error and will not run the callback. This is true even for callbacks with the "required" flag set, since the system may not even know what thread to issue the error callback on.</p>
+<p>Therefore, you should check for errors from PostWork and destroy any associated memory to avoid leaks. If you're using the C++ CompletionCallbackFactory, use the following pattern: </p>
+<div class="fragment"><pre class="fragment"> pp::CompletionCallback callback = factory_.NewOptionalCallback(...);
+ int32_t result = message_loop.PostWork(callback);
+ <span class="keywordflow">if</span> (result != <a class="code" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba5c394615cfa8eaceba77ecedb65dc9cb" title="This value is returned by a function on successful synchronous completion or is passed as a result to...">PP_OK</a>)
+ callback.Run(result);
+</pre></div><p> This will run the callback with an error value, and assumes that the implementation of your callback checks the "result" argument and returns immediately on error. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="ad7e1c1fb0baf6a0446ffb241a6b226b9"></a><!-- doxytag: member="PPB_MessageLoop::AttachToCurrentThread" ref="ad7e1c1fb0baf6a0446ffb241a6b226b9" args=")(PP_Resource message_loop)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___message_loop__1__0.html#ad7e1c1fb0baf6a0446ffb241a6b226b9">PPB_MessageLoop::AttachToCurrentThread</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> message_loop)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sets the given message loop resource as being the associated message loop for the currently running thread. </p>
+<p>You must call this function exactly once on a thread before making any PPAPI calls. A message loop can only be attached to one thread, and the message loop can not be changed later. The message loop will be attached as long as the thread is running or until you quit with should_destroy set to PP_TRUE.</p>
+<p>If this function fails, attempting to run the message loop will fail. Note that you can still post work to the message loop: it will get queued up should the message loop eventually be successfully attached and run.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
+<li>PP_OK: The message loop was successfully attached to the thread and is ready to use.</li>
+<li>PP_ERROR_BADRESOURCE: The given message loop resource is invalid.</li>
+<li>PP_ERROR_INPROGRESS: The current thread already has a message loop attached. This will always be the case for the main thread, which has an implicit system-created message loop attached.</li>
+<li>PP_ERROR_WRONG_THREAD: The current thread type can not have a message loop attached to it. See the interface level discussion about these special threads, which include realtime audio threads. </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2bbe000366ee68200cb97d956b9e33ef"></a><!-- doxytag: member="PPB_MessageLoop::Create" ref="a2bbe000366ee68200cb97d956b9e33ef" args=")(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___message_loop__1__0.html#a2bbe000366ee68200cb97d956b9e33ef">PPB_MessageLoop::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Creates a message loop resource. </p>
+<p>This may be called from any thread. After your thread starts but before issuing any other PPAPI calls on it, you must associate it with a message loop by calling AttachToCurrentThread. </p>
+</div>
+</div>
+<a class="anchor" id="a8049f2ad6395195a673d801b1eeb65df"></a><!-- doxytag: member="PPB_MessageLoop::GetCurrent" ref="a8049f2ad6395195a673d801b1eeb65df" args=")(void)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___message_loop__1__0.html#a8049f2ad6395195a673d801b1eeb65df">PPB_MessageLoop::GetCurrent</a>)(void)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns a reference to the PPB_MessageLoop object attached to the current thread. </p>
+<p>If there is no attached message loop, the return value will be 0. </p>
+</div>
+</div>
+<a class="anchor" id="ab3ac0fdbe4c56d687bcf316552f0a6f6"></a><!-- doxytag: member="PPB_MessageLoop::GetForMainThread" ref="ab3ac0fdbe4c56d687bcf316552f0a6f6" args=")(void)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___message_loop__1__0.html#ab3ac0fdbe4c56d687bcf316552f0a6f6">PPB_MessageLoop::GetForMainThread</a>)(void)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns a resource identifying the message loop for the main thread. </p>
+<p>The main thread always has a message loop created by the system. </p>
+</div>
+</div>
+<a class="anchor" id="adbbdc03661c9ac41df82fffcc566603d"></a><!-- doxytag: member="PPB_MessageLoop::PostQuit" ref="adbbdc03661c9ac41df82fffcc566603d" args=")(PP_Resource message_loop, PP_Bool should_destroy)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___message_loop__1__0.html#adbbdc03661c9ac41df82fffcc566603d">PPB_MessageLoop::PostQuit</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> message_loop, <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> should_destroy)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Posts a quit message to the given message loop's work queue. </p>
+<p>Work posted before that point will be processed before quitting.</p>
+<p>This may be called on the message loop registered for the current thread, or it may be called on the message loop registered for another thread. It is an error to attempt to <a class="el" href="struct_p_p_b___message_loop__1__0.html#adbbdc03661c9ac41df82fffcc566603d" title="Posts a quit message to the given message loop's work queue.">PostQuit()</a> the main thread loop.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramname">should_destroy</td><td>Marks the message loop as being in a destroyed state and prevents further posting of messages.</td></tr>
+</table>
+</dd>
+</dl>
+<p>If you quit a message loop without setting should_destroy, it will still be attached to the thread and you can still run it again by calling <a class="el" href="struct_p_p_b___message_loop__1__0.html#a2262dd5022845450f77b3601578cc22d" title="Runs the thread message loop.">Run()</a> again. If you destroy it, it will be detached from the current thread.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
+<li>PP_OK: The request to quit was successfully posted.</li>
+<li>PP_ERROR_BADRESOURCE: The message loop was invalid.</li>
+<li>PP_ERROR_WRONG_THREAD: You are attempting to quit the main thread. The main thread's message loop is managed by the system and can't be quit. </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<a class="anchor" id="a77b0e82e183d5295b0d765f70c4fe7ff"></a><!-- doxytag: member="PPB_MessageLoop::PostWork" ref="a77b0e82e183d5295b0d765f70c4fe7ff" args=")(PP_Resource message_loop, struct PP_CompletionCallback callback, int64_t delay_ms)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___message_loop__1__0.html#a77b0e82e183d5295b0d765f70c4fe7ff">PPB_MessageLoop::PostWork</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> message_loop, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback, int64_t delay_ms)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Schedules work to run on the given message loop. </p>
+<p>This may be called from any thread. Posted work will be executed in the order it was posted when the message loop is <a class="el" href="struct_p_p_b___message_loop__1__0.html#a2262dd5022845450f77b3601578cc22d" title="Runs the thread message loop.">Run()</a>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramname">message_loop</td><td>The message loop resource.</td></tr>
+<tr><td class="paramname">callback</td><td>The completion callback to execute from the message loop.</td></tr>
+<tr><td class="paramname">delay_ms</td><td>The number of milliseconds to delay execution of the given completion callback. Passing 0 means it will get queued normally and executed in order.</td></tr>
+</table>
+</dd>
+</dl>
+<p>The completion callback will be called with PP_OK as the "result" parameter if it is run normally. It is good practice to check for PP_OK and return early otherwise.</p>
+<p>The "required" flag on the completion callback is ignored. If there is an error posting your callback, the error will be returned from PostWork and the callback will never be run (because there is no appropriate place to run your callback with an error without causing unexpected threading problems). If you associate memory with the completion callback (for example, you're using the C++ CompletionCallbackFactory), you will need to free this or manually run the callback. See "Destruction and error
+ handling" above.</p>
+<p>You can call this function before the message loop has started and the work will get queued until the message loop is run. You can also post work after the message loop has exited as long as should_destroy was PP_FALSE. It will be queued until the next invocation of <a class="el" href="struct_p_p_b___message_loop__1__0.html#a2262dd5022845450f77b3601578cc22d" title="Runs the thread message loop.">Run()</a>.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
+<li>PP_OK: The work was posted to the message loop's queue. As described above, this does not mean that the work has been or will be executed (if you never run the message loop after posting).</li>
+<li>PP_ERROR_BADRESOURCE: The given message loop resource is invalid.</li>
+<li>PP_ERROR_BADARGUMENT: The function pointer for the completion callback is null (this will be the case if you pass <a class="el" href="group___functions.html#ga340e452b4931d17bd44928769490e282" title="PP_BlockUntilComplete() is used in place of an actual completion callback to request blocking behavio...">PP_BlockUntilComplete()</a>).</li>
+<li>PP_ERROR_FAILED: The message loop has been destroyed. </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2262dd5022845450f77b3601578cc22d"></a><!-- doxytag: member="PPB_MessageLoop::Run" ref="a2262dd5022845450f77b3601578cc22d" args=")(PP_Resource message_loop)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___message_loop__1__0.html#a2262dd5022845450f77b3601578cc22d">PPB_MessageLoop::Run</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> message_loop)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Runs the thread message loop. </p>
+<p>Running the message loop is required for you to get issued completion callbacks on the thread.</p>
+<p>The message loop identified by the argument must have been previously successfully attached to the current thread.</p>
+<p>You may not run nested message loops. Since the main thread has an implicit message loop that the system runs, you may not call Run on the main thread.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
+<li>PP_OK: The message loop was successfully run. Note that on success, the message loop will only exit when you call <a class="el" href="struct_p_p_b___message_loop__1__0.html#adbbdc03661c9ac41df82fffcc566603d" title="Posts a quit message to the given message loop's work queue.">PostQuit()</a>.</li>
+<li>PP_ERROR_BADRESOURCE: The given message loop resource is invalid.</li>
+<li>PP_ERROR_WRONG_THREAD: You are attempting to run a message loop that has not been successfully attached to the current thread. Call <a class="el" href="struct_p_p_b___message_loop__1__0.html#ad7e1c1fb0baf6a0446ffb241a6b226b9" title="Sets the given message loop resource as being the associated message loop for the currently running t...">AttachToCurrentThread()</a>.</li>
+<li>PP_ERROR_INPROGRESS: You are attempting to call Run in a nested fashion (Run is already on the stack). This will occur if you attempt to call run on the main thread's message loop (see above). </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppb__message__loop_8h.html">ppb_message_loop.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___messaging__1__0.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___messaging__1__0.html
new file mode 100644
index 0000000..e9420cf
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___messaging__1__0.html
@@ -0,0 +1,65 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_Messaging Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_Messaging" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___messaging__1__0.html#a7f0412c47b340d21c9c98be2e83dcc53">PostMessage</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> message)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_Messaging</code> interface is implemented by the browser and is related to sending messages to JavaScript message event listeners on the DOM element associated with specific module instance. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a7f0412c47b340d21c9c98be2e83dcc53"></a><!-- doxytag: member="PPB_Messaging::PostMessage" ref="a7f0412c47b340d21c9c98be2e83dcc53" args=")(PP_Instance instance, struct PP_Var message)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___messaging__1__0.html#a7f0412c47b340d21c9c98be2e83dcc53">PPB_Messaging::PostMessage</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> message)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___messaging__1__0.html#a7f0412c47b340d21c9c98be2e83dcc53" title="PostMessage() asynchronously invokes any listeners for message events on the DOM element for the give...">PostMessage()</a> asynchronously invokes any listeners for message events on the DOM element for the given module instance. </p>
+<p>A call to <a class="el" href="struct_p_p_b___messaging__1__0.html#a7f0412c47b340d21c9c98be2e83dcc53" title="PostMessage() asynchronously invokes any listeners for message events on the DOM element for the give...">PostMessage()</a> will not block while the message is processed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">message</td><td>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> containing the data to be sent to JavaScript. <code>message</code> can be any <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> type except <code>PP_VARTYPE_OBJECT</code>. Array/Dictionary types are supported from Chrome M29 onward. All var types are copied when passing them to JavaScript.</td></tr>
+</table>
+</dd>
+</dl>
+<p>When passing array or dictionary <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code>s, the entire reference graph will be converted and transferred. If the reference graph has cycles, the message will not be sent and an error will be logged to the console.</p>
+<p>Listeners for message events in JavaScript code will receive an object conforming to the HTML 5 <code>MessageEvent</code> interface. Specifically, the value of message will be contained as a property called data in the received <code>MessageEvent</code>.</p>
+<p>This messaging system is similar to the system used for listening for messages from Web Workers. Refer to <code><a href="http://www.whatwg.org/specs/web-workers/current-work/">http://www.whatwg.org/specs/web-workers/current-work/</a></code> for further information.</p>
+<p><b>Example:</b></p>
+<div class="fragment"><pre class="fragment"> <body>
+ <<span class="keywordtype">object</span> <span class="keywordtype">id</span>=<span class="stringliteral">"plugin"</span>
+ type=<span class="stringliteral">"application/x-ppapi-postMessage-example"</span>/>
+ <script type=<span class="stringliteral">"text/javascript"</span>>
+ var plugin = document.getElementById(<span class="stringliteral">'plugin'</span>);
+ plugin.addEventListener(<span class="stringliteral">"message"</span>,
+ <span class="keyword">function</span>(message) { alert(message.data); },
+ <span class="keyword">false</span>);
+ </script>
+ </body>
+</pre></div><p>The module instance then invokes <a class="el" href="struct_p_p_b___messaging__1__0.html#a7f0412c47b340d21c9c98be2e83dcc53" title="PostMessage() asynchronously invokes any listeners for message events on the DOM element for the give...">PostMessage()</a> as follows:</p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">char</span> hello_world[] = <span class="stringliteral">"Hello world!"</span>;
+ <a class="code" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a> hello_var = ppb_var_interface->VarFromUtf8(instance,
+ hello_world,
+ <span class="keyword">sizeof</span>(hello_world));
+ ppb_messaging_interface->PostMessage(instance, hello_var); <span class="comment">// Copies var.</span>
+ ppb_var_interface->Release(hello_var);
+</pre></div><p>The browser will pop-up an alert saying "Hello world!" </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppb__messaging_8h.html">ppb_messaging.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___mouse_cursor__1__0.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___mouse_cursor__1__0.html
new file mode 100644
index 0000000..efc1dc4
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___mouse_cursor__1__0.html
@@ -0,0 +1,47 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_MouseCursor Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_MouseCursor" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___mouse_cursor__1__0.html#affb0522468db2deccac0715c3997c2da">SetCursor</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, enum <a class="el" href="group___enums.html#gac53273018386c1db9542d2a06bbe118b">PP_MouseCursor_Type</a> type, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> image, const struct <a class="el" href="struct_p_p___point.html">PP_Point</a> *hot_spot)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_MouseCursor</code> allows setting the mouse cursor. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="affb0522468db2deccac0715c3997c2da"></a><!-- doxytag: member="PPB_MouseCursor::SetCursor" ref="affb0522468db2deccac0715c3997c2da" args=")(PP_Instance instance, enum PP_MouseCursor_Type type, PP_Resource image, const struct PP_Point *hot_spot)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___mouse_cursor__1__0.html#affb0522468db2deccac0715c3997c2da">PPB_MouseCursor::SetCursor</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, enum <a class="el" href="group___enums.html#gac53273018386c1db9542d2a06bbe118b">PP_MouseCursor_Type</a> type, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> image, const struct <a class="el" href="struct_p_p___point.html">PP_Point</a> *hot_spot)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sets the given mouse cursor. </p>
+<p>The mouse cursor will be in effect whenever the mouse is over the given instance until it is set again by another call. Note that you can hide the mouse cursor by setting it to the <code>PP_MOUSECURSOR_TYPE_NONE</code> type.</p>
+<p>This function allows setting both system defined mouse cursors and custom cursors. To set a system-defined cursor, pass the type you want and set the custom image to 0 and the hot spot to NULL. To set a custom cursor, set the type to <code>PP_MOUSECURSOR_TYPE_CUSTOM</code> and specify your image and hot spot.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying the instance that the mouse cursor will affect.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>A <code>PP_MouseCursor_Type</code> identifying the type of mouse cursor to show.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">image</td><td>A <code>PPB_ImageData</code> resource identifying the custom image to set when the type is <code>PP_MOUSECURSOR_TYPE_CUSTOM</code>. The image must be less than 32 pixels in each direction and must be of the system's native image format. When you are specifying a predefined cursor, this parameter must be 0.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">hot_spot</td><td>When setting a custom cursor, this identifies the pixel position within the given image of the "hot spot" of the cursor. When specifying a stock cursor, this parameter is ignored.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>PP_TRUE on success, or PP_FALSE if the instance or cursor type is invalid, or if the image is too large. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppb__mouse__cursor_8h.html">ppb_mouse_cursor.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___mouse_input_event__1__1.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___mouse_input_event__1__1.html
new file mode 100644
index 0000000..8b4bfaf
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___mouse_input_event__1__1.html
@@ -0,0 +1,148 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_MouseInputEvent Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_MouseInputEvent" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___mouse_input_event__1__1.html#a3bde5af35e13f10a3472132e82b8bb45">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#gaca7296cfec99fcb6646b7144d1d6a0c5">PP_InputEvent_Type</a> type, <a class="el" href="group___typedefs.html#ga71cb1042cdeb38d7881b121f3b09ce94">PP_TimeTicks</a> time_stamp, uint32_t modifiers, <a class="el" href="group___enums.html#ga25113f3c8d33e863fd38b3f70f8a5e6e">PP_InputEvent_MouseButton</a> mouse_button, const struct <a class="el" href="struct_p_p___point.html">PP_Point</a> *mouse_position, int32_t click_count, const struct <a class="el" href="struct_p_p___point.html">PP_Point</a> *mouse_movement)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___mouse_input_event__1__1.html#a4cf50f1f5527cf7e66788d4b47ae1638">IsMouseInputEvent</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga25113f3c8d33e863fd38b3f70f8a5e6e">PP_InputEvent_MouseButton</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___mouse_input_event__1__1.html#a7a90bf6abb794ca5c42af76d8fd71d22">GetButton</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> mouse_event)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___point.html">PP_Point</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___mouse_input_event__1__1.html#ab7c3f20bd61bec3db563a7956fdeb7e0">GetPosition</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> mouse_event)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___mouse_input_event__1__1.html#a2850b783ad0136b5818d876a1a01af22">GetClickCount</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> mouse_event)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___point.html">PP_Point</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___mouse_input_event__1__1.html#a043229000d9f7d9436ae8a963bb6aca1">GetMovement</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> mouse_event)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_MouseInputEvent</code> interface contains pointers to several functions related to mouse input events. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a3bde5af35e13f10a3472132e82b8bb45"></a><!-- doxytag: member="PPB_MouseInputEvent::Create" ref="a3bde5af35e13f10a3472132e82b8bb45" args=")(PP_Instance instance, PP_InputEvent_Type type, PP_TimeTicks time_stamp, uint32_t modifiers, PP_InputEvent_MouseButton mouse_button, const struct PP_Point *mouse_position, int32_t click_count, const struct PP_Point *mouse_movement)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___mouse_input_event__1__1.html#a3bde5af35e13f10a3472132e82b8bb45">PPB_MouseInputEvent::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#gaca7296cfec99fcb6646b7144d1d6a0c5">PP_InputEvent_Type</a> type, <a class="el" href="group___typedefs.html#ga71cb1042cdeb38d7881b121f3b09ce94">PP_TimeTicks</a> time_stamp, uint32_t modifiers, <a class="el" href="group___enums.html#ga25113f3c8d33e863fd38b3f70f8a5e6e">PP_InputEvent_MouseButton</a> mouse_button, const struct <a class="el" href="struct_p_p___point.html">PP_Point</a> *mouse_position, int32_t click_count, const struct <a class="el" href="struct_p_p___point.html">PP_Point</a> *mouse_movement)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___mouse_input_event__1__1.html#a3bde5af35e13f10a3472132e82b8bb45" title="Create() creates a mouse input event with the given parameters.">Create()</a> creates a mouse input event with the given parameters. </p>
+<p>Normally you will get a mouse event passed through the <code>HandleInputEvent</code> and will not need to create them, but some applications may want to create their own for internal use. The type must be one of the mouse event types.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance for which this event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>A <code>PP_InputEvent_Type</code> identifying the type of input event.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">time_stamp</td><td>A <code>PP_TimeTicks</code> indicating the time when the event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">modifiers</td><td>A bit field combination of the <code>PP_InputEvent_Modifier</code> flags.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">mouse_button</td><td>The button that changed for mouse down or up events. This value will be <code>PP_EVENT_MOUSEBUTTON_NONE</code> for mouse move, enter, and leave events.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">mouse_position</td><td>A <code>Point</code> containing the x and y position of the mouse when the event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">mouse_movement</td><td>The change in position of the mouse.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> containing the new mouse input event. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a7a90bf6abb794ca5c42af76d8fd71d22"></a><!-- doxytag: member="PPB_MouseInputEvent::GetButton" ref="a7a90bf6abb794ca5c42af76d8fd71d22" args=")(PP_Resource mouse_event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga25113f3c8d33e863fd38b3f70f8a5e6e">PP_InputEvent_MouseButton</a>(* <a class="el" href="struct_p_p_b___mouse_input_event__1__1.html#a7a90bf6abb794ca5c42af76d8fd71d22">PPB_MouseInputEvent::GetButton</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> mouse_event)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___mouse_input_event__1__1.html#a7a90bf6abb794ca5c42af76d8fd71d22" title="GetButton() returns the mouse button that generated a mouse down or up event.">GetButton()</a> returns the mouse button that generated a mouse down or up event. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">mouse_event</td><td>A <code>PP_Resource</code> corresponding to a mouse event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The mouse button associated with mouse down and up events. This value will be <code>PP_EVENT_MOUSEBUTTON_NONE</code> for mouse move, enter, and leave events, and for all non-mouse events. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2850b783ad0136b5818d876a1a01af22"></a><!-- doxytag: member="PPB_MouseInputEvent::GetClickCount" ref="a2850b783ad0136b5818d876a1a01af22" args=")(PP_Resource mouse_event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___mouse_input_event__1__1.html#a2850b783ad0136b5818d876a1a01af22">PPB_MouseInputEvent::GetClickCount</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> mouse_event)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a043229000d9f7d9436ae8a963bb6aca1"></a><!-- doxytag: member="PPB_MouseInputEvent::GetMovement" ref="a043229000d9f7d9436ae8a963bb6aca1" args=")(PP_Resource mouse_event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___point.html">PP_Point</a>(* <a class="el" href="struct_p_p_b___mouse_input_event__1__1.html#a043229000d9f7d9436ae8a963bb6aca1">PPB_MouseInputEvent::GetMovement</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> mouse_event)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns the change in position of the mouse. </p>
+<p>When the mouse is locked, although the mouse position doesn't actually change, this function still provides movement information, which indicates what the change in position would be had the mouse not been locked.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">mouse_event</td><td>A <code>PP_Resource</code> corresponding to a mouse event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The change in position of the mouse, relative to the previous position. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab7c3f20bd61bec3db563a7956fdeb7e0"></a><!-- doxytag: member="PPB_MouseInputEvent::GetPosition" ref="ab7c3f20bd61bec3db563a7956fdeb7e0" args=")(PP_Resource mouse_event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___point.html">PP_Point</a>(* <a class="el" href="struct_p_p_b___mouse_input_event__1__1.html#ab7c3f20bd61bec3db563a7956fdeb7e0">PPB_MouseInputEvent::GetPosition</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> mouse_event)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___mouse_input_event__1__1.html#ab7c3f20bd61bec3db563a7956fdeb7e0" title="GetPosition() returns the pixel location of a mouse input event.">GetPosition()</a> returns the pixel location of a mouse input event. </p>
+<p>When the mouse is locked, it returns the last known mouse position just as mouse lock was entered.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">mouse_event</td><td>A <code>PP_Resource</code> corresponding to a mouse event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The point associated with the mouse event, relative to the upper- left of the instance receiving the event. These values can be negative for mouse drags. The return value will be (0, 0) for non-mouse events. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a4cf50f1f5527cf7e66788d4b47ae1638"></a><!-- doxytag: member="PPB_MouseInputEvent::IsMouseInputEvent" ref="a4cf50f1f5527cf7e66788d4b47ae1638" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___mouse_input_event__1__1.html#a4cf50f1f5527cf7e66788d4b47ae1638">PPB_MouseInputEvent::IsMouseInputEvent</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___mouse_input_event__1__1.html#a4cf50f1f5527cf7e66788d4b47ae1638" title="IsMouseInputEvent() determines if a resource is a mouse event.">IsMouseInputEvent()</a> determines if a resource is a mouse event. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to an event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the given resource is a valid mouse input event, otherwise <code>PP_FALSE</code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppb__input__event_8h.html">ppb_input_event.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___mouse_lock__1__0.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___mouse_lock__1__0.html
new file mode 100644
index 0000000..4fa3962
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___mouse_lock__1__0.html
@@ -0,0 +1,67 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_MouseLock Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_MouseLock" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___mouse_lock__1__0.html#ac137bc2d66abfa39428ea67236c85401">LockMouse</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___mouse_lock__1__0.html#a1b9ab648a3638b469be6235d4c76d634">UnlockMouse</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_MouseLock</code> interface is implemented by the browser. </p>
+<p>This interface provides a way of locking the target of mouse events to a single module instance and removing the cursor from view. This mode is useful for certain classes of applications, especially first-person perspective 3D applications and 3D modeling software. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="ac137bc2d66abfa39428ea67236c85401"></a><!-- doxytag: member="PPB_MouseLock::LockMouse" ref="ac137bc2d66abfa39428ea67236c85401" args=")(PP_Instance instance, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___mouse_lock__1__0.html#ac137bc2d66abfa39428ea67236c85401">PPB_MouseLock::LockMouse</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___mouse_lock__1__0.html#ac137bc2d66abfa39428ea67236c85401" title="LockMouse() requests the mouse to be locked.">LockMouse()</a> requests the mouse to be locked. </p>
+<p>While the mouse is locked, the cursor is implicitly hidden from the user. Any movement of the mouse will generate a <code>PP_INPUTEVENT_TYPE_MOUSEMOVE</code> event. The <code>GetPosition()</code> function in the <code>PPB_MouseInputEvent</code> interface reports the last known mouse position just as mouse lock was entered. The <code>GetMovement()</code> function provides relative movement information indicating what the change in position of the mouse would be had it not been locked.</p>
+<p>The browser may revoke the mouse lock for reasons including (but not limited to) the user pressing the ESC key, the user activating another program using a reserved keystroke (e.g. ALT+TAB), or some other system event.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a1b9ab648a3638b469be6235d4c76d634"></a><!-- doxytag: member="PPB_MouseLock::UnlockMouse" ref="a1b9ab648a3638b469be6235d4c76d634" args=")(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___mouse_lock__1__0.html#a1b9ab648a3638b469be6235d4c76d634">PPB_MouseLock::UnlockMouse</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___mouse_lock__1__0.html#a1b9ab648a3638b469be6235d4c76d634" title="UnlockMouse() causes the mouse to be unlocked, allowing it to track user movement again...">UnlockMouse()</a> causes the mouse to be unlocked, allowing it to track user movement again. </p>
+<p>This is an asynchronous operation. The module instance will be notified using the <code>PPP_MouseLock</code> interface when it has lost the mouse lock.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppb__mouse__lock_8h.html">ppb_mouse_lock.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___net_address__1__0.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___net_address__1__0.html
new file mode 100644
index 0000000..ff60365c6
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___net_address__1__0.html
@@ -0,0 +1,176 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_NetAddress Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_NetAddress" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___net_address__1__0.html#a82fab17541bec1817622932f102afdf9">CreateFromIPv4Address</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, const struct <a class="el" href="struct_p_p___net_address___i_pv4.html">PP_NetAddress_IPv4</a> *ipv4_addr)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___net_address__1__0.html#a7531096a8ddbda89e83b1b57958337df">CreateFromIPv6Address</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, const struct <a class="el" href="struct_p_p___net_address___i_pv6.html">PP_NetAddress_IPv6</a> *ipv6_addr)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___net_address__1__0.html#a13f63cdfe4ee93b2539f73ec23739422">IsNetAddress</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga43636bcadf9aa312a4c345d210ae6c55">PP_NetAddress_Family</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___net_address__1__0.html#a139a1f09d00f0dcfce2eaad70af24124">GetFamily</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___net_address__1__0.html#a7552e536b89cc3aa4415f41a5c7ee7ee">DescribeAsString</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr, <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> include_port)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___net_address__1__0.html#af04c1b08407b0db414d796d2c733f0c0">DescribeAsIPv4Address</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr, struct <a class="el" href="struct_p_p___net_address___i_pv4.html">PP_NetAddress_IPv4</a> *ipv4_addr)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___net_address__1__0.html#a613670dcb447c3c32c2b39c8faa14b88">DescribeAsIPv6Address</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr, struct <a class="el" href="struct_p_p___net_address___i_pv6.html">PP_NetAddress_IPv6</a> *ipv6_addr)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_NetAddress</code> interface provides operations on network addresses. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a82fab17541bec1817622932f102afdf9"></a><!-- doxytag: member="PPB_NetAddress::CreateFromIPv4Address" ref="a82fab17541bec1817622932f102afdf9" args=")(PP_Instance instance, const struct PP_NetAddress_IPv4 *ipv4_addr)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___net_address__1__0.html#a82fab17541bec1817622932f102afdf9">PPB_NetAddress::CreateFromIPv4Address</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, const struct <a class="el" href="struct_p_p___net_address___i_pv4.html">PP_NetAddress_IPv4</a> *ipv4_addr)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Creates a <code>PPB_NetAddress</code> resource with the specified IPv4 address. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">ipv4_addr</td><td>An IPv4 address.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> representing the same address as <code>ipv4_addr</code> or 0 on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a7531096a8ddbda89e83b1b57958337df"></a><!-- doxytag: member="PPB_NetAddress::CreateFromIPv6Address" ref="a7531096a8ddbda89e83b1b57958337df" args=")(PP_Instance instance, const struct PP_NetAddress_IPv6 *ipv6_addr)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___net_address__1__0.html#a7531096a8ddbda89e83b1b57958337df">PPB_NetAddress::CreateFromIPv6Address</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, const struct <a class="el" href="struct_p_p___net_address___i_pv6.html">PP_NetAddress_IPv6</a> *ipv6_addr)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Creates a <code>PPB_NetAddress</code> resource with the specified IPv6 address. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">ipv6_addr</td><td>An IPv6 address.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> representing the same address as <code>ipv6_addr</code> or 0 on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="af04c1b08407b0db414d796d2c733f0c0"></a><!-- doxytag: member="PPB_NetAddress::DescribeAsIPv4Address" ref="af04c1b08407b0db414d796d2c733f0c0" args=")(PP_Resource addr, struct PP_NetAddress_IPv4 *ipv4_addr)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___net_address__1__0.html#af04c1b08407b0db414d796d2c733f0c0">PPB_NetAddress::DescribeAsIPv4Address</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr, struct <a class="el" href="struct_p_p___net_address___i_pv4.html">PP_NetAddress_IPv4</a> *ipv4_addr)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Fills a <code><a class="el" href="struct_p_p___net_address___i_pv4.html" title="All members are expressed in network byte order.">PP_NetAddress_IPv4</a></code> structure if the network address is of <code>PP_NETADDRESS_FAMILY_IPV4</code> address family. </p>
+<p>Note that passing a network address of <code>PP_NETADDRESS_FAMILY_IPV6</code> address family will fail even if the address is an IPv4-mapped IPv6 address.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>A <code>PP_Resource</code> corresponding to a network address. </td></tr>
+<tr><td class="paramdir">[out]</td><td class="paramname">ipv4_addr</td><td>A <code><a class="el" href="struct_p_p___net_address___i_pv4.html" title="All members are expressed in network byte order.">PP_NetAddress_IPv4</a></code> structure to store the result.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> value indicating whether the operation succeeded. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a613670dcb447c3c32c2b39c8faa14b88"></a><!-- doxytag: member="PPB_NetAddress::DescribeAsIPv6Address" ref="a613670dcb447c3c32c2b39c8faa14b88" args=")(PP_Resource addr, struct PP_NetAddress_IPv6 *ipv6_addr)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___net_address__1__0.html#a613670dcb447c3c32c2b39c8faa14b88">PPB_NetAddress::DescribeAsIPv6Address</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr, struct <a class="el" href="struct_p_p___net_address___i_pv6.html">PP_NetAddress_IPv6</a> *ipv6_addr)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Fills a <code><a class="el" href="struct_p_p___net_address___i_pv6.html" title="All members are expressed in network byte order.">PP_NetAddress_IPv6</a></code> structure if the network address is of <code>PP_NETADDRESS_FAMILY_IPV6</code> address family. </p>
+<p>Note that passing a network address of <code>PP_NETADDRESS_FAMILY_IPV4</code> address family will fail - this method doesn't map it to an IPv6 address.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>A <code>PP_Resource</code> corresponding to a network address. </td></tr>
+<tr><td class="paramdir">[out]</td><td class="paramname">ipv6_addr</td><td>A <code><a class="el" href="struct_p_p___net_address___i_pv6.html" title="All members are expressed in network byte order.">PP_NetAddress_IPv6</a></code> structure to store the result.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> value indicating whether the operation succeeded. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a7552e536b89cc3aa4415f41a5c7ee7ee"></a><!-- doxytag: member="PPB_NetAddress::DescribeAsString" ref="a7552e536b89cc3aa4415f41a5c7ee7ee" args=")(PP_Resource addr, PP_Bool include_port)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___net_address__1__0.html#a7552e536b89cc3aa4415f41a5c7ee7ee">PPB_NetAddress::DescribeAsString</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr, <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> include_port)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns a human-readable description of the network address. </p>
+<p>The description is in the form of host [ ":" port ] and conforms to <a href="http://tools.ietf.org/html/rfc3986#section-3.2">http://tools.ietf.org/html/rfc3986#section-3.2</a> for IPv4 and IPv6 addresses (e.g., "192.168.0.1", "192.168.0.1:99", or "[::1]:80").</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>A <code>PP_Resource</code> corresponding to a network address. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">include_port</td><td>Whether to include the port number in the description.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A string <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> on success; an undefined <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a139a1f09d00f0dcfce2eaad70af24124"></a><!-- doxytag: member="PPB_NetAddress::GetFamily" ref="a139a1f09d00f0dcfce2eaad70af24124" args=")(PP_Resource addr)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga43636bcadf9aa312a4c345d210ae6c55">PP_NetAddress_Family</a>(* <a class="el" href="struct_p_p_b___net_address__1__0.html#a139a1f09d00f0dcfce2eaad70af24124">PPB_NetAddress::GetFamily</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the address family. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>A <code>PP_Resource</code> corresponding to a network address.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The address family on success; <code>PP_NETADDRESS_FAMILY_UNSPECIFIED</code> on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a13f63cdfe4ee93b2539f73ec23739422"></a><!-- doxytag: member="PPB_NetAddress::IsNetAddress" ref="a13f63cdfe4ee93b2539f73ec23739422" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___net_address__1__0.html#a13f63cdfe4ee93b2539f73ec23739422">PPB_NetAddress::IsNetAddress</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Determines if a given resource is a network address. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> to check.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the input is a <code>PPB_NetAddress</code> resource; <code>PP_FALSE</code> otherwise. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppb__net__address_8h.html">ppb_net_address.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___network_list__1__0.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___network_list__1__0.html
new file mode 100644
index 0000000..9540f07
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___network_list__1__0.html
@@ -0,0 +1,197 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_NetworkList Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_NetworkList" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_list__1__0.html#ac8ab7ecff9909962a839d10f6e571954">IsNetworkList</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_list__1__0.html#a9240190a389e0068088e604704b153de">GetCount</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_list__1__0.html#a59fdecb98a8a25e7bf257d7106d74bae">GetName</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, uint32_t index)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga1c967cb753eb468493b3bf72e6733983">PP_NetworkList_Type</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_list__1__0.html#ae272fca616d11a27ea09c06a0659e0cc">GetType</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, uint32_t index)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga9188881b5d3346626db0ea8e6aaecf1f">PP_NetworkList_State</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_list__1__0.html#a2d9043e33c1c09f9eeea4b49be1629b1">GetState</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, uint32_t index)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_list__1__0.html#a0dcbe767aed13b3b3492343eb0aa9756">GetIpAddresses</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, uint32_t index, struct <a class="el" href="struct_p_p___array_output.html">PP_ArrayOutput</a> output)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_list__1__0.html#a54e77303af12f276181b32ff94820bd8">GetDisplayName</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, uint32_t index)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_list__1__0.html#a19ecaf7b4627fe7f5d2b0edf02232e8f">GetMTU</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, uint32_t index)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_NetworkList</code> is used to represent a list of network interfaces and their configuration. </p>
+<p>The content of the list is immutable. The current networks configuration can be received using the <code>PPB_NetworkMonitor</code> interface. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a9240190a389e0068088e604704b153de"></a><!-- doxytag: member="PPB_NetworkList::GetCount" ref="a9240190a389e0068088e604704b153de" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t(* <a class="el" href="struct_p_p_b___network_list__1__0.html#a9240190a389e0068088e604704b153de">PPB_NetworkList::GetCount</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets number of interfaces in the list. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a network list.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns number of available network interfaces or 0 if the list has never been updated. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a54e77303af12f276181b32ff94820bd8"></a><!-- doxytag: member="PPB_NetworkList::GetDisplayName" ref="a54e77303af12f276181b32ff94820bd8" args=")(PP_Resource resource, uint32_t index)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___network_list__1__0.html#a54e77303af12f276181b32ff94820bd8">PPB_NetworkList::GetDisplayName</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, uint32_t index)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets display name of a network interface. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a network list. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>Index of the network interface.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns display name for the network interface with the specified <code>index</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a0dcbe767aed13b3b3492343eb0aa9756"></a><!-- doxytag: member="PPB_NetworkList::GetIpAddresses" ref="a0dcbe767aed13b3b3492343eb0aa9756" args=")(PP_Resource resource, uint32_t index, struct PP_ArrayOutput output)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___network_list__1__0.html#a0dcbe767aed13b3b3492343eb0aa9756">PPB_NetworkList::GetIpAddresses</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, uint32_t index, struct <a class="el" href="struct_p_p___array_output.html">PP_ArrayOutput</a> output)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets list of IP addresses for a network interface. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a network list. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>Index of the network interface. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">output</td><td>An output array which will receive <code>PPB_NetAddress</code> resources on success. Please note that the ref count of those resources has already been increased by 1 for the caller.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a19ecaf7b4627fe7f5d2b0edf02232e8f"></a><!-- doxytag: member="PPB_NetworkList::GetMTU" ref="a19ecaf7b4627fe7f5d2b0edf02232e8f" args=")(PP_Resource resource, uint32_t index)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t(* <a class="el" href="struct_p_p_b___network_list__1__0.html#a19ecaf7b4627fe7f5d2b0edf02232e8f">PPB_NetworkList::GetMTU</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, uint32_t index)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets MTU (Maximum Transmission Unit) of a network interface. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a network list. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>Index of the network interface.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns MTU for the network interface with the specified <code>index</code> or 0 if MTU is unknown. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a59fdecb98a8a25e7bf257d7106d74bae"></a><!-- doxytag: member="PPB_NetworkList::GetName" ref="a59fdecb98a8a25e7bf257d7106d74bae" args=")(PP_Resource resource, uint32_t index)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___network_list__1__0.html#a59fdecb98a8a25e7bf257d7106d74bae">PPB_NetworkList::GetName</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, uint32_t index)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets name of a network interface. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a network list. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>Index of the network interface.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns name for the network interface with the specified <code>index</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2d9043e33c1c09f9eeea4b49be1629b1"></a><!-- doxytag: member="PPB_NetworkList::GetState" ref="a2d9043e33c1c09f9eeea4b49be1629b1" args=")(PP_Resource resource, uint32_t index)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga9188881b5d3346626db0ea8e6aaecf1f">PP_NetworkList_State</a>(* <a class="el" href="struct_p_p_b___network_list__1__0.html#a2d9043e33c1c09f9eeea4b49be1629b1">PPB_NetworkList::GetState</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, uint32_t index)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets state of a network interface. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a network list. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>Index of the network interface.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns current state of the network interface with the specified <code>index</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ae272fca616d11a27ea09c06a0659e0cc"></a><!-- doxytag: member="PPB_NetworkList::GetType" ref="ae272fca616d11a27ea09c06a0659e0cc" args=")(PP_Resource resource, uint32_t index)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga1c967cb753eb468493b3bf72e6733983">PP_NetworkList_Type</a>(* <a class="el" href="struct_p_p_b___network_list__1__0.html#ae272fca616d11a27ea09c06a0659e0cc">PPB_NetworkList::GetType</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, uint32_t index)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets type of a network interface. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a network list. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>Index of the network interface.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns type of the network interface with the specified <code>index</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ac8ab7ecff9909962a839d10f6e571954"></a><!-- doxytag: member="PPB_NetworkList::IsNetworkList" ref="ac8ab7ecff9909962a839d10f6e571954" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___network_list__1__0.html#ac8ab7ecff9909962a839d10f6e571954">PPB_NetworkList::IsNetworkList</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Determines if the specified <code>resource</code> is a <code>NetworkList</code> object. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>PP_TRUE</code> if <code>resource</code> is a <code>PPB_NetworkList</code>, <code>PP_FALSE</code> otherwise. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppb__network__list_8h.html">ppb_network_list.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___network_monitor__1__0.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___network_monitor__1__0.html
new file mode 100644
index 0000000..9cddf630
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___network_monitor__1__0.html
@@ -0,0 +1,88 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_NetworkMonitor Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_NetworkMonitor" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_monitor__1__0.html#a854eb22d3a1241f6d03602392fa7a6af">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_monitor__1__0.html#ade2323702ca75e315fac9e4fa6a9f5d5">UpdateNetworkList</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> network_monitor, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> *network_list, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_monitor__1__0.html#ac631ae11ea28c1274eed22b7725ccfe4">IsNetworkMonitor</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_NetworkMonitor</code> allows to get network interfaces configuration and monitor network configuration changes. </p>
+<p>Permissions: Apps permission <code>socket</code> with subrule <code>network-state</code> is required for <code><a class="el" href="struct_p_p_b___network_monitor__1__0.html#ade2323702ca75e315fac9e4fa6a9f5d5" title="Gets current network configuration.">UpdateNetworkList()</a></code>. For more details about network communication permissions, please see: <a href="http://developer.chrome.com/apps/app_network.html">http://developer.chrome.com/apps/app_network.html</a> </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a854eb22d3a1241f6d03602392fa7a6af"></a><!-- doxytag: member="PPB_NetworkMonitor::Create" ref="a854eb22d3a1241f6d03602392fa7a6af" args=")(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___network_monitor__1__0.html#a854eb22d3a1241f6d03602392fa7a6af">PPB_NetworkMonitor::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Creates a Network Monitor resource. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> corresponding to a network monitor or 0 on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ac631ae11ea28c1274eed22b7725ccfe4"></a><!-- doxytag: member="PPB_NetworkMonitor::IsNetworkMonitor" ref="ac631ae11ea28c1274eed22b7725ccfe4" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___network_monitor__1__0.html#ac631ae11ea28c1274eed22b7725ccfe4">PPB_NetworkMonitor::IsNetworkMonitor</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Determines if the specified <code>resource</code> is a <code>NetworkMonitor</code> object. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>PP_TRUE</code> if <code>resource</code> is a <code>PPB_NetworkMonitor</code>, <code>PP_FALSE</code> otherwise. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ade2323702ca75e315fac9e4fa6a9f5d5"></a><!-- doxytag: member="PPB_NetworkMonitor::UpdateNetworkList" ref="ade2323702ca75e315fac9e4fa6a9f5d5" args=")(PP_Resource network_monitor, PP_Resource *network_list, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___network_monitor__1__0.html#ade2323702ca75e315fac9e4fa6a9f5d5">PPB_NetworkMonitor::UpdateNetworkList</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> network_monitor, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> *network_list, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets current network configuration. </p>
+<p>When called for the first time, completes as soon as the current network configuration is received from the browser. Each consequent call will wait for network list changes, returning a new <code>PPB_NetworkList</code> resource every time.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">network_monitor</td><td>A <code>PP_Resource</code> corresponding to a network monitor. </td></tr>
+<tr><td class="paramdir">[out]</td><td class="paramname">network_list</td><td>The <code>PPB_NetworkList</code><code> resource with the current state of network interfaces. </code></td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td><code></code><code>A </code><code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code></code><code> An int32_t containing an error code from </code><code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. <code>PP_ERROR_NOACCESS</code> will be returned if the caller doesn't have required permissions. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppb__network__monitor_8h.html">ppb_network_monitor.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___network_proxy__1__0.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___network_proxy__1__0.html
new file mode 100644
index 0000000..9ca2d2c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___network_proxy__1__0.html
@@ -0,0 +1,47 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_NetworkProxy Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_NetworkProxy" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_proxy__1__0.html#af417cbf01c96db637472ac31bb4c6fbb">GetProxyForURL</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> url, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> *proxy_string, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This interface provides a way to determine the appropriate proxy settings for a given URL. </p>
+<p>Permissions: Apps permission <code>socket</code> with subrule <code>resolve-proxy</code> is required for using this API. For more details about network communication permissions, please see: <a href="http://developer.chrome.com/apps/app_network.html">http://developer.chrome.com/apps/app_network.html</a> </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="af417cbf01c96db637472ac31bb4c6fbb"></a><!-- doxytag: member="PPB_NetworkProxy::GetProxyForURL" ref="af417cbf01c96db637472ac31bb4c6fbb" args=")(PP_Instance instance, struct PP_Var url, struct PP_Var *proxy_string, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___network_proxy__1__0.html#af417cbf01c96db637472ac31bb4c6fbb">PPB_NetworkProxy::GetProxyForURL</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> url, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> *proxy_string, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Retrieves the proxy that will be used for the given URL. </p>
+<p>The result will be a string in PAC format. For more details about PAC format, please see <a href="http://en.wikipedia.org/wiki/Proxy_auto-config">http://en.wikipedia.org/wiki/Proxy_auto-config</a></p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">url</td><td>A string <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> containing a URL.</td></tr>
+<tr><td class="paramdir">[out]</td><td class="paramname">proxy_string</td><td>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> that GetProxyForURL will set upon successful completion. If the call fails, <code>proxy_string </code> will be unchanged. Otherwise, it will be set to a string <code> <a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> containing the appropriate PAC string for <code>url</code>. If set, <code>proxy_string</code> will have a reference count of 1 which the plugin must manage.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppb__network__proxy_8h.html">ppb_network_proxy.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___t_c_p_socket__1__1.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___t_c_p_socket__1__1.html
new file mode 100644
index 0000000..4f62016
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___t_c_p_socket__1__1.html
@@ -0,0 +1,318 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_TCPSocket Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_TCPSocket" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#a615cb349fbe99e25ae09078091c87b43">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#afe32ae060181370e12c93c206964a58f">IsTCPSocket</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#aae9a2f9ced445ca28a21721a0df5c567">Bind</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#a1d12313b4681e48fa6f9b789d26414cb">Connect</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#ab64edd222b040500767f5c9182358b68">GetLocalAddress</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#af28b600fcdf657ca31dd2e9218a774e1">GetRemoteAddress</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#ab4bd707da2d9d2136c59a08b3de2ce32">Read</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket, char *buffer, int32_t bytes_to_read, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#adea2cbc4e8487f2f26c2126983f9c856">Write</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket, const char *buffer, int32_t bytes_to_write, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#af3b28d2bf3f44d89e434e158854bea69">Listen</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket, int32_t backlog, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#a444d931c7fbb40e47cca8c55d57250f7">Accept</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> *accepted_tcp_socket, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#afc2d9d7577df96bd0ac8f3cc6f503266">Close</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#ab64ed8f1f7b4c3dce8d3493fb894ea0d">SetOption</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket, <a class="el" href="group___enums.html#ga1557c0bbce8739a3418e6027a9c44e12">PP_TCPSocket_Option</a> name, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> value, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_TCPSocket</code> interface provides TCP socket operations. </p>
+<p>Permissions: Apps permission <code>socket</code> with subrule <code>tcp-connect</code> is required for <code><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#a1d12313b4681e48fa6f9b789d26414cb" title="Connects the socket to the given address.">Connect()</a></code>; subrule <code>tcp-listen</code> is required for <code><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#af3b28d2bf3f44d89e434e158854bea69" title="Starts listening.">Listen()</a></code>. For more details about network communication permissions, please see: <a href="http://developer.chrome.com/apps/app_network.html">http://developer.chrome.com/apps/app_network.html</a> </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a444d931c7fbb40e47cca8c55d57250f7"></a><!-- doxytag: member="PPB_TCPSocket::Accept" ref="a444d931c7fbb40e47cca8c55d57250f7" args=")(PP_Resource tcp_socket, PP_Resource *accepted_tcp_socket, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#a444d931c7fbb40e47cca8c55d57250f7">PPB_TCPSocket::Accept</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> *accepted_tcp_socket, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Accepts a connection. </p>
+<p>The socket must be listening.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">tcp_socket</td><td>A <code>PP_Resource</code> corresponding to a TCP socket. </td></tr>
+<tr><td class="paramdir">[out]</td><td class="paramname">accepted_tcp_socket</td><td>Stores the accepted TCP socket on success. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>, including (but not limited to):<ul>
+<li><code>PP_ERROR_CONNECTION_ABORTED</code>: A connection has been aborted. </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<a class="anchor" id="aae9a2f9ced445ca28a21721a0df5c567"></a><!-- doxytag: member="PPB_TCPSocket::Bind" ref="aae9a2f9ced445ca28a21721a0df5c567" args=")(PP_Resource tcp_socket, PP_Resource addr, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#aae9a2f9ced445ca28a21721a0df5c567">PPB_TCPSocket::Bind</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Binds the socket to the given address. </p>
+<p>The socket must not be bound.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">tcp_socket</td><td>A <code>PP_Resource</code> corresponding to a TCP socket. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>A <code>PPB_NetAddress</code> resource. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>, including (but not limited to):<ul>
+<li><code>PP_ERROR_ADDRESS_IN_USE</code>: the address is already in use.</li>
+<li><code>PP_ERROR_ADDRESS_INVALID</code>: the address is invalid. </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<a class="anchor" id="afc2d9d7577df96bd0ac8f3cc6f503266"></a><!-- doxytag: member="PPB_TCPSocket::Close" ref="afc2d9d7577df96bd0ac8f3cc6f503266" args=")(PP_Resource tcp_socket)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#afc2d9d7577df96bd0ac8f3cc6f503266">PPB_TCPSocket::Close</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Cancels all pending operations and closes the socket. </p>
+<p>Any pending callbacks will still run, reporting <code>PP_ERROR_ABORTED</code> if pending IO was interrupted. After a call to this method, no output buffer pointers passed into previous <code><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#ab4bd707da2d9d2136c59a08b3de2ce32" title="Reads data from the socket.">Read()</a></code> or <code><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#a444d931c7fbb40e47cca8c55d57250f7" title="Accepts a connection.">Accept()</a></code> calls will be accessed. It is not valid to call <code><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#a1d12313b4681e48fa6f9b789d26414cb" title="Connects the socket to the given address.">Connect()</a></code> or <code><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#af3b28d2bf3f44d89e434e158854bea69" title="Starts listening.">Listen()</a></code> again.</p>
+<p>The socket is implicitly closed if it is destroyed, so you are not required to call this method.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">tcp_socket</td><td>A <code>PP_Resource</code> corresponding to a TCP socket. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a1d12313b4681e48fa6f9b789d26414cb"></a><!-- doxytag: member="PPB_TCPSocket::Connect" ref="a1d12313b4681e48fa6f9b789d26414cb" args=")(PP_Resource tcp_socket, PP_Resource addr, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#a1d12313b4681e48fa6f9b789d26414cb">PPB_TCPSocket::Connect</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Connects the socket to the given address. </p>
+<p>The socket must not be listening. Binding the socket beforehand is optional.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">tcp_socket</td><td>A <code>PP_Resource</code> corresponding to a TCP socket. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>A <code>PPB_NetAddress</code> resource. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>, including (but not limited to):<ul>
+<li><code>PP_ERROR_NOACCESS</code>: the caller doesn't have required permissions.</li>
+<li><code>PP_ERROR_ADDRESS_UNREACHABLE</code>: <code>addr</code> is unreachable.</li>
+<li><code>PP_ERROR_CONNECTION_REFUSED</code>: the connection attempt was refused.</li>
+<li><code>PP_ERROR_CONNECTION_FAILED</code>: the connection attempt failed.</li>
+<li><code>PP_ERROR_CONNECTION_TIMEDOUT</code>: the connection attempt timed out.</li>
+</ul>
+</dd></dl>
+<p>Since version 1.1, if the socket is listening/connected or has a pending listen/connect request, <code><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#a1d12313b4681e48fa6f9b789d26414cb" title="Connects the socket to the given address.">Connect()</a></code> will fail without starting a connection attempt; otherwise, any failure during the connection attempt will cause the socket to be closed. </p>
+</div>
+</div>
+<a class="anchor" id="a615cb349fbe99e25ae09078091c87b43"></a><!-- doxytag: member="PPB_TCPSocket::Create" ref="a615cb349fbe99e25ae09078091c87b43" args=")(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#a615cb349fbe99e25ae09078091c87b43">PPB_TCPSocket::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Creates a TCP socket resource. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> corresponding to a TCP socket or 0 on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab64edd222b040500767f5c9182358b68"></a><!-- doxytag: member="PPB_TCPSocket::GetLocalAddress" ref="ab64edd222b040500767f5c9182358b68" args=")(PP_Resource tcp_socket)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#ab64edd222b040500767f5c9182358b68">PPB_TCPSocket::GetLocalAddress</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the local address of the socket, if it is bound. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">tcp_socket</td><td>A <code>PP_Resource</code> corresponding to a TCP socket.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PPB_NetAddress</code> resource on success or 0 on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="af28b600fcdf657ca31dd2e9218a774e1"></a><!-- doxytag: member="PPB_TCPSocket::GetRemoteAddress" ref="af28b600fcdf657ca31dd2e9218a774e1" args=")(PP_Resource tcp_socket)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#af28b600fcdf657ca31dd2e9218a774e1">PPB_TCPSocket::GetRemoteAddress</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the remote address of the socket, if it is connected. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">tcp_socket</td><td>A <code>PP_Resource</code> corresponding to a TCP socket.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PPB_NetAddress</code> resource on success or 0 on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="afe32ae060181370e12c93c206964a58f"></a><!-- doxytag: member="PPB_TCPSocket::IsTCPSocket" ref="afe32ae060181370e12c93c206964a58f" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#afe32ae060181370e12c93c206964a58f">PPB_TCPSocket::IsTCPSocket</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Determines if a given resource is a TCP socket. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> to check.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the input is a <code>PPB_TCPSocket</code> resource; <code>PP_FALSE</code> otherwise. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="af3b28d2bf3f44d89e434e158854bea69"></a><!-- doxytag: member="PPB_TCPSocket::Listen" ref="af3b28d2bf3f44d89e434e158854bea69" args=")(PP_Resource tcp_socket, int32_t backlog, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#af3b28d2bf3f44d89e434e158854bea69">PPB_TCPSocket::Listen</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket, int32_t backlog, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Starts listening. </p>
+<p>The socket must be bound and not connected.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">tcp_socket</td><td>A <code>PP_Resource</code> corresponding to a TCP socket. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">backlog</td><td>A hint to determine the maximum length to which the queue of pending connections may grow. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>, including (but not limited to):<ul>
+<li><code>PP_ERROR_NOACCESS</code>: the caller doesn't have required permissions.</li>
+<li><code>PP_ERROR_ADDRESS_IN_USE</code>: Another socket is already listening on the same port. </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab4bd707da2d9d2136c59a08b3de2ce32"></a><!-- doxytag: member="PPB_TCPSocket::Read" ref="ab4bd707da2d9d2136c59a08b3de2ce32" args=")(PP_Resource tcp_socket, char *buffer, int32_t bytes_to_read, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#ab4bd707da2d9d2136c59a08b3de2ce32">PPB_TCPSocket::Read</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket, char *buffer, int32_t bytes_to_read, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Reads data from the socket. </p>
+<p>The socket must be connected. It may perform a partial read.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">tcp_socket</td><td>A <code>PP_Resource</code> corresponding to a TCP socket. </td></tr>
+<tr><td class="paramdir">[out]</td><td class="paramname">buffer</td><td>The buffer to store the received data on success. It must be at least as large as <code>bytes_to_read</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">bytes_to_read</td><td>The number of bytes to read. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A non-negative number on success to indicate how many bytes have been read, 0 means that end-of-file was reached; otherwise, an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab64ed8f1f7b4c3dce8d3493fb894ea0d"></a><!-- doxytag: member="PPB_TCPSocket::SetOption" ref="ab64ed8f1f7b4c3dce8d3493fb894ea0d" args=")(PP_Resource tcp_socket, PP_TCPSocket_Option name, struct PP_Var value, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#ab64ed8f1f7b4c3dce8d3493fb894ea0d">PPB_TCPSocket::SetOption</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket, <a class="el" href="group___enums.html#ga1557c0bbce8739a3418e6027a9c44e12">PP_TCPSocket_Option</a> name, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> value, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sets a socket option on the TCP socket. </p>
+<p>Please see the <code>PP_TCPSocket_Option</code> description for option names, value types and allowed values.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">tcp_socket</td><td>A <code>PP_Resource</code> corresponding to a TCP socket. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>The option to set. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The option value to set. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="adea2cbc4e8487f2f26c2126983f9c856"></a><!-- doxytag: member="PPB_TCPSocket::Write" ref="adea2cbc4e8487f2f26c2126983f9c856" args=")(PP_Resource tcp_socket, const char *buffer, int32_t bytes_to_write, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#adea2cbc4e8487f2f26c2126983f9c856">PPB_TCPSocket::Write</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket, const char *buffer, int32_t bytes_to_write, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Writes data to the socket. </p>
+<p>The socket must be connected. It may perform a partial write.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">tcp_socket</td><td>A <code>PP_Resource</code> corresponding to a TCP socket. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">buffer</td><td>The buffer containing the data to write. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">bytes_to_write</td><td>The number of bytes to write. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A non-negative number on success to indicate how many bytes have been written; otherwise, an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppb__tcp__socket_8h.html">ppb_tcp_socket.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___text_input_controller__1__0.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___text_input_controller__1__0.html
new file mode 100644
index 0000000..80235f6
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___text_input_controller__1__0.html
@@ -0,0 +1,82 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_TextInputController Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_TextInputController" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___text_input_controller__1__0.html#a4cb36e7536a78dc5893c288c2885cb97">SetTextInputType</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#ga5fef49ee4c2cc6dcead825340da0f116">PP_TextInput_Type</a> type)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___text_input_controller__1__0.html#ab34cfc4db88d4387845317042ceb63af">UpdateCaretPosition</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, const struct <a class="el" href="struct_p_p___rect.html">PP_Rect</a> *caret)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___text_input_controller__1__0.html#a4b05a8a76a6daadab941fb24ce5d23ce">CancelCompositionText</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___text_input_controller__1__0.html#aca1b52ba11e4384255eeecd90fc45ba5">UpdateSurroundingText</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> text, uint32_t caret, uint32_t anchor)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p><code>PPB_TextInputController</code> provides a set of functions for giving hints to the browser about the text input status of plugins, and functions for controlling input method editors (IMEs). </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a4b05a8a76a6daadab941fb24ce5d23ce"></a><!-- doxytag: member="PPB_TextInputController::CancelCompositionText" ref="a4b05a8a76a6daadab941fb24ce5d23ce" args=")(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___text_input_controller__1__0.html#a4b05a8a76a6daadab941fb24ce5d23ce">PPB_TextInputController::CancelCompositionText</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Cancels the current composition in IME. </p>
+</div>
+</div>
+<a class="anchor" id="a4cb36e7536a78dc5893c288c2885cb97"></a><!-- doxytag: member="PPB_TextInputController::SetTextInputType" ref="a4cb36e7536a78dc5893c288c2885cb97" args=")(PP_Instance instance, PP_TextInput_Type type)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___text_input_controller__1__0.html#a4cb36e7536a78dc5893c288c2885cb97">PPB_TextInputController::SetTextInputType</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#ga5fef49ee4c2cc6dcead825340da0f116">PP_TextInput_Type</a> type)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Informs the browser about the current text input mode of the plugin. </p>
+<p>Typical use of this information in the browser is to properly display/suppress tools for supporting text inputs (such as virtual keyboards in touch screen based devices, or input method editors often used for composing East Asian characters). </p>
+</div>
+</div>
+<a class="anchor" id="ab34cfc4db88d4387845317042ceb63af"></a><!-- doxytag: member="PPB_TextInputController::UpdateCaretPosition" ref="ab34cfc4db88d4387845317042ceb63af" args=")(PP_Instance instance, const struct PP_Rect *caret)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___text_input_controller__1__0.html#ab34cfc4db88d4387845317042ceb63af">PPB_TextInputController::UpdateCaretPosition</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, const struct <a class="el" href="struct_p_p___rect.html">PP_Rect</a> *caret)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Informs the browser about the coordinates of the text input caret area. </p>
+<p>Typical use of this information in the browser is to layout IME windows etc. </p>
+</div>
+</div>
+<a class="anchor" id="aca1b52ba11e4384255eeecd90fc45ba5"></a><!-- doxytag: member="PPB_TextInputController::UpdateSurroundingText" ref="aca1b52ba11e4384255eeecd90fc45ba5" args=")(PP_Instance instance, struct PP_Var text, uint32_t caret, uint32_t anchor)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___text_input_controller__1__0.html#aca1b52ba11e4384255eeecd90fc45ba5">PPB_TextInputController::UpdateSurroundingText</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> text, uint32_t caret, uint32_t anchor)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Informs the browser about the current text selection and surrounding text. </p>
+<p><code>text</code> is a UTF-8 string that contains the current range of text selection in the plugin. <code>caret</code> is the byte-index of the caret position within <code>text</code>. <code>anchor</code> is the byte-index of the anchor position (i.e., if a range of text is selected, it is the other edge of selection different from <code>caret</code>. If there are no selection, <code>anchor</code> is equal to <code>caret</code>.</p>
+<p>Typical use of this information in the browser is to enable "reconversion" features of IME that puts back the already committed text into the pre-commit composition state. Another use is to improve the precision of suggestion of IME by taking the context into account (e.g., if the caret looks to be on the beginning of a sentence, suggest capital letters in a virtual keyboard).</p>
+<p>When the focus is not on text, call this function setting <code>text</code> to an empty string and <code>caret</code> and <code>anchor</code> to zero. Also, the plugin should send the empty text when it does not want to reveal the selection to IME (e.g., when the surrounding text is containing password text). </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppb__text__input__controller_8h.html">ppb_text_input_controller.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___touch_input_event__1__0.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___touch_input_event__1__0.html
new file mode 100644
index 0000000..ea89105e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___touch_input_event__1__0.html
@@ -0,0 +1,157 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_TouchInputEvent Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_TouchInputEvent" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___touch_input_event__1__0.html#a34366a8a64a16fee610eaeac7ecc8ae3">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#gaca7296cfec99fcb6646b7144d1d6a0c5">PP_InputEvent_Type</a> type, <a class="el" href="group___typedefs.html#ga71cb1042cdeb38d7881b121f3b09ce94">PP_TimeTicks</a> time_stamp, uint32_t modifiers)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___touch_input_event__1__0.html#abf9e7c7977ee60b29c2207a674f263c9">AddTouchPoint</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> touch_event, <a class="el" href="group___enums.html#gad5885a239d04166c8777432c81e39d0a">PP_TouchListType</a> list, const struct <a class="el" href="struct_p_p___touch_point.html">PP_TouchPoint</a> *point)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___touch_input_event__1__0.html#a1bed0c3d25f593b85ba26cb6e0c0bbab">IsTouchInputEvent</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___touch_input_event__1__0.html#af762fe8562a13c15a06b5825cf3b3bb9">GetTouchCount</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, <a class="el" href="group___enums.html#gad5885a239d04166c8777432c81e39d0a">PP_TouchListType</a> list)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___touch_point.html">PP_TouchPoint</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___touch_input_event__1__0.html#a1d108acb025c5a9ce74c15034955de63">GetTouchByIndex</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, <a class="el" href="group___enums.html#gad5885a239d04166c8777432c81e39d0a">PP_TouchListType</a> list, uint32_t index)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___touch_point.html">PP_TouchPoint</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___touch_input_event__1__0.html#a401d82dc926d1c2bbc32c5b91ee9e0d5">GetTouchById</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, <a class="el" href="group___enums.html#gad5885a239d04166c8777432c81e39d0a">PP_TouchListType</a> list, uint32_t touch_id)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_TouchInputEvent</code> interface contains pointers to several functions related to touch events. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="abf9e7c7977ee60b29c2207a674f263c9"></a><!-- doxytag: member="PPB_TouchInputEvent::AddTouchPoint" ref="abf9e7c7977ee60b29c2207a674f263c9" args=")(PP_Resource touch_event, PP_TouchListType list, const struct PP_TouchPoint *point)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___touch_input_event__1__0.html#abf9e7c7977ee60b29c2207a674f263c9">PPB_TouchInputEvent::AddTouchPoint</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> touch_event, <a class="el" href="group___enums.html#gad5885a239d04166c8777432c81e39d0a">PP_TouchListType</a> list, const struct <a class="el" href="struct_p_p___touch_point.html">PP_TouchPoint</a> *point)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Adds a touch point to the touch event in the specified touch-list. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">touch_event</td><td>A <code>PP_Resource</code> corresponding to a touch event.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">list</td><td>The list to add the touch point to.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">point</td><td>The point to add to the list. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a34366a8a64a16fee610eaeac7ecc8ae3"></a><!-- doxytag: member="PPB_TouchInputEvent::Create" ref="a34366a8a64a16fee610eaeac7ecc8ae3" args=")(PP_Instance instance, PP_InputEvent_Type type, PP_TimeTicks time_stamp, uint32_t modifiers)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___touch_input_event__1__0.html#a34366a8a64a16fee610eaeac7ecc8ae3">PPB_TouchInputEvent::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#gaca7296cfec99fcb6646b7144d1d6a0c5">PP_InputEvent_Type</a> type, <a class="el" href="group___typedefs.html#ga71cb1042cdeb38d7881b121f3b09ce94">PP_TimeTicks</a> time_stamp, uint32_t modifiers)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Creates a touch input event with the given parameters. </p>
+<p>Normally you will get a touch event passed through the HandleInputEvent and will not need to create them, but some applications may want to create their own for internal use. The type must be one of the touch event types. This newly created touch input event does not have any touch point in any of the touch-point lists. <code>AddTouchPoint</code> should be called to add the touch-points.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance for which this event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>A <code>PP_InputEvent_Type</code> identifying the type of input event.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">time_stamp</td><td>A <code>PP_TimeTicks</code> indicating the time when the event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">modifiers</td><td>A bit field combination of the <code>PP_InputEvent_Modifier</code> flags.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> containing the new touch input event. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a401d82dc926d1c2bbc32c5b91ee9e0d5"></a><!-- doxytag: member="PPB_TouchInputEvent::GetTouchById" ref="a401d82dc926d1c2bbc32c5b91ee9e0d5" args=")(PP_Resource resource, PP_TouchListType list, uint32_t touch_id)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___touch_point.html">PP_TouchPoint</a>(* <a class="el" href="struct_p_p_b___touch_input_event__1__0.html#a401d82dc926d1c2bbc32c5b91ee9e0d5">PPB_TouchInputEvent::GetTouchById</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, <a class="el" href="group___enums.html#gad5885a239d04166c8777432c81e39d0a">PP_TouchListType</a> list, uint32_t touch_id)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns the touch-point with the specified touch-id in the specified list. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a touch event.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">list</td><td>The list.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">touch_id</td><td>The id of the touch-point.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___touch_point.html" title="The PP_TouchPoint struct represents all information about a single touch point, such as position...">PP_TouchPoint</a></code> representing the touch-point. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a1d108acb025c5a9ce74c15034955de63"></a><!-- doxytag: member="PPB_TouchInputEvent::GetTouchByIndex" ref="a1d108acb025c5a9ce74c15034955de63" args=")(PP_Resource resource, PP_TouchListType list, uint32_t index)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___touch_point.html">PP_TouchPoint</a>(* <a class="el" href="struct_p_p_b___touch_input_event__1__0.html#a1d108acb025c5a9ce74c15034955de63">PPB_TouchInputEvent::GetTouchByIndex</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, <a class="el" href="group___enums.html#gad5885a239d04166c8777432c81e39d0a">PP_TouchListType</a> list, uint32_t index)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns the touch-point at the specified index from the specified list. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a touch event.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">list</td><td>The list.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>The index.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___touch_point.html" title="The PP_TouchPoint struct represents all information about a single touch point, such as position...">PP_TouchPoint</a></code> representing the touch-point. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="af762fe8562a13c15a06b5825cf3b3bb9"></a><!-- doxytag: member="PPB_TouchInputEvent::GetTouchCount" ref="af762fe8562a13c15a06b5825cf3b3bb9" args=")(PP_Resource resource, PP_TouchListType list)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t(* <a class="el" href="struct_p_p_b___touch_input_event__1__0.html#af762fe8562a13c15a06b5825cf3b3bb9">PPB_TouchInputEvent::GetTouchCount</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, <a class="el" href="group___enums.html#gad5885a239d04166c8777432c81e39d0a">PP_TouchListType</a> list)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns the number of touch-points in the specified list. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a touch event.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">list</td><td>The list.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The number of touch-points in the specified list. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a1bed0c3d25f593b85ba26cb6e0c0bbab"></a><!-- doxytag: member="PPB_TouchInputEvent::IsTouchInputEvent" ref="a1bed0c3d25f593b85ba26cb6e0c0bbab" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___touch_input_event__1__0.html#a1bed0c3d25f593b85ba26cb6e0c0bbab">PPB_TouchInputEvent::IsTouchInputEvent</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___touch_input_event__1__0.html#a1bed0c3d25f593b85ba26cb6e0c0bbab" title="IsTouchInputEvent() determines if a resource is a touch event.">IsTouchInputEvent()</a> determines if a resource is a touch event. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to an event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the given resource is a valid touch input event, otherwise <code>PP_FALSE</code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppb__input__event_8h.html">ppb_input_event.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___u_d_p_socket__1__0.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___u_d_p_socket__1__0.html
new file mode 100644
index 0000000..192b0d05
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___u_d_p_socket__1__0.html
@@ -0,0 +1,208 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_UDPSocket Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_UDPSocket" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#a48dfac97beb8bef209ea79efaf5b0c32">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#a90de8c0e342ab04bc6d2439b2e0543a5">IsUDPSocket</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#a0cae18760f8e9c4f06f160edab542c46">Bind</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> udp_socket, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#aa71b3888a2edf12c7bccd69d4ddcbbb6">GetBoundAddress</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> udp_socket)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#a6f7b8cb60ad4279ac52feba6acca9cc2">RecvFrom</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> udp_socket, char *buffer, int32_t num_bytes, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> *addr, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#a9b78201046b292b6292f0d5bf55d3f76">SendTo</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> udp_socket, const char *buffer, int32_t num_bytes, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#a8b34e95d8f1ca113f2c806fb9b64d3e9">Close</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> udp_socket)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#a3def770b12177d3fa8faf36e184cc528">SetOption</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> udp_socket, <a class="el" href="group___enums.html#ga1a8472fa3e7150615c45c38fa8c12ce2">PP_UDPSocket_Option</a> name, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> value, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_UDPSocket</code> interface provides UDP socket operations. </p>
+<p>Permissions: Apps permission <code>socket</code> with subrule <code>udp-bind</code> is required for <code><a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#a0cae18760f8e9c4f06f160edab542c46" title="Binds the socket to the given address.">Bind()</a></code>; subrule <code>udp-send-to</code> is required for <code><a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#a9b78201046b292b6292f0d5bf55d3f76" title="Sends data to a specific destination.">SendTo()</a></code>. For more details about network communication permissions, please see: <a href="http://developer.chrome.com/apps/app_network.html">http://developer.chrome.com/apps/app_network.html</a> </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a0cae18760f8e9c4f06f160edab542c46"></a><!-- doxytag: member="PPB_UDPSocket::Bind" ref="a0cae18760f8e9c4f06f160edab542c46" args=")(PP_Resource udp_socket, PP_Resource addr, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#a0cae18760f8e9c4f06f160edab542c46">PPB_UDPSocket::Bind</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> udp_socket, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Binds the socket to the given address. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">udp_socket</td><td>A <code>PP_Resource</code> corresponding to a UDP socket. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>A <code>PPB_NetAddress</code> resource. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. <code>PP_ERROR_NOACCESS</code> will be returned if the caller doesn't have required permissions. <code>PP_ERROR_ADDRESS_IN_USE</code> will be returned if the address is already in use. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a8b34e95d8f1ca113f2c806fb9b64d3e9"></a><!-- doxytag: member="PPB_UDPSocket::Close" ref="a8b34e95d8f1ca113f2c806fb9b64d3e9" args=")(PP_Resource udp_socket)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#a8b34e95d8f1ca113f2c806fb9b64d3e9">PPB_UDPSocket::Close</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> udp_socket)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Cancels all pending reads and writes, and closes the socket. </p>
+<p>Any pending callbacks will still run, reporting <code>PP_ERROR_ABORTED</code> if pending IO was interrupted. After a call to this method, no output parameters passed into previous <code><a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#a6f7b8cb60ad4279ac52feba6acca9cc2" title="Receives data from the socket and stores the source address.">RecvFrom()</a></code> calls will be accessed. It is not valid to call <code><a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#a0cae18760f8e9c4f06f160edab542c46" title="Binds the socket to the given address.">Bind()</a></code> again.</p>
+<p>The socket is implicitly closed if it is destroyed, so you are not required to call this method.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">udp_socket</td><td>A <code>PP_Resource</code> corresponding to a UDP socket. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a48dfac97beb8bef209ea79efaf5b0c32"></a><!-- doxytag: member="PPB_UDPSocket::Create" ref="a48dfac97beb8bef209ea79efaf5b0c32" args=")(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#a48dfac97beb8bef209ea79efaf5b0c32">PPB_UDPSocket::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Creates a UDP socket resource. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> corresponding to a UDP socket or 0 on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aa71b3888a2edf12c7bccd69d4ddcbbb6"></a><!-- doxytag: member="PPB_UDPSocket::GetBoundAddress" ref="aa71b3888a2edf12c7bccd69d4ddcbbb6" args=")(PP_Resource udp_socket)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#aa71b3888a2edf12c7bccd69d4ddcbbb6">PPB_UDPSocket::GetBoundAddress</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> udp_socket)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the address that the socket is bound to. </p>
+<p>The socket must be bound.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">udp_socket</td><td>A <code>PP_Resource</code> corresponding to a UDP socket.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PPB_NetAddress</code> resource on success or 0 on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a90de8c0e342ab04bc6d2439b2e0543a5"></a><!-- doxytag: member="PPB_UDPSocket::IsUDPSocket" ref="a90de8c0e342ab04bc6d2439b2e0543a5" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#a90de8c0e342ab04bc6d2439b2e0543a5">PPB_UDPSocket::IsUDPSocket</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Determines if a given resource is a UDP socket. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> to check.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the input is a <code>PPB_UDPSocket</code> resource; <code>PP_FALSE</code> otherwise. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a6f7b8cb60ad4279ac52feba6acca9cc2"></a><!-- doxytag: member="PPB_UDPSocket::RecvFrom" ref="a6f7b8cb60ad4279ac52feba6acca9cc2" args=")(PP_Resource udp_socket, char *buffer, int32_t num_bytes, PP_Resource *addr, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#a6f7b8cb60ad4279ac52feba6acca9cc2">PPB_UDPSocket::RecvFrom</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> udp_socket, char *buffer, int32_t num_bytes, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> *addr, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Receives data from the socket and stores the source address. </p>
+<p>The socket must be bound.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">udp_socket</td><td>A <code>PP_Resource</code> corresponding to a UDP socket. </td></tr>
+<tr><td class="paramdir">[out]</td><td class="paramname">buffer</td><td>The buffer to store the received data on success. It must be at least as large as <code>num_bytes</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">num_bytes</td><td>The number of bytes to receive. </td></tr>
+<tr><td class="paramdir">[out]</td><td class="paramname">addr</td><td>A <code>PPB_NetAddress</code> resource to store the source address on success. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A non-negative number on success to indicate how many bytes have been received; otherwise, an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a9b78201046b292b6292f0d5bf55d3f76"></a><!-- doxytag: member="PPB_UDPSocket::SendTo" ref="a9b78201046b292b6292f0d5bf55d3f76" args=")(PP_Resource udp_socket, const char *buffer, int32_t num_bytes, PP_Resource addr, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#a9b78201046b292b6292f0d5bf55d3f76">PPB_UDPSocket::SendTo</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> udp_socket, const char *buffer, int32_t num_bytes, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sends data to a specific destination. </p>
+<p>The socket must be bound.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">udp_socket</td><td>A <code>PP_Resource</code> corresponding to a UDP socket. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">buffer</td><td>The buffer containing the data to send. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">num_bytes</td><td>The number of bytes to send. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>A <code>PPB_NetAddress</code> resource holding the destination address. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A non-negative number on success to indicate how many bytes have been sent; otherwise, an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. <code>PP_ERROR_NOACCESS</code> will be returned if the caller doesn't have required permissions. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a3def770b12177d3fa8faf36e184cc528"></a><!-- doxytag: member="PPB_UDPSocket::SetOption" ref="a3def770b12177d3fa8faf36e184cc528" args=")(PP_Resource udp_socket, PP_UDPSocket_Option name, struct PP_Var value, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#a3def770b12177d3fa8faf36e184cc528">PPB_UDPSocket::SetOption</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> udp_socket, <a class="el" href="group___enums.html#ga1a8472fa3e7150615c45c38fa8c12ce2">PP_UDPSocket_Option</a> name, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> value, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sets a socket option on the UDP socket. </p>
+<p>Please see the <code>PP_UDPSocket_Option</code> description for option names, value types and allowed values.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">udp_socket</td><td>A <code>PP_Resource</code> corresponding to a UDP socket. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>The option to set. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The option value to set. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppb__udp__socket_8h.html">ppb_udp_socket.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___u_r_l_loader__1__0.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___u_r_l_loader__1__0.html
new file mode 100644
index 0000000..40a636b
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___u_r_l_loader__1__0.html
@@ -0,0 +1,264 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_URLLoader Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_URLLoader" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#ab0ab892fe290ba6449d467db53fd4987">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a70db3876aed119140479e952cb7b1057">IsURLLoader</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a5e7fca398c1042e2c81211da80d20e14">Open</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> loader, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> request_info, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a1932cf9779391f4d3efb4582ff49b0a6">FollowRedirect</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> loader, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#abb04744dfe5fce11e46c0e7e36c30b65">GetUploadProgress</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> loader, int64_t *bytes_sent, int64_t *total_bytes_to_be_sent)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a3673506c6e0e23287b7d10e1163a0bbe">GetDownloadProgress</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> loader, int64_t *bytes_received, int64_t *total_bytes_to_be_received)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a4901dcc43cfdc026e582555974d4d853">GetResponseInfo</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> loader)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a92d0f2dc44bc4d087ad0ddca6557fb05">ReadResponseBody</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> loader, void *buffer, int32_t bytes_to_read, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a187774b3255231fa00ad1fe1364677ff">FinishStreamingToFile</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> loader, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#af96116176988be90bdee2619deff6e42">Close</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> loader)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <b>PPB_URLLoader</b> interface contains pointers to functions for loading URLs. </p>
+<p>The typical steps for loading a URL are:</p>
+<ol type="1">
+<li>Call <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#ab0ab892fe290ba6449d467db53fd4987" title="Create() creates a new URLLoader object.">Create()</a> to create a URLLoader object.</li>
+<li>Create a <code>URLRequestInfo</code> object and set properties on it. Refer to <code>PPB_URLRequestInfo</code> for further information.</li>
+<li>Call <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a5e7fca398c1042e2c81211da80d20e14" title="Open() begins loading the URLRequestInfo.">Open()</a> with the <code>URLRequestInfo</code> as an argument.</li>
+<li>When <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a5e7fca398c1042e2c81211da80d20e14" title="Open() begins loading the URLRequestInfo.">Open()</a> completes, call <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a4901dcc43cfdc026e582555974d4d853" title="GetResponseInfo() returns the current URLResponseInfo object.">GetResponseInfo()</a> to examine the response headers. Refer to <code>PPB_URLResponseInfo</code> for further information.</li>
+<li>Call <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a92d0f2dc44bc4d087ad0ddca6557fb05" title="ReadResponseBody() is used to read the response body.">ReadResponseBody()</a> to stream the data for the response.</li>
+</ol>
+<p>Alternatively, if <code>PP_URLREQUESTPROPERTY_STREAMTOFILE</code> was set on the <code>URLRequestInfo</code> in step #2:</p>
+<ul>
+<li>Call <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a187774b3255231fa00ad1fe1364677ff" title="FinishStreamingToFile() is used to wait for the response body to be completely downloaded to the file...">FinishStreamingToFile()</a>, after examining the response headers (step #4), to wait for the downloaded file to be complete.</li>
+<li>Then, access the downloaded file using the GetBodyAsFileRef() function of the <code>URLResponseInfo</code> returned in step #4. </li>
+</ul>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="af96116176988be90bdee2619deff6e42"></a><!-- doxytag: member="PPB_URLLoader::Close" ref="af96116176988be90bdee2619deff6e42" args=")(PP_Resource loader)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#af96116176988be90bdee2619deff6e42">PPB_URLLoader::Close</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> loader)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Close is a pointer to a function used to cancel any pending IO and close the <code>URLLoader</code> object. </p>
+<p>Any pending callbacks will still run, reporting <code>PP_ERROR_ABORTED</code> if pending IO was interrupted. It is NOT valid to call <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a5e7fca398c1042e2c81211da80d20e14" title="Open() begins loading the URLRequestInfo.">Open()</a> again after a call to this function.</p>
+<p><b>Note:</b> If the <code>URLLoader</code> object is destroyed while it is still open, then it will be implicitly closed so you are not required to call <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#af96116176988be90bdee2619deff6e42" title="Close is a pointer to a function used to cancel any pending IO and close the URLLoader object...">Close()</a>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">loader</td><td>A <code>PP_Resource</code> corresponding to a <code>URLLoader</code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ab0ab892fe290ba6449d467db53fd4987"></a><!-- doxytag: member="PPB_URLLoader::Create" ref="ab0ab892fe290ba6449d467db53fd4987" args=")(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#ab0ab892fe290ba6449d467db53fd4987">PPB_URLLoader::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#ab0ab892fe290ba6449d467db53fd4987" title="Create() creates a new URLLoader object.">Create()</a> creates a new <code>URLLoader</code> object. </p>
+<p>The <code>URLLoader</code> is associated with a particular instance, so that any UI dialogs that need to be shown to the user can be positioned relative to the window containing the instance.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> corresponding to a URLLoader if successful, 0 if the instance is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a187774b3255231fa00ad1fe1364677ff"></a><!-- doxytag: member="PPB_URLLoader::FinishStreamingToFile" ref="a187774b3255231fa00ad1fe1364677ff" args=")(PP_Resource loader, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a187774b3255231fa00ad1fe1364677ff">PPB_URLLoader::FinishStreamingToFile</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> loader, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a187774b3255231fa00ad1fe1364677ff" title="FinishStreamingToFile() is used to wait for the response body to be completely downloaded to the file...">FinishStreamingToFile()</a> is used to wait for the response body to be completely downloaded to the file provided by the GetBodyAsFileRef() in the current <code>URLResponseInfo</code>. </p>
+<p>This function is only used if <code>PP_URLREQUESTPROPERTY_STREAMTOFILE</code> was set on the <code>URLRequestInfo</code> passed to <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a5e7fca398c1042e2c81211da80d20e14" title="Open() begins loading the URLRequestInfo.">Open()</a>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">loader</td><td>A <code>PP_Resource</code> corresponding to a <code>URLLoader</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to run on asynchronous completion. This callback will run when body is downloaded or an error occurs after <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a187774b3255231fa00ad1fe1364677ff" title="FinishStreamingToFile() is used to wait for the response body to be completely downloaded to the file...">FinishStreamingToFile()</a> returns <code>PP_OK_COMPLETIONPENDING</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing the number of bytes read or an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a1932cf9779391f4d3efb4582ff49b0a6"></a><!-- doxytag: member="PPB_URLLoader::FollowRedirect" ref="a1932cf9779391f4d3efb4582ff49b0a6" args=")(PP_Resource loader, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a1932cf9779391f4d3efb4582ff49b0a6">PPB_URLLoader::FollowRedirect</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> loader, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a1932cf9779391f4d3efb4582ff49b0a6" title="FollowRedirect() can be invoked to follow a redirect after Open() completed on receiving redirect hea...">FollowRedirect()</a> can be invoked to follow a redirect after <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a5e7fca398c1042e2c81211da80d20e14" title="Open() begins loading the URLRequestInfo.">Open()</a> completed on receiving redirect headers. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">loader</td><td>A <code>PP_Resource</code> corresponding to a <code>URLLoader</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to run on asynchronous completion of <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a1932cf9779391f4d3efb4582ff49b0a6" title="FollowRedirect() can be invoked to follow a redirect after Open() completed on receiving redirect hea...">FollowRedirect()</a>. This callback will run when response headers for the redirect url are received or error occurred. This callback will only run if <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a1932cf9779391f4d3efb4582ff49b0a6" title="FollowRedirect() can be invoked to follow a redirect after Open() completed on receiving redirect hea...">FollowRedirect()</a> returns <code>PP_OK_COMPLETIONPENDING</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a3673506c6e0e23287b7d10e1163a0bbe"></a><!-- doxytag: member="PPB_URLLoader::GetDownloadProgress" ref="a3673506c6e0e23287b7d10e1163a0bbe" args=")(PP_Resource loader, int64_t *bytes_received, int64_t *total_bytes_to_be_received)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a3673506c6e0e23287b7d10e1163a0bbe">PPB_URLLoader::GetDownloadProgress</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> loader, int64_t *bytes_received, int64_t *total_bytes_to_be_received)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a3673506c6e0e23287b7d10e1163a0bbe" title="GetDownloadProgress() returns the current download progress, which is meaningful after Open() has bee...">GetDownloadProgress()</a> returns the current download progress, which is meaningful after <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a5e7fca398c1042e2c81211da80d20e14" title="Open() begins loading the URLRequestInfo.">Open()</a> has been called. </p>
+<p>Progress only refers to the response body and does not include the headers.</p>
+<p>This data is only available if the <code>URLRequestInfo</code> passed to <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a5e7fca398c1042e2c81211da80d20e14" title="Open() begins loading the URLRequestInfo.">Open()</a> had the <code>PP_URLREQUESTPROPERTY_REPORTDOWNLOADPROGRESS</code> property set to <code>PP_TRUE</code>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">loader</td><td>A <code>PP_Resource</code> corresponding to a <code>URLLoader</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">bytes_received</td><td>The number of bytes received thus far. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">total_bytes_to_be_received</td><td>The total number of bytes to be received. The total bytes to be received may be unknown, in which case <code>total_bytes_to_be_received</code> will be set to -1.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the download progress is available, <code>PP_FALSE</code> if it is not available. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a4901dcc43cfdc026e582555974d4d853"></a><!-- doxytag: member="PPB_URLLoader::GetResponseInfo" ref="a4901dcc43cfdc026e582555974d4d853" args=")(PP_Resource loader)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a4901dcc43cfdc026e582555974d4d853">PPB_URLLoader::GetResponseInfo</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> loader)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a4901dcc43cfdc026e582555974d4d853" title="GetResponseInfo() returns the current URLResponseInfo object.">GetResponseInfo()</a> returns the current <code>URLResponseInfo</code> object. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Resource</code> corresponding to a <code>URLLoader</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> corresponding to the <code>URLResponseInfo</code> if successful, 0 if the loader is not a valid resource or if <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a5e7fca398c1042e2c81211da80d20e14" title="Open() begins loading the URLRequestInfo.">Open()</a> has not been called. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="abb04744dfe5fce11e46c0e7e36c30b65"></a><!-- doxytag: member="PPB_URLLoader::GetUploadProgress" ref="abb04744dfe5fce11e46c0e7e36c30b65" args=")(PP_Resource loader, int64_t *bytes_sent, int64_t *total_bytes_to_be_sent)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#abb04744dfe5fce11e46c0e7e36c30b65">PPB_URLLoader::GetUploadProgress</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> loader, int64_t *bytes_sent, int64_t *total_bytes_to_be_sent)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#abb04744dfe5fce11e46c0e7e36c30b65" title="GetUploadProgress() returns the current upload progress (which is meaningful after Open() has been ca...">GetUploadProgress()</a> returns the current upload progress (which is meaningful after <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a5e7fca398c1042e2c81211da80d20e14" title="Open() begins loading the URLRequestInfo.">Open()</a> has been called). </p>
+<p>Progress only refers to the request body and does not include the headers.</p>
+<p>This data is only available if the <code>URLRequestInfo</code> passed to <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a5e7fca398c1042e2c81211da80d20e14" title="Open() begins loading the URLRequestInfo.">Open()</a> had the <code>PP_URLREQUESTPROPERTY_REPORTUPLOADPROGRESS</code> property set to PP_TRUE.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">loader</td><td>A <code>PP_Resource</code> corresponding to a <code>URLLoader</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">bytes_sent</td><td>The number of bytes sent thus far. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">total_bytes_to_be_sent</td><td>The total number of bytes to be sent.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the upload progress is available, <code>PP_FALSE</code> if it is not available. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a70db3876aed119140479e952cb7b1057"></a><!-- doxytag: member="PPB_URLLoader::IsURLLoader" ref="a70db3876aed119140479e952cb7b1057" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a70db3876aed119140479e952cb7b1057">PPB_URLLoader::IsURLLoader</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a70db3876aed119140479e952cb7b1057" title="IsURLLoader() determines if a resource is an URLLoader.">IsURLLoader()</a> determines if a resource is an <code>URLLoader</code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a <code>URLLoader</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the resource is a <code>URLLoader</code>, <code>PP_FALSE</code> if the resource is invalid or some type other than <code>URLLoader</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a5e7fca398c1042e2c81211da80d20e14"></a><!-- doxytag: member="PPB_URLLoader::Open" ref="a5e7fca398c1042e2c81211da80d20e14" args=")(PP_Resource loader, PP_Resource request_info, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a5e7fca398c1042e2c81211da80d20e14">PPB_URLLoader::Open</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> loader, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> request_info, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a5e7fca398c1042e2c81211da80d20e14" title="Open() begins loading the URLRequestInfo.">Open()</a> begins loading the <code>URLRequestInfo</code>. </p>
+<p>The operation completes when response headers are received or when an error occurs. Use <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a4901dcc43cfdc026e582555974d4d853" title="GetResponseInfo() returns the current URLResponseInfo object.">GetResponseInfo()</a> to access the response headers.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">loader</td><td>A <code>PP_Resource</code> corresponding to a <code>URLLoader</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a <code>URLRequestInfo</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to run on asynchronous completion of <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a5e7fca398c1042e2c81211da80d20e14" title="Open() begins loading the URLRequestInfo.">Open()</a>. This callback will run when response headers for the url are received or error occurred. This callback will only run if <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a5e7fca398c1042e2c81211da80d20e14" title="Open() begins loading the URLRequestInfo.">Open()</a> returns <code>PP_OK_COMPLETIONPENDING</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a92d0f2dc44bc4d087ad0ddca6557fb05"></a><!-- doxytag: member="PPB_URLLoader::ReadResponseBody" ref="a92d0f2dc44bc4d087ad0ddca6557fb05" args=")(PP_Resource loader, void *buffer, int32_t bytes_to_read, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a92d0f2dc44bc4d087ad0ddca6557fb05">PPB_URLLoader::ReadResponseBody</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> loader, void *buffer, int32_t bytes_to_read, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a92d0f2dc44bc4d087ad0ddca6557fb05" title="ReadResponseBody() is used to read the response body.">ReadResponseBody()</a> is used to read the response body. </p>
+<p>The size of the buffer must be large enough to hold the specified number of bytes to read. This function might perform a partial read.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">loader</td><td>A <code>PP_Resource</code> corresponding to a <code>URLLoader</code>. </td></tr>
+<tr><td class="paramdir">[in,out]</td><td class="paramname">buffer</td><td>A pointer to the buffer for the response body. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">bytes_to_read</td><td>The number of bytes to read. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to run on asynchronous completion. The callback will run if the bytes (full or partial) are read or an error occurs asynchronously. This callback will run only if this function returns <code>PP_OK_COMPLETIONPENDING</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing the number of bytes read or an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppb__url__loader_8h.html">ppb_url_loader.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___u_r_l_request_info__1__0.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___u_r_l_request_info__1__0.html
new file mode 100644
index 0000000..d9f11e7
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___u_r_l_request_info__1__0.html
@@ -0,0 +1,138 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_URLRequestInfo Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_URLRequestInfo" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html#af46135ad86d3444f19a8aa30dd5cd202">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html#ab23f1a2c86c64b64e806ba85cc5d1817">IsURLRequestInfo</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html#a47e9163b0ee627496a249171dc5c53be">SetProperty</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> request, <a class="el" href="group___enums.html#ga41975630f0a4c49e47d4a21754f8402d">PP_URLRequestProperty</a> property, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> value)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html#ac27a819ffd3ac75686e436f09c8c0ac1">AppendDataToBody</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> request, const void *data, uint32_t len)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html#af6edaa0b0f19cb902e5e1d8b3ad2a43b">AppendFileToBody</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> request, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref, int64_t start_offset, int64_t number_of_bytes, <a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a> expected_last_modified_time)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_URLRequestInfo</code> interface is used to create and handle URL requests. </p>
+<p>This API is used in conjunction with <code>PPB_URLLoader</code>. Refer to <code>PPB_URLLoader</code> for further information. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="ac27a819ffd3ac75686e436f09c8c0ac1"></a><!-- doxytag: member="PPB_URLRequestInfo::AppendDataToBody" ref="ac27a819ffd3ac75686e436f09c8c0ac1" args=")(PP_Resource request, const void *data, uint32_t len)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html#ac27a819ffd3ac75686e436f09c8c0ac1">PPB_URLRequestInfo::AppendDataToBody</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> request, const void *data, uint32_t len)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html#ac27a819ffd3ac75686e436f09c8c0ac1" title="AppendDataToBody() appends data to the request body.">AppendDataToBody()</a> appends data to the request body. </p>
+<p>A Content-Length request header will be automatically generated.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">request</td><td>A <code>PP_Resource</code> corresponding to a <code>URLRequestInfo</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>A pointer to a buffer holding the data. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>The length, in bytes, of the data.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if successful, <code>PP_FALSE</code> if any of the parameters are invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="af6edaa0b0f19cb902e5e1d8b3ad2a43b"></a><!-- doxytag: member="PPB_URLRequestInfo::AppendFileToBody" ref="af6edaa0b0f19cb902e5e1d8b3ad2a43b" args=")(PP_Resource request, PP_Resource file_ref, int64_t start_offset, int64_t number_of_bytes, PP_Time expected_last_modified_time)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html#af6edaa0b0f19cb902e5e1d8b3ad2a43b">PPB_URLRequestInfo::AppendFileToBody</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> request, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref, int64_t start_offset, int64_t number_of_bytes, <a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a> expected_last_modified_time)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html#af6edaa0b0f19cb902e5e1d8b3ad2a43b" title="AppendFileToBody() appends a file, to be uploaded, to the request body.">AppendFileToBody()</a> appends a file, to be uploaded, to the request body. </p>
+<p>A content-length request header will be automatically generated.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">request</td><td>A <code>PP_Resource</code> corresponding to a <code>URLRequestInfo</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">file_ref</td><td>A <code>PP_Resource</code> corresponding to a file reference. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">start_offset</td><td>An optional starting point offset within the file. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">number_of_bytes</td><td>An optional number of bytes of the file to be included. If <code>number_of_bytes</code> is -1, then the sub-range to upload extends to the end of the file. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">expected_last_modified_time</td><td>An optional (non-zero) last modified time stamp used to validate that the file was not modified since the given time before it was uploaded. The upload will fail with an error code of <code>PP_ERROR_FILECHANGED</code> if the file has been modified since the given time. If <code>expected_last_modified_time</code> is 0, then no validation is performed.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if successful, <code>PP_FALSE</code> if any of the parameters are invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="af46135ad86d3444f19a8aa30dd5cd202"></a><!-- doxytag: member="PPB_URLRequestInfo::Create" ref="af46135ad86d3444f19a8aa30dd5cd202" args=")(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html#af46135ad86d3444f19a8aa30dd5cd202">PPB_URLRequestInfo::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html#af46135ad86d3444f19a8aa30dd5cd202" title="Create() creates a new URLRequestInfo object.">Create()</a> creates a new <code>URLRequestInfo</code> object. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> identifying the <code>URLRequestInfo</code> if successful, 0 if the instance is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab23f1a2c86c64b64e806ba85cc5d1817"></a><!-- doxytag: member="PPB_URLRequestInfo::IsURLRequestInfo" ref="ab23f1a2c86c64b64e806ba85cc5d1817" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html#ab23f1a2c86c64b64e806ba85cc5d1817">PPB_URLRequestInfo::IsURLRequestInfo</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html#ab23f1a2c86c64b64e806ba85cc5d1817" title="IsURLRequestInfo() determines if a resource is a URLRequestInfo.">IsURLRequestInfo()</a> determines if a resource is a <code>URLRequestInfo</code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a <code>URLRequestInfo</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the resource is a <code>URLRequestInfo</code>, <code>PP_FALSE</code> if the resource is invalid or some type other than <code>URLRequestInfo</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a47e9163b0ee627496a249171dc5c53be"></a><!-- doxytag: member="PPB_URLRequestInfo::SetProperty" ref="a47e9163b0ee627496a249171dc5c53be" args=")(PP_Resource request, PP_URLRequestProperty property, struct PP_Var value)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html#a47e9163b0ee627496a249171dc5c53be">PPB_URLRequestInfo::SetProperty</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> request, <a class="el" href="group___enums.html#ga41975630f0a4c49e47d4a21754f8402d">PP_URLRequestProperty</a> property, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> value)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html#a47e9163b0ee627496a249171dc5c53be" title="SetProperty() sets a request property.">SetProperty()</a> sets a request property. </p>
+<p>The value of the property must be the correct type according to the property being set.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">request</td><td>A <code>PP_Resource</code> corresponding to a <code>URLRequestInfo</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">property</td><td>A <code>PP_URLRequestProperty</code> identifying the property to set. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> containing the property value.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if successful, <code>PP_FALSE</code> if any of the parameters are invalid. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppb__url__request__info_8h.html">ppb_url_request_info.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___u_r_l_response_info__1__0.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___u_r_l_response_info__1__0.html
new file mode 100644
index 0000000..4911cf6
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___u_r_l_response_info__1__0.html
@@ -0,0 +1,87 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_URLResponseInfo Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_URLResponseInfo" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_response_info__1__0.html#a0bb553375716a3966176ae01f6146d5a">IsURLResponseInfo</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_response_info__1__0.html#a3fff27f7102320e9efbd59dc83e62ddf">GetProperty</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> response, <a class="el" href="group___enums.html#ga642e6199b27df69aad84aff5597041e0">PP_URLResponseProperty</a> property)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_response_info__1__0.html#a5c826b8217ceede947eda843e0566d2b">GetBodyAsFileRef</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> response)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The PPB_URLResponseInfo interface contains APIs for examining URL responses. </p>
+<p>Refer to <code>PPB_URLLoader</code> for further information. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a5c826b8217ceede947eda843e0566d2b"></a><!-- doxytag: member="PPB_URLResponseInfo::GetBodyAsFileRef" ref="a5c826b8217ceede947eda843e0566d2b" args=")(PP_Resource response)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___u_r_l_response_info__1__0.html#a5c826b8217ceede947eda843e0566d2b">PPB_URLResponseInfo::GetBodyAsFileRef</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> response)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___u_r_l_response_info__1__0.html#a5c826b8217ceede947eda843e0566d2b" title="GetBodyAsFileRef() returns a FileRef pointing to the file containing the response body...">GetBodyAsFileRef()</a> returns a FileRef pointing to the file containing the response body. </p>
+<p>This is only valid if <code>PP_URLREQUESTPROPERTY_STREAMTOFILE</code> was set on the <code>URLRequestInfo</code> used to produce this response. This file remains valid until the <code>URLLoader</code> associated with this <code>URLResponseInfo</code> is closed or destroyed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">request</td><td>A <code>PP_Resource</code> corresponding to a <code>URLResponseInfo</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> corresponding to a <code>FileRef</code> if successful, 0 if <code>PP_URLREQUESTPROPERTY_STREAMTOFILE</code> was not requested or if the <code>URLLoader</code> has not been opened yet. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a3fff27f7102320e9efbd59dc83e62ddf"></a><!-- doxytag: member="PPB_URLResponseInfo::GetProperty" ref="a3fff27f7102320e9efbd59dc83e62ddf" args=")(PP_Resource response, PP_URLResponseProperty property)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___u_r_l_response_info__1__0.html#a3fff27f7102320e9efbd59dc83e62ddf">PPB_URLResponseInfo::GetProperty</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> response, <a class="el" href="group___enums.html#ga642e6199b27df69aad84aff5597041e0">PP_URLResponseProperty</a> property)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___u_r_l_response_info__1__0.html#a3fff27f7102320e9efbd59dc83e62ddf" title="GetProperty() gets a response property.">GetProperty()</a> gets a response property. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">request</td><td>A <code>PP_Resource</code> corresponding to a <code>URLResponseInfo</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">property</td><td>A <code>PP_URLResponseProperty</code> identifying the type of property in the response.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> containing the response property value if successful, <code>PP_VARTYPE_VOID</code> if an input parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a0bb553375716a3966176ae01f6146d5a"></a><!-- doxytag: member="PPB_URLResponseInfo::IsURLResponseInfo" ref="a0bb553375716a3966176ae01f6146d5a" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___u_r_l_response_info__1__0.html#a0bb553375716a3966176ae01f6146d5a">PPB_URLResponseInfo::IsURLResponseInfo</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___u_r_l_response_info__1__0.html#a0bb553375716a3966176ae01f6146d5a" title="IsURLResponseInfo() determines if a response is a URLResponseInfo.">IsURLResponseInfo()</a> determines if a response is a <code>URLResponseInfo</code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a <code>URLResponseInfo</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the resource is a <code>URLResponseInfo</code>, <code>PP_FALSE</code> if the resource is invalid or some type other than <code>URLResponseInfo</code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppb__url__response__info_8h.html">ppb_url_response_info.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___var__1__1.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___var__1__1.html
new file mode 100644
index 0000000..cabe5a7
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___var__1__1.html
@@ -0,0 +1,114 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_Var Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_Var" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var__1__1.html#a8fc2c3ab17026665e7f0eeb0ac7a2105">AddRef</a> )(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> var)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var__1__1.html#a11121fad397ca41981ccc48ee67aad3a">Release</a> )(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> var)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var__1__1.html#a33b06493ec6ecf650d706346b28398e2">VarFromUtf8</a> )(const char *data, uint32_t len)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const char *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var__1__1.html#a308c42ffebc291fc2fab3200ea5f1845">VarToUtf8</a> )(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> var, uint32_t *len)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>PPB_Var API. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a8fc2c3ab17026665e7f0eeb0ac7a2105"></a><!-- doxytag: member="PPB_Var::AddRef" ref="a8fc2c3ab17026665e7f0eeb0ac7a2105" args=")(struct PP_Var var)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___var__1__1.html#a8fc2c3ab17026665e7f0eeb0ac7a2105">PPB_Var::AddRef</a>)(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> var)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___var__1__1.html#a8fc2c3ab17026665e7f0eeb0ac7a2105" title="AddRef() adds a reference to the given var.">AddRef()</a> adds a reference to the given var. </p>
+<p>If this is not a refcounted object, this function will do nothing so you can always call it no matter what the type.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">var</td><td>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> that will have a reference added. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a11121fad397ca41981ccc48ee67aad3a"></a><!-- doxytag: member="PPB_Var::Release" ref="a11121fad397ca41981ccc48ee67aad3a" args=")(struct PP_Var var)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___var__1__1.html#a11121fad397ca41981ccc48ee67aad3a">PPB_Var::Release</a>)(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> var)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___var__1__1.html#a11121fad397ca41981ccc48ee67aad3a" title="Release() removes a reference to given var, deleting it if the internal reference count becomes 0...">Release()</a> removes a reference to given var, deleting it if the internal reference count becomes 0. </p>
+<p>If the given var is not a refcounted object, this function will do nothing so you can always call it no matter what the type.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">var</td><td>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> that will have a reference removed. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a33b06493ec6ecf650d706346b28398e2"></a><!-- doxytag: member="PPB_Var::VarFromUtf8" ref="a33b06493ec6ecf650d706346b28398e2" args=")(const char *data, uint32_t len)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___var__1__1.html#a33b06493ec6ecf650d706346b28398e2">PPB_Var::VarFromUtf8</a>)(const char *data, uint32_t len)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___var__1__1.html#a33b06493ec6ecf650d706346b28398e2" title="VarFromUtf8() creates a string var from a string.">VarFromUtf8()</a> creates a string var from a string. </p>
+<p>The string must be encoded in valid UTF-8 and is NOT NULL-terminated, the length must be specified in <code>len</code>. It is an error if the string is not valid UTF-8.</p>
+<p>If the length is 0, the <code>*data</code> pointer will not be dereferenced and may be <code>NULL</code>. Note, however if length is 0, the "NULL-ness" will not be preserved, as <code>VarToUtf8</code> will never return <code>NULL</code> on success, even for empty strings.</p>
+<p>The resulting object will be a refcounted string object. It will be AddRef'ed for the caller. When the caller is done with it, it should be Released.</p>
+<p>On error (basically out of memory to allocate the string, or input that is not valid UTF-8), this function will return a Null var.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>A string </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>The length of the string.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> structure containing a reference counted string object. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a308c42ffebc291fc2fab3200ea5f1845"></a><!-- doxytag: member="PPB_Var::VarToUtf8" ref="a308c42ffebc291fc2fab3200ea5f1845" args=")(struct PP_Var var, uint32_t *len)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">const char*(* <a class="el" href="struct_p_p_b___var__1__1.html#a308c42ffebc291fc2fab3200ea5f1845">PPB_Var::VarToUtf8</a>)(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> var, uint32_t *len)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___var__1__1.html#a308c42ffebc291fc2fab3200ea5f1845" title="VarToUtf8() converts a string-type var to a char* encoded in UTF-8.">VarToUtf8()</a> converts a string-type var to a char* encoded in UTF-8. </p>
+<p>This string is NOT NULL-terminated. The length will be placed in <code>*len</code>. If the string is valid but empty the return value will be non-NULL, but <code>*len</code> will still be 0.</p>
+<p>If the var is not a string, this function will return NULL and <code>*len</code> will be 0.</p>
+<p>The returned buffer will be valid as long as the underlying var is alive. If the instance frees its reference, the string will be freed and the pointer will be to arbitrary memory.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">var</td><td>A <a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a> struct containing a string-type var. </td></tr>
+<tr><td class="paramdir">[in,out]</td><td class="paramname">len</td><td>A pointer to the length of the string-type var.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A char* encoded in UTF-8. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppb__var_8h.html">ppb_var.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___var_array__1__0.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___var_array__1__0.html
new file mode 100644
index 0000000..874b3c6
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___var_array__1__0.html
@@ -0,0 +1,123 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_VarArray Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_VarArray" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_array__1__0.html#af70ca94305325f09306058ec87f50ca5">Create</a> )(void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_array__1__0.html#a20431bfeea806a1af61d4cca2f1f1437">Get</a> )(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> array, uint32_t index)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_array__1__0.html#aea60f6d4917fa248237c6bfd1eda92fe">Set</a> )(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> array, uint32_t index, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> value)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_array__1__0.html#ab1163119c730c95fea571a4618b8cc8f">GetLength</a> )(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> array)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_array__1__0.html#a4868611700bcca797bfae701870ce83b">SetLength</a> )(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> array, uint32_t length)</td></tr>
+</table>
+<hr /><h2>Field Documentation</h2>
+<a class="anchor" id="af70ca94305325f09306058ec87f50ca5"></a><!-- doxytag: member="PPB_VarArray::Create" ref="af70ca94305325f09306058ec87f50ca5" args=")(void)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___var_array__1__0.html#af70ca94305325f09306058ec87f50ca5">PPB_VarArray::Create</a>)(void)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Creates an array var, i.e., a <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> with type set to <code>PP_VARTYPE_ARRAY</code>. </p>
+<p>The array length is set to 0.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An empty array var, whose reference count is set to 1 on behalf of the caller. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a20431bfeea806a1af61d4cca2f1f1437"></a><!-- doxytag: member="PPB_VarArray::Get" ref="a20431bfeea806a1af61d4cca2f1f1437" args=")(struct PP_Var array, uint32_t index)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___var_array__1__0.html#a20431bfeea806a1af61d4cca2f1f1437">PPB_VarArray::Get</a>)(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> array, uint32_t index)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets an element from the array. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">array</td><td>An array var. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>An index indicating which element to return.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The element at the specified position. The reference count of the element returned is incremented on behalf of the caller. If <code>index</code> is larger than or equal to the array length, an undefined var is returned. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab1163119c730c95fea571a4618b8cc8f"></a><!-- doxytag: member="PPB_VarArray::GetLength" ref="ab1163119c730c95fea571a4618b8cc8f" args=")(struct PP_Var array)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t(* <a class="el" href="struct_p_p_b___var_array__1__0.html#ab1163119c730c95fea571a4618b8cc8f">PPB_VarArray::GetLength</a>)(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> array)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the array length. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">array</td><td>An array var.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The array length. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aea60f6d4917fa248237c6bfd1eda92fe"></a><!-- doxytag: member="PPB_VarArray::Set" ref="aea60f6d4917fa248237c6bfd1eda92fe" args=")(struct PP_Var array, uint32_t index, struct PP_Var value)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___var_array__1__0.html#aea60f6d4917fa248237c6bfd1eda92fe">PPB_VarArray::Set</a>)(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> array, uint32_t index, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> value)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sets the value of an element in the array. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">array</td><td>An array var. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>An index indicating which element to modify. If <code>index</code> is larger than or equal to the array length, the length is updated to be <code>index</code> + 1. Any position in the array that hasn't been set before is set to undefined, i.e., <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> of type <code>PP_VARTYPE_UNDEFINED</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The value to set. The array holds a reference to it on success.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> indicating whether the operation succeeds. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a4868611700bcca797bfae701870ce83b"></a><!-- doxytag: member="PPB_VarArray::SetLength" ref="a4868611700bcca797bfae701870ce83b" args=")(struct PP_Var array, uint32_t length)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___var_array__1__0.html#a4868611700bcca797bfae701870ce83b">PPB_VarArray::SetLength</a>)(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> array, uint32_t length)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sets the array length. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">array</td><td>An array var. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>The new array length. If <code>length</code> is smaller than its current value, the array is truncated to the new length; any elements that no longer fit are removed and the references to them will be released. If <code>length</code> is larger than its current value, undefined vars are appended to increase the array to the specified length.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> indicating whether the operation succeeds. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppb__var__array_8h.html">ppb_var_array.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___var_array_buffer__1__0.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___var_array_buffer__1__0.html
new file mode 100644
index 0000000..55778df
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___var_array_buffer__1__0.html
@@ -0,0 +1,118 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_VarArrayBuffer Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_VarArrayBuffer" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_array_buffer__1__0.html#a348f1470a2fc6cba9d430d0544e84225">Create</a> )(uint32_t size_in_bytes)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_array_buffer__1__0.html#a0ad6305942f991daa6dfe3b579931ea1">ByteLength</a> )(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> array, uint32_t *byte_length)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_array_buffer__1__0.html#a4c7c25b939f56de64fa3f6f906a7da8c">Map</a> )(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> array)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_array_buffer__1__0.html#ac841a12b7eb93dd05bd2b864920e22a7">Unmap</a> )(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> array)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_VarArrayBuffer</code> interface provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous sequence of bytes. </p>
+<p>Use <code>PPB_Var</code> to manage the reference count for a <code>VarArrayBuffer</code>. Note that these Vars are not part of the embedding page's DOM, and can only be shared with JavaScript using the <code>PostMessage</code> and <code>HandleMessage</code> functions of <code>pp::Instance</code>. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a0ad6305942f991daa6dfe3b579931ea1"></a><!-- doxytag: member="PPB_VarArrayBuffer::ByteLength" ref="a0ad6305942f991daa6dfe3b579931ea1" args=")(struct PP_Var array, uint32_t *byte_length)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___var_array_buffer__1__0.html#a0ad6305942f991daa6dfe3b579931ea1">PPB_VarArrayBuffer::ByteLength</a>)(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> array, uint32_t *byte_length)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___var_array_buffer__1__0.html#a0ad6305942f991daa6dfe3b579931ea1" title="ByteLength() retrieves the length of the VarArrayBuffer in bytes.">ByteLength()</a> retrieves the length of the <code>VarArrayBuffer</code> in bytes. </p>
+<p>On success, <code>byte_length</code> is set to the length of the given <code>ArrayBuffer</code> var. On failure, <code>byte_length</code> is unchanged (this could happen, for instance, if the given <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> is not of type <code>PP_VARTYPE_ARRAY_BUFFER</code>). Note that <a class="el" href="struct_p_p_b___var_array_buffer__1__0.html#a0ad6305942f991daa6dfe3b579931ea1" title="ByteLength() retrieves the length of the VarArrayBuffer in bytes.">ByteLength()</a> will successfully retrieve the size of an <code>ArrayBuffer</code> even if the <code>ArrayBuffer</code> is not currently mapped.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">array</td><td>The <code>ArrayBuffer</code> whose length should be returned.</td></tr>
+<tr><td class="paramdir">[out]</td><td class="paramname">byte_length</td><td>A variable which is set to the length of the given <code>ArrayBuffer</code> on success.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> on success, <code>PP_FALSE</code> on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a348f1470a2fc6cba9d430d0544e84225"></a><!-- doxytag: member="PPB_VarArrayBuffer::Create" ref="a348f1470a2fc6cba9d430d0544e84225" args=")(uint32_t size_in_bytes)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___var_array_buffer__1__0.html#a348f1470a2fc6cba9d430d0544e84225">PPB_VarArrayBuffer::Create</a>)(uint32_t size_in_bytes)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___var_array_buffer__1__0.html#a348f1470a2fc6cba9d430d0544e84225" title="Create() creates a zero-initialized VarArrayBuffer.">Create()</a> creates a zero-initialized <code>VarArrayBuffer</code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">size_in_bytes</td><td>The size of the <code>ArrayBuffer</code> to be created.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> representing a <code>VarArrayBuffer</code> of the requested size and with a reference count of 1. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a4c7c25b939f56de64fa3f6f906a7da8c"></a><!-- doxytag: member="PPB_VarArrayBuffer::Map" ref="a4c7c25b939f56de64fa3f6f906a7da8c" args=")(struct PP_Var array)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void*(* <a class="el" href="struct_p_p_b___var_array_buffer__1__0.html#a4c7c25b939f56de64fa3f6f906a7da8c">PPB_VarArrayBuffer::Map</a>)(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> array)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___var_array_buffer__1__0.html#a4c7c25b939f56de64fa3f6f906a7da8c" title="Map() maps the ArrayBuffer in to the module's address space and returns a pointer to the beginning of...">Map()</a> maps the <code>ArrayBuffer</code> in to the module's address space and returns a pointer to the beginning of the buffer for the given <code>ArrayBuffer <a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code>. </p>
+<p>ArrayBuffers are copied when transmitted, so changes to the underlying memory are not automatically available to the embedding page.</p>
+<p>Note that calling <a class="el" href="struct_p_p_b___var_array_buffer__1__0.html#a4c7c25b939f56de64fa3f6f906a7da8c" title="Map() maps the ArrayBuffer in to the module's address space and returns a pointer to the beginning of...">Map()</a> can be a relatively expensive operation. Use care when calling it in performance-critical code. For example, you should call it only once when looping over an <code>ArrayBuffer</code>.</p>
+<p><b>Example:</b></p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">char</span>* data = (<span class="keywordtype">char</span>*)(array_buffer_if.Map(array_buffer_var));
+ uint32_t byte_length = 0;
+ <a class="code" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918" title="The PP_Bool enum is a boolean value for use in PPAPI C headers.">PP_Bool</a> ok = array_buffer_if.ByteLength(array_buffer_var, &byte_length);
+ <span class="keywordflow">if</span> (!ok)
+ <span class="keywordflow">return</span> DoSomethingBecauseMyVarIsNotAnArrayBuffer();
+ <span class="keywordflow">for</span> (uint32_t i = 0; i < byte_length; ++i)
+ data[i] = <span class="charliteral">'A'</span>;
+</pre></div><dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">array</td><td>The <code>ArrayBuffer</code> whose internal buffer should be returned.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A pointer to the internal buffer for this <code>ArrayBuffer</code>. Returns <code>NULL</code> if the given <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> is not of type <code>PP_VARTYPE_ARRAY_BUFFER</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ac841a12b7eb93dd05bd2b864920e22a7"></a><!-- doxytag: member="PPB_VarArrayBuffer::Unmap" ref="ac841a12b7eb93dd05bd2b864920e22a7" args=")(struct PP_Var array)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___var_array_buffer__1__0.html#ac841a12b7eb93dd05bd2b864920e22a7">PPB_VarArrayBuffer::Unmap</a>)(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> array)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___var_array_buffer__1__0.html#ac841a12b7eb93dd05bd2b864920e22a7" title="Unmap() unmaps the given ArrayBuffer var from the module address space.">Unmap()</a> unmaps the given <code>ArrayBuffer</code> var from the module address space. </p>
+<p>Use this if you want to save memory but might want to call <a class="el" href="struct_p_p_b___var_array_buffer__1__0.html#a4c7c25b939f56de64fa3f6f906a7da8c" title="Map() maps the ArrayBuffer in to the module's address space and returns a pointer to the beginning of...">Map()</a> to map the buffer again later. The <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> remains valid and should still be released using <code>PPB_Var</code> when you are done with the <code>ArrayBuffer</code>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">array</td><td>The <code>ArrayBuffer</code> to be released. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppb__var__array__buffer_8h.html">ppb_var_array_buffer.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___var_dictionary__1__0.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___var_dictionary__1__0.html
new file mode 100644
index 0000000..7a182f7
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___var_dictionary__1__0.html
@@ -0,0 +1,148 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_VarDictionary Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_VarDictionary" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_dictionary__1__0.html#a1fad06939f6d2c711a319d6b984f45f5">Create</a> )(void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_dictionary__1__0.html#ac078e850f04e097ee67cefc3a475ec77">Get</a> )(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> dict, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> key)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_dictionary__1__0.html#a8af80f44eaab36b5c8bc670be405dc21">Set</a> )(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> dict, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> key, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> value)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_dictionary__1__0.html#a2df16916e3bd3ecc2de6e27100bb71db">Delete</a> )(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> dict, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> key)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_dictionary__1__0.html#a2b7c0b449352d77b0c36c2bdb270eb9a">HasKey</a> )(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> dict, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> key)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_dictionary__1__0.html#ab481ddec5b69bf964b63e859decc1e97">GetKeys</a> )(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> dict)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>A dictionary var contains key-value pairs with unique keys. </p>
+<p>The keys are strings while the values can be arbitrary vars. Key comparison is always done by value instead of by reference. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a1fad06939f6d2c711a319d6b984f45f5"></a><!-- doxytag: member="PPB_VarDictionary::Create" ref="a1fad06939f6d2c711a319d6b984f45f5" args=")(void)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___var_dictionary__1__0.html#a1fad06939f6d2c711a319d6b984f45f5">PPB_VarDictionary::Create</a>)(void)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Creates a dictionary var, i.e., a <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> with type set to <code>PP_VARTYPE_DICTIONARY</code>. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An empty dictionary var, whose reference count is set to 1 on behalf of the caller. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2df16916e3bd3ecc2de6e27100bb71db"></a><!-- doxytag: member="PPB_VarDictionary::Delete" ref="a2df16916e3bd3ecc2de6e27100bb71db" args=")(struct PP_Var dict, struct PP_Var key)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___var_dictionary__1__0.html#a2df16916e3bd3ecc2de6e27100bb71db">PPB_VarDictionary::Delete</a>)(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> dict, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> key)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Deletes the specified key and its associated value, if the key exists. </p>
+<p>The reference to the element will be released.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">dict</td><td>A dictionary var. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>A string var. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ac078e850f04e097ee67cefc3a475ec77"></a><!-- doxytag: member="PPB_VarDictionary::Get" ref="ac078e850f04e097ee67cefc3a475ec77" args=")(struct PP_Var dict, struct PP_Var key)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___var_dictionary__1__0.html#ac078e850f04e097ee67cefc3a475ec77">PPB_VarDictionary::Get</a>)(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> dict, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> key)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the value associated with the specified key. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">dict</td><td>A dictionary var. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>A string var.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The value that is associated with <code>key</code>. The reference count of the element returned is incremented on behalf of the caller. If <code>key</code> is not a string var, or it doesn't exist in <code>dict</code>, an undefined var is returned. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab481ddec5b69bf964b63e859decc1e97"></a><!-- doxytag: member="PPB_VarDictionary::GetKeys" ref="ab481ddec5b69bf964b63e859decc1e97" args=")(struct PP_Var dict)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___var_dictionary__1__0.html#ab481ddec5b69bf964b63e859decc1e97">PPB_VarDictionary::GetKeys</a>)(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> dict)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets all the keys in a dictionary. </p>
+<p>Please note that for each key that you set into the dictionary, a string var with the same contents is returned; but it may not be the same string var (i.e., <code>value.as_id</code> may be different).</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">dict</td><td>A dictionary var.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An array var which contains all the keys of <code>dict</code>. Its reference count is incremented on behalf of the caller. The elements are string vars. Returns a null var if failed. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2b7c0b449352d77b0c36c2bdb270eb9a"></a><!-- doxytag: member="PPB_VarDictionary::HasKey" ref="a2b7c0b449352d77b0c36c2bdb270eb9a" args=")(struct PP_Var dict, struct PP_Var key)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___var_dictionary__1__0.html#a2b7c0b449352d77b0c36c2bdb270eb9a">PPB_VarDictionary::HasKey</a>)(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> dict, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> key)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Checks whether a key exists. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">dict</td><td>A dictionary var. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>A string var.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> indicating whether the key exists. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a8af80f44eaab36b5c8bc670be405dc21"></a><!-- doxytag: member="PPB_VarDictionary::Set" ref="a8af80f44eaab36b5c8bc670be405dc21" args=")(struct PP_Var dict, struct PP_Var key, struct PP_Var value)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___var_dictionary__1__0.html#a8af80f44eaab36b5c8bc670be405dc21">PPB_VarDictionary::Set</a>)(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> dict, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> key, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> value)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sets the value associated with the specified key. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">dict</td><td>A dictionary var. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>A string var. If this key hasn't existed in <code>dict</code>, it is added and associated with <code>value</code>; otherwise, the previous value is replaced with <code>value</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The value to set. The dictionary holds a reference to it on success.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> indicating whether the operation succeeds. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppb__var__dictionary_8h.html">ppb_var_dictionary.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___video_frame__0__1.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___video_frame__0__1.html
new file mode 100644
index 0000000..377dc46
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___video_frame__0__1.html
@@ -0,0 +1,168 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_VideoFrame Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_VideoFrame" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___video_frame__0__1.html#a4b1d739620b38f0c02eb93f5e3ab95f2">IsVideoFrame</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#ga3962a5355895925a757f613567e422fa">PP_TimeDelta</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___video_frame__0__1.html#ac489deabb1c82426ad1d58be078cfb26">GetTimestamp</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> frame)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___video_frame__0__1.html#a01d82a532ca1f1158b82862cb94c586d">SetTimestamp</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> frame, <a class="el" href="group___typedefs.html#ga3962a5355895925a757f613567e422fa">PP_TimeDelta</a> timestamp)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4e7cf746d8acbfa268db1f5ebe8061bf">PP_VideoFrame_Format</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___video_frame__0__1.html#a62323240cc59ea9fd8725a44c69b17c6">GetFormat</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> frame)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___video_frame__0__1.html#a6ddf0fe2f254810d969eda729db095d9">GetSize</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> frame, struct <a class="el" href="struct_p_p___size.html">PP_Size</a> *size)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___video_frame__0__1.html#a01acb2d82746ce41c37d69a74c055ce0">GetDataBuffer</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> frame)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___video_frame__0__1.html#a29e5e9e9bb2abc0563b1e9ecbc4c880c">GetDataBufferSize</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> frame)</td></tr>
+</table>
+<hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a01acb2d82746ce41c37d69a74c055ce0"></a><!-- doxytag: member="PPB_VideoFrame::GetDataBuffer" ref="a01acb2d82746ce41c37d69a74c055ce0" args=")(PP_Resource frame)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void*(* <a class="el" href="struct_p_p_b___video_frame__0__1.html#a01acb2d82746ce41c37d69a74c055ce0">PPB_VideoFrame::GetDataBuffer</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> frame)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the data buffer for video frame pixels. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">frame</td><td>A <code>PP_Resource</code> corresponding to a video frame resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A pointer to the beginning of the data buffer. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a29e5e9e9bb2abc0563b1e9ecbc4c880c"></a><!-- doxytag: member="PPB_VideoFrame::GetDataBufferSize" ref="a29e5e9e9bb2abc0563b1e9ecbc4c880c" args=")(PP_Resource frame)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t(* <a class="el" href="struct_p_p_b___video_frame__0__1.html#a29e5e9e9bb2abc0563b1e9ecbc4c880c">PPB_VideoFrame::GetDataBufferSize</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> frame)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the size of data buffer. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">frame</td><td>A <code>PP_Resource</code> corresponding to a video frame resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The size of the data buffer. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a62323240cc59ea9fd8725a44c69b17c6"></a><!-- doxytag: member="PPB_VideoFrame::GetFormat" ref="a62323240cc59ea9fd8725a44c69b17c6" args=")(PP_Resource frame)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4e7cf746d8acbfa268db1f5ebe8061bf">PP_VideoFrame_Format</a>(* <a class="el" href="struct_p_p_b___video_frame__0__1.html#a62323240cc59ea9fd8725a44c69b17c6">PPB_VideoFrame::GetFormat</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> frame)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the format of the video frame. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">frame</td><td>A <code>PP_Resource</code> corresponding to a video frame resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_VideoFrame_Format</code> containing the format of the video frame. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a6ddf0fe2f254810d969eda729db095d9"></a><!-- doxytag: member="PPB_VideoFrame::GetSize" ref="a6ddf0fe2f254810d969eda729db095d9" args=")(PP_Resource frame, struct PP_Size *size)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___video_frame__0__1.html#a6ddf0fe2f254810d969eda729db095d9">PPB_VideoFrame::GetSize</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> frame, struct <a class="el" href="struct_p_p___size.html">PP_Size</a> *size)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the size of the video frame. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">frame</td><td>A <code>PP_Resource</code> corresponding to a video frame resource. </td></tr>
+<tr><td class="paramdir">[out]</td><td class="paramname">size</td><td>A <code><a class="el" href="struct_p_p___size.html" title="The PP_Size struct contains the size of a 2D rectangle.">PP_Size</a></code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> with <code>PP_TRUE</code> on success or <code>PP_FALSE</code> on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ac489deabb1c82426ad1d58be078cfb26"></a><!-- doxytag: member="PPB_VideoFrame::GetTimestamp" ref="ac489deabb1c82426ad1d58be078cfb26" args=")(PP_Resource frame)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#ga3962a5355895925a757f613567e422fa">PP_TimeDelta</a>(* <a class="el" href="struct_p_p_b___video_frame__0__1.html#ac489deabb1c82426ad1d58be078cfb26">PPB_VideoFrame::GetTimestamp</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> frame)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the timestamp of the video frame. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">frame</td><td>A <code>PP_Resource</code> corresponding to a video frame resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_TimeDelta</code> containing the timestamp of the video frame. Given in seconds since the start of the containing video stream. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a4b1d739620b38f0c02eb93f5e3ab95f2"></a><!-- doxytag: member="PPB_VideoFrame::IsVideoFrame" ref="a4b1d739620b38f0c02eb93f5e3ab95f2" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___video_frame__0__1.html#a4b1d739620b38f0c02eb93f5e3ab95f2">PPB_VideoFrame::IsVideoFrame</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Determines if a resource is a VideoFrame resource. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>The <code>PP_Resource</code> to test.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> with <code>PP_TRUE</code> if the given resource is a VideoFrame resource or <code>PP_FALSE</code> otherwise. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a01d82a532ca1f1158b82862cb94c586d"></a><!-- doxytag: member="PPB_VideoFrame::SetTimestamp" ref="a01d82a532ca1f1158b82862cb94c586d" args=")(PP_Resource frame, PP_TimeDelta timestamp)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___video_frame__0__1.html#a01d82a532ca1f1158b82862cb94c586d">PPB_VideoFrame::SetTimestamp</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> frame, <a class="el" href="group___typedefs.html#ga3962a5355895925a757f613567e422fa">PP_TimeDelta</a> timestamp)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sets the timestamp of the video frame. </p>
+<p>Given in seconds since the start of the containing video stream.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">frame</td><td>A <code>PP_Resource</code> corresponding to a video frame resource. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">timestamp</td><td>A <code>PP_TimeDelta</code> containing the timestamp of the video frame. Given in seconds since the start of the containing video stream. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppb__video__frame_8h.html">ppb_video_frame.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___view__1__1.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___view__1__1.html
new file mode 100644
index 0000000..5dea03a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___view__1__1.html
@@ -0,0 +1,209 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_View Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_View" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___view__1__1.html#af8edddb82a8b9bf57b2cdd24865c918a">IsView</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___view__1__1.html#a2868af4218df145607e3fd353eb5bfff">GetRect</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, struct <a class="el" href="struct_p_p___rect.html">PP_Rect</a> *rect)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___view__1__1.html#a89a285dd50599e8965b4e2b3cecf39ee">IsFullscreen</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___view__1__1.html#a048d5c02d3cf41447b51fdc546f0ba35">IsVisible</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___view__1__1.html#adfd3a2939a3bbdb0a7258cf061fd9f4b">IsPageVisible</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___view__1__1.html#a6eefff83d768387e0112f01bb1ca01d7">GetClipRect</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, struct <a class="el" href="struct_p_p___rect.html">PP_Rect</a> *clip)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___view__1__1.html#aa0d2c1ccfb2a8e3bd693045ad87011cf">GetDeviceScale</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___view__1__1.html#a7e6b9a5d16fe05ba03b7058ca6f1e3ce">GetCSSScale</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p><code>PPB_View</code> represents the state of the view of an instance. </p>
+<p>You will receive new view information using <code><a class="el" href="struct_p_p_p___instance__1__1.html#aa028a7b17d62242ac56b6ab4b55dc047" title="DidChangeView() is called when the position, size, or other view attributes of the instance has chang...">PPP_Instance.DidChangeView</a></code>. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a6eefff83d768387e0112f01bb1ca01d7"></a><!-- doxytag: member="PPB_View::GetClipRect" ref="a6eefff83d768387e0112f01bb1ca01d7" args=")(PP_Resource resource, struct PP_Rect *clip)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___view__1__1.html#a6eefff83d768387e0112f01bb1ca01d7">PPB_View::GetClipRect</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, struct <a class="el" href="struct_p_p___rect.html">PP_Rect</a> *clip)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___view__1__1.html#a6eefff83d768387e0112f01bb1ca01d7" title="GetClipRect() returns the clip rectangle relative to the upper-left corner of the module instance...">GetClipRect()</a> returns the clip rectangle relative to the upper-left corner of the module instance. </p>
+<p>This rectangle indicates the portions of the module instance that are scrolled into view.</p>
+<p>If the module instance is scrolled off the view, the return value will be (0, 0, 0, 0). This clip rectangle does <em>not</em> take into account page visibility. Therefore, if the module instance is scrolled into view, but the page itself is on a tab that is not visible, the return rectangle will contain the visible rectangle as though the page were visible. Refer to <a class="el" href="struct_p_p_b___view__1__1.html#adfd3a2939a3bbdb0a7258cf061fd9f4b" title="IsPageVisible() determines if the page that contains the module instance is visible.">IsPageVisible()</a> and <a class="el" href="struct_p_p_b___view__1__1.html#a048d5c02d3cf41447b51fdc546f0ba35" title="IsVisible() determines whether the module instance might be visible to the user.">IsVisible()</a> if you want to account for page visibility.</p>
+<p>Most applications will not need to worry about the clip rectangle. The recommended behavior is to do full updates if the module instance is visible, as determined by <a class="el" href="struct_p_p_b___view__1__1.html#a048d5c02d3cf41447b51fdc546f0ba35" title="IsVisible() determines whether the module instance might be visible to the user.">IsVisible()</a>, and do no updates if it is not visible.</p>
+<p>However, if the cost for computing pixels is very high for your application, or the pages you're targeting frequently have very large module instances with small visible portions, you may wish to optimize further. In this case, the clip rectangle will tell you which parts of the module to update.</p>
+<p>Note that painting of the page and sending of view changed updates happens asynchronously. This means when the user scrolls, for example, it is likely that the previous backing store of the module instance will be used for the first paint, and will be updated later when your application generates new content with the new clip. This may cause flickering at the boundaries when scrolling. If you do choose to do partial updates, you may want to think about what color the invisible portions of your backing store contain (be it transparent or some background color) or to paint a certain region outside the clip to reduce the visual distraction when this happens.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a <code>PPB_View</code> resource.</td></tr>
+<tr><td class="paramname">clip</td><td>Output argument receiving the clip rect on success.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>PP_TRUE</code> if the resource was valid and the clip rect was filled in, <code>PP_FALSE</code> if not. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a7e6b9a5d16fe05ba03b7058ca6f1e3ce"></a><!-- doxytag: member="PPB_View::GetCSSScale" ref="a7e6b9a5d16fe05ba03b7058ca6f1e3ce" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float(* <a class="el" href="struct_p_p_b___view__1__1.html#a7e6b9a5d16fe05ba03b7058ca6f1e3ce">PPB_View::GetCSSScale</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>GetCSSScale returns the scale factor between DIPs and CSS pixels. </p>
+<p>This allows proper scaling between DIPs - as sent via the Pepper API - and CSS pixel coordinates used for Web content.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a <code>PPB_View</code> resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>css_scale A <code>float</code> value representing the number of DIPs per CSS pixel. If the resource is invalid, the value will be 0.0. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aa0d2c1ccfb2a8e3bd693045ad87011cf"></a><!-- doxytag: member="PPB_View::GetDeviceScale" ref="aa0d2c1ccfb2a8e3bd693045ad87011cf" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float(* <a class="el" href="struct_p_p_b___view__1__1.html#aa0d2c1ccfb2a8e3bd693045ad87011cf">PPB_View::GetDeviceScale</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>GetDeviceScale returns the scale factor between device pixels and Density Independent Pixels (DIPs, also known as logical pixels or UI pixels on some platforms). </p>
+<p>This allows the developer to render their contents at device resolution, even as coordinates / sizes are given in DIPs through the API.</p>
+<p>Note that the coordinate system for Pepper APIs is DIPs. Also note that one DIP might not equal one CSS pixel - when page scale/zoom is in effect.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a <code>PPB_View</code> resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>float</code> value representing the number of device pixels per DIP. If the resource is invalid, the value will be 0.0. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2868af4218df145607e3fd353eb5bfff"></a><!-- doxytag: member="PPB_View::GetRect" ref="a2868af4218df145607e3fd353eb5bfff" args=")(PP_Resource resource, struct PP_Rect *rect)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___view__1__1.html#a2868af4218df145607e3fd353eb5bfff">PPB_View::GetRect</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, struct <a class="el" href="struct_p_p___rect.html">PP_Rect</a> *rect)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___view__1__1.html#a2868af4218df145607e3fd353eb5bfff" title="GetRect() retrieves the rectangle of the module instance associated with a view changed notification ...">GetRect()</a> retrieves the rectangle of the module instance associated with a view changed notification relative to the upper-left of the browser viewport. </p>
+<p>This position changes when the page is scrolled.</p>
+<p>The returned rectangle may not be inside the visible portion of the viewport if the module instance is scrolled off the page. Therefore, the position may be negative or larger than the size of the page. The size will always reflect the size of the module were it to be scrolled entirely into view.</p>
+<p>In general, most modules will not need to worry about the position of the module instance in the viewport, and only need to use the size.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a <code>PPB_View</code> resource.</td></tr>
+<tr><td class="paramname">rect</td><td>A <code><a class="el" href="struct_p_p___rect.html" title="The PP_Rect struct contains the size and location of a 2D rectangle.">PP_Rect</a></code> receiving the rectangle on success.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>PP_TRUE</code> if the resource was valid and the viewport rectangle was filled in, <code>PP_FALSE</code> if not. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a89a285dd50599e8965b4e2b3cecf39ee"></a><!-- doxytag: member="PPB_View::IsFullscreen" ref="a89a285dd50599e8965b4e2b3cecf39ee" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___view__1__1.html#a89a285dd50599e8965b4e2b3cecf39ee">PPB_View::IsFullscreen</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___view__1__1.html#a89a285dd50599e8965b4e2b3cecf39ee" title="IsFullscreen() returns whether the instance is currently displaying in fullscreen mode...">IsFullscreen()</a> returns whether the instance is currently displaying in fullscreen mode. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a <code>PPB_View</code> resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the instance is in full screen mode, or <code>PP_FALSE</code> if it's not or the resource is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="adfd3a2939a3bbdb0a7258cf061fd9f4b"></a><!-- doxytag: member="PPB_View::IsPageVisible" ref="adfd3a2939a3bbdb0a7258cf061fd9f4b" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___view__1__1.html#adfd3a2939a3bbdb0a7258cf061fd9f4b">PPB_View::IsPageVisible</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___view__1__1.html#adfd3a2939a3bbdb0a7258cf061fd9f4b" title="IsPageVisible() determines if the page that contains the module instance is visible.">IsPageVisible()</a> determines if the page that contains the module instance is visible. </p>
+<p>The most common cause of invisible pages is that the page is in a background tab in the browser.</p>
+<p>Most applications should use <a class="el" href="struct_p_p_b___view__1__1.html#a048d5c02d3cf41447b51fdc546f0ba35" title="IsVisible() determines whether the module instance might be visible to the user.">IsVisible()</a> instead of this function since the module instance could be scrolled off of a visible page, and this function will still return true. However, depending on how your module interacts with the page, there may be certain updates that you may want to perform when the page is visible even if your specific module instance is not visible.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a <code>PPB_View</code> resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the instance is plausibly visible to the user, <code>PP_FALSE</code> if it is definitely not visible. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="af8edddb82a8b9bf57b2cdd24865c918a"></a><!-- doxytag: member="PPB_View::IsView" ref="af8edddb82a8b9bf57b2cdd24865c918a" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___view__1__1.html#af8edddb82a8b9bf57b2cdd24865c918a">PPB_View::IsView</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___view__1__1.html#af8edddb82a8b9bf57b2cdd24865c918a" title="IsView() determines if the given resource is a valid PPB_View resource.">IsView()</a> determines if the given resource is a valid <code>PPB_View</code> resource. </p>
+<p>Note that <code>PPB_ViewChanged</code> resources derive from <code>PPB_View</code> and will return true here as well.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a <code>PPB_View</code> resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the given resource supports <code>PPB_View</code> or <code>PP_FALSE</code> if it is an invalid resource or is a resource of another type. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a048d5c02d3cf41447b51fdc546f0ba35"></a><!-- doxytag: member="PPB_View::IsVisible" ref="a048d5c02d3cf41447b51fdc546f0ba35" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___view__1__1.html#a048d5c02d3cf41447b51fdc546f0ba35">PPB_View::IsVisible</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___view__1__1.html#a048d5c02d3cf41447b51fdc546f0ba35" title="IsVisible() determines whether the module instance might be visible to the user.">IsVisible()</a> determines whether the module instance might be visible to the user. </p>
+<p>For example, the Chrome window could be minimized or another window could be over it. In both of these cases, the module instance would not be visible to the user, but <a class="el" href="struct_p_p_b___view__1__1.html#a048d5c02d3cf41447b51fdc546f0ba35" title="IsVisible() determines whether the module instance might be visible to the user.">IsVisible()</a> will return true.</p>
+<p>Use the result to speed up or stop updates for invisible module instances.</p>
+<p>This function performs the duties of <a class="el" href="struct_p_p_b___view__1__1.html#a2868af4218df145607e3fd353eb5bfff" title="GetRect() retrieves the rectangle of the module instance associated with a view changed notification ...">GetRect()</a> (determining whether the module instance is scrolled into view and the clip rectangle is nonempty) and <a class="el" href="struct_p_p_b___view__1__1.html#adfd3a2939a3bbdb0a7258cf061fd9f4b" title="IsPageVisible() determines if the page that contains the module instance is visible.">IsPageVisible()</a> (whether the page is visible to the user).</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a <code>PPB_View</code> resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the instance might be visible to the user, <code>PP_FALSE</code> if it is definitely not visible. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppb__view_8h.html">ppb_view.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___web_socket__1__0.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___web_socket__1__0.html
new file mode 100644
index 0000000..05a2e63
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___web_socket__1__0.html
@@ -0,0 +1,327 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_WebSocket Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_WebSocket" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___web_socket__1__0.html#a220cff8f5aa9f742d2b9cc4ab0e8de1b">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___web_socket__1__0.html#afa66d61dd10155dd445a13f1c6280a79">IsWebSocket</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___web_socket__1__0.html#aaff1d1e6f3240e5ce9c772ad80aa38d5">Connect</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> url, const struct <a class="el" href="struct_p_p___var.html">PP_Var</a> protocols[], uint32_t protocol_count, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___web_socket__1__0.html#aa2f3e391713d6097f1d0b2944acab8e8">Close</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket, uint16_t code, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> reason, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___web_socket__1__0.html#aedebd5c21bc451e6b99ea1b2de884122">ReceiveMessage</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> *message, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___web_socket__1__0.html#a05bf8512a7c566f59d527c4a7e92f194">SendMessage</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> message)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint64_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___web_socket__1__0.html#a45b1ad062facdf02199d1879a55c6299">GetBufferedAmount</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint16_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___web_socket__1__0.html#ac0bfae85f51a9e2d5b7fb9660f24968e">GetCloseCode</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___web_socket__1__0.html#aef09f974f4c6ebc9c23a9161ae7c2945">GetCloseReason</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___web_socket__1__0.html#afaf7ee244ffe9aae026b7fbca7a6eff4">GetCloseWasClean</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___web_socket__1__0.html#a71d0d4a01f5e11520d56b668ff178c20">GetExtensions</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___web_socket__1__0.html#a0f5f83152a917998a23e0a10b3a0fa4a">GetProtocol</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#gade61cdf6a7470769b571925694d91a89">PP_WebSocketReadyState</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___web_socket__1__0.html#abd52bebffd4153294734168663057ecc">GetReadyState</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___web_socket__1__0.html#a130ed98f0ebabb614b6637ca6f800e13">GetURL</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_WebSocket</code> interface provides bi-directional, full-duplex, communications over a single TCP socket. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="aa2f3e391713d6097f1d0b2944acab8e8"></a><!-- doxytag: member="PPB_WebSocket::Close" ref="aa2f3e391713d6097f1d0b2944acab8e8" args=")(PP_Resource web_socket, uint16_t code, struct PP_Var reason, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___web_socket__1__0.html#aa2f3e391713d6097f1d0b2944acab8e8">PPB_WebSocket::Close</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket, uint16_t code, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> reason, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___web_socket__1__0.html#aa2f3e391713d6097f1d0b2944acab8e8" title="Close() closes the specified WebSocket connection by specifying code and reason.">Close()</a> closes the specified WebSocket connection by specifying <code>code</code> and <code>reason</code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">web_socket</td><td>A <code>PP_Resource</code> corresponding to a WebSocket.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">code</td><td>The WebSocket close code. This is ignored if it is <code>PP_WEBSOCKETSTATUSCODE_NOT_SPECIFIED</code>. <code>PP_WEBSOCKETSTATUSCODE_NORMAL_CLOSURE</code> must be used for the usual case. To indicate some specific error cases, codes in the range <code>PP_WEBSOCKETSTATUSCODE_USER_REGISTERED_MIN</code> to <code>PP_WEBSOCKETSTATUSCODE_USER_REGISTERED_MAX</code>, and in the range <code>PP_WEBSOCKETSTATUSCODE_USER_PRIVATE_MIN</code> to <code>PP_WEBSOCKETSTATUSCODE_USER_PRIVATE_MAX</code> are available.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">reason</td><td>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> representing the WebSocket close reason. This is ignored if it is <code>PP_VARTYPE_UNDEFINED</code>. Otherwise, its <code>PP_VarType</code> must be <code>PP_VARTYPE_STRING</code>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> called when the connection is closed or an error occurs in closing the connection.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. Returns <code>PP_ERROR_BADARGUMENT</code> if <code>reason</code> contains an invalid character as a UTF-8 string, or is longer than 123 bytes. <code>PP_ERROR_BADARGUMENT</code> corresponds to a JavaScript SyntaxError in the WebSocket API specification. Returns <code>PP_ERROR_NOACCESS</code> if the code is not an integer equal to 1000 or in the range 3000 to 4999. <code>PP_ERROR_NOACCESS</code> corresponds to an InvalidAccessError in the WebSocket API specification. Returns <code>PP_ERROR_INPROGRESS</code> if a previous call to <a class="el" href="struct_p_p_b___web_socket__1__0.html#aa2f3e391713d6097f1d0b2944acab8e8" title="Close() closes the specified WebSocket connection by specifying code and reason.">Close()</a> is not finished. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aaff1d1e6f3240e5ce9c772ad80aa38d5"></a><!-- doxytag: member="PPB_WebSocket::Connect" ref="aaff1d1e6f3240e5ce9c772ad80aa38d5" args=")(PP_Resource web_socket, struct PP_Var url, const struct PP_Var protocols[], uint32_t protocol_count, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___web_socket__1__0.html#aaff1d1e6f3240e5ce9c772ad80aa38d5">PPB_WebSocket::Connect</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> url, const struct <a class="el" href="struct_p_p___var.html">PP_Var</a> protocols[], uint32_t protocol_count, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___web_socket__1__0.html#aaff1d1e6f3240e5ce9c772ad80aa38d5" title="Connect() connects to the specified WebSocket server.">Connect()</a> connects to the specified WebSocket server. </p>
+<p>You can call this function once for a <code>web_socket</code>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">web_socket</td><td>A <code>PP_Resource</code> corresponding to a WebSocket.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">url</td><td>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> representing a WebSocket server URL. The <code>PP_VarType</code> must be <code>PP_VARTYPE_STRING</code>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">protocols</td><td>A pointer to an array of <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> specifying sub-protocols. Each <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> represents one sub-protocol and its <code>PP_VarType</code> must be <code>PP_VARTYPE_STRING</code>. This argument can be null only if <code>protocol_count</code> is 0.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">protocol_count</td><td>The number of sub-protocols in <code>protocols</code>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> called when a connection is established or an error occurs in establishing connection.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. Returns <code>PP_ERROR_BADARGUMENT</code> if the specified <code>url</code>, or <code>protocols</code> contain an invalid string as defined in the WebSocket API specification. <code>PP_ERROR_BADARGUMENT</code> corresponds to a SyntaxError in the WebSocket API specification. Returns <code>PP_ERROR_NOACCESS</code> if the protocol specified in the <code>url</code> is not a secure protocol, but the origin of the caller has a secure scheme. Also returns <code>PP_ERROR_NOACCESS</code> if the port specified in the <code>url</code> is a port that the user agent is configured to block access to because it is a well-known port like SMTP. <code>PP_ERROR_NOACCESS</code> corresponds to a SecurityError of the specification. Returns <code>PP_ERROR_INPROGRESS</code> if this is not the first call to <a class="el" href="struct_p_p_b___web_socket__1__0.html#aaff1d1e6f3240e5ce9c772ad80aa38d5" title="Connect() connects to the specified WebSocket server.">Connect()</a>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a220cff8f5aa9f742d2b9cc4ab0e8de1b"></a><!-- doxytag: member="PPB_WebSocket::Create" ref="a220cff8f5aa9f742d2b9cc4ab0e8de1b" args=")(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___web_socket__1__0.html#a220cff8f5aa9f742d2b9cc4ab0e8de1b">PPB_WebSocket::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___web_socket__1__0.html#a220cff8f5aa9f742d2b9cc4ab0e8de1b" title="Create() creates a WebSocket instance.">Create()</a> creates a WebSocket instance. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying the instance with the WebSocket.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> corresponding to a WebSocket if successful. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a45b1ad062facdf02199d1879a55c6299"></a><!-- doxytag: member="PPB_WebSocket::GetBufferedAmount" ref="a45b1ad062facdf02199d1879a55c6299" args=")(PP_Resource web_socket)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint64_t(* <a class="el" href="struct_p_p_b___web_socket__1__0.html#a45b1ad062facdf02199d1879a55c6299">PPB_WebSocket::GetBufferedAmount</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___web_socket__1__0.html#a45b1ad062facdf02199d1879a55c6299" title="GetBufferedAmount() returns the number of bytes of text and binary messages that have been queued for...">GetBufferedAmount()</a> returns the number of bytes of text and binary messages that have been queued for the WebSocket connection to send, but have not been transmitted to the network yet. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">web_socket</td><td>A <code>PP_Resource</code> corresponding to a WebSocket.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the number of bytes. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ac0bfae85f51a9e2d5b7fb9660f24968e"></a><!-- doxytag: member="PPB_WebSocket::GetCloseCode" ref="ac0bfae85f51a9e2d5b7fb9660f24968e" args=")(PP_Resource web_socket)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint16_t(* <a class="el" href="struct_p_p_b___web_socket__1__0.html#ac0bfae85f51a9e2d5b7fb9660f24968e">PPB_WebSocket::GetCloseCode</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___web_socket__1__0.html#ac0bfae85f51a9e2d5b7fb9660f24968e" title="GetCloseCode() returns the connection close code for the WebSocket connection.">GetCloseCode()</a> returns the connection close code for the WebSocket connection. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">web_socket</td><td>A <code>PP_Resource</code> corresponding to a WebSocket.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns 0 if called before the close code is set. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aef09f974f4c6ebc9c23a9161ae7c2945"></a><!-- doxytag: member="PPB_WebSocket::GetCloseReason" ref="aef09f974f4c6ebc9c23a9161ae7c2945" args=")(PP_Resource web_socket)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___web_socket__1__0.html#aef09f974f4c6ebc9c23a9161ae7c2945">PPB_WebSocket::GetCloseReason</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___web_socket__1__0.html#aef09f974f4c6ebc9c23a9161ae7c2945" title="GetCloseReason() returns the connection close reason for the WebSocket connection.">GetCloseReason()</a> returns the connection close reason for the WebSocket connection. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">web_socket</td><td>A <code>PP_Resource</code> corresponding to a WebSocket.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns a <code>PP_VARTYPE_STRING</code> var. If called before the close reason is set, the return value contains an empty string. Returns a <code>PP_VARTYPE_UNDEFINED</code> if called on an invalid resource. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="afaf7ee244ffe9aae026b7fbca7a6eff4"></a><!-- doxytag: member="PPB_WebSocket::GetCloseWasClean" ref="afaf7ee244ffe9aae026b7fbca7a6eff4" args=")(PP_Resource web_socket)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___web_socket__1__0.html#afaf7ee244ffe9aae026b7fbca7a6eff4">PPB_WebSocket::GetCloseWasClean</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___web_socket__1__0.html#afaf7ee244ffe9aae026b7fbca7a6eff4" title="GetCloseWasClean() returns if the connection was closed cleanly for the specified WebSocket connectio...">GetCloseWasClean()</a> returns if the connection was closed cleanly for the specified WebSocket connection. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">web_socket</td><td>A <code>PP_Resource</code> corresponding to a WebSocket.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>PP_FALSE</code> if called before the connection is closed, called on an invalid resource, or closed for abnormal reasons. Otherwise, returns <code>PP_TRUE</code> if the connection was closed cleanly. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a71d0d4a01f5e11520d56b668ff178c20"></a><!-- doxytag: member="PPB_WebSocket::GetExtensions" ref="a71d0d4a01f5e11520d56b668ff178c20" args=")(PP_Resource web_socket)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___web_socket__1__0.html#a71d0d4a01f5e11520d56b668ff178c20">PPB_WebSocket::GetExtensions</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___web_socket__1__0.html#a71d0d4a01f5e11520d56b668ff178c20" title="GetExtensions() returns the extensions selected by the server for the specified WebSocket connection...">GetExtensions()</a> returns the extensions selected by the server for the specified WebSocket connection. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">web_socket</td><td>A <code>PP_Resource</code> corresponding to a WebSocket.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns a <code>PP_VARTYPE_STRING</code> var. If called before the connection is established, the var's data is an empty string. Returns a <code>PP_VARTYPE_UNDEFINED</code> if called on an invalid resource. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a0f5f83152a917998a23e0a10b3a0fa4a"></a><!-- doxytag: member="PPB_WebSocket::GetProtocol" ref="a0f5f83152a917998a23e0a10b3a0fa4a" args=")(PP_Resource web_socket)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___web_socket__1__0.html#a0f5f83152a917998a23e0a10b3a0fa4a">PPB_WebSocket::GetProtocol</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___web_socket__1__0.html#a0f5f83152a917998a23e0a10b3a0fa4a" title="GetProtocol() returns the sub-protocol chosen by the server for the specified WebSocket connection...">GetProtocol()</a> returns the sub-protocol chosen by the server for the specified WebSocket connection. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">web_socket</td><td>A <code>PP_Resource</code> corresponding to a WebSocket.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns a <code>PP_VARTYPE_STRING</code> var. If called before the connection is established, the var contains the empty string. Returns a <code>PP_VARTYPE_UNDEFINED</code> if called on an invalid resource. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="abd52bebffd4153294734168663057ecc"></a><!-- doxytag: member="PPB_WebSocket::GetReadyState" ref="abd52bebffd4153294734168663057ecc" args=")(PP_Resource web_socket)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#gade61cdf6a7470769b571925694d91a89">PP_WebSocketReadyState</a>(* <a class="el" href="struct_p_p_b___web_socket__1__0.html#abd52bebffd4153294734168663057ecc">PPB_WebSocket::GetReadyState</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___web_socket__1__0.html#abd52bebffd4153294734168663057ecc" title="GetReadyState() returns the ready state of the specified WebSocket connection.">GetReadyState()</a> returns the ready state of the specified WebSocket connection. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">web_socket</td><td>A <code>PP_Resource</code> corresponding to a WebSocket.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>PP_WEBSOCKETREADYSTATE_INVALID</code> if called before <a class="el" href="struct_p_p_b___web_socket__1__0.html#aaff1d1e6f3240e5ce9c772ad80aa38d5" title="Connect() connects to the specified WebSocket server.">Connect()</a> is called, or if this function is called on an invalid resource. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a130ed98f0ebabb614b6637ca6f800e13"></a><!-- doxytag: member="PPB_WebSocket::GetURL" ref="a130ed98f0ebabb614b6637ca6f800e13" args=")(PP_Resource web_socket)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___web_socket__1__0.html#a130ed98f0ebabb614b6637ca6f800e13">PPB_WebSocket::GetURL</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___web_socket__1__0.html#a130ed98f0ebabb614b6637ca6f800e13" title="GetURL() returns the URL associated with specified WebSocket connection.">GetURL()</a> returns the URL associated with specified WebSocket connection. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">web_socket</td><td>A <code>PP_Resource</code> corresponding to a WebSocket.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns a <code>PP_VARTYPE_STRING</code> var. If called before the connection is established, the var contains the empty string. Returns a <code>PP_VARTYPE_UNDEFINED</code> if this function is called on an invalid resource. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="afa66d61dd10155dd445a13f1c6280a79"></a><!-- doxytag: member="PPB_WebSocket::IsWebSocket" ref="afa66d61dd10155dd445a13f1c6280a79" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___web_socket__1__0.html#afa66d61dd10155dd445a13f1c6280a79">PPB_WebSocket::IsWebSocket</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___web_socket__1__0.html#afa66d61dd10155dd445a13f1c6280a79" title="IsWebSocket() determines if the provided resource is a WebSocket instance.">IsWebSocket()</a> determines if the provided <code>resource</code> is a WebSocket instance. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a WebSocket.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>PP_TRUE</code> if <code>resource</code> is a <code>PPB_WebSocket</code>, <code>PP_FALSE</code> if the <code>resource</code> is invalid or some type other than <code>PPB_WebSocket</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aedebd5c21bc451e6b99ea1b2de884122"></a><!-- doxytag: member="PPB_WebSocket::ReceiveMessage" ref="aedebd5c21bc451e6b99ea1b2de884122" args=")(PP_Resource web_socket, struct PP_Var *message, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___web_socket__1__0.html#aedebd5c21bc451e6b99ea1b2de884122">PPB_WebSocket::ReceiveMessage</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> *message, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___web_socket__1__0.html#aedebd5c21bc451e6b99ea1b2de884122" title="ReceiveMessage() receives a message from the WebSocket server.">ReceiveMessage()</a> receives a message from the WebSocket server. </p>
+<p>This interface only returns a single message. That is, this interface must be called at least N times to receive N messages, no matter the size of each message.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">web_socket</td><td>A <code>PP_Resource</code> corresponding to a WebSocket.</td></tr>
+<tr><td class="paramdir">[out]</td><td class="paramname">message</td><td>The received message is copied to provided <code>message</code>. The <code>message</code> must remain valid until <a class="el" href="struct_p_p_b___web_socket__1__0.html#aedebd5c21bc451e6b99ea1b2de884122" title="ReceiveMessage() receives a message from the WebSocket server.">ReceiveMessage()</a> completes. Its received <code>PP_VarType</code> will be <code>PP_VARTYPE_STRING</code> or <code>PP_VARTYPE_ARRAY_BUFFER</code>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> called when <a class="el" href="struct_p_p_b___web_socket__1__0.html#aedebd5c21bc451e6b99ea1b2de884122" title="ReceiveMessage() receives a message from the WebSocket server.">ReceiveMessage()</a> completes. This callback is ignored if <a class="el" href="struct_p_p_b___web_socket__1__0.html#aedebd5c21bc451e6b99ea1b2de884122" title="ReceiveMessage() receives a message from the WebSocket server.">ReceiveMessage()</a> completes synchronously and returns <code>PP_OK</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. If an error is detected or connection is closed, <a class="el" href="struct_p_p_b___web_socket__1__0.html#aedebd5c21bc451e6b99ea1b2de884122" title="ReceiveMessage() receives a message from the WebSocket server.">ReceiveMessage()</a> returns <code>PP_ERROR_FAILED</code> after all buffered messages are received. Until buffered message become empty, <a class="el" href="struct_p_p_b___web_socket__1__0.html#aedebd5c21bc451e6b99ea1b2de884122" title="ReceiveMessage() receives a message from the WebSocket server.">ReceiveMessage()</a> continues to return <code>PP_OK</code> as if connection is still established without errors. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a05bf8512a7c566f59d527c4a7e92f194"></a><!-- doxytag: member="PPB_WebSocket::SendMessage" ref="a05bf8512a7c566f59d527c4a7e92f194" args=")(PP_Resource web_socket, struct PP_Var message)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___web_socket__1__0.html#a05bf8512a7c566f59d527c4a7e92f194">PPB_WebSocket::SendMessage</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> message)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___web_socket__1__0.html#a05bf8512a7c566f59d527c4a7e92f194" title="SendMessage() sends a message to the WebSocket server.">SendMessage()</a> sends a message to the WebSocket server. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">web_socket</td><td>A <code>PP_Resource</code> corresponding to a WebSocket.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">message</td><td>A message to send. The message is copied to an internal buffer, so the caller can free <code>message</code> safely after returning from the function. Its sent <code>PP_VarType</code> must be <code>PP_VARTYPE_STRING</code> or <code>PP_VARTYPE_ARRAY_BUFFER</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. Returns <code>PP_ERROR_FAILED</code> if the ReadyState is <code>PP_WEBSOCKETREADYSTATE_CONNECTING</code>. <code>PP_ERROR_FAILED</code> corresponds to a JavaScript InvalidStateError in the WebSocket API specification. Returns <code>PP_ERROR_BADARGUMENT</code> if the provided <code>message</code> contains an invalid character as a UTF-8 string. <code>PP_ERROR_BADARGUMENT</code> corresponds to a JavaScript SyntaxError in the WebSocket API specification. Otherwise, returns <code>PP_OK</code>, which doesn't necessarily mean that the server received the message. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppb__websocket_8h.html">ppb_websocket.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___wheel_input_event__1__0.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___wheel_input_event__1__0.html
new file mode 100644
index 0000000..b6bc66c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_b___wheel_input_event__1__0.html
@@ -0,0 +1,137 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_WheelInputEvent Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_WheelInputEvent" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___wheel_input_event__1__0.html#ab9058129b7d0988881f1eea9734e4a4d">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___typedefs.html#ga71cb1042cdeb38d7881b121f3b09ce94">PP_TimeTicks</a> time_stamp, uint32_t modifiers, const struct <a class="el" href="struct_p_p___float_point.html">PP_FloatPoint</a> *wheel_delta, const struct <a class="el" href="struct_p_p___float_point.html">PP_FloatPoint</a> *wheel_ticks, <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> scroll_by_page)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___wheel_input_event__1__0.html#aa67dcdcd6b98c48f5564987a0b080c13">IsWheelInputEvent</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___float_point.html">PP_FloatPoint</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___wheel_input_event__1__0.html#a7a6b1fb017bb6d872b014def298f70db">GetDelta</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> wheel_event)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___float_point.html">PP_FloatPoint</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___wheel_input_event__1__0.html#acc7a5e1f0cfe6481ccc33bbb3b06cd33">GetTicks</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> wheel_event)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___wheel_input_event__1__0.html#a51ceeec58953923770768c283405612b">GetScrollByPage</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> wheel_event)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_WheelIputEvent</code> interface contains pointers to several functions related to wheel input events. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="ab9058129b7d0988881f1eea9734e4a4d"></a><!-- doxytag: member="PPB_WheelInputEvent::Create" ref="ab9058129b7d0988881f1eea9734e4a4d" args=")(PP_Instance instance, PP_TimeTicks time_stamp, uint32_t modifiers, const struct PP_FloatPoint *wheel_delta, const struct PP_FloatPoint *wheel_ticks, PP_Bool scroll_by_page)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___wheel_input_event__1__0.html#ab9058129b7d0988881f1eea9734e4a4d">PPB_WheelInputEvent::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___typedefs.html#ga71cb1042cdeb38d7881b121f3b09ce94">PP_TimeTicks</a> time_stamp, uint32_t modifiers, const struct <a class="el" href="struct_p_p___float_point.html">PP_FloatPoint</a> *wheel_delta, const struct <a class="el" href="struct_p_p___float_point.html">PP_FloatPoint</a> *wheel_ticks, <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> scroll_by_page)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___wheel_input_event__1__0.html#ab9058129b7d0988881f1eea9734e4a4d" title="Create() creates a wheel input event with the given parameters.">Create()</a> creates a wheel input event with the given parameters. </p>
+<p>Normally you will get a wheel event passed through the <code>HandleInputEvent</code> and will not need to create them, but some applications may want to create their own for internal use.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance for which this event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">time_stamp</td><td>A <code>PP_TimeTicks</code> indicating the time when the event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">modifiers</td><td>A bit field combination of the <code>PP_InputEvent_Modifier</code> flags.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">wheel_delta</td><td>The scroll wheel's horizontal and vertical scroll amounts.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">wheel_ticks</td><td>The number of "clicks" of the scroll wheel that have produced the event.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">scroll_by_page</td><td>When true, the user is requesting to scroll by pages. When false, the user is requesting to scroll by lines.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> containing the new wheel input event. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a7a6b1fb017bb6d872b014def298f70db"></a><!-- doxytag: member="PPB_WheelInputEvent::GetDelta" ref="a7a6b1fb017bb6d872b014def298f70db" args=")(PP_Resource wheel_event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___float_point.html">PP_FloatPoint</a>(* <a class="el" href="struct_p_p_b___wheel_input_event__1__0.html#a7a6b1fb017bb6d872b014def298f70db">PPB_WheelInputEvent::GetDelta</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> wheel_event)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___wheel_input_event__1__0.html#a7a6b1fb017bb6d872b014def298f70db" title="GetDelta() returns the amount vertically and horizontally the user has requested to scroll by with th...">GetDelta()</a> returns the amount vertically and horizontally the user has requested to scroll by with their mouse wheel. </p>
+<p>A scroll down or to the right (where the content moves up or left) is represented as positive values, and a scroll up or to the left (where the content moves down or right) is represented as negative values.</p>
+<p>This amount is system dependent and will take into account the user's preferred scroll sensitivity and potentially also nonlinear acceleration based on the speed of the scrolling.</p>
+<p>Devices will be of varying resolution. Some mice with large detents will only generate integer scroll amounts. But fractional values are also possible, for example, on some trackpads and newer mice that don't have "clicks".</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">wheel_event</td><td>A <code>PP_Resource</code> corresponding to a wheel event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The vertical and horizontal scroll values. The units are either in pixels (when scroll_by_page is false) or pages (when scroll_by_page is true). For example, y = -3 means scroll up 3 pixels when scroll_by_page is false, and scroll up 3 pages when scroll_by_page is true. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a51ceeec58953923770768c283405612b"></a><!-- doxytag: member="PPB_WheelInputEvent::GetScrollByPage" ref="a51ceeec58953923770768c283405612b" args=")(PP_Resource wheel_event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___wheel_input_event__1__0.html#a51ceeec58953923770768c283405612b">PPB_WheelInputEvent::GetScrollByPage</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> wheel_event)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___wheel_input_event__1__0.html#a51ceeec58953923770768c283405612b" title="GetScrollByPage() indicates if the scroll delta x/y indicates pages or lines to scroll by...">GetScrollByPage()</a> indicates if the scroll delta x/y indicates pages or lines to scroll by. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">wheel_event</td><td>A <code>PP_Resource</code> corresponding to a wheel event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the event is a wheel event and the user is scrolling by pages. <code>PP_FALSE</code> if not or if the resource is not a wheel event. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="acc7a5e1f0cfe6481ccc33bbb3b06cd33"></a><!-- doxytag: member="PPB_WheelInputEvent::GetTicks" ref="acc7a5e1f0cfe6481ccc33bbb3b06cd33" args=")(PP_Resource wheel_event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___float_point.html">PP_FloatPoint</a>(* <a class="el" href="struct_p_p_b___wheel_input_event__1__0.html#acc7a5e1f0cfe6481ccc33bbb3b06cd33">PPB_WheelInputEvent::GetTicks</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> wheel_event)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___wheel_input_event__1__0.html#acc7a5e1f0cfe6481ccc33bbb3b06cd33" title='GetTicks() returns the number of "clicks" of the scroll wheel that have produced the event...'>GetTicks()</a> returns the number of "clicks" of the scroll wheel that have produced the event. </p>
+<p>The value may have system-specific acceleration applied to it, depending on the device. The positive and negative meanings are the same as for <a class="el" href="struct_p_p_b___wheel_input_event__1__0.html#a7a6b1fb017bb6d872b014def298f70db" title="GetDelta() returns the amount vertically and horizontally the user has requested to scroll by with th...">GetDelta()</a>.</p>
+<p>If you are scrolling, you probably want to use the delta values. These tick events can be useful if you aren't doing actual scrolling and don't want or pixel values. An example may be cycling between different items in a game.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">wheel_event</td><td>A <code>PP_Resource</code> corresponding to a wheel event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The number of "clicks" of the scroll wheel. You may receive fractional values for the wheel ticks if the mouse wheel is high resolution or doesn't have "clicks". If your program wants discrete events (as in the "picking items" example) you should accumulate fractional click values from multiple messages until the total value reaches positive or negative one. This should represent a similar amount of scrolling as for a mouse that has a discrete mouse wheel. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aa67dcdcd6b98c48f5564987a0b080c13"></a><!-- doxytag: member="PPB_WheelInputEvent::IsWheelInputEvent" ref="aa67dcdcd6b98c48f5564987a0b080c13" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___wheel_input_event__1__0.html#aa67dcdcd6b98c48f5564987a0b080c13">PPB_WheelInputEvent::IsWheelInputEvent</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___wheel_input_event__1__0.html#aa67dcdcd6b98c48f5564987a0b080c13" title="IsWheelInputEvent() determines if a resource is a wheel event.">IsWheelInputEvent()</a> determines if a resource is a wheel event. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">wheel_event</td><td>A <code>PP_Resource</code> corresponding to an event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the given resource is a valid wheel input event. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppb__input__event_8h.html">ppb_input_event.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_p___graphics3_d__1__0.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_p___graphics3_d__1__0.html
new file mode 100644
index 0000000..f1bcb829
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_p___graphics3_d__1__0.html
@@ -0,0 +1,35 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPP_Graphics3D Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPP_Graphics3D" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___graphics3_d__1__0.html#ae7aba86d10d1b8c4c7a41bac3af64b0a">Graphics3DContextLost</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p><code>PPP_Graphics3D</code> defines the notification interface for a 3D graphics context. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="ae7aba86d10d1b8c4c7a41bac3af64b0a"></a><!-- doxytag: member="PPP_Graphics3D::Graphics3DContextLost" ref="ae7aba86d10d1b8c4c7a41bac3af64b0a" args=")(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_p___graphics3_d__1__0.html#ae7aba86d10d1b8c4c7a41bac3af64b0a">PPP_Graphics3D::Graphics3DContextLost</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Called when the OpenGL ES window is invalidated and needs to be repainted. </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppp__graphics__3d_8h.html">ppp_graphics_3d.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_p___input_event__0__1.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_p___input_event__0__1.html
new file mode 100644
index 0000000..49f5c141
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_p___input_event__0__1.html
@@ -0,0 +1,41 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPP_InputEvent Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPP_InputEvent" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___input_event__0__1.html#ae684a39a2bf6b58aee0f7420aab43150">HandleInputEvent</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> input_event)</td></tr>
+</table>
+<hr /><h2>Field Documentation</h2>
+<a class="anchor" id="ae684a39a2bf6b58aee0f7420aab43150"></a><!-- doxytag: member="PPP_InputEvent::HandleInputEvent" ref="ae684a39a2bf6b58aee0f7420aab43150" args=")(PP_Instance instance, PP_Resource input_event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_p___input_event__0__1.html#ae684a39a2bf6b58aee0f7420aab43150">PPP_InputEvent::HandleInputEvent</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> input_event)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Function for receiving input events from the browser. </p>
+<p>In order to receive input events, you must register for them by calling <a class="el" href="struct_p_p_b___input_event__1__0.html#a369d79730ad84d0b8dee9127c114086e" title="RequestInputEvent() requests that input events corresponding to the given input events are delivered ...">PPB_InputEvent.RequestInputEvents()</a> or RequestFilteringInputEvents(). By default, no events are delivered.</p>
+<p>If the event was handled, it will not be forwarded to the web page or browser. If it was not handled, it will bubble according to the normal rules. So it is important that an instance respond accurately with whether event propagation should continue.</p>
+<p>Event propagation also controls focus. If you handle an event like a mouse event, typically the instance will be given focus. Returning false from a filtered event handler or not registering for an event type means that the click will be given to a lower part of the page and your instance will not receive focus. This allows an instance to be partially transparent, where clicks on the transparent areas will behave like clicks to the underlying page.</p>
+<p>In general, you should try to keep input event handling short. Especially for filtered input events, the browser or page may be blocked waiting for you to respond.</p>
+<p>The caller of this function will maintain a reference to the input event resource during this call. Unless you take a reference to the resource to hold it for later, you don't need to release it.</p>
+<p><b>Note:</b> If you're not receiving input events, make sure you register for the event classes you want by calling RequestInputEvents or RequestFilteringInputEvents. If you're still not receiving keyboard input events, make sure you're returning true (or using a non-filtered event handler) for mouse events. Otherwise, the instance will not receive focus and keyboard events will not be sent.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="struct_p_p_b___input_event__1__0.html#a369d79730ad84d0b8dee9127c114086e" title="RequestInputEvent() requests that input events corresponding to the given input events are delivered ...">PPB_InputEvent.RequestInputEvents</a> and <a class="el" href="struct_p_p_b___input_event__1__0.html#a42dcc8edf80141680e919258f3066069" title="RequestFilteringInputEvents() requests that input events corresponding to the given input events are ...">PPB_InputEvent.RequestFilteringInputEvents</a></dd></dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>PP_TRUE if the event was handled, PP_FALSE if not. If you have registered to filter this class of events by calling RequestFilteringInputEvents, and you return PP_FALSE, the event will be forwarded to the page (and eventually the browser) for the default handling. For non-filtered events, the return value will be ignored. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppp__input__event_8h.html">ppp_input_event.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_p___instance__1__1.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_p___instance__1__1.html
new file mode 100644
index 0000000..79c62e3
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_p___instance__1__1.html
@@ -0,0 +1,139 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPP_Instance Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPP_Instance" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___instance__1__1.html#aff2dd72f7aab6335cacf8bc3a66ccbba">DidCreate</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, uint32_t argc, const char *argn[], const char *argv[])</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___instance__1__1.html#a99edbb91abde255fec3bc3e1f9c8ba82">DidDestroy</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___instance__1__1.html#aa028a7b17d62242ac56b6ab4b55dc047">DidChangeView</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> view)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___instance__1__1.html#abf4a481156b605938416bf873bd2c782">DidChangeFocus</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> has_focus)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___instance__1__1.html#a2fba2c9d06044a48e73a649b04398e1d">HandleDocumentLoad</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> url_loader)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPP_Instance</code> interface contains pointers to a series of functions that you must implement in your module. </p>
+<p>These functions can be trivial (simply return the default return value) unless you want your module to handle events such as change of focus or input events (keyboard/mouse) events. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="abf4a481156b605938416bf873bd2c782"></a><!-- doxytag: member="PPP_Instance::DidChangeFocus" ref="abf4a481156b605938416bf873bd2c782" args=")(PP_Instance instance, PP_Bool has_focus)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_p___instance__1__1.html#abf4a481156b605938416bf873bd2c782">PPP_Instance::DidChangeFocus</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> has_focus)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_p___instance__1__1.html#abf4a481156b605938416bf873bd2c782" title="DidChangeFocus() is called when an instance has gained or lost focus.">DidChangeFocus()</a> is called when an instance has gained or lost focus. </p>
+<p>Having focus means that keyboard events will be sent to the instance. An instance's default condition is that it will not have focus.</p>
+<p>The focus flag takes into account both browser tab and window focus as well as focus of the plugin element on the page. In order to be deemed to have focus, the browser window must be topmost, the tab must be selected in the window, and the instance must be the focused element on the page.</p>
+<p><b>Note:</b>Clicks on instances will give focus only if you handle the click event. Return <code>true</code> from <code>HandleInputEvent</code> in <code>PPP_InputEvent</code> (or use unfiltered events) to signal that the click event was handled. Otherwise, the browser will bubble the event and give focus to the element on the page that actually did end up consuming it. If you're not getting focus, check to make sure you're either requesting them via <code>RequestInputEvents()</code><code> (which implicitly marks all input events as consumed) or via </code><code>RequestFilteringInputEvents()</code> and returning true from your event handler.</p>
+<p><code></code><code> </code></p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying the instance receiving the input event.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">has_focus</td><td>Indicates the new focused state of the instance. </td></tr>
+</table>
+</dd>
+</dl>
+<p></p>
+</div>
+</div>
+<a class="anchor" id="aa028a7b17d62242ac56b6ab4b55dc047"></a><!-- doxytag: member="PPP_Instance::DidChangeView" ref="aa028a7b17d62242ac56b6ab4b55dc047" args=")(PP_Instance instance, PP_Resource view)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_p___instance__1__1.html#aa028a7b17d62242ac56b6ab4b55dc047">PPP_Instance::DidChangeView</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> view)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><code><a class="el" href="struct_p_p_p___instance__1__1.html#aa028a7b17d62242ac56b6ab4b55dc047" title="DidChangeView() is called when the position, size, or other view attributes of the instance has chang...">DidChangeView()</a> is called when the position, size, or other view attributes of the instance has changed. </code></p>
+</div>
+</div>
+<a class="anchor" id="aff2dd72f7aab6335cacf8bc3a66ccbba"></a><!-- doxytag: member="PPP_Instance::DidCreate" ref="aff2dd72f7aab6335cacf8bc3a66ccbba" args=")(PP_Instance instance, uint32_t argc, const char *argn[], const char *argv[])" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_p___instance__1__1.html#aff2dd72f7aab6335cacf8bc3a66ccbba">PPP_Instance::DidCreate</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, uint32_t argc, const char *argn[], const char *argv[])</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_p___instance__1__1.html#aff2dd72f7aab6335cacf8bc3a66ccbba" title="DidCreate() is a creation handler that is called when a new instance is created.">DidCreate()</a> is a creation handler that is called when a new instance is created. </p>
+<p>This function is called for each instantiation on the page, corresponding to one <embed> tag on the page.</p>
+<p>Generally you would handle this call by initializing the information your module associates with an instance and creating a mapping from the given <code>PP_Instance</code> handle to this data. The <code>PP_Instance</code> handle will be used in subsequent calls to identify which instance the call pertains to.</p>
+<p>It's possible for more than one instance to be created in a single module. This means that you may get more than one <code>OnCreate</code> without an <code>OnDestroy</code> in between, and should be prepared to maintain multiple states associated with each instance.</p>
+<p>If this function reports a failure (by returning <code>PP_FALSE</code>), the instance will be deleted.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A new <code>PP_Instance</code> identifying one instance of a module. This is an opaque handle.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">argc</td><td>The number of arguments contained in <code>argn</code> and <code>argv</code>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">argn</td><td>An array of argument names. These argument names are supplied in the <embed> tag, for example: <code><embed id="nacl_module" dimensions="2"></code> will produce two argument names: "id" and "dimensions."</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">argv</td><td>An array of argument values. These are the values of the arguments listed in the <embed> tag, for example <code><embed id="nacl_module" dimensions="2"></code> will produce two argument values: "nacl_module" and "2". The indices of these values match the indices of the corresponding names in <code>argn</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> on success or <code>PP_FALSE</code> on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a99edbb91abde255fec3bc3e1f9c8ba82"></a><!-- doxytag: member="PPP_Instance::DidDestroy" ref="a99edbb91abde255fec3bc3e1f9c8ba82" args=")(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_p___instance__1__1.html#a99edbb91abde255fec3bc3e1f9c8ba82">PPP_Instance::DidDestroy</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_p___instance__1__1.html#a99edbb91abde255fec3bc3e1f9c8ba82" title="DidDestroy() is an instance destruction handler.">DidDestroy()</a> is an instance destruction handler. </p>
+<p>This function is called in many cases (see below) when a module instance is destroyed. It will be called even if <a class="el" href="struct_p_p_p___instance__1__1.html#aff2dd72f7aab6335cacf8bc3a66ccbba" title="DidCreate() is a creation handler that is called when a new instance is created.">DidCreate()</a> returned failure.</p>
+<p>Generally you will handle this call by deallocating the tracking information and the <code>PP_Instance</code> mapping you created in the <a class="el" href="struct_p_p_p___instance__1__1.html#aff2dd72f7aab6335cacf8bc3a66ccbba" title="DidCreate() is a creation handler that is called when a new instance is created.">DidCreate()</a> call. You can also free resources associated with this instance but this isn't required; all resources associated with the deleted instance will be automatically freed when this function returns.</p>
+<p>The instance identifier will still be valid during this call, so the module can perform cleanup-related tasks. Once this function returns, the <code>PP_Instance</code> handle will be invalid. This means that you can't do any asynchronous operations like network requests, file writes or messaging from this function since they will be immediately canceled.</p>
+<p><b>Note:</b> This function will always be skipped on untrusted (Native Client) implementations. This function may be skipped on trusted implementations in certain circumstances when Chrome does "fast shutdown" of a web page. Fast shutdown will happen in some cases when all module instances are being deleted, and no cleanup functions will be called. The module will just be unloaded and the process terminated.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a2fba2c9d06044a48e73a649b04398e1d"></a><!-- doxytag: member="PPP_Instance::HandleDocumentLoad" ref="a2fba2c9d06044a48e73a649b04398e1d" args=")(PP_Instance instance, PP_Resource url_loader)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_p___instance__1__1.html#a2fba2c9d06044a48e73a649b04398e1d">PPP_Instance::HandleDocumentLoad</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> url_loader)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_p___instance__1__1.html#a2fba2c9d06044a48e73a649b04398e1d" title="HandleDocumentLoad() is called after initialize for a full-frame instance that was instantiated based...">HandleDocumentLoad()</a> is called after initialize for a full-frame instance that was instantiated based on the MIME type of a DOMWindow navigation. </p>
+<p>This situation only applies to modules that are pre-registered to handle certain MIME types. If you haven't specifically registered to handle a MIME type or aren't positive this applies to you, your implementation of this function can just return <code>PP_FALSE</code>.</p>
+<p>The given <code>url_loader</code> corresponds to a <code>PPB_URLLoader</code> instance that is already opened. Its response headers may be queried using <code><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a4901dcc43cfdc026e582555974d4d853" title="GetResponseInfo() returns the current URLResponseInfo object.">PPB_URLLoader::GetResponseInfo</a></code>. The reference count for the URL loader is not incremented automatically on behalf of the module. You need to increment the reference count yourself if you are going to keep a reference to it.</p>
+<p>This method returns <code>PP_FALSE</code> if the module cannot handle the data. In response to this method, the module should call ReadResponseBody() to read the incoming data.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying the instance that should do the load.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">url_loader</td><td>An open <code>PPB_URLLoader</code> instance.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the data was handled, <code>PP_FALSE</code> otherwise. If you return false, the load will be canceled for you. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppp__instance_8h.html">ppp_instance.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_p___messaging__1__0.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_p___messaging__1__0.html
new file mode 100644
index 0000000..766a749e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_p___messaging__1__0.html
@@ -0,0 +1,54 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPP_Messaging Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPP_Messaging" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___messaging__1__0.html#a558ca784cf11eaba479ff8621ae2c507">HandleMessage</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> message)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPP_Messaging</code> interface contains pointers to functions that you must implement to handle postMessage events on the associated DOM element. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a558ca784cf11eaba479ff8621ae2c507"></a><!-- doxytag: member="PPP_Messaging::HandleMessage" ref="a558ca784cf11eaba479ff8621ae2c507" args=")(PP_Instance instance, struct PP_Var message)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_p___messaging__1__0.html#a558ca784cf11eaba479ff8621ae2c507">PPP_Messaging::HandleMessage</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> message)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_p___messaging__1__0.html#a558ca784cf11eaba479ff8621ae2c507" title="HandleMessage() is a function that the browser calls when PostMessage() is invoked on the DOM element...">HandleMessage()</a> is a function that the browser calls when PostMessage() is invoked on the DOM element for the module instance in JavaScript. </p>
+<p>Note that PostMessage() in the JavaScript interface is asynchronous, meaning JavaScript execution will not be blocked while <a class="el" href="struct_p_p_p___messaging__1__0.html#a558ca784cf11eaba479ff8621ae2c507" title="HandleMessage() is a function that the browser calls when PostMessage() is invoked on the DOM element...">HandleMessage()</a> is processing the message.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">message</td><td>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> which has been converted from a JavaScript value. JavaScript array/object types are supported from Chrome M29 onward. All JavaScript values are copied when passing them to the plugin.</td></tr>
+</table>
+</dd>
+</dl>
+<p>When converting JavaScript arrays, any object properties whose name is not an array index are ignored. When passing arrays and objects, the entire reference graph will be converted and transferred. If the reference graph has cycles, the message will not be sent and an error will be logged to the console.</p>
+<p>The following JavaScript code invokes <code>HandleMessage</code>, passing the module instance on which it was invoked, with <code>message</code> being a string <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> containing "Hello world!"</p>
+<p><b>Example:</b></p>
+<div class="fragment"><pre class="fragment"> <body>
+ <<span class="keywordtype">object</span> <span class="keywordtype">id</span>=<span class="stringliteral">"plugin"</span>
+ type=<span class="stringliteral">"application/x-ppapi-postMessage-example"</span>/>
+ <script type=<span class="stringliteral">"text/javascript"</span>>
+ document.getElementById(<span class="stringliteral">'plugin'</span>).postMessage(<span class="stringliteral">"Hello world!"</span>);
+ </script>
+ </body>
+</pre></div>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppp__messaging_8h.html">ppp_messaging.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_p___mouse_lock__1__0.html b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_p___mouse_lock__1__0.html
new file mode 100644
index 0000000..07bb500
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/struct_p_p_p___mouse_lock__1__0.html
@@ -0,0 +1,41 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPP_MouseLock Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPP_MouseLock" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___mouse_lock__1__0.html#abbc863bf2e6b2e608bdbde3d9229debf">MouseLockLost</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPP_MouseLock</code> interface contains a function that you must implement to receive mouse lock events from the browser. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="abbc863bf2e6b2e608bdbde3d9229debf"></a><!-- doxytag: member="PPP_MouseLock::MouseLockLost" ref="abbc863bf2e6b2e608bdbde3d9229debf" args=")(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_p___mouse_lock__1__0.html#abbc863bf2e6b2e608bdbde3d9229debf">PPP_MouseLock::MouseLockLost</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_p___mouse_lock__1__0.html#abbc863bf2e6b2e608bdbde3d9229debf" title="MouseLockLost() is called when the instance loses the mouse lock, such as when the user presses the E...">MouseLockLost()</a> is called when the instance loses the mouse lock, such as when the user presses the ESC key. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="ppp__mouse__lock_8h.html">ppp_mouse_lock.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/c/union_p_p___var_value.html b/native_client_sdk/doc_generated/pepper_dev/c/union_p_p___var_value.html
new file mode 100644
index 0000000..c52eaa9
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/c/union_p_p___var_value.html
@@ -0,0 +1,78 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_VarValue Union Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_VarValue" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="union_p_p___var_value.html#ab7c79b63a2e7fef545fcf8195bb5ad12">as_bool</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="union_p_p___var_value.html#a74da1e2b62153f138ae49147842f6d2c">as_int</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="union_p_p___var_value.html#aa4a3a6095ef825b30237d7c856ba4bf7">as_double</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="union_p_p___var_value.html#af3087d15f3c1ee35fe48f215292df1ad">as_id</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <a class="el" href="union_p_p___var_value.html" title="The PP_VarValue union stores the data for any one of the types listed in the PP_VarType enum...">PP_VarValue</a> union stores the data for any one of the types listed in the PP_VarType enum. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="ab7c79b63a2e7fef545fcf8195bb5ad12"></a><!-- doxytag: member="PP_VarValue::as_bool" ref="ab7c79b63a2e7fef545fcf8195bb5ad12" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> <a class="el" href="union_p_p___var_value.html#ab7c79b63a2e7fef545fcf8195bb5ad12">PP_VarValue::as_bool</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>If <code>type</code> is <code>PP_VARTYPE_BOOL</code>, <code>as_bool</code> represents the value of this <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> as <code>PP_Bool</code>. </p>
+</div>
+</div>
+<a class="anchor" id="aa4a3a6095ef825b30237d7c856ba4bf7"></a><!-- doxytag: member="PP_VarValue::as_double" ref="aa4a3a6095ef825b30237d7c856ba4bf7" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">double <a class="el" href="union_p_p___var_value.html#aa4a3a6095ef825b30237d7c856ba4bf7">PP_VarValue::as_double</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>If <code>type</code> is <code>PP_VARTYPE_DOUBLE</code>, <code>as_double</code> represents the value of this <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> as <code>double</code>. </p>
+</div>
+</div>
+<a class="anchor" id="af3087d15f3c1ee35fe48f215292df1ad"></a><!-- doxytag: member="PP_VarValue::as_id" ref="af3087d15f3c1ee35fe48f215292df1ad" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int64_t <a class="el" href="union_p_p___var_value.html#af3087d15f3c1ee35fe48f215292df1ad">PP_VarValue::as_id</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>If <code>type</code> is <code>PP_VARTYPE_STRING</code>, <code>PP_VARTYPE_OBJECT</code>, <code>PP_VARTYPE_ARRAY</code>, <code>PP_VARTYPE_DICTIONARY</code>, <code>PP_VARTYPE_ARRAY_BUFFER</code>, or <code>PP_VARTYPE_RESOURCE</code>, <code>as_id</code> represents the value of this <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> as an opaque handle assigned by the browser. </p>
+<p>This handle is guaranteed never to be 0, so a module can initialize this ID to 0 to indicate a "NULL handle." </p>
+</div>
+</div>
+<a class="anchor" id="a74da1e2b62153f138ae49147842f6d2c"></a><!-- doxytag: member="PP_VarValue::as_int" ref="a74da1e2b62153f138ae49147842f6d2c" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="union_p_p___var_value.html#a74da1e2b62153f138ae49147842f6d2c">PP_VarValue::as_int</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>If <code>type</code> is <code>PP_VARTYPE_INT32</code>, <code>as_int</code> represents the value of this <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> as <code>int32_t</code>. </p>
+</div>
+</div>
+<hr />The documentation for this union was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/c/<a class="el" href="pp__var_8h.html">pp_var.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/audio_8h.html b/native_client_sdk/doc_generated/pepper_dev/cpp/audio_8h.html
new file mode 100644
index 0000000..20ce20f
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/audio_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/cpp/audio.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for audio.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="audio_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2cpp_2audio_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2cpp_2audio_8h" id="_2tmp_2pepper__devp_gd_j_g4_2cpp_2audio_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio.html">pp::Audio</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">An audio resource. <a href="classpp_1_1_audio.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API to create realtime stereo audio streaming capabilities. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/audio_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/cpp/audio_8h__incl.png
new file mode 100644
index 0000000..b6e18c6a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/audio_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/audio__config_8h.html b/native_client_sdk/doc_generated/pepper_dev/cpp/audio__config_8h.html
new file mode 100644
index 0000000..f461c09
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/audio__config_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/cpp/audio_config.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for audio_config.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="audio__config_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2cpp_2audio__config_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2cpp_2audio__config_8h" id="_2tmp_2pepper__devp_gd_j_g4_2cpp_2audio__config_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio_config.html">pp::AudioConfig</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A 16 bit stereo <a class="el" href="classpp_1_1_audio_config.html" title="A 16 bit stereo AudioConfig resource.">AudioConfig</a> resource. <a href="classpp_1_1_audio_config.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the interface for establishing an audio configuration resource within the browser. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/audio__config_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/cpp/audio__config_8h__incl.png
new file mode 100644
index 0000000..7b5c1f2
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/audio__config_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/audio__frame_8h.html b/native_client_sdk/doc_generated/pepper_dev/cpp/audio__frame_8h.html
new file mode 100644
index 0000000..f93b04b
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/audio__frame_8h.html
@@ -0,0 +1,26 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/cpp/audio_frame.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for audio_frame.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="audio__frame_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2cpp_2audio__frame_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2cpp_2audio__frame_8h" id="_2tmp_2pepper__devp_gd_j_g4_2cpp_2audio__frame_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio_frame.html">pp::AudioFrame</a></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/audio__frame_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/cpp/audio__frame_8h__incl.png
new file mode 100644
index 0000000..1f3b7c7
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/audio__frame_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_audio-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_audio-members.html
new file mode 100644
index 0000000..e3d4ce67
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_audio-members.html
@@ -0,0 +1,31 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_audio.html">pp::Audio</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_audio.html#abcb6131f91a53e36f9626843d86e8109">Audio</a>()</td><td><a class="el" href="classpp_1_1_audio.html">pp::Audio</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_audio.html#af597f4db73cfa15c3dd7eae9b7307fd2">Audio</a>(const InstanceHandle &instance, const AudioConfig &config, PPB_Audio_Callback callback, void *user_data)</td><td><a class="el" href="classpp_1_1_audio.html">pp::Audio</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_audio.html#a856666bd5087947481ac2728bcd26c60">Audio</a>(const InstanceHandle &instance, const AudioConfig &config, PPB_Audio_Callback callback, void *user_data)</td><td><a class="el" href="classpp_1_1_audio.html">pp::Audio</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_audio.html#a750898b5f065621e86472cf1799401bb">config</a>()</td><td><a class="el" href="classpp_1_1_audio.html">pp::Audio</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_audio.html#a51dffc59dc1d654d23c7f8730c87552a">config</a>() const </td><td><a class="el" href="classpp_1_1_audio.html">pp::Audio</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_audio.html#aa8311c20bbeffd9e22ba21218695f6e4">StartPlayback</a>()</td><td><a class="el" href="classpp_1_1_audio.html">pp::Audio</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_audio.html#ae71f91edd576129f8c82db997bd1f163">StopPlayback</a>()</td><td><a class="el" href="classpp_1_1_audio.html">pp::Audio</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_audio.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_audio.html
new file mode 100644
index 0000000..a123fe2
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_audio.html
@@ -0,0 +1,220 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::Audio Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::Audio" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::Audio:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_audio__inherit__graph.png" border="0" usemap="#pp_1_1_audio_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_audio_inherit__map" id="pp_1_1_audio_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="5,5,109,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_audio-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio.html#abcb6131f91a53e36f9626843d86e8109">Audio</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio.html#af597f4db73cfa15c3dd7eae9b7307fd2">Audio</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, const <a class="el" href="classpp_1_1_audio_config.html">AudioConfig</a> &<a class="el" href="classpp_1_1_audio.html#a750898b5f065621e86472cf1799401bb">config</a>, PPB_Audio_Callback callback, void *user_data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio.html#a856666bd5087947481ac2728bcd26c60">Audio</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, const <a class="el" href="classpp_1_1_audio_config.html">AudioConfig</a> &<a class="el" href="classpp_1_1_audio.html#a750898b5f065621e86472cf1799401bb">config</a>, PPB_Audio_Callback callback, void *user_data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_audio_config.html">AudioConfig</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio.html#a750898b5f065621e86472cf1799401bb">config</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classpp_1_1_audio_config.html">AudioConfig</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio.html#a51dffc59dc1d654d23c7f8730c87552a">config</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio.html#aa8311c20bbeffd9e22ba21218695f6e4">StartPlayback</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio.html#ae71f91edd576129f8c82db997bd1f163">StopPlayback</a> ()</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>An audio resource. </p>
+<p>Refer to the <a href="/native-client/devguide/coding/audio">Audio</a> chapter in the Developer's Guide for information on using this interface. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="abcb6131f91a53e36f9626843d86e8109"></a><!-- doxytag: member="pp::Audio::Audio" ref="abcb6131f91a53e36f9626843d86e8109" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_audio.html#abcb6131f91a53e36f9626843d86e8109">pp::Audio::Audio</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>An empty constructor for an <a class="el" href="classpp_1_1_audio.html" title="An audio resource.">Audio</a> resource. </p>
+</div>
+</div>
+<a class="anchor" id="af597f4db73cfa15c3dd7eae9b7307fd2"></a><!-- doxytag: member="pp::Audio::Audio" ref="af597f4db73cfa15c3dd7eae9b7307fd2" args="(const InstanceHandle &instance, const AudioConfig &config, PPB_Audio_Callback callback, void *user_data)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_audio.html#abcb6131f91a53e36f9626843d86e8109">pp::Audio::Audio</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_audio_config.html">AudioConfig</a> & </td>
+<td class="paramname"><em>config</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PPB_Audio_Callback </td>
+<td class="paramname"><em>callback</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">void * </td>
+<td class="paramname"><em>user_data</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor that creates an <a class="el" href="classpp_1_1_audio.html" title="An audio resource.">Audio</a> resource. </p>
+<p>No sound will be heard until <a class="el" href="classpp_1_1_audio.html#aa8311c20bbeffd9e22ba21218695f6e4" title="StartPlayback() starts playback of audio.">StartPlayback()</a> is called. The callback is called with the buffer address and given user data whenever the buffer needs to be filled. From within the callback, you should not call <code>PPB_Audio</code> functions. The callback will be called on a different thread than the one which created the interface. For performance-critical applications (such as low-latency audio), the callback should avoid blocking or calling functions that can obtain locks, such as malloc. The layout and the size of the buffer passed to the audio callback will be determined by the device configuration and is specified in the <code><a class="el" href="classpp_1_1_audio_config.html" title="A 16 bit stereo AudioConfig resource.">AudioConfig</a></code> documentation.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">config</td><td>An <code><a class="el" href="classpp_1_1_audio_config.html" title="A 16 bit stereo AudioConfig resource.">AudioConfig</a></code> containing the audio config resource. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code>PPB_Audio_Callback</code> callback function that the browser calls when it needs more samples to play. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">user_data</td><td>A pointer to user data used in the callback function. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a856666bd5087947481ac2728bcd26c60"></a><!-- doxytag: member="pp::Audio::Audio" ref="a856666bd5087947481ac2728bcd26c60" args="(const InstanceHandle &instance, const AudioConfig &config, PPB_Audio_Callback callback, void *user_data)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_audio.html#abcb6131f91a53e36f9626843d86e8109">pp::Audio::Audio</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_audio_config.html">AudioConfig</a> & </td>
+<td class="paramname"><em>config</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PPB_Audio_Callback_1_0 </td>
+<td class="paramname"><em>callback</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">void * </td>
+<td class="paramname"><em>user_data</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor that creates an <a class="el" href="classpp_1_1_audio.html" title="An audio resource.">Audio</a> resource. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">config</td><td>An <code><a class="el" href="classpp_1_1_audio_config.html" title="A 16 bit stereo AudioConfig resource.">AudioConfig</a></code> containing the audio config resource. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code>PPB_Audio_Callback</code> callback function that the browser calls when it needs more samples to play. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">user_data</td><td>A pointer to user data used in the callback function. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a750898b5f065621e86472cf1799401bb"></a><!-- doxytag: member="pp::Audio::config" ref="a750898b5f065621e86472cf1799401bb" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_audio_config.html">AudioConfig</a>& <a class="el" href="classpp_1_1_audio.html#a750898b5f065621e86472cf1799401bb">pp::Audio::config</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the internal <code>PPB_AudioConfig</code> struct. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A mutable reference to the PPB_AudioConfig struct. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a51dffc59dc1d654d23c7f8730c87552a"></a><!-- doxytag: member="pp::Audio::config" ref="a51dffc59dc1d654d23c7f8730c87552a" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">const <a class="el" href="classpp_1_1_audio_config.html">AudioConfig</a>& <a class="el" href="classpp_1_1_audio.html#a750898b5f065621e86472cf1799401bb">pp::Audio::config</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the internal <code>PPB_AudioConfig</code> struct. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A const reference to the internal <code>PPB_AudioConfig</code> struct. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aa8311c20bbeffd9e22ba21218695f6e4"></a><!-- doxytag: member="pp::Audio::StartPlayback" ref="aa8311c20bbeffd9e22ba21218695f6e4" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_audio.html#aa8311c20bbeffd9e22ba21218695f6e4">pp::Audio::StartPlayback</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_audio.html#aa8311c20bbeffd9e22ba21218695f6e4" title="StartPlayback() starts playback of audio.">StartPlayback()</a> starts playback of audio. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ae71f91edd576129f8c82db997bd1f163"></a><!-- doxytag: member="pp::Audio::StopPlayback" ref="ae71f91edd576129f8c82db997bd1f163" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_audio.html#ae71f91edd576129f8c82db997bd1f163">pp::Audio::StopPlayback</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>StopPlayback stops playback of audio. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, otherwise false. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="audio_8h.html">audio.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_audio__inherit__graph.png b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_audio__inherit__graph.png
new file mode 100644
index 0000000..446745f
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_audio__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_audio_config-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_audio_config-members.html
new file mode 100644
index 0000000..0c30371
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_audio_config-members.html
@@ -0,0 +1,30 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_audio_config.html">pp::AudioConfig</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_audio_config.html#ad7a5caaa08c531acf7e2975a790db98e">AudioConfig</a>()</td><td><a class="el" href="classpp_1_1_audio_config.html">pp::AudioConfig</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_audio_config.html#aa6dcb1ed3086502f03d9e1d73124421a">AudioConfig</a>(const InstanceHandle &instance, PP_AudioSampleRate sample_rate, uint32_t sample_frame_count)</td><td><a class="el" href="classpp_1_1_audio_config.html">pp::AudioConfig</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_audio_config.html#a53611e94bca5d4a5f7acdd3e5285adb9">RecommendSampleFrameCount</a>(const InstanceHandle &instance, PP_AudioSampleRate sample_rate, uint32_t requested_sample_frame_count)</td><td><a class="el" href="classpp_1_1_audio_config.html">pp::AudioConfig</a></td><td><code> [static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_audio_config.html#abf073122a1b9ef65f149fda9be57246f">RecommendSampleRate</a>(const InstanceHandle &instance)</td><td><a class="el" href="classpp_1_1_audio_config.html">pp::AudioConfig</a></td><td><code> [static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_audio_config.html#ad7cb79f7f92993257643574457ee8d0c">sample_frame_count</a>() const </td><td><a class="el" href="classpp_1_1_audio_config.html">pp::AudioConfig</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_audio_config.html#a988b8489ec9335be25605561d0293813">sample_rate</a>() const </td><td><a class="el" href="classpp_1_1_audio_config.html">pp::AudioConfig</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_audio_config.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_audio_config.html
new file mode 100644
index 0000000..56d20fe9
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_audio_config.html
@@ -0,0 +1,214 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::AudioConfig Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::AudioConfig" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::AudioConfig:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_audio_config__inherit__graph.png" border="0" usemap="#pp_1_1_audio_config_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_audio_config_inherit__map" id="pp_1_1_audio_config_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="15,5,119,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_audio_config-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio_config.html#ad7a5caaa08c531acf7e2975a790db98e">AudioConfig</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio_config.html#aa6dcb1ed3086502f03d9e1d73124421a">AudioConfig</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, PP_AudioSampleRate <a class="el" href="classpp_1_1_audio_config.html#a988b8489ec9335be25605561d0293813">sample_rate</a>, uint32_t <a class="el" href="classpp_1_1_audio_config.html#ad7cb79f7f92993257643574457ee8d0c">sample_frame_count</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_AudioSampleRate </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio_config.html#a988b8489ec9335be25605561d0293813">sample_rate</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio_config.html#ad7cb79f7f92993257643574457ee8d0c">sample_frame_count</a> () const </td></tr>
+</table><h2>
+Static Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">static PP_AudioSampleRate </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio_config.html#abf073122a1b9ef65f149fda9be57246f">RecommendSampleRate</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio_config.html#a53611e94bca5d4a5f7acdd3e5285adb9">RecommendSampleFrameCount</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, PP_AudioSampleRate <a class="el" href="classpp_1_1_audio_config.html#a988b8489ec9335be25605561d0293813">sample_rate</a>, uint32_t requested_sample_frame_count)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>A 16 bit stereo <a class="el" href="classpp_1_1_audio_config.html" title="A 16 bit stereo AudioConfig resource.">AudioConfig</a> resource. </p>
+<p>Refer to the <a href="/native-client/{{pepperversion}}/devguide/coding/audio">Audio </a>chapter in the Developer's Guide for information on using this interface.</p>
+<p>A single sample frame on a stereo device means one value for the left channel and one value for the right channel.</p>
+<p>Buffer layout for a stereo int16 configuration:</p>
+<p><code>int16_t *buffer16;</code> <code>buffer16[0]</code> is the first left channel sample. <code>buffer16[1]</code> is the first right channel sample. <code>buffer16[2]</code> is the second left channel sample. <code>buffer16[3]</code> is the second right channel sample. <code>...</code> <code>buffer16[2 * (sample_frame_count - 1)]</code> is the last left channel sample. <code>buffer16[2 * (sample_frame_count - 1) + 1]</code> is the last right channel sample. Data will always be in the native endian format of the platform.</p>
+<p><b>Example:</b> </p>
+<div class="fragment"><pre class="fragment"> <span class="comment">// Create an audio config with a supported frame count.</span>
+ uint32_t <a class="code" href="classpp_1_1_audio_config.html#ad7cb79f7f92993257643574457ee8d0c" title="Getter function for returning the internal sample frame count.">sample_frame_count</a> = <a class="code" href="classpp_1_1_audio_config.html#a53611e94bca5d4a5f7acdd3e5285adb9" title="RecommendSampleFrameCount() returns a supported frame count closest to the requested count...">AudioConfig::RecommendSampleFrameCount</a>(
+ PP_AUDIOSAMPLERATE_44100, 4096);
+ <a class="code" href="classpp_1_1_audio_config.html#ad7a5caaa08c531acf7e2975a790db98e" title="An empty constructor for an AudioConfig resource.">AudioConfig</a> config(PP_AUDIOSAMPLERATE_44100, sample_frame_count);
+ <span class="keywordflow">if</span> (config.is_null())
+ <span class="keywordflow">return</span> <span class="keyword">false</span>; <span class="comment">// Couldn't configure audio.</span>
+
+ <span class="comment">// Then use the config to create your audio resource.</span>
+ Audio audio(instance, config, callback, user_data);
+ <span class="keywordflow">if</span> (audio.is_null())
+ <span class="keywordflow">return</span> <span class="keyword">false</span>; <span class="comment">// Couldn't create audio.</span>
+</pre></div> </div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="ad7a5caaa08c531acf7e2975a790db98e"></a><!-- doxytag: member="pp::AudioConfig::AudioConfig" ref="ad7a5caaa08c531acf7e2975a790db98e" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_audio_config.html#ad7a5caaa08c531acf7e2975a790db98e">pp::AudioConfig::AudioConfig</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>An empty constructor for an <code><a class="el" href="classpp_1_1_audio_config.html" title="A 16 bit stereo AudioConfig resource.">AudioConfig</a></code> resource. </p>
+</div>
+</div>
+<a class="anchor" id="aa6dcb1ed3086502f03d9e1d73124421a"></a><!-- doxytag: member="pp::AudioConfig::AudioConfig" ref="aa6dcb1ed3086502f03d9e1d73124421a" args="(const InstanceHandle &instance, PP_AudioSampleRate sample_rate, uint32_t sample_frame_count)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_audio_config.html#ad7a5caaa08c531acf7e2975a790db98e">pp::AudioConfig::AudioConfig</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_AudioSampleRate </td>
+<td class="paramname"><em>sample_rate</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>sample_frame_count</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor that creates an audio config based on the given sample rate and frame count. </p>
+<p>If the rate and frame count aren't supported, the resulting resource will be <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a>. You can pass the result of <a class="el" href="classpp_1_1_audio_config.html#a53611e94bca5d4a5f7acdd3e5285adb9" title="RecommendSampleFrameCount() returns a supported frame count closest to the requested count...">RecommendSampleFrameCount()</a> as the sample frame count.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance associated with this resource.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">sample_rate</td><td>A <code>PP_AudioSampleRate</code> which is either <code>PP_AUDIOSAMPLERATE_44100</code> or <code>PP_AUDIOSAMPLERATE_48000</code>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">sample_frame_count</td><td>A uint32_t frame count returned from the <code>RecommendSampleFrameCount</code> function. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a53611e94bca5d4a5f7acdd3e5285adb9"></a><!-- doxytag: member="pp::AudioConfig::RecommendSampleFrameCount" ref="a53611e94bca5d4a5f7acdd3e5285adb9" args="(const InstanceHandle &instance, PP_AudioSampleRate sample_rate, uint32_t requested_sample_frame_count)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static uint32_t <a class="el" href="classpp_1_1_audio_config.html#a53611e94bca5d4a5f7acdd3e5285adb9">pp::AudioConfig::RecommendSampleFrameCount</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_AudioSampleRate </td>
+<td class="paramname"><em>sample_rate</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>requested_sample_frame_count</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_audio_config.html#a53611e94bca5d4a5f7acdd3e5285adb9" title="RecommendSampleFrameCount() returns a supported frame count closest to the requested count...">RecommendSampleFrameCount()</a> returns a supported frame count closest to the requested count. </p>
+<p>The sample frame count determines the overall latency of audio. Smaller frame counts will yield lower latency, but higher CPU utilization. Supported sample frame counts will vary by hardware and system (consider that the local system might be anywhere from a cell phone or a high-end audio workstation). Sample counts less than <code>PP_AUDIOMINSAMPLEFRAMECOUNT</code> and greater than <code>PP_AUDIOMAXSAMPLEFRAMECOUNT</code> are never supported on any system, but values in between aren't necessarily valid. This function will return a supported count closest to the requested value for use in the constructor.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance associated with this resource. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">sample_rate</td><td>A <code>PP_AudioSampleRate</code> which is either <code>PP_AUDIOSAMPLERATE_44100</code> or <code>PP_AUDIOSAMPLERATE_48000</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">requested_sample_frame_count</td><td>A uint32_t requested frame count.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A uint32_t containing the recommended sample frame count if successful. If the sample frame count or bit rate is not supported, this function will fail and return 0. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="abf073122a1b9ef65f149fda9be57246f"></a><!-- doxytag: member="pp::AudioConfig::RecommendSampleRate" ref="abf073122a1b9ef65f149fda9be57246f" args="(const InstanceHandle &instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static PP_AudioSampleRate <a class="el" href="classpp_1_1_audio_config.html#abf073122a1b9ef65f149fda9be57246f">pp::AudioConfig::RecommendSampleRate</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_audio_config.html#abf073122a1b9ef65f149fda9be57246f" title="RecommendSampleRate() returns the native sample rate used by the audio system.">RecommendSampleRate()</a> returns the native sample rate used by the audio system. </p>
+<p>Applications that use the recommended sample rate might obtain lower latency and higher fidelity output.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance associated with this resource. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ad7cb79f7f92993257643574457ee8d0c"></a><!-- doxytag: member="pp::AudioConfig::sample_frame_count" ref="ad7cb79f7f92993257643574457ee8d0c" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="classpp_1_1_audio_config.html#ad7cb79f7f92993257643574457ee8d0c">pp::AudioConfig::sample_frame_count</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the internal sample frame count. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A uint32_t containing the sample frame count. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a988b8489ec9335be25605561d0293813"></a><!-- doxytag: member="pp::AudioConfig::sample_rate" ref="a988b8489ec9335be25605561d0293813" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_AudioSampleRate <a class="el" href="classpp_1_1_audio_config.html#a988b8489ec9335be25605561d0293813">pp::AudioConfig::sample_rate</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the internal <code>PP_AudioSampleRate</code> enum. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The <code>PP_AudioSampleRate</code> enum. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="audio__config_8h.html">audio_config.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_audio_config__inherit__graph.png b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_audio_config__inherit__graph.png
new file mode 100644
index 0000000..2e85f209
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_audio_config__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_audio_frame-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_audio_frame-members.html
new file mode 100644
index 0000000..d60fb4f
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_audio_frame-members.html
@@ -0,0 +1,36 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_audio_frame.html">pp::AudioFrame</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_audio_frame.html#a34c5fe2032eb858356bade18829eb5af">AudioFrame</a>()</td><td><a class="el" href="classpp_1_1_audio_frame.html">pp::AudioFrame</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_audio_frame.html#a4d90b7a73435fe86eec8d3b106ccad49">AudioFrame</a>(const AudioFrame &other)</td><td><a class="el" href="classpp_1_1_audio_frame.html">pp::AudioFrame</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_audio_frame.html#a29676f598adbc902205712aa64bd79c8">AudioFrame</a>(const Resource &resource)</td><td><a class="el" href="classpp_1_1_audio_frame.html">pp::AudioFrame</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_audio_frame.html#a423da94bba4bca8eb296e89f179640f9">AudioFrame</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_audio_frame.html">pp::AudioFrame</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_audio_frame.html#a3eab39dcfec84777987b0b237747187d">GetDataBuffer</a>()</td><td><a class="el" href="classpp_1_1_audio_frame.html">pp::AudioFrame</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_audio_frame.html#a9b10a619f819ff7351dbabb8de140563">GetDataBufferSize</a>() const </td><td><a class="el" href="classpp_1_1_audio_frame.html">pp::AudioFrame</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_audio_frame.html#a5c5dc02664ce94915445a698f655e7ca">GetNumberOfChannels</a>() const </td><td><a class="el" href="classpp_1_1_audio_frame.html">pp::AudioFrame</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_audio_frame.html#a740e54cb2498a3dfe5b621cdf830b692">GetNumberOfSamples</a>() const </td><td><a class="el" href="classpp_1_1_audio_frame.html">pp::AudioFrame</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_audio_frame.html#a0cf77d9bbf90d8474053a79514f4dd30">GetSampleSize</a>() const </td><td><a class="el" href="classpp_1_1_audio_frame.html">pp::AudioFrame</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_audio_frame.html#acfd8249e24bfe64b502856474c9bc1ff">GetTimestamp</a>() const </td><td><a class="el" href="classpp_1_1_audio_frame.html">pp::AudioFrame</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_audio_frame.html#af0222861693f93302daa16993aa30ef1">SetTimestamp</a>(PP_TimeDelta timestamp)</td><td><a class="el" href="classpp_1_1_audio_frame.html">pp::AudioFrame</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_audio_frame.html#a41fd32585aa8fe9427dff22cb5455422">~AudioFrame</a>()</td><td><a class="el" href="classpp_1_1_audio_frame.html">pp::AudioFrame</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_audio_frame.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_audio_frame.html
new file mode 100644
index 0000000..45d2a99
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_audio_frame.html
@@ -0,0 +1,276 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::AudioFrame Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::AudioFrame" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::AudioFrame:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_audio_frame__inherit__graph.png" border="0" usemap="#pp_1_1_audio_frame_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_audio_frame_inherit__map" id="pp_1_1_audio_frame_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="15,5,119,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_audio_frame-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio_frame.html#a34c5fe2032eb858356bade18829eb5af">AudioFrame</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio_frame.html#a4d90b7a73435fe86eec8d3b106ccad49">AudioFrame</a> (const <a class="el" href="classpp_1_1_audio_frame.html">AudioFrame</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio_frame.html#a29676f598adbc902205712aa64bd79c8">AudioFrame</a> (const <a class="el" href="classpp_1_1_resource.html">Resource</a> &resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio_frame.html#a423da94bba4bca8eb296e89f179640f9">AudioFrame</a> (<a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a>, PP_Resource resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio_frame.html#a41fd32585aa8fe9427dff22cb5455422">~AudioFrame</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_TimeDelta </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio_frame.html#acfd8249e24bfe64b502856474c9bc1ff">GetTimestamp</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio_frame.html#af0222861693f93302daa16993aa30ef1">SetTimestamp</a> (PP_TimeDelta timestamp)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio_frame.html#a0cf77d9bbf90d8474053a79514f4dd30">GetSampleSize</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio_frame.html#a5c5dc02664ce94915445a698f655e7ca">GetNumberOfChannels</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio_frame.html#a740e54cb2498a3dfe5b621cdf830b692">GetNumberOfSamples</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio_frame.html#a3eab39dcfec84777987b0b237747187d">GetDataBuffer</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio_frame.html#a9b10a619f819ff7351dbabb8de140563">GetDataBufferSize</a> () const </td></tr>
+</table>
+<hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a34c5fe2032eb858356bade18829eb5af"></a><!-- doxytag: member="pp::AudioFrame::AudioFrame" ref="a34c5fe2032eb858356bade18829eb5af" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_audio_frame.html#a34c5fe2032eb858356bade18829eb5af">pp::AudioFrame::AudioFrame</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor for creating an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> <code><a class="el" href="classpp_1_1_audio_frame.html">AudioFrame</a></code> object. </p>
+</div>
+</div>
+<a class="anchor" id="a4d90b7a73435fe86eec8d3b106ccad49"></a><!-- doxytag: member="pp::AudioFrame::AudioFrame" ref="a4d90b7a73435fe86eec8d3b106ccad49" args="(const AudioFrame &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_audio_frame.html#a34c5fe2032eb858356bade18829eb5af">pp::AudioFrame::AudioFrame</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_audio_frame.html">AudioFrame</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The copy constructor for <code><a class="el" href="classpp_1_1_audio_frame.html">AudioFrame</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A reference to an <code><a class="el" href="classpp_1_1_audio_frame.html">AudioFrame</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a29676f598adbc902205712aa64bd79c8"></a><!-- doxytag: member="pp::AudioFrame::AudioFrame" ref="a29676f598adbc902205712aa64bd79c8" args="(const Resource &resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_audio_frame.html#a34c5fe2032eb858356bade18829eb5af">pp::AudioFrame::AudioFrame</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_resource.html">Resource</a> & </td>
+<td class="paramname"><em>resource</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs an <code><a class="el" href="classpp_1_1_audio_frame.html">AudioFrame</a></code> from a <code><a class="el" href="classpp_1_1_resource.html" title="A reference counted module resource.">Resource</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PPB_AudioFrame</code> resource. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a423da94bba4bca8eb296e89f179640f9"></a><!-- doxytag: member="pp::AudioFrame::AudioFrame" ref="a423da94bba4bca8eb296e89f179640f9" args="(PassRef, PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_audio_frame.html#a34c5fe2032eb858356bade18829eb5af">pp::AudioFrame::AudioFrame</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a> </td>
+<td class="paramname">, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>resource</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used when you have received a <code>PP_Resource</code> as a return value that has had 1 ref added for you. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PPB_AudioFrame</code> resource. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a41fd32585aa8fe9427dff22cb5455422"></a><!-- doxytag: member="pp::AudioFrame::~AudioFrame" ref="a41fd32585aa8fe9427dff22cb5455422" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_audio_frame.html#a41fd32585aa8fe9427dff22cb5455422">pp::AudioFrame::~AudioFrame</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a3eab39dcfec84777987b0b237747187d"></a><!-- doxytag: member="pp::AudioFrame::GetDataBuffer" ref="a3eab39dcfec84777987b0b237747187d" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void* <a class="el" href="classpp_1_1_audio_frame.html#a3eab39dcfec84777987b0b237747187d">pp::AudioFrame::GetDataBuffer</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the data buffer containing the audio frame samples. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A pointer to the beginning of the data buffer. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a9b10a619f819ff7351dbabb8de140563"></a><!-- doxytag: member="pp::AudioFrame::GetDataBufferSize" ref="a9b10a619f819ff7351dbabb8de140563" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="classpp_1_1_audio_frame.html#a9b10a619f819ff7351dbabb8de140563">pp::AudioFrame::GetDataBufferSize</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the size of data buffer in bytes. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The size of the data buffer in bytes. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a5c5dc02664ce94915445a698f655e7ca"></a><!-- doxytag: member="pp::AudioFrame::GetNumberOfChannels" ref="a5c5dc02664ce94915445a698f655e7ca" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="classpp_1_1_audio_frame.html#a5c5dc02664ce94915445a698f655e7ca">pp::AudioFrame::GetNumberOfChannels</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the number of channels in the audio frame. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The number of channels in the audio frame. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a740e54cb2498a3dfe5b621cdf830b692"></a><!-- doxytag: member="pp::AudioFrame::GetNumberOfSamples" ref="a740e54cb2498a3dfe5b621cdf830b692" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="classpp_1_1_audio_frame.html#a740e54cb2498a3dfe5b621cdf830b692">pp::AudioFrame::GetNumberOfSamples</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the number of samples in the audio frame. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The number of samples in the audio frame. For example, at a sampling rate of 44,100 Hz in stereo audio, a frame containing 4,410 * 2 samples would have a duration of 100 milliseconds. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a0cf77d9bbf90d8474053a79514f4dd30"></a><!-- doxytag: member="pp::AudioFrame::GetSampleSize" ref="a0cf77d9bbf90d8474053a79514f4dd30" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="classpp_1_1_audio_frame.html#a0cf77d9bbf90d8474053a79514f4dd30">pp::AudioFrame::GetSampleSize</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the sample size of the audio frame in bytes. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The sample size of the audio frame in bytes. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="acfd8249e24bfe64b502856474c9bc1ff"></a><!-- doxytag: member="pp::AudioFrame::GetTimestamp" ref="acfd8249e24bfe64b502856474c9bc1ff" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_TimeDelta <a class="el" href="classpp_1_1_audio_frame.html#acfd8249e24bfe64b502856474c9bc1ff">pp::AudioFrame::GetTimestamp</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the timestamp of the audio frame. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_TimeDelta</code> containing the timestamp of the audio frame. Given in seconds since the start of the containing audio stream. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="af0222861693f93302daa16993aa30ef1"></a><!-- doxytag: member="pp::AudioFrame::SetTimestamp" ref="af0222861693f93302daa16993aa30ef1" args="(PP_TimeDelta timestamp)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_audio_frame.html#af0222861693f93302daa16993aa30ef1">pp::AudioFrame::SetTimestamp</a> </td>
+<td>(</td>
+<td class="paramtype">PP_TimeDelta </td>
+<td class="paramname"><em>timestamp</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sets the timestamp of the audio frame. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">timestamp</td><td>A <code>PP_TimeDelta</code> containing the timestamp of the audio frame. Given in seconds since the start of the containing audio stream. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="audio__frame_8h.html">audio_frame.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_audio_frame__inherit__graph.png b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_audio_frame__inherit__graph.png
new file mode 100644
index 0000000..5d95b0a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_audio_frame__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_completion_callback-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_completion_callback-members.html
new file mode 100644
index 0000000..145b0c9
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_completion_callback-members.html
@@ -0,0 +1,24 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#af071c756ff3eb007dfbea3f50df74111">cc_</a></td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a2dae27f9f015c3b9342a4a65f05bd356">CompletionCallback</a>()</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#afe88416d324795a748d5112e197b0131">CompletionCallback</a>(PP_CompletionCallback_Func func, void *user_data)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a14fd9478ff007a91a3cdfa397c8e6e56">CompletionCallback</a>(PP_CompletionCallback_Func func, void *user_data, int32_t flags)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a60e466572fe7de362969dd41179c971f">flags</a>() const </td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a6ce66ec2655c9157cab494f248551b5f">IsOptional</a>() const </td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a24d1648d1a92a5c36894ce081457e603">MayForce</a>(int32_t result) const </td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#ada943a747c94eebb1e32dbd6914c2526">pp_completion_callback</a>() const </td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a7795404cc15a4f96523c28db21d364c4">Run</a>(int32_t result)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a2996ca2f2b640c7da6da9016a5b0cd16">RunAndClear</a>(int32_t result)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a89fb884e8af572e9bf38fb880e132438">set_flags</a>(int32_t flags)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_completion_callback.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_completion_callback.html
new file mode 100644
index 0000000..f09aefe
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_completion_callback.html
@@ -0,0 +1,306 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::CompletionCallback Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::CompletionCallback" --><div class="dynheader">
+Inheritance diagram for pp::CompletionCallback:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_completion_callback__inherit__graph.png" border="0" usemap="#pp_1_1_completion_callback_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_completion_callback_inherit__map" id="pp_1_1_completion_callback_inherit__map">
+<area shape="rect" id="node3" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html" title="pp::internal::CompletionCallbackWithOutputBase\< T, internal::CallbackOutputTraits\< T \> \>" alt="" coords="237,5,835,35"></area><area shape="rect" id="node7" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html" title="pp::internal::CompletionCallbackWithOutputBase\< T, internal::ExtCallbackOutputTraits\< T \> \>" alt="" coords="227,59,845,88"></area><area shape="rect" id="node11" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html" title="The base class of [Ext]CompletionCallbackWithOutput." alt="" coords="332,112,740,141"></area><area shape="rect" id="node5" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so..." alt="" coords="917,5,1197,35"></area><area shape="rect" id="node9" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html" title="ExtCompletionCallbackWithOutput is similar to CompletionCallbackWithOutput, but used by APIs within t..." alt="" coords="893,59,1221,88"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_completion_callback-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback.html#a2dae27f9f015c3b9342a4a65f05bd356">CompletionCallback</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback.html#afe88416d324795a748d5112e197b0131">CompletionCallback</a> (PP_CompletionCallback_Func func, void *user_data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback.html#a14fd9478ff007a91a3cdfa397c8e6e56">CompletionCallback</a> (PP_CompletionCallback_Func func, void *user_data, int32_t <a class="el" href="classpp_1_1_completion_callback.html#a60e466572fe7de362969dd41179c971f">flags</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback.html#a89fb884e8af572e9bf38fb880e132438">set_flags</a> (int32_t <a class="el" href="classpp_1_1_completion_callback.html#a60e466572fe7de362969dd41179c971f">flags</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback.html#a7795404cc15a4f96523c28db21d364c4">Run</a> (int32_t result)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback.html#a2996ca2f2b640c7da6da9016a5b0cd16">RunAndClear</a> (int32_t result)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback.html#a6ce66ec2655c9157cab494f248551b5f">IsOptional</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const PP_CompletionCallback & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback.html#ada943a747c94eebb1e32dbd6914c2526">pp_completion_callback</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback.html#a60e466572fe7de362969dd41179c971f">flags</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback.html#a24d1648d1a92a5c36894ce081457e603">MayForce</a> (int32_t result) const </td></tr>
+</table><h2>
+Protected Attributes</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">PP_CompletionCallback </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback.html#af071c756ff3eb007dfbea3f50df74111">cc_</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This API enables you to implement and receive callbacks when Pepper operations complete asynchronously. </p>
+<p>You can create these objects yourself, but it is most common to use the <a class="el" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe...">CompletionCallbackFactory</a> to allow the callbacks to call class member functions. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a2dae27f9f015c3b9342a4a65f05bd356"></a><!-- doxytag: member="pp::CompletionCallback::CompletionCallback" ref="a2dae27f9f015c3b9342a4a65f05bd356" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback.html#a2dae27f9f015c3b9342a4a65f05bd356">pp::CompletionCallback::CompletionCallback</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The default constructor will create a blocking <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> that can be passed to a method to indicate that the calling thread should be blocked until the asynchronous operation corresponding to the method completes. </p>
+<p><b>Note:</b> Blocking completion callbacks are only allowed from from background threads. </p>
+</div>
+</div>
+<a class="anchor" id="afe88416d324795a748d5112e197b0131"></a><!-- doxytag: member="pp::CompletionCallback::CompletionCallback" ref="afe88416d324795a748d5112e197b0131" args="(PP_CompletionCallback_Func func, void *user_data)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback.html#a2dae27f9f015c3b9342a4a65f05bd356">pp::CompletionCallback::CompletionCallback</a> </td>
+<td>(</td>
+<td class="paramtype">PP_CompletionCallback_Func </td>
+<td class="paramname"><em>func</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">void * </td>
+<td class="paramname"><em>user_data</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor for creating a <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">func</td><td>The function to be called on completion. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">user_data</td><td>The user data to be passed to the callback function. This is optional and is typically used to help track state in case of multiple pending callbacks. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a14fd9478ff007a91a3cdfa397c8e6e56"></a><!-- doxytag: member="pp::CompletionCallback::CompletionCallback" ref="a14fd9478ff007a91a3cdfa397c8e6e56" args="(PP_CompletionCallback_Func func, void *user_data, int32_t flags)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback.html#a2dae27f9f015c3b9342a4a65f05bd356">pp::CompletionCallback::CompletionCallback</a> </td>
+<td>(</td>
+<td class="paramtype">PP_CompletionCallback_Func </td>
+<td class="paramname"><em>func</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">void * </td>
+<td class="paramname"><em>user_data</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>flags</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor for creating a <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> with specified flags. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">func</td><td>The function to be called on completion. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">user_data</td><td>The user data to be passed to the callback function. This is optional and is typically used to help track state in case of multiple pending callbacks. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>Bit field combination of <code>PP_CompletionCallback_Flag</code> flags used to control how non-NULL callbacks are scheduled by asynchronous methods. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a60e466572fe7de362969dd41179c971f"></a><!-- doxytag: member="pp::CompletionCallback::flags" ref="a60e466572fe7de362969dd41179c971f" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_completion_callback.html#a60e466572fe7de362969dd41179c971f">pp::CompletionCallback::flags</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <a class="el" href="classpp_1_1_completion_callback.html#a60e466572fe7de362969dd41179c971f" title="The flags() function returns flags used to control how non-NULL callbacks are scheduled by asynchrono...">flags()</a> function returns flags used to control how non-NULL callbacks are scheduled by asynchronous methods. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing a bit field combination of <code>PP_CompletionCallback_Flag</code> flags. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a6ce66ec2655c9157cab494f248551b5f"></a><!-- doxytag: member="pp::CompletionCallback::IsOptional" ref="a6ce66ec2655c9157cab494f248551b5f" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_completion_callback.html#a6ce66ec2655c9157cab494f248551b5f">pp::CompletionCallback::IsOptional</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_completion_callback.html#a6ce66ec2655c9157cab494f248551b5f" title="IsOptional() is used to determine the setting of the PP_COMPLETIONCALLBACK_FLAG_OPTIONAL flag...">IsOptional()</a> is used to determine the setting of the <code>PP_COMPLETIONCALLBACK_FLAG_OPTIONAL</code> flag. </p>
+<p>This flag allows any method taking such callback to complete synchronously and not call the callback if the operation would not block. This is useful when performance is an issue, and the operation bandwidth should not be limited to the processing speed of the message loop.</p>
+<p>On synchronous method completion, the completion result will be returned by the method itself. Otherwise, the method will return PP_OK_COMPLETIONPENDING, and the callback will be invoked asynchronously on the same thread where the PPB method was invoked.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if this callback is optional, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a24d1648d1a92a5c36894ce081457e603"></a><!-- doxytag: member="pp::CompletionCallback::MayForce" ref="a24d1648d1a92a5c36894ce081457e603" args="(int32_t result) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_completion_callback.html#a24d1648d1a92a5c36894ce081457e603">pp::CompletionCallback::MayForce</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>result</em></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_completion_callback.html#a24d1648d1a92a5c36894ce081457e603" title="MayForce() is used when implementing functions taking callbacks.">MayForce()</a> is used when implementing functions taking callbacks. </p>
+<p>If the callback is required and <code>result</code> indicates that it has not been scheduled, it will be forced on the main thread.</p>
+<p><b>Example:</b></p>
+<div class="fragment"><pre class="fragment"> int32_t OpenURL(<a class="code" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs.">pp::URLLoader</a>* loader,
+ <a class="code" href="classpp_1_1_u_r_l_request_info.html" title="URLRequestInfo provides an API for creating and manipulating URL requests.">pp::URLRequestInfo</a>* url_request_info,
+ <span class="keyword">const</span> <a class="code" href="classpp_1_1_completion_callback.html#a2dae27f9f015c3b9342a4a65f05bd356" title="The default constructor will create a blocking CompletionCallback that can be passed to a method to i...">CompletionCallback</a>& cc) {
+ <span class="keywordflow">if</span> (loader == NULL || url_request_info == NULL)
+ <span class="keywordflow">return</span> cc.MayForce(PP_ERROR_BADRESOURCE);
+ <span class="keywordflow">return</span> loader-><a class="code" href="classpp_1_1_u_r_l_loader.html#afb72f38f30b94a2d5494225e364395b8" title="This function begins loading the URLRequestInfo.">Open</a>(*loader, *url_request_info, cc);
+ }
+</pre></div><dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">result</td><td>PP_OK_COMPLETIONPENDING or the result of the completed operation to be passed to the callback function. PP_OK_COMPLETIONPENDING indicates that the callback has already been scheduled. Other non-positive values correspond to error codes from <code>pp_errors.h</code>. Positive values indicate additional information such as bytes read.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_OK_COMPLETIONPENDING</code> if the callback has been forced, result parameter otherwise. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ada943a747c94eebb1e32dbd6914c2526"></a><!-- doxytag: member="pp::CompletionCallback::pp_completion_callback" ref="ada943a747c94eebb1e32dbd6914c2526" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">const PP_CompletionCallback& <a class="el" href="classpp_1_1_completion_callback.html#ada943a747c94eebb1e32dbd6914c2526">pp::CompletionCallback::pp_completion_callback</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <a class="el" href="classpp_1_1_completion_callback.html#ada943a747c94eebb1e32dbd6914c2526" title="The pp_completion_callback() function returns the underlying PP_CompletionCallback">pp_completion_callback()</a> function returns the underlying <code>PP_CompletionCallback</code> </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_CompletionCallback</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a7795404cc15a4f96523c28db21d364c4"></a><!-- doxytag: member="pp::CompletionCallback::Run" ref="a7795404cc15a4f96523c28db21d364c4" args="(int32_t result)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_completion_callback.html#a7795404cc15a4f96523c28db21d364c4">pp::CompletionCallback::Run</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>result</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_completion_callback.html#a7795404cc15a4f96523c28db21d364c4" title="Run() is used to run the CompletionCallback.">Run()</a> is used to run the <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </p>
+<p>Normally, the system runs a <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> after an asynchronous operation completes, but programs may wish to run the <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> manually in order to reuse the same code paths.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">result</td><td>The result of the operation to be passed to the callback function. Non-positive values correspond to the error codes from <code>pp_errors.h</code> (excluding <code>PP_OK_COMPLETIONPENDING</code>). Positive values indicate additional information such as bytes read. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a2996ca2f2b640c7da6da9016a5b0cd16"></a><!-- doxytag: member="pp::CompletionCallback::RunAndClear" ref="a2996ca2f2b640c7da6da9016a5b0cd16" args="(int32_t result)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_completion_callback.html#a2996ca2f2b640c7da6da9016a5b0cd16">pp::CompletionCallback::RunAndClear</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>result</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_completion_callback.html#a2996ca2f2b640c7da6da9016a5b0cd16" title="RunAndClear() is used to run the CompletionCallback and clear out the callback so that it cannot be r...">RunAndClear()</a> is used to run the <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> and clear out the callback so that it cannot be run a second time. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">result</td><td>The result of the operation to be passed to the callback function. Non-positive values correspond to the error codes from <code>pp_errors.h</code> (excluding <code>PP_OK_COMPLETIONPENDING</code>). Positive values indicate additional information such as bytes read. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a89fb884e8af572e9bf38fb880e132438"></a><!-- doxytag: member="pp::CompletionCallback::set_flags" ref="a89fb884e8af572e9bf38fb880e132438" args="(int32_t flags)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_completion_callback.html#a89fb884e8af572e9bf38fb880e132438">pp::CompletionCallback::set_flags</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>flags</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <a class="el" href="classpp_1_1_completion_callback.html#a89fb884e8af572e9bf38fb880e132438" title="The set_flags() function is used to set the flags used to control how non-NULL callbacks are schedule...">set_flags()</a> function is used to set the flags used to control how non-NULL callbacks are scheduled by asynchronous methods. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>Bit field combination of <code>PP_CompletionCallback_Flag</code> flags used to control how non-NULL callbacks are scheduled by asynchronous methods. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Member Data Documentation</h2>
+<a class="anchor" id="af071c756ff3eb007dfbea3f50df74111"></a><!-- doxytag: member="pp::CompletionCallback::cc_" ref="af071c756ff3eb007dfbea3f50df74111" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_CompletionCallback <a class="el" href="classpp_1_1_completion_callback.html#af071c756ff3eb007dfbea3f50df74111">pp::CompletionCallback::cc_</a><code> [protected]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="completion__callback_8h.html">completion_callback.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_completion_callback__inherit__graph.png b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_completion_callback__inherit__graph.png
new file mode 100644
index 0000000..0e7b09d3
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_completion_callback__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_completion_callback_factory-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_completion_callback_factory-members.html
new file mode 100644
index 0000000..af6a99f
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_completion_callback_factory-members.html
@@ -0,0 +1,34 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#ad43328a7d8c19233e3fa0b762f357088">CancelAll</a>()</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#ab870c8d37638facb949a86226c5138dc">CompletionCallbackFactory</a>(T *object=NULL)</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline, explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#a5cd104c9185333647e1a752860ca0336">GetObject</a>()</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#a6289f165e3ce15a07061f8be411e186c">Initialize</a>(T *object)</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#ab25d7ebdcdcd28f06ab767fdbbd4868f">NewCallback</a>(Method method)</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#aaa341cc4aa04c12dfe58a4452467b225">NewCallback</a>(Method method, const A &a)</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#a3d32cb2060a1da7ce73e8657c94f15fa">NewCallback</a>(Method method, const A &a, const B &b)</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#a4110e491c1358c951903ef1b0fecf58d">NewCallback</a>(Method method, const A &a, const B &b, const C &c)</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#a8c550ff8d18548ba962af29309880eeb">NewCallbackWithOutput</a>(void(T::*method)(int32_t, Output))</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#a85f3416759e1d7297025f5a0fb037fd9">NewCallbackWithOutput</a>(void(T::*method)(int32_t, Output, A), const A &a)</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#a5f1288cad38fa17aa1f07f5793908e24">NewCallbackWithOutput</a>(void(T::*method)(int32_t, Output, A, B), const A &a, const B &b)</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#a3653f981f4decf82d697e46a6d21519f">NewCallbackWithOutput</a>(void(T::*method)(int32_t, Output, A, B, C), const A &a, const B &b, const C &c)</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#aea74805def24c8f5271e7907bd858205">NewExtCallbackWithOutput</a>(void(T::*method)(int32_t, Output))</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#aadbadcf3365c39ce5620977ea1609fcf">NewExtCallbackWithOutput</a>(void(T::*method)(int32_t, Output, A), const A &a)</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#a50b2c6949e50d88f2bb4f8c08017671c">NewExtCallbackWithOutput</a>(void(T::*method)(int32_t, Output, A, B), const A &a, const B &b)</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#ae5d26a15726c295a45e8ab596507dfde">NewExtCallbackWithOutput</a>(void(T::*method)(int32_t, Output, A, B, C), const A &a, const B &b, const C &c)</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#adacce232874e0d5ab52ffa4bd8af9ef7">NewOptionalCallback</a>(Method method)</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#a221758746a8b10563148990cf63d085d">NewOptionalCallback</a>(Method method, const A &a)</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#abe32b7e60edc4699de46dc8640e90bcb">NewOptionalCallback</a>(Method method, const A &a, const B &b)</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#aaa7f305418d469d8be2ec801dd0bfeda">NewOptionalCallback</a>(Method method, const A &a, const B &b, const C &c)</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#a8341b9bfa1660d5f3f38d2530a0a9d42">~CompletionCallbackFactory</a>()</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_completion_callback_factory.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_completion_callback_factory.html
new file mode 100644
index 0000000..b088bc25
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_completion_callback_factory.html
@@ -0,0 +1,915 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::CompletionCallbackFactory< T, ThreadTraits > Class Template Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::CompletionCallbackFactory" -->
+<p><a href="classpp_1_1_completion_callback_factory-members.html">List of all members.</a></p>
+<h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>BackPointer</b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>CallbackData</b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>Dispatcher0</b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>Dispatcher1</b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>Dispatcher2</b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>Dispatcher3</b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>DispatcherWithOutput0</b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>DispatcherWithOutput1</b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>DispatcherWithOutput2</b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>DispatcherWithOutput3</b></td></tr>
+</table><h2>
+Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#ab870c8d37638facb949a86226c5138dc">CompletionCallbackFactory</a> (T *object=NULL)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#a8341b9bfa1660d5f3f38d2530a0a9d42">~CompletionCallbackFactory</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#ad43328a7d8c19233e3fa0b762f357088">CancelAll</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#a6289f165e3ce15a07061f8be411e186c">Initialize</a> (T *object)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">T * </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#a5cd104c9185333647e1a752860ca0336">GetObject</a> ()</td></tr>
+<tr><td class="memTemplParams" colspan="2">template<typename Method > </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#ab25d7ebdcdcd28f06ab767fdbbd4868f">NewCallback</a> (Method method)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template<typename Method > </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#adacce232874e0d5ab52ffa4bd8af9ef7">NewOptionalCallback</a> (Method method)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template<typename Output > </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a><br class="typebreak" />
+< typename <br class="typebreak" />
+<a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">internal::TypeUnwrapper</a><br class="typebreak" />
+< Output >::StorageType > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#a8c550ff8d18548ba962af29309880eeb">NewCallbackWithOutput</a> (void(T::*method)(int32_t, Output))</td></tr>
+<tr><td class="memTemplParams" colspan="2">template<typename Output > </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">ext::ExtCompletionCallbackWithOutput</a><br class="typebreak" />
+< typename <br class="typebreak" />
+<a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">internal::TypeUnwrapper</a><br class="typebreak" />
+< Output >::StorageType > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#aea74805def24c8f5271e7907bd858205">NewExtCallbackWithOutput</a> (void(T::*method)(int32_t, Output))</td></tr>
+<tr><td class="memTemplParams" colspan="2">template<typename Method , typename A > </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#aaa341cc4aa04c12dfe58a4452467b225">NewCallback</a> (Method method, const A &a)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template<typename Method , typename A > </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#a221758746a8b10563148990cf63d085d">NewOptionalCallback</a> (Method method, const A &a)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template<typename Output , typename A > </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a><br class="typebreak" />
+< typename <br class="typebreak" />
+<a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">internal::TypeUnwrapper</a><br class="typebreak" />
+< Output >::StorageType > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#a85f3416759e1d7297025f5a0fb037fd9">NewCallbackWithOutput</a> (void(T::*method)(int32_t, Output, A), const A &a)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template<typename Output , typename A > </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">ext::ExtCompletionCallbackWithOutput</a><br class="typebreak" />
+< typename <br class="typebreak" />
+<a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">internal::TypeUnwrapper</a><br class="typebreak" />
+< Output >::StorageType > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#aadbadcf3365c39ce5620977ea1609fcf">NewExtCallbackWithOutput</a> (void(T::*method)(int32_t, Output, A), const A &a)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template<typename Method , typename A , typename B > </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#a3d32cb2060a1da7ce73e8657c94f15fa">NewCallback</a> (Method method, const A &a, const B &b)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template<typename Method , typename A , typename B > </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#abe32b7e60edc4699de46dc8640e90bcb">NewOptionalCallback</a> (Method method, const A &a, const B &b)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template<typename Output , typename A , typename B > </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a><br class="typebreak" />
+< typename <br class="typebreak" />
+<a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">internal::TypeUnwrapper</a><br class="typebreak" />
+< Output >::StorageType > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#a5f1288cad38fa17aa1f07f5793908e24">NewCallbackWithOutput</a> (void(T::*method)(int32_t, Output, A, B), const A &a, const B &b)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template<typename Output , typename A , typename B > </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">ext::ExtCompletionCallbackWithOutput</a><br class="typebreak" />
+< typename <br class="typebreak" />
+<a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">internal::TypeUnwrapper</a><br class="typebreak" />
+< Output >::StorageType > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#a50b2c6949e50d88f2bb4f8c08017671c">NewExtCallbackWithOutput</a> (void(T::*method)(int32_t, Output, A, B), const A &a, const B &b)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template<typename Method , typename A , typename B , typename C > </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#a4110e491c1358c951903ef1b0fecf58d">NewCallback</a> (Method method, const A &a, const B &b, const C &c)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template<typename Method , typename A , typename B , typename C > </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#aaa7f305418d469d8be2ec801dd0bfeda">NewOptionalCallback</a> (Method method, const A &a, const B &b, const C &c)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template<typename Output , typename A , typename B , typename C > </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a><br class="typebreak" />
+< typename <br class="typebreak" />
+<a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">internal::TypeUnwrapper</a><br class="typebreak" />
+< Output >::StorageType > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#a3653f981f4decf82d697e46a6d21519f">NewCallbackWithOutput</a> (void(T::*method)(int32_t, Output, A, B, C), const A &a, const B &b, const C &c)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template<typename Output , typename A , typename B , typename C > </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">ext::ExtCompletionCallbackWithOutput</a><br class="typebreak" />
+< typename <br class="typebreak" />
+<a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">internal::TypeUnwrapper</a><br class="typebreak" />
+< Output >::StorageType > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#ae5d26a15726c295a45e8ab596507dfde">NewExtCallbackWithOutput</a> (void(T::*method)(int32_t, Output, A, B, C), const A &a, const B &b, const C &c)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><h3>template<typename T, typename ThreadTraits = ThreadSafeThreadTraits><br />
+class pp::CompletionCallbackFactory< T, ThreadTraits ></h3>
+<p>CompletionCallbackFactory<T> may be used to create <a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a> objects that are bound to member functions. </p>
+<p>If a factory is destroyed, then any pending callbacks will be cancelled preventing any bound member functions from being called. The <a class="el" href="classpp_1_1_completion_callback_factory.html#ad43328a7d8c19233e3fa0b762f357088" title="CancelAll() cancels all CompletionCallbacks allocated from this factory.">CancelAll()</a> method allows pending callbacks to be cancelled without destroying the factory.</p>
+<p><b>Note: </b><code>CompletionCallbackFactory<T></code> isn't thread safe, but it is somewhat thread-friendly when used with a thread-safe traits class as the second template element. However, it only guarantees safety for creating a callback from another thread, the callback itself needs to execute on the same thread as the thread that creates/destroys the factory. With this restriction, it is safe to create the <code><a class="el" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe...">CompletionCallbackFactory</a></code> on the main thread, create callbacks from any thread and pass them to CallOnMainThread().</p>
+<p><b>Example: </b></p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">class </span>MyClass {
+ <span class="keyword">public</span>:
+ <span class="comment">// If an compiler warns on following using |this| in the initializer</span>
+ <span class="comment">// list, use PP_ALLOW_THIS_IN_INITIALIZER_LIST macro.</span>
+ MyClass() : factory_(this) {
+ }
+
+ <span class="keywordtype">void</span> OpenFile(<span class="keyword">const</span> <a class="code" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>pp::FileRef</a>& file) {
+ <a class="code" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">pp::CompletionCallback</a> cc = factory_.NewCallback(&MyClass::DidOpen);
+ int32_t rv = file_io_.Open(file, PP_FileOpenFlag_Read, cc);
+ CHECK(rv == PP_OK_COMPLETIONPENDING);
+ }
+
+ <span class="keyword">private</span>:
+ <span class="keywordtype">void</span> DidOpen(int32_t result) {
+ <span class="keywordflow">if</span> (result == PP_OK) {
+ <span class="comment">// The file is open, and we can begin reading.</span>
+ <span class="comment">// ...</span>
+ } <span class="keywordflow">else</span> {
+ <span class="comment">// Failed to open the file with error given by 'result'.</span>
+ }
+ }
+
+ <a class="code" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe...">pp::CompletionCallbackFactory<MyClass></a> factory_;
+ };
+</pre></div><p><b>Passing additional parameters to your callback</b></p>
+<p>As a convenience, the <code><a class="el" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe...">CompletionCallbackFactory</a></code> can optionally create a closure with up to three bound parameters that it will pass to your callback function. This can be useful for passing information about the request to your callback function, which is especially useful if your class has multiple asynchronous callbacks pending.</p>
+<p>For the above example, of opening a file, let's say you want to keep some description associated with your request, you might implement your OpenFile and DidOpen callback as follows:</p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">void</span> OpenFile(<span class="keyword">const</span> <a class="code" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>pp::FileRef</a>& file) {
+ std::string message = <span class="stringliteral">"Opening file!"</span>;
+ <a class="code" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">pp::CompletionCallback</a> cc = factory_.NewCallback(&MyClass::DidOpen,
+ message);
+ int32_t rv = file_io_.Open(file, PP_FileOpenFlag_Read, cc);
+ CHECK(rv == PP_OK_COMPLETIONPENDING);
+ }
+ <span class="keywordtype">void</span> DidOpen(int32_t result, <span class="keyword">const</span> std::string& message) {
+ <span class="comment">// "message" will be "Opening file!".</span>
+ ...
+ }
+</pre></div><p><b>Optional versus required callbacks</b></p>
+<p>When you create an "optional" callback, the browser may return the results synchronously if they are available. This can allow for higher performance in some cases if data is available quickly (for example, for network loads where there may be a lot of data coming quickly). In this case, the callback will never be run.</p>
+<p>When creating a new callback with the factory, there will be data allocated on the heap that tracks the callback information and any bound arguments. This data is freed when the callback executes. In the case of optional callbacks, since the browser will never issue the callback, the internal tracking data will be leaked.</p>
+<p>Therefore, if you use optional callbacks, it's important to manually issue the callback to free up this data. The typical pattern is:</p>
+<div class="fragment"><pre class="fragment"> <a class="code" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">pp::CompletionCallback</a> callback = callback_factory.NewOptionalCallback(
+ &MyClass::OnDataReady);
+ int32_t result = interface->GetData(callback);
+ <span class="keywordflow">if</span> (result != PP_OK_COMPLETIONPENDING)
+ callback.<a class="code" href="classpp_1_1_completion_callback.html#a7795404cc15a4f96523c28db21d364c4" title="Run() is used to run the CompletionCallback.">Run</a>(result);
+</pre></div><p>Because of this additional complexity, it's generally recommended that you not use optional callbacks except when performance is more important (such as loading large resources from the network). In most other cases, the performance difference will not be worth the additional complexity, and most functions may never actually have the ability to complete synchronously.</p>
+<p><b>Completion callbacks with output</b></p>
+<p>For some API calls, the browser returns data to the caller via an output parameter. These can be difficult to manage since the output parameter must remain valid for as long as the callback is pending. Note also that CancelAll (or destroying the callback factory) does <em>not</em> cancel the callback from the browser's perspective, only the execution of the callback in the plugin code, and the output parameter will still be written to! This means that you can't use class members as output parameters without risking crashes.</p>
+<p>To make this case easier, the <a class="el" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe...">CompletionCallbackFactory</a> can allocate and manage the output data for you and pass it to your callback function. This makes such calls more natural and less error-prone.</p>
+<p>To create such a callback, use NewCallbackWithOutput and specify a callback function that takes the output parameter as its second argument. Let's say you're calling a function GetFile which asynchronously returns a <a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>pp::FileRef</a>. GetFile's signature will be <code>int32_t GetFile(const CompletionCallbackWithOutput<pp::FileRef>& callback);</code> and your calling code would look like this:</p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">void</span> RequestFile() {
+ file_interface->GetFile(callback_factory_.NewCallbackWithOutput(
+ &MyClass::GotFile));
+ }
+ <span class="keywordtype">void</span> GotFile(int32_t result, <span class="keyword">const</span> <a class="code" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>pp::FileRef</a>& file) {
+ <span class="keywordflow">if</span> (result == PP_OK) {
+ ...use file...
+ } <span class="keywordflow">else</span> {
+ ...handle error...
+ }
+ }
+</pre></div><p>As with regular completion callbacks, you can optionally add up to three bound arguments. These are passed following the output argument.</p>
+<p>Your callback may take the output argument as a copy (common for small types like integers, a const reference (common for structures and resources to avoid an extra copy), or as a non-const reference. One optimization you can do if your callback function may take large arrays is to accept your output argument as a non-const reference and to swap() the argument with a vector of your own to store it. This means you don't have to copy the buffer to consume it.</p>
+<p>NewExtCallbackWithOutput is similar to NewCallbackWithOutput. It creates <a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html" title="ExtCompletionCallbackWithOutput is similar to CompletionCallbackWithOutput, but used by APIs within t...">ext::ExtCompletionCallbackWithOutput</a> instances which are used by APIs within the <a class="el" href="namespacepp_1_1ext.html">pp::ext</a> namespace. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="ab870c8d37638facb949a86226c5138dc"></a><!-- doxytag: member="pp::CompletionCallbackFactory::CompletionCallbackFactory" ref="ab870c8d37638facb949a86226c5138dc" args="(T *object=NULL)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html">CompletionCallbackFactory</a> </td>
+<td>(</td>
+<td class="paramtype">T * </td>
+<td class="paramname"><em>object</em> = <code>NULL</code></td><td>)</td>
+<td><code> [inline, explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This constructor creates a <code><a class="el" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe...">CompletionCallbackFactory</a></code> bound to an object. </p>
+<p>If the constructor is called without an argument, the default value of <code>NULL</code> is used. The user then must call <a class="el" href="classpp_1_1_completion_callback_factory.html#a6289f165e3ce15a07061f8be411e186c" title="Initialize() binds the CallbackFactory to a particular object.">Initialize()</a> to initialize the object.</p>
+<p>param[in] object Optional parameter. An object whose member functions are to be bound to CompletionCallbacks created by this <code><a class="el" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe...">CompletionCallbackFactory</a></code>. The default value of this parameter is <code>NULL</code>. </p>
+</div>
+</div>
+<a class="anchor" id="a8341b9bfa1660d5f3f38d2530a0a9d42"></a><!-- doxytag: member="pp::CompletionCallbackFactory::~CompletionCallbackFactory" ref="a8341b9bfa1660d5f3f38d2530a0a9d42" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::~<a class="el" href="classpp_1_1_completion_callback_factory.html">CompletionCallbackFactory</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Destructor. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="ad43328a7d8c19233e3fa0b762f357088"></a><!-- doxytag: member="pp::CompletionCallbackFactory::CancelAll" ref="ad43328a7d8c19233e3fa0b762f357088" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#ad43328a7d8c19233e3fa0b762f357088">CancelAll</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_completion_callback_factory.html#ad43328a7d8c19233e3fa0b762f357088" title="CancelAll() cancels all CompletionCallbacks allocated from this factory.">CancelAll()</a> cancels all <code>CompletionCallbacks</code> allocated from this factory. </p>
+</div>
+</div>
+<a class="anchor" id="a5cd104c9185333647e1a752860ca0336"></a><!-- doxytag: member="pp::CompletionCallbackFactory::GetObject" ref="a5cd104c9185333647e1a752860ca0336" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<table class="memname">
+<tr>
+<td class="memname">T* <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#a5cd104c9185333647e1a752860ca0336">GetObject</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_completion_callback_factory.html#a5cd104c9185333647e1a752860ca0336" title="GetObject() returns the object that was passed at initialization to Intialize().">GetObject()</a> returns the object that was passed at initialization to Intialize(). </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the object passed to the constructor or Intialize(). </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a6289f165e3ce15a07061f8be411e186c"></a><!-- doxytag: member="pp::CompletionCallbackFactory::Initialize" ref="a6289f165e3ce15a07061f8be411e186c" args="(T *object)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#a6289f165e3ce15a07061f8be411e186c">Initialize</a> </td>
+<td>(</td>
+<td class="paramtype">T * </td>
+<td class="paramname"><em>object</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_completion_callback_factory.html#a6289f165e3ce15a07061f8be411e186c" title="Initialize() binds the CallbackFactory to a particular object.">Initialize()</a> binds the <code>CallbackFactory</code> to a particular object. </p>
+<p>Use this when the object is not available at <code>CallbackFactory</code> creation, and the <code>NULL</code> default is passed to the constructor. The object may only be initialized once, either by the constructor, or by a call to <a class="el" href="classpp_1_1_completion_callback_factory.html#a6289f165e3ce15a07061f8be411e186c" title="Initialize() binds the CallbackFactory to a particular object.">Initialize()</a>.</p>
+<p>This class may not be used on any thread until initialization is complete.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">object</td><td>The object whose member functions are to be bound to the <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> created by this <code><a class="el" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe...">CompletionCallbackFactory</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ab25d7ebdcdcd28f06ab767fdbbd4868f"></a><!-- doxytag: member="pp::CompletionCallbackFactory::NewCallback" ref="ab25d7ebdcdcd28f06ab767fdbbd4868f" args="(Method method)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<div class="memtemplate">
+template<typename Method > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#ab25d7ebdcdcd28f06ab767fdbbd4868f">NewCallback</a> </td>
+<td>(</td>
+<td class="paramtype">Method </td>
+<td class="paramname"><em>method</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>NewCallback allocates a new, single-use <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </p>
+<p>The <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> must be run in order for the memory allocated by the methods to be freed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">method</td><td>The method to be invoked upon completion of the operation.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aaa341cc4aa04c12dfe58a4452467b225"></a><!-- doxytag: member="pp::CompletionCallbackFactory::NewCallback" ref="aaa341cc4aa04c12dfe58a4452467b225" args="(Method method, const A &a)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<div class="memtemplate">
+template<typename Method , typename A > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#ab25d7ebdcdcd28f06ab767fdbbd4868f">NewCallback</a> </td>
+<td>(</td>
+<td class="paramtype">Method </td>
+<td class="paramname"><em>method</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const A & </td>
+<td class="paramname"><em>a</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_completion_callback_factory.html#ab25d7ebdcdcd28f06ab767fdbbd4868f" title="NewCallback allocates a new, single-use CompletionCallback.">NewCallback()</a> allocates a new, single-use <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </p>
+<p>The <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> must be run in order for the memory allocated by the methods to be freed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">method</td><td>The method to be invoked upon completion of the operation. Method should be of type: <code>void (T::*)(int32_t result, const A& a)</code></td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Passed to <code>method</code> when the completion callback runs.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a3d32cb2060a1da7ce73e8657c94f15fa"></a><!-- doxytag: member="pp::CompletionCallbackFactory::NewCallback" ref="a3d32cb2060a1da7ce73e8657c94f15fa" args="(Method method, const A &a, const B &b)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<div class="memtemplate">
+template<typename Method , typename A , typename B > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#ab25d7ebdcdcd28f06ab767fdbbd4868f">NewCallback</a> </td>
+<td>(</td>
+<td class="paramtype">Method </td>
+<td class="paramname"><em>method</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const A & </td>
+<td class="paramname"><em>a</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const B & </td>
+<td class="paramname"><em>b</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_completion_callback_factory.html#ab25d7ebdcdcd28f06ab767fdbbd4868f" title="NewCallback allocates a new, single-use CompletionCallback.">NewCallback()</a> allocates a new, single-use <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </p>
+<p>The <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> must be run in order for the memory allocated by the methods to be freed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir"></td><td class="paramname">method</td><td>The method taking the callback. Method should be of type: <code>void (T::*)(int32_t result, const A& a, const B& b)</code></td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Passed to <code>method</code> when the completion callback runs.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Passed to <code>method</code> when the completion callback runs.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a4110e491c1358c951903ef1b0fecf58d"></a><!-- doxytag: member="pp::CompletionCallbackFactory::NewCallback" ref="a4110e491c1358c951903ef1b0fecf58d" args="(Method method, const A &a, const B &b, const C &c)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<div class="memtemplate">
+template<typename Method , typename A , typename B , typename C > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#ab25d7ebdcdcd28f06ab767fdbbd4868f">NewCallback</a> </td>
+<td>(</td>
+<td class="paramtype">Method </td>
+<td class="paramname"><em>method</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const A & </td>
+<td class="paramname"><em>a</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const B & </td>
+<td class="paramname"><em>b</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const C & </td>
+<td class="paramname"><em>c</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_completion_callback_factory.html#ab25d7ebdcdcd28f06ab767fdbbd4868f" title="NewCallback allocates a new, single-use CompletionCallback.">NewCallback()</a> allocates a new, single-use <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </p>
+<p>The <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> must be run in order for the memory allocated by the methods to be freed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir"></td><td class="paramname">method</td><td>The method taking the callback. Method should be of type: <code> void (T::*)(int32_t result, const A& a, const B& b, const C& c) </code></td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Passed to <code>method</code> when the completion callback runs.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Passed to <code>method</code> when the completion callback runs.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Passed to <code>method</code> when the completion callback runs.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a8c550ff8d18548ba962af29309880eeb"></a><!-- doxytag: member="pp::CompletionCallbackFactory::NewCallbackWithOutput" ref="a8c550ff8d18548ba962af29309880eeb" args="(void(T::*method)(int32_t, Output))" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<div class="memtemplate">
+template<typename Output > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a>< typename <a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">internal::TypeUnwrapper</a><Output>::StorageType> <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#a8c550ff8d18548ba962af29309880eeb">NewCallbackWithOutput</a> </td>
+<td>(</td>
+<td class="paramtype">void(T::*)(int32_t, Output) </td>
+<td class="paramname"><em>method</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_completion_callback_factory.html#a8c550ff8d18548ba962af29309880eeb" title="NewCallbackWithOutput() allocates a new, single-use CompletionCallback where the browser will pass an...">NewCallbackWithOutput()</a> allocates a new, single-use <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> where the browser will pass an additional parameter containing the result of the request. </p>
+<p>The <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> must be run in order for the memory allocated by the methods to be freed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">method</td><td>The method to be invoked upon completion of the operation.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a85f3416759e1d7297025f5a0fb037fd9"></a><!-- doxytag: member="pp::CompletionCallbackFactory::NewCallbackWithOutput" ref="a85f3416759e1d7297025f5a0fb037fd9" args="(void(T::*method)(int32_t, Output, A), const A &a)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<div class="memtemplate">
+template<typename Output , typename A > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a>< typename <a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">internal::TypeUnwrapper</a><Output>::StorageType> <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#a8c550ff8d18548ba962af29309880eeb">NewCallbackWithOutput</a> </td>
+<td>(</td>
+<td class="paramtype">void(T::*)(int32_t, Output, A) </td>
+<td class="paramname"><em>method</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const A & </td>
+<td class="paramname"><em>a</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_completion_callback_factory.html#a8c550ff8d18548ba962af29309880eeb" title="NewCallbackWithOutput() allocates a new, single-use CompletionCallback where the browser will pass an...">NewCallbackWithOutput()</a> allocates a new, single-use <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> where the browser will pass an additional parameter containing the result of the request. </p>
+<p>The <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> must be run in order for the memory allocated by the methods to be freed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">method</td><td>The method to be invoked upon completion of the operation.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Passed to <code>method</code> when the completion callback runs.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a5f1288cad38fa17aa1f07f5793908e24"></a><!-- doxytag: member="pp::CompletionCallbackFactory::NewCallbackWithOutput" ref="a5f1288cad38fa17aa1f07f5793908e24" args="(void(T::*method)(int32_t, Output, A, B), const A &a, const B &b)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<div class="memtemplate">
+template<typename Output , typename A , typename B > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a>< typename <a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">internal::TypeUnwrapper</a><Output>::StorageType> <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#a8c550ff8d18548ba962af29309880eeb">NewCallbackWithOutput</a> </td>
+<td>(</td>
+<td class="paramtype">void(T::*)(int32_t, Output, A, B) </td>
+<td class="paramname"><em>method</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const A & </td>
+<td class="paramname"><em>a</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const B & </td>
+<td class="paramname"><em>b</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_completion_callback_factory.html#a8c550ff8d18548ba962af29309880eeb" title="NewCallbackWithOutput() allocates a new, single-use CompletionCallback where the browser will pass an...">NewCallbackWithOutput()</a> allocates a new, single-use <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> where the browser will pass an additional parameter containing the result of the request. </p>
+<p>The <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> must be run in order for the memory allocated by the methods to be freed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">method</td><td>The method to be invoked upon completion of the operation.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Passed to <code>method</code> when the completion callback runs.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Passed to <code>method</code> when the completion callback runs.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a3653f981f4decf82d697e46a6d21519f"></a><!-- doxytag: member="pp::CompletionCallbackFactory::NewCallbackWithOutput" ref="a3653f981f4decf82d697e46a6d21519f" args="(void(T::*method)(int32_t, Output, A, B, C), const A &a, const B &b, const C &c)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<div class="memtemplate">
+template<typename Output , typename A , typename B , typename C > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a>< typename <a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">internal::TypeUnwrapper</a><Output>::StorageType> <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#a8c550ff8d18548ba962af29309880eeb">NewCallbackWithOutput</a> </td>
+<td>(</td>
+<td class="paramtype">void(T::*)(int32_t, Output, A, B, C) </td>
+<td class="paramname"><em>method</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const A & </td>
+<td class="paramname"><em>a</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const B & </td>
+<td class="paramname"><em>b</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const C & </td>
+<td class="paramname"><em>c</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_completion_callback_factory.html#a8c550ff8d18548ba962af29309880eeb" title="NewCallbackWithOutput() allocates a new, single-use CompletionCallback where the browser will pass an...">NewCallbackWithOutput()</a> allocates a new, single-use <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> where the browser will pass an additional parameter containing the result of the request. </p>
+<p>The <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> must be run in order for the memory allocated by the methods to be freed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir"></td><td class="paramname">method</td><td>The method to be run.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Passed to <code>method</code> when the completion callback runs.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Passed to <code>method</code> when the completion callback runs.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Passed to <code>method</code> when the completion callback runs.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aea74805def24c8f5271e7907bd858205"></a><!-- doxytag: member="pp::CompletionCallbackFactory::NewExtCallbackWithOutput" ref="aea74805def24c8f5271e7907bd858205" args="(void(T::*method)(int32_t, Output))" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<div class="memtemplate">
+template<typename Output > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">ext::ExtCompletionCallbackWithOutput</a>< typename <a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">internal::TypeUnwrapper</a><Output>::StorageType> <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#aea74805def24c8f5271e7907bd858205">NewExtCallbackWithOutput</a> </td>
+<td>(</td>
+<td class="paramtype">void(T::*)(int32_t, Output) </td>
+<td class="paramname"><em>method</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Similar to <a class="el" href="classpp_1_1_completion_callback_factory.html#a8c550ff8d18548ba962af29309880eeb" title="NewCallbackWithOutput() allocates a new, single-use CompletionCallback where the browser will pass an...">NewCallbackWithOutput()</a>, but returns an <code><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html" title="ExtCompletionCallbackWithOutput is similar to CompletionCallbackWithOutput, but used by APIs within t...">ext::ExtCompletionCallbackWithOutput</a></code>. </p>
+</div>
+</div>
+<a class="anchor" id="aadbadcf3365c39ce5620977ea1609fcf"></a><!-- doxytag: member="pp::CompletionCallbackFactory::NewExtCallbackWithOutput" ref="aadbadcf3365c39ce5620977ea1609fcf" args="(void(T::*method)(int32_t, Output, A), const A &a)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<div class="memtemplate">
+template<typename Output , typename A > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">ext::ExtCompletionCallbackWithOutput</a>< typename <a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">internal::TypeUnwrapper</a><Output>::StorageType> <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#aea74805def24c8f5271e7907bd858205">NewExtCallbackWithOutput</a> </td>
+<td>(</td>
+<td class="paramtype">void(T::*)(int32_t, Output, A) </td>
+<td class="paramname"><em>method</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const A & </td>
+<td class="paramname"><em>a</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Similar to <a class="el" href="classpp_1_1_completion_callback_factory.html#a8c550ff8d18548ba962af29309880eeb" title="NewCallbackWithOutput() allocates a new, single-use CompletionCallback where the browser will pass an...">NewCallbackWithOutput()</a>, but returns an <code><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html" title="ExtCompletionCallbackWithOutput is similar to CompletionCallbackWithOutput, but used by APIs within t...">ext::ExtCompletionCallbackWithOutput</a></code>. </p>
+</div>
+</div>
+<a class="anchor" id="a50b2c6949e50d88f2bb4f8c08017671c"></a><!-- doxytag: member="pp::CompletionCallbackFactory::NewExtCallbackWithOutput" ref="a50b2c6949e50d88f2bb4f8c08017671c" args="(void(T::*method)(int32_t, Output, A, B), const A &a, const B &b)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<div class="memtemplate">
+template<typename Output , typename A , typename B > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">ext::ExtCompletionCallbackWithOutput</a>< typename <a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">internal::TypeUnwrapper</a><Output>::StorageType> <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#aea74805def24c8f5271e7907bd858205">NewExtCallbackWithOutput</a> </td>
+<td>(</td>
+<td class="paramtype">void(T::*)(int32_t, Output, A, B) </td>
+<td class="paramname"><em>method</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const A & </td>
+<td class="paramname"><em>a</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const B & </td>
+<td class="paramname"><em>b</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Similar to <a class="el" href="classpp_1_1_completion_callback_factory.html#a8c550ff8d18548ba962af29309880eeb" title="NewCallbackWithOutput() allocates a new, single-use CompletionCallback where the browser will pass an...">NewCallbackWithOutput()</a>, but returns an <code><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html" title="ExtCompletionCallbackWithOutput is similar to CompletionCallbackWithOutput, but used by APIs within t...">ext::ExtCompletionCallbackWithOutput</a></code>. </p>
+</div>
+</div>
+<a class="anchor" id="ae5d26a15726c295a45e8ab596507dfde"></a><!-- doxytag: member="pp::CompletionCallbackFactory::NewExtCallbackWithOutput" ref="ae5d26a15726c295a45e8ab596507dfde" args="(void(T::*method)(int32_t, Output, A, B, C), const A &a, const B &b, const C &c)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<div class="memtemplate">
+template<typename Output , typename A , typename B , typename C > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">ext::ExtCompletionCallbackWithOutput</a>< typename <a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">internal::TypeUnwrapper</a><Output>::StorageType> <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#aea74805def24c8f5271e7907bd858205">NewExtCallbackWithOutput</a> </td>
+<td>(</td>
+<td class="paramtype">void(T::*)(int32_t, Output, A, B, C) </td>
+<td class="paramname"><em>method</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const A & </td>
+<td class="paramname"><em>a</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const B & </td>
+<td class="paramname"><em>b</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const C & </td>
+<td class="paramname"><em>c</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Similar to <a class="el" href="classpp_1_1_completion_callback_factory.html#a8c550ff8d18548ba962af29309880eeb" title="NewCallbackWithOutput() allocates a new, single-use CompletionCallback where the browser will pass an...">NewCallbackWithOutput()</a>, but returns an <code><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html" title="ExtCompletionCallbackWithOutput is similar to CompletionCallbackWithOutput, but used by APIs within t...">ext::ExtCompletionCallbackWithOutput</a></code>. </p>
+</div>
+</div>
+<a class="anchor" id="adacce232874e0d5ab52ffa4bd8af9ef7"></a><!-- doxytag: member="pp::CompletionCallbackFactory::NewOptionalCallback" ref="adacce232874e0d5ab52ffa4bd8af9ef7" args="(Method method)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<div class="memtemplate">
+template<typename Method > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#adacce232874e0d5ab52ffa4bd8af9ef7">NewOptionalCallback</a> </td>
+<td>(</td>
+<td class="paramtype">Method </td>
+<td class="paramname"><em>method</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_completion_callback_factory.html#adacce232874e0d5ab52ffa4bd8af9ef7" title="NewOptionalCallback() allocates a new, single-use CompletionCallback that might not run if the method...">NewOptionalCallback()</a> allocates a new, single-use <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> that might not run if the method taking it can complete synchronously. </p>
+<p>Thus, if after passing the <a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a> to a Pepper method, the method does not return PP_OK_COMPLETIONPENDING, then you should manually call the <a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a>'s Run method, or memory will be leaked.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">method</td><td>The method to be invoked upon completion of the operation.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a221758746a8b10563148990cf63d085d"></a><!-- doxytag: member="pp::CompletionCallbackFactory::NewOptionalCallback" ref="a221758746a8b10563148990cf63d085d" args="(Method method, const A &a)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<div class="memtemplate">
+template<typename Method , typename A > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#adacce232874e0d5ab52ffa4bd8af9ef7">NewOptionalCallback</a> </td>
+<td>(</td>
+<td class="paramtype">Method </td>
+<td class="paramname"><em>method</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const A & </td>
+<td class="paramname"><em>a</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_completion_callback_factory.html#adacce232874e0d5ab52ffa4bd8af9ef7" title="NewOptionalCallback() allocates a new, single-use CompletionCallback that might not run if the method...">NewOptionalCallback()</a> allocates a new, single-use <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> that might not run if the method taking it can complete synchronously. </p>
+<p>Thus, if after passing the <a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a> to a Pepper method, the method does not return PP_OK_COMPLETIONPENDING, then you should manually call the <a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a>'s Run method, or memory will be leaked.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">method</td><td>The method to be invoked upon completion of the operation. Method should be of type: <code>void (T::*)(int32_t result, const A& a)</code></td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Passed to <code>method</code> when the completion callback runs.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="abe32b7e60edc4699de46dc8640e90bcb"></a><!-- doxytag: member="pp::CompletionCallbackFactory::NewOptionalCallback" ref="abe32b7e60edc4699de46dc8640e90bcb" args="(Method method, const A &a, const B &b)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<div class="memtemplate">
+template<typename Method , typename A , typename B > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#adacce232874e0d5ab52ffa4bd8af9ef7">NewOptionalCallback</a> </td>
+<td>(</td>
+<td class="paramtype">Method </td>
+<td class="paramname"><em>method</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const A & </td>
+<td class="paramname"><em>a</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const B & </td>
+<td class="paramname"><em>b</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_completion_callback_factory.html#adacce232874e0d5ab52ffa4bd8af9ef7" title="NewOptionalCallback() allocates a new, single-use CompletionCallback that might not run if the method...">NewOptionalCallback()</a> allocates a new, single-use <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> that might not run if the method taking it can complete synchronously. </p>
+<p>Thus, if after passing the <a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a> to a Pepper method, the method does not return PP_OK_COMPLETIONPENDING, then you should manually call the <a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a>'s Run method, or memory will be leaked.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">method</td><td>The method taking the callback. Method should be of type: <code>void (T::*)(int32_t result, const A& a, const B& b)</code></td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Passed to <code>method</code> when the completion callback runs.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Passed to <code>method</code> when the completion callback runs.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aaa7f305418d469d8be2ec801dd0bfeda"></a><!-- doxytag: member="pp::CompletionCallbackFactory::NewOptionalCallback" ref="aaa7f305418d469d8be2ec801dd0bfeda" args="(Method method, const A &a, const B &b, const C &c)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<div class="memtemplate">
+template<typename Method , typename A , typename B , typename C > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#adacce232874e0d5ab52ffa4bd8af9ef7">NewOptionalCallback</a> </td>
+<td>(</td>
+<td class="paramtype">Method </td>
+<td class="paramname"><em>method</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const A & </td>
+<td class="paramname"><em>a</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const B & </td>
+<td class="paramname"><em>b</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const C & </td>
+<td class="paramname"><em>c</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_completion_callback_factory.html#adacce232874e0d5ab52ffa4bd8af9ef7" title="NewOptionalCallback() allocates a new, single-use CompletionCallback that might not run if the method...">NewOptionalCallback()</a> allocates a new, single-use <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> that might not run if the method taking it can complete synchronously. </p>
+<p>Thus, if after passing the <a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a> to a Pepper method, the method does not return PP_OK_COMPLETIONPENDING, then you should manually call the <a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a>'s Run method, or memory will be leaked.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">method</td><td>The method taking the callback. Method should be of type: <code> void (T::*)(int32_t result, const A& a, const B& b, const C& c) </code></td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Passed to <code>method</code> when the completion callback runs.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Passed to <code>method</code> when the completion callback runs.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Passed to <code>method</code> when the completion callback runs.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/utility/<a class="el" href="completion__callback__factory_8h.html">completion_callback_factory.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_completion_callback_with_output-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_completion_callback_with_output-members.html
new file mode 100644
index 0000000..0575748
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_completion_callback_with_output-members.html
@@ -0,0 +1,35 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_completion_callback_with_output.html">pp::CompletionCallbackWithOutput< T ></a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a90888e6422225fb8e3d310c6ee51ac04">APIArgType</a> typedef</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, internal::CallbackOutputTraits< T > ></a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_with_output.html#adbba776ebc9de6001a08400826f9bf0f">BaseType</a> typedef</td><td><a class="el" href="classpp_1_1_completion_callback_with_output.html">pp::CompletionCallbackWithOutput< T ></a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#af071c756ff3eb007dfbea3f50df74111">cc_</a></td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a2dae27f9f015c3b9342a4a65f05bd356">CompletionCallback</a>()</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#afe88416d324795a748d5112e197b0131">CompletionCallback</a>(PP_CompletionCallback_Func func, void *user_data)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a14fd9478ff007a91a3cdfa397c8e6e56">CompletionCallback</a>(PP_CompletionCallback_Func func, void *user_data, int32_t flags)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_with_output.html#ab09283a1e9899537a5a1cf89bd03857f">CompletionCallbackWithOutput</a>(typename BaseType::OutputStorageType *output)</td><td><a class="el" href="classpp_1_1_completion_callback_with_output.html">pp::CompletionCallbackWithOutput< T ></a></td><td><code> [inline, explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_with_output.html#ac1b54281207b04f5646b02fc00e9ae3b">CompletionCallbackWithOutput</a>(PP_CompletionCallback_Func func, void *user_data, typename BaseType::OutputStorageType *output)</td><td><a class="el" href="classpp_1_1_completion_callback_with_output.html">pp::CompletionCallbackWithOutput< T ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_with_output.html#afabe9939e7b82c645cdb66dde80426d4">CompletionCallbackWithOutput</a>(PP_CompletionCallback_Func func, void *user_data, int32_t flags, typename BaseType::OutputStorageType *output)</td><td><a class="el" href="classpp_1_1_completion_callback_with_output.html">pp::CompletionCallbackWithOutput< T ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a12536d4027ba401e4009404eeeaeeb97">CompletionCallbackWithOutputBase</a>(OutputStorageType *output)</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, internal::CallbackOutputTraits< T > ></a></td><td><code> [inline, explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a00d091474d398b2b3a14c2dbe05b74a2">CompletionCallbackWithOutputBase</a>(PP_CompletionCallback_Func func, void *user_data, OutputStorageType *output)</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, internal::CallbackOutputTraits< T > ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a19a3960c8990f8000a34062cc4534098">CompletionCallbackWithOutputBase</a>(PP_CompletionCallback_Func func, void *user_data, int32_t flags, OutputStorageType *output)</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, internal::CallbackOutputTraits< T > ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a60e466572fe7de362969dd41179c971f">flags</a>() const </td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a6ce66ec2655c9157cab494f248551b5f">IsOptional</a>() const </td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a24d1648d1a92a5c36894ce081457e603">MayForce</a>(int32_t result) const </td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a23ceea58754e1d1b6570a268f6b669b8">output</a>() const</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, internal::CallbackOutputTraits< T > ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">OutputStorageType</a> typedef</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, internal::CallbackOutputTraits< T > ></a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#ada943a747c94eebb1e32dbd6914c2526">pp_completion_callback</a>() const </td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a7795404cc15a4f96523c28db21d364c4">Run</a>(int32_t result)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a2996ca2f2b640c7da6da9016a5b0cd16">RunAndClear</a>(int32_t result)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a89fb884e8af572e9bf38fb880e132438">set_flags</a>(int32_t flags)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6dea62f34b316631f576d61959693775">TraitsType</a> typedef</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, internal::CallbackOutputTraits< T > ></a></td><td></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_completion_callback_with_output.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_completion_callback_with_output.html
new file mode 100644
index 0000000..7913ae4
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_completion_callback_with_output.html
@@ -0,0 +1,179 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::CompletionCallbackWithOutput< T > Class Template Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::CompletionCallbackWithOutput" --><!-- doxytag: inherits="CompletionCallbackWithOutputBase< T, internal::CallbackOutputTraits< T > >" --><div class="dynheader">
+Inheritance diagram for pp::CompletionCallbackWithOutput< T >:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_completion_callback_with_output__inherit__graph.png" border="0" usemap="#pp_1_1_completion_callback_with_output_3_01_t_01_4_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_completion_callback_with_output_3_01_t_01_4_inherit__map" id="pp_1_1_completion_callback_with_output_3_01_t_01_4_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html" title="pp::internal::CompletionCallbackWithOutputBase\< T, internal::CallbackOutputTraits\< T \> \>" alt="" coords="228,5,825,35"></area><area shape="rect" id="node4" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl..." alt="" coords="7,5,177,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_completion_callback_with_output-members.html">List of all members.</a></p>
+<h2>
+Public Types</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">typedef <br class="typebreak" />
+<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">internal::CompletionCallbackWithOutputBase</a><br class="typebreak" />
+< T, <br class="typebreak" />
+internal::CallbackOutputTraits<br class="typebreak" />
+< T > > </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_with_output.html#adbba776ebc9de6001a08400826f9bf0f">BaseType</a></td></tr>
+</table><h2>
+Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_with_output.html#ab09283a1e9899537a5a1cf89bd03857f">CompletionCallbackWithOutput</a> (typename <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">BaseType::OutputStorageType</a> *<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a23ceea58754e1d1b6570a268f6b669b8">output</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_with_output.html#ac1b54281207b04f5646b02fc00e9ae3b">CompletionCallbackWithOutput</a> (PP_CompletionCallback_Func func, void *user_data, typename <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">BaseType::OutputStorageType</a> *<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a23ceea58754e1d1b6570a268f6b669b8">output</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_with_output.html#afabe9939e7b82c645cdb66dde80426d4">CompletionCallbackWithOutput</a> (PP_CompletionCallback_Func func, void *user_data, int32_t <a class="el" href="classpp_1_1_completion_callback.html#a60e466572fe7de362969dd41179c971f">flags</a>, typename <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">BaseType::OutputStorageType</a> *<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a23ceea58754e1d1b6570a268f6b669b8">output</a>)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><h3>template<typename T><br />
+class pp::CompletionCallbackWithOutput< T ></h3>
+<p>A <a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a> defines a completion callback that additionally stores a pointer to some output data. </p>
+<p>Some C++ wrappers take a <a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a> when the browser is returning a bit of data as part of the function call. The "output" parameter stored in the <a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a> will receive the data from the browser.</p>
+<p>You can create this yourself, but it is most common to use with the <a class="el" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe...">CompletionCallbackFactory</a>'s NewCallbackWithOutput, which manages the storage for the output parameter for you and passes it as an argument to your callback function.</p>
+<p>Note that this class doesn't actually do anything with the output data, it just stores a pointer to it. C++ wrapper objects that accept a <a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a> will retrieve this pointer and pass it to the browser as the output parameter. </p>
+</div><hr /><h2>Member Typedef Documentation</h2>
+<a class="anchor" id="adbba776ebc9de6001a08400826f9bf0f"></a><!-- doxytag: member="pp::CompletionCallbackWithOutput::BaseType" ref="adbba776ebc9de6001a08400826f9bf0f" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T > </div>
+<table class="memname">
+<tr>
+<td class="memname">typedef <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">internal::CompletionCallbackWithOutputBase</a>< T, internal::CallbackOutputTraits<T> > <a class="el" href="classpp_1_1_completion_callback_with_output.html">pp::CompletionCallbackWithOutput</a>< T >::<a class="el" href="classpp_1_1_completion_callback_with_output.html#adbba776ebc9de6001a08400826f9bf0f">BaseType</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="ab09283a1e9899537a5a1cf89bd03857f"></a><!-- doxytag: member="pp::CompletionCallbackWithOutput::CompletionCallbackWithOutput" ref="ab09283a1e9899537a5a1cf89bd03857f" args="(typename BaseType::OutputStorageType *output)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback_with_output.html">pp::CompletionCallbackWithOutput</a>< T >::<a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a> </td>
+<td>(</td>
+<td class="paramtype">typename <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">BaseType::OutputStorageType</a> * </td>
+<td class="paramname"><em>output</em></td><td>)</td>
+<td><code> [inline, explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The default constructor will create a blocking <code><a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a></code> that references the given output data. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">output</td><td>A pointer to the data associated with the callback. The caller must ensure that this pointer outlives the completion callback. In the common case, <code>OutputStorageType</code> will be equal to the template parameter T (for example, <code>CompletionCallbackWithOutput<int></code> would obviously take an int*. However, resources are passed as PP_Resource, vars as PP_Var, and arrays as our special ArrayOutputAdapter object. <code>internal::CallbackOutputTraits</code> defines specializations for all of these cases.</td></tr>
+</table>
+</dd>
+</dl>
+<p><b>Note:</b> Blocking completion callbacks are only allowed from background threads. </p>
+</div>
+</div>
+<a class="anchor" id="ac1b54281207b04f5646b02fc00e9ae3b"></a><!-- doxytag: member="pp::CompletionCallbackWithOutput::CompletionCallbackWithOutput" ref="ac1b54281207b04f5646b02fc00e9ae3b" args="(PP_CompletionCallback_Func func, void *user_data, typename BaseType::OutputStorageType *output)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback_with_output.html">pp::CompletionCallbackWithOutput</a>< T >::<a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a> </td>
+<td>(</td>
+<td class="paramtype">PP_CompletionCallback_Func </td>
+<td class="paramname"><em>func</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">void * </td>
+<td class="paramname"><em>user_data</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">typename <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">BaseType::OutputStorageType</a> * </td>
+<td class="paramname"><em>output</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor for creating a <code><a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a></code> that references the given output data. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">func</td><td>The function to be called on completion. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">user_data</td><td>The user data to be passed to the callback function. This is optional and is typically used to help track state in case of multiple pending callbacks. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">output</td><td>A pointer to the data associated with the callback. The caller must ensure that this pointer outlives the completion callback. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="afabe9939e7b82c645cdb66dde80426d4"></a><!-- doxytag: member="pp::CompletionCallbackWithOutput::CompletionCallbackWithOutput" ref="afabe9939e7b82c645cdb66dde80426d4" args="(PP_CompletionCallback_Func func, void *user_data, int32_t flags, typename BaseType::OutputStorageType *output)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback_with_output.html">pp::CompletionCallbackWithOutput</a>< T >::<a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a> </td>
+<td>(</td>
+<td class="paramtype">PP_CompletionCallback_Func </td>
+<td class="paramname"><em>func</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">void * </td>
+<td class="paramname"><em>user_data</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>flags</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">typename <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">BaseType::OutputStorageType</a> * </td>
+<td class="paramname"><em>output</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor for creating a <code><a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a></code> that references the given output data. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">func</td><td>The function to be called on completion.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">user_data</td><td>The user data to be passed to the callback function. This is optional and is typically used to help track state in case of multiple pending callbacks.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>Bit field combination of <code>PP_CompletionCallback_Flag</code> flags used to control how non-NULL callbacks are scheduled by asynchronous methods.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">output</td><td>A pointer to the data associated with the callback. The caller must ensure that this pointer outlives the completion callback. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="completion__callback_8h.html">completion_callback.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_completion_callback_with_output__inherit__graph.png b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_completion_callback_with_output__inherit__graph.png
new file mode 100644
index 0000000..565798b5
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_completion_callback_with_output__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_core-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_core-members.html
new file mode 100644
index 0000000..3f201fee
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_core-members.html
@@ -0,0 +1,20 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_core.html">pp::Core</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_core.html#a09c663df7fcb527b3e5e71ea07531899">AddRefResource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_core.html">pp::Core</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_core.html#af20d1f92600f588bc74115fcbd17a1c7">CallOnMainThread</a>(int32_t delay_in_milliseconds, const CompletionCallback &callback, int32_t result=0)</td><td><a class="el" href="classpp_1_1_core.html">pp::Core</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_core.html#a8c7991d43fc5b4fce51095ad7dccaec1">GetTime</a>()</td><td><a class="el" href="classpp_1_1_core.html">pp::Core</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_core.html#ae80748da9fe60f2b83fbf3e18978f86f">GetTimeTicks</a>()</td><td><a class="el" href="classpp_1_1_core.html">pp::Core</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_core.html#a052082be868f24d1f1807afa4eb7e7e4">IsMainThread</a>()</td><td><a class="el" href="classpp_1_1_core.html">pp::Core</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_core.html#a21f639900c480510650969df9c74d17d">Module</a> class</td><td><a class="el" href="classpp_1_1_core.html">pp::Core</a></td><td><code> [friend]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_core.html#a5fd1b4530d9f01ebf3c50115238a8195">ReleaseResource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_core.html">pp::Core</a></td><td><code> [inline]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_core.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_core.html
new file mode 100644
index 0000000..ea59c0f
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_core.html
@@ -0,0 +1,191 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::Core Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::Core" -->
+<p><a href="classpp_1_1_core-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_core.html#a09c663df7fcb527b3e5e71ea07531899">AddRefResource</a> (PP_Resource resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_core.html#a5fd1b4530d9f01ebf3c50115238a8195">ReleaseResource</a> (PP_Resource resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_Time </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_core.html#a8c7991d43fc5b4fce51095ad7dccaec1">GetTime</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_TimeTicks </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_core.html#ae80748da9fe60f2b83fbf3e18978f86f">GetTimeTicks</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_core.html#af20d1f92600f588bc74115fcbd17a1c7">CallOnMainThread</a> (int32_t delay_in_milliseconds, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &callback, int32_t result=0)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_core.html#a052082be868f24d1f1807afa4eb7e7e4">IsMainThread</a> ()</td></tr>
+</table><h2>
+Friends</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_core.html#a21f639900c480510650969df9c74d17d">Module</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>APIs related to memory management, time, and threads. </p>
+</div><hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a09c663df7fcb527b3e5e71ea07531899"></a><!-- doxytag: member="pp::Core::AddRefResource" ref="a09c663df7fcb527b3e5e71ea07531899" args="(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_core.html#a09c663df7fcb527b3e5e71ea07531899">pp::Core::AddRefResource</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>resource</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_core.html#a09c663df7fcb527b3e5e71ea07531899" title="AddRefResource() increments the reference count for the provided resource.">AddRefResource()</a> increments the reference count for the provided <code>resource</code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a resource. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="af20d1f92600f588bc74115fcbd17a1c7"></a><!-- doxytag: member="pp::Core::CallOnMainThread" ref="af20d1f92600f588bc74115fcbd17a1c7" args="(int32_t delay_in_milliseconds, const CompletionCallback &callback, int32_t result=0)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_core.html#af20d1f92600f588bc74115fcbd17a1c7">pp::Core::CallOnMainThread</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>delay_in_milliseconds</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>callback</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>result</em> = <code>0</code> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_core.html#af20d1f92600f588bc74115fcbd17a1c7" title="CallOnMainThread() schedules work to be executed on the main pepper thread after the specified delay...">CallOnMainThread()</a> schedules work to be executed on the main pepper thread after the specified delay. </p>
+<p>The delay may be 0 to specify a call back as soon as possible.</p>
+<p>The |result| parameter will just be passed as the second argument to the callback. Many applications won't need this, but it allows a module to emulate calls of some callbacks which do use this value.</p>
+<p><b>Note:</b> <a class="el" href="classpp_1_1_core.html#af20d1f92600f588bc74115fcbd17a1c7" title="CallOnMainThread() schedules work to be executed on the main pepper thread after the specified delay...">CallOnMainThread()</a>, even when used from the main thread with a delay of 0 milliseconds, will never directly invoke the callback. Even in this case, the callback will be scheduled asynchronously.</p>
+<p><b>Note:</b> If the browser is shutting down or if the module has no instances, then the callback function may not be called.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">delay_in_milliseconds</td><td>An int32_t delay in milliseconds. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> callback function that the browser will call after the specified delay. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">result</td><td>An int32_t that the browser will pass to the given <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a8c7991d43fc5b4fce51095ad7dccaec1"></a><!-- doxytag: member="pp::Core::GetTime" ref="a8c7991d43fc5b4fce51095ad7dccaec1" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_Time <a class="el" href="classpp_1_1_core.html#a8c7991d43fc5b4fce51095ad7dccaec1">pp::Core::GetTime</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_core.html#a8c7991d43fc5b4fce51095ad7dccaec1" title='GetTime() returns the "wall clock time" according to the browser.'>GetTime()</a> returns the "wall clock time" according to the browser. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Time</code> containing the "wall clock time" according to the browser. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ae80748da9fe60f2b83fbf3e18978f86f"></a><!-- doxytag: member="pp::Core::GetTimeTicks" ref="ae80748da9fe60f2b83fbf3e18978f86f" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_TimeTicks <a class="el" href="classpp_1_1_core.html#ae80748da9fe60f2b83fbf3e18978f86f">pp::Core::GetTimeTicks</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_core.html#ae80748da9fe60f2b83fbf3e18978f86f" title='GetTimeTicks() returns the "tick time" according to the browser.'>GetTimeTicks()</a> returns the "tick time" according to the browser. </p>
+<p>This clock is used by the browser when passing some event times to the module (for example, using the <code>PP_InputEvent::time_stamp_seconds</code> field). It is not correlated to any actual wall clock time (like <a class="el" href="classpp_1_1_core.html#a8c7991d43fc5b4fce51095ad7dccaec1" title='GetTime() returns the "wall clock time" according to the browser.'>GetTime()</a>). Because of this, it will not change if the user changes their computer clock.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_TimeTicks</code> containing the "tick time" according to the browser. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a052082be868f24d1f1807afa4eb7e7e4"></a><!-- doxytag: member="pp::Core::IsMainThread" ref="a052082be868f24d1f1807afa4eb7e7e4" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_core.html#a052082be868f24d1f1807afa4eb7e7e4">pp::Core::IsMainThread</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_core.html#a052082be868f24d1f1807afa4eb7e7e4" title="IsMainThread() returns true if the current thread is the main pepper thread.">IsMainThread()</a> returns true if the current thread is the main pepper thread. </p>
+<p>This function is useful for implementing sanity checks, and deciding if dispatching using <a class="el" href="classpp_1_1_core.html#af20d1f92600f588bc74115fcbd17a1c7" title="CallOnMainThread() schedules work to be executed on the main pepper thread after the specified delay...">CallOnMainThread()</a> is required.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the current thread is the main pepper thread, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a5fd1b4530d9f01ebf3c50115238a8195"></a><!-- doxytag: member="pp::Core::ReleaseResource" ref="a5fd1b4530d9f01ebf3c50115238a8195" args="(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_core.html#a5fd1b4530d9f01ebf3c50115238a8195">pp::Core::ReleaseResource</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>resource</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_core.html#a5fd1b4530d9f01ebf3c50115238a8195" title="ReleaseResource() decrements the reference count for the provided resource.">ReleaseResource()</a> decrements the reference count for the provided <code>resource</code>. </p>
+<p>The resource will be deallocated if the reference count reaches zero.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a resource. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Friends And Related Function Documentation</h2>
+<a class="anchor" id="a21f639900c480510650969df9c74d17d"></a><!-- doxytag: member="pp::Core::Module" ref="a21f639900c480510650969df9c74d17d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">friend class <a class="el" href="classpp_1_1_module.html">Module</a><code> [friend]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="core_8h.html">core.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_directory_entry-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_directory_entry-members.html
new file mode 100644
index 0000000..dd82ae1
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_directory_entry-members.html
@@ -0,0 +1,21 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_directory_entry.html">pp::DirectoryEntry</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_directory_entry.html#abd1a4a70ed1b922a232c78be62b1fe86">DirectoryEntry</a>()</td><td><a class="el" href="classpp_1_1_directory_entry.html">pp::DirectoryEntry</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_directory_entry.html#aa8fe311e0fe27aee989f0a055ec2f2e4">DirectoryEntry</a>(PassRef, const PP_DirectoryEntry &data)</td><td><a class="el" href="classpp_1_1_directory_entry.html">pp::DirectoryEntry</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_directory_entry.html#af60a142d874f0bc2fed98bd8ae5b7cdc">DirectoryEntry</a>(const DirectoryEntry &other)</td><td><a class="el" href="classpp_1_1_directory_entry.html">pp::DirectoryEntry</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_directory_entry.html#af6ff2a3c83a6f26455573bc07f15ec4d">file_ref</a>() const </td><td><a class="el" href="classpp_1_1_directory_entry.html">pp::DirectoryEntry</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_directory_entry.html#a9c91f7dda30ef2f31ec9547f9fd9faaf">file_type</a>() const </td><td><a class="el" href="classpp_1_1_directory_entry.html">pp::DirectoryEntry</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_directory_entry.html#aea481437bc555e04429b4e7ec1005ef0">is_null</a>() const </td><td><a class="el" href="classpp_1_1_directory_entry.html">pp::DirectoryEntry</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_directory_entry.html#a7e1b5b7376a2da0a4f736eb986092556">operator=</a>(const DirectoryEntry &other)</td><td><a class="el" href="classpp_1_1_directory_entry.html">pp::DirectoryEntry</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_directory_entry.html#a3dd150a66dcb8e3b063f411d904dc356">~DirectoryEntry</a>()</td><td><a class="el" href="classpp_1_1_directory_entry.html">pp::DirectoryEntry</a></td><td></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_directory_entry.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_directory_entry.html
new file mode 100644
index 0000000..c9664940
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_directory_entry.html
@@ -0,0 +1,198 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::DirectoryEntry Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::DirectoryEntry" -->
+<p><a href="classpp_1_1_directory_entry-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_directory_entry.html#abd1a4a70ed1b922a232c78be62b1fe86">DirectoryEntry</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_directory_entry.html#aa8fe311e0fe27aee989f0a055ec2f2e4">DirectoryEntry</a> (<a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a>, const PP_DirectoryEntry &data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_directory_entry.html#af60a142d874f0bc2fed98bd8ae5b7cdc">DirectoryEntry</a> (const <a class="el" href="classpp_1_1_directory_entry.html">DirectoryEntry</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_directory_entry.html#a3dd150a66dcb8e3b063f411d904dc356">~DirectoryEntry</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_directory_entry.html">DirectoryEntry</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_directory_entry.html#a7e1b5b7376a2da0a4f736eb986092556">operator=</a> (const <a class="el" href="classpp_1_1_directory_entry.html">DirectoryEntry</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_directory_entry.html#aea481437bc555e04429b4e7ec1005ef0">is_null</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_file_ref.html">FileRef</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_directory_entry.html#af6ff2a3c83a6f26455573bc07f15ec4d">file_ref</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_FileType </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_directory_entry.html#a9c91f7dda30ef2f31ec9547f9fd9faaf">file_type</a> () const </td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry.">DirectoryEntry</a></code> class represents information about a directory entry. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="abd1a4a70ed1b922a232c78be62b1fe86"></a><!-- doxytag: member="pp::DirectoryEntry::DirectoryEntry" ref="abd1a4a70ed1b922a232c78be62b1fe86" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_directory_entry.html#abd1a4a70ed1b922a232c78be62b1fe86">pp::DirectoryEntry::DirectoryEntry</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor for creating an <a class="el" href="classpp_1_1_directory_entry.html#aea481437bc555e04429b4e7ec1005ef0" title="This function determines if this DirectoryEntry is a null value.">is_null()</a> <code><a class="el" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry.">DirectoryEntry</a></code> object. </p>
+</div>
+</div>
+<a class="anchor" id="aa8fe311e0fe27aee989f0a055ec2f2e4"></a><!-- doxytag: member="pp::DirectoryEntry::DirectoryEntry" ref="aa8fe311e0fe27aee989f0a055ec2f2e4" args="(PassRef, const PP_DirectoryEntry &data)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_directory_entry.html#abd1a4a70ed1b922a232c78be62b1fe86">pp::DirectoryEntry::DirectoryEntry</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a> </td>
+<td class="paramname">, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const PP_DirectoryEntry & </td>
+<td class="paramname"><em>data</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used when you have a <code>PP_DirectoryEntry</code> which contains a <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code> that has already been reference counted as a return value. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>A <code>PP_DirectoryEntry</code> to be copied. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="af60a142d874f0bc2fed98bd8ae5b7cdc"></a><!-- doxytag: member="pp::DirectoryEntry::DirectoryEntry" ref="af60a142d874f0bc2fed98bd8ae5b7cdc" args="(const DirectoryEntry &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_directory_entry.html#abd1a4a70ed1b922a232c78be62b1fe86">pp::DirectoryEntry::DirectoryEntry</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_directory_entry.html">DirectoryEntry</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A copy constructor for <code><a class="el" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry.">DirectoryEntry</a></code>. </p>
+<p>This constructor increments a reference count of the <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code> held by this <a class="el" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry.">DirectoryEntry</a>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A pointer to a <code><a class="el" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry.">DirectoryEntry</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a3dd150a66dcb8e3b063f411d904dc356"></a><!-- doxytag: member="pp::DirectoryEntry::~DirectoryEntry" ref="a3dd150a66dcb8e3b063f411d904dc356" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_directory_entry.html#a3dd150a66dcb8e3b063f411d904dc356">pp::DirectoryEntry::~DirectoryEntry</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A destructor that decrements a reference count of the <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code> held by this <code><a class="el" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry.">DirectoryEntry</a></code>. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="af6ff2a3c83a6f26455573bc07f15ec4d"></a><!-- doxytag: member="pp::DirectoryEntry::file_ref" ref="af6ff2a3c83a6f26455573bc07f15ec4d" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_file_ref.html">FileRef</a> <a class="el" href="classpp_1_1_directory_entry.html#af6ff2a3c83a6f26455573bc07f15ec4d">pp::DirectoryEntry::file_ref</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function returns the <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code> held by this <code><a class="el" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry.">DirectoryEntry</a></code>. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code> of the file. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a9c91f7dda30ef2f31ec9547f9fd9faaf"></a><!-- doxytag: member="pp::DirectoryEntry::file_type" ref="a9c91f7dda30ef2f31ec9547f9fd9faaf" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_FileType <a class="el" href="classpp_1_1_directory_entry.html#a9c91f7dda30ef2f31ec9547f9fd9faaf">pp::DirectoryEntry::file_type</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function returns the <code>PP_FileType</code> of the file referenced by this <code><a class="el" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry.">DirectoryEntry</a></code>. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_FileType</code> of the file. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aea481437bc555e04429b4e7ec1005ef0"></a><!-- doxytag: member="pp::DirectoryEntry::is_null" ref="aea481437bc555e04429b4e7ec1005ef0" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_directory_entry.html#aea481437bc555e04429b4e7ec1005ef0">pp::DirectoryEntry::is_null</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function determines if this <code><a class="el" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry.">DirectoryEntry</a></code> is a null value. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if this <code><a class="el" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry.">DirectoryEntry</a></code> is null, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a7e1b5b7376a2da0a4f736eb986092556"></a><!-- doxytag: member="pp::DirectoryEntry::operator=" ref="a7e1b5b7376a2da0a4f736eb986092556" args="(const DirectoryEntry &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_directory_entry.html">DirectoryEntry</a>& pp::DirectoryEntry::operator= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_directory_entry.html">DirectoryEntry</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function assigns one <code><a class="el" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry.">DirectoryEntry</a></code> object to this <code><a class="el" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry.">DirectoryEntry</a></code> object. </p>
+<p>This function increases the reference count of the <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code> of the other <a class="el" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry.">DirectoryEntry</a> while decrementing the reference count of the <a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a> of this <a class="el" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry.">DirectoryEntry</a>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A pointer to a <code><a class="el" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry.">DirectoryEntry</a></code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A new <code><a class="el" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry.">DirectoryEntry</a></code> object. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="directory__entry_8h.html">directory_entry.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_file_i_o-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_file_i_o-members.html
new file mode 100644
index 0000000..32652b3
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_file_i_o-members.html
@@ -0,0 +1,36 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_file_i_o.html">pp::FileIO</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_i_o.html#a5f08c15cc2b23548b2e401c55102d709">Close</a>()</td><td><a class="el" href="classpp_1_1_file_i_o.html">pp::FileIO</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_i_o.html#a67b9da7adaadcb58c7429aa1984f757e">FileIO</a>()</td><td><a class="el" href="classpp_1_1_file_i_o.html">pp::FileIO</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_i_o.html#a7c3f17d75a139e92b2cdc52d8f2f5fd0">FileIO</a>(const InstanceHandle &instance)</td><td><a class="el" href="classpp_1_1_file_i_o.html">pp::FileIO</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_i_o.html#a7bc6f391da690a381874111e350692f0">FileIO</a>(const FileIO &other)</td><td><a class="el" href="classpp_1_1_file_i_o.html">pp::FileIO</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_i_o.html#a074d9c13b5825b378c343e5dd890d789">Flush</a>(const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_file_i_o.html">pp::FileIO</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_i_o.html#adafce7733e27fc3bf12cdb7833927bae">Open</a>(const FileRef &file_ref, int32_t open_flags, const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_file_i_o.html">pp::FileIO</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_i_o.html#a0e1cb3e0e2f1cd73c0d5a08a20e60fab">Query</a>(PP_FileInfo *result_buf, const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_file_i_o.html">pp::FileIO</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_i_o.html#a9e4576a9a5c946b4aa971daca526e457">Read</a>(int64_t offset, char *buffer, int32_t bytes_to_read, const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_file_i_o.html">pp::FileIO</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_i_o.html#a809ad6c8aa27f647c044c7053a84867a">Read</a>(int32_t offset, int32_t max_read_length, const CompletionCallbackWithOutput< std::vector< char > > &cc)</td><td><a class="el" href="classpp_1_1_file_i_o.html">pp::FileIO</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_i_o.html#a49014400d013c27b9950368f54974935">SetLength</a>(int64_t length, const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_file_i_o.html">pp::FileIO</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_i_o.html#a30766070559c1b719784ebc4f8d369f4">Touch</a>(PP_Time last_access_time, PP_Time last_modified_time, const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_file_i_o.html">pp::FileIO</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_i_o.html#a9ef23f569178ce6a53536fb27d459bcf">Write</a>(int64_t offset, const char *buffer, int32_t bytes_to_write, const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_file_i_o.html">pp::FileIO</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_file_i_o.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_file_i_o.html
new file mode 100644
index 0000000..e626c7c2
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_file_i_o.html
@@ -0,0 +1,465 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::FileIO Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::FileIO" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::FileIO:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_file_i_o__inherit__graph.png" border="0" usemap="#pp_1_1_file_i_o_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_file_i_o_inherit__map" id="pp_1_1_file_i_o_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="5,5,109,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_file_i_o-members.html">List of all members.</a></p>
+<h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><b>CallbackData1_0</b></td></tr>
+</table><h2>
+Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_i_o.html#a67b9da7adaadcb58c7429aa1984f757e">FileIO</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_i_o.html#a7c3f17d75a139e92b2cdc52d8f2f5fd0">FileIO</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_i_o.html#a7bc6f391da690a381874111e350692f0">FileIO</a> (const <a class="el" href="classpp_1_1_file_i_o.html">FileIO</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_i_o.html#adafce7733e27fc3bf12cdb7833927bae">Open</a> (const <a class="el" href="classpp_1_1_file_ref.html">FileRef</a> &file_ref, int32_t open_flags, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_i_o.html#a0e1cb3e0e2f1cd73c0d5a08a20e60fab">Query</a> (PP_FileInfo *result_buf, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_i_o.html#a30766070559c1b719784ebc4f8d369f4">Touch</a> (PP_Time last_access_time, PP_Time last_modified_time, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_i_o.html#a9e4576a9a5c946b4aa971daca526e457">Read</a> (int64_t offset, char *buffer, int32_t bytes_to_read, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_i_o.html#a809ad6c8aa27f647c044c7053a84867a">Read</a> (int32_t offset, int32_t max_read_length, const <a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a>< std::vector< char > > &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_i_o.html#a9ef23f569178ce6a53536fb27d459bcf">Write</a> (int64_t offset, const char *buffer, int32_t bytes_to_write, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_i_o.html#a49014400d013c27b9950368f54974935">SetLength</a> (int64_t length, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_i_o.html#a074d9c13b5825b378c343e5dd890d789">Flush</a> (const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_i_o.html#a5f08c15cc2b23548b2e401c55102d709">Close</a> ()</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a></code> class represents a regular file. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a67b9da7adaadcb58c7429aa1984f757e"></a><!-- doxytag: member="pp::FileIO::FileIO" ref="a67b9da7adaadcb58c7429aa1984f757e" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_file_i_o.html#a67b9da7adaadcb58c7429aa1984f757e">pp::FileIO::FileIO</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor for creating an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> <code><a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a></code> object. </p>
+</div>
+</div>
+<a class="anchor" id="a7c3f17d75a139e92b2cdc52d8f2f5fd0"></a><!-- doxytag: member="pp::FileIO::FileIO" ref="a7c3f17d75a139e92b2cdc52d8f2f5fd0" args="(const InstanceHandle &instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_file_i_o.html#a67b9da7adaadcb58c7429aa1984f757e">pp::FileIO::FileIO</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used to create a <code><a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a></code> and associate it with the provided <code><a class="el" href="classpp_1_1_instance.html">Instance</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a7bc6f391da690a381874111e350692f0"></a><!-- doxytag: member="pp::FileIO::FileIO" ref="a7bc6f391da690a381874111e350692f0" args="(const FileIO &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_file_i_o.html#a67b9da7adaadcb58c7429aa1984f757e">pp::FileIO::FileIO</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_file_i_o.html">FileIO</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The copy constructor for <code><a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A reference to a <code><a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a5f08c15cc2b23548b2e401c55102d709"></a><!-- doxytag: member="pp::FileIO::Close" ref="a5f08c15cc2b23548b2e401c55102d709" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_file_i_o.html#a5f08c15cc2b23548b2e401c55102d709">pp::FileIO::Close</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_i_o.html#a5f08c15cc2b23548b2e401c55102d709" title="Close() cancels any IO that may be pending, and closes the FileIO object.">Close()</a> cancels any IO that may be pending, and closes the <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a> object. </p>
+<p>Any pending callbacks will still run, reporting <code>PP_ERROR_ABORTED</code> if pending IO was interrupted. It is not valid to call <a class="el" href="classpp_1_1_file_i_o.html#adafce7733e27fc3bf12cdb7833927bae" title="Open() opens the specified regular file for I/O according to the given open flags, which is a bit-mask of the PP_FileOpenFlags values.">Open()</a> again after a call to this method.</p>
+<p><b>Note:</b> If the <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a> object is destroyed, and it is still open, then it will be implicitly closed, so you are not required to call <a class="el" href="classpp_1_1_file_i_o.html#a5f08c15cc2b23548b2e401c55102d709" title="Close() cancels any IO that may be pending, and closes the FileIO object.">Close()</a>. </p>
+</div>
+</div>
+<a class="anchor" id="a074d9c13b5825b378c343e5dd890d789"></a><!-- doxytag: member="pp::FileIO::Flush" ref="a074d9c13b5825b378c343e5dd890d789" args="(const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_file_i_o.html#a074d9c13b5825b378c343e5dd890d789">pp::FileIO::Flush</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_i_o.html#a074d9c13b5825b378c343e5dd890d789" title="Flush() flushes changes to disk.">Flush()</a> flushes changes to disk. </p>
+<p>This call can be very expensive!</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion of <a class="el" href="classpp_1_1_file_i_o.html#a074d9c13b5825b378c343e5dd890d789" title="Flush() flushes changes to disk.">Flush()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="adafce7733e27fc3bf12cdb7833927bae"></a><!-- doxytag: member="pp::FileIO::Open" ref="adafce7733e27fc3bf12cdb7833927bae" args="(const FileRef &file_ref, int32_t open_flags, const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_file_i_o.html#adafce7733e27fc3bf12cdb7833927bae">pp::FileIO::Open</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_file_ref.html">FileRef</a> & </td>
+<td class="paramname"><em>file_ref</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>open_flags</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_i_o.html#adafce7733e27fc3bf12cdb7833927bae" title="Open() opens the specified regular file for I/O according to the given open flags, which is a bit-mask of the PP_FileOpenFlags values.">Open()</a> opens the specified regular file for I/O according to the given open flags, which is a bit-mask of the PP_FileOpenFlags values. </p>
+<p>Upon success, the corresponding file is classified as "in use" by this <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a> object until such time as the <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a> object is closed or destroyed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_ref</td><td>A <code>PP_Resource</code> corresponding to a file reference.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">open_flags</td><td>A bit-mask of the <code>PP_FileOpenFlags</code> values. Valid values are:<ul>
+<li>PP_FILEOPENFLAG_READ</li>
+<li>PP_FILEOPENFLAG_WRITE</li>
+<li>PP_FILEOPENFLAG_CREATE</li>
+<li>PP_FILEOPENFLAG_TRUNCATE</li>
+<li>PP_FILEOPENFLAG_EXCLUSIVE See <code>PP_FileOpenFlags</code> in <code>ppb_file_io.h</code> for more details on these flags.</li>
+</ul>
+</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion of <a class="el" href="classpp_1_1_file_i_o.html#adafce7733e27fc3bf12cdb7833927bae" title="Open() opens the specified regular file for I/O according to the given open flags, which is a bit-mask of the PP_FileOpenFlags values.">Open()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a0e1cb3e0e2f1cd73c0d5a08a20e60fab"></a><!-- doxytag: member="pp::FileIO::Query" ref="a0e1cb3e0e2f1cd73c0d5a08a20e60fab" args="(PP_FileInfo *result_buf, const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_file_i_o.html#a0e1cb3e0e2f1cd73c0d5a08a20e60fab">pp::FileIO::Query</a> </td>
+<td>(</td>
+<td class="paramtype">PP_FileInfo * </td>
+<td class="paramname"><em>result_buf</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_i_o.html#a0e1cb3e0e2f1cd73c0d5a08a20e60fab" title="Query() queries info about the file opened by this FileIO object.">Query()</a> queries info about the file opened by this <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a> object. </p>
+<p>This function will fail if the <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a> object has not been opened.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">result_buf</td><td>The <code>PP_FileInfo</code> structure representing all information about the file. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion of <a class="el" href="classpp_1_1_file_i_o.html#a0e1cb3e0e2f1cd73c0d5a08a20e60fab" title="Query() queries info about the file opened by this FileIO object.">Query()</a>. <code>result_buf</code> must remain valid until after the callback runs. If you pass a blocking callback, <code>result_buf</code> must remain valid until after <a class="el" href="classpp_1_1_file_i_o.html#a0e1cb3e0e2f1cd73c0d5a08a20e60fab" title="Query() queries info about the file opened by this FileIO object.">Query()</a> returns.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a9e4576a9a5c946b4aa971daca526e457"></a><!-- doxytag: member="pp::FileIO::Read" ref="a9e4576a9a5c946b4aa971daca526e457" args="(int64_t offset, char *buffer, int32_t bytes_to_read, const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_file_i_o.html#a9e4576a9a5c946b4aa971daca526e457">pp::FileIO::Read</a> </td>
+<td>(</td>
+<td class="paramtype">int64_t </td>
+<td class="paramname"><em>offset</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">char * </td>
+<td class="paramname"><em>buffer</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>bytes_to_read</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Reads from an offset in the file. </p>
+<p>The size of the buffer must be large enough to hold the specified number of bytes to read. This function might perform a partial read, meaning that all the requested bytes might not be returned, even if the end of the file has not been reached.</p>
+<p>This function reads into a buffer that the caller supplies. This buffer must remain valid as long as the <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a> resource is alive. If you use a completion callback factory and it goes out of scope, it will not issue the callback on your class, BUT the callback factory can NOT cancel the request from the browser's perspective. This means that the browser will still try to write to your buffer even if the callback factory is destroyed!</p>
+<p>So you must ensure that your buffer outlives the <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a> resource. If you have one class and use the <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a> resource exclusively from that class and never make any copies, this will be fine: the resource will be destroyed when your class is. But keep in mind that copying a <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">pp::FileIO</a> object just creates a second reference to the original resource. For example, if you have a function like this: <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">pp::FileIO</a> MyClass::GetFileIO(); where a copy of your <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a> resource could outlive your class, the callback will still be pending when your class goes out of scope, creating the possibility of writing into invalid memory. So it's recommended to keep your <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a> resource and any output buffers tightly controlled in the same scope.</p>
+<p><b>Caveat:</b> This <a class="el" href="classpp_1_1_file_i_o.html#a9e4576a9a5c946b4aa971daca526e457" title="Reads from an offset in the file.">Read()</a> is potentially unsafe if you're using a <a class="el" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe...">CompletionCallbackFactory</a> to scope callbacks to the lifetime of your class. When your class goes out of scope, the callback factory will not actually cancel the callback, but will rather just skip issuing the callback on your class. This means that if the <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a> object outlives your class (if you made a copy saved somewhere else, for example), then the browser will still try to write into your buffer when the asynchronous read completes, potentially causing a crash.</p>
+<p>See the other version of <a class="el" href="classpp_1_1_file_i_o.html#a9e4576a9a5c946b4aa971daca526e457" title="Reads from an offset in the file.">Read()</a> which avoids this problem by writing into <a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a>, where the output buffer is automatically managed by the callback.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">offset</td><td>The offset into the file. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">buffer</td><td>The buffer to hold the specified number of bytes read. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">bytes_to_read</td><td>The number of bytes to read from <code>offset</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion of <a class="el" href="classpp_1_1_file_i_o.html#a9e4576a9a5c946b4aa971daca526e457" title="Reads from an offset in the file.">Read()</a>. <code>buffer</code> must remain valid until after the callback runs. If you pass a blocking callback, <code>buffer</code> must remain valid until after <a class="el" href="classpp_1_1_file_i_o.html#a9e4576a9a5c946b4aa971daca526e457" title="Reads from an offset in the file.">Read()</a> returns.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An The number of bytes read an error code from <code>pp_errors.h</code>. If the return value is 0, then end-of-file was reached. It is valid to call <a class="el" href="classpp_1_1_file_i_o.html#a9e4576a9a5c946b4aa971daca526e457" title="Reads from an offset in the file.">Read()</a> multiple times with a completion callback to queue up parallel reads from the file at different offsets. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a809ad6c8aa27f647c044c7053a84867a"></a><!-- doxytag: member="pp::FileIO::Read" ref="a809ad6c8aa27f647c044c7053a84867a" args="(int32_t offset, int32_t max_read_length, const CompletionCallbackWithOutput< std::vector< char > > &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_file_i_o.html#a9e4576a9a5c946b4aa971daca526e457">pp::FileIO::Read</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>offset</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>max_read_length</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a>< std::vector< char > > & </td>
+<td class="paramname"><em>cc</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_i_o.html#a9e4576a9a5c946b4aa971daca526e457" title="Reads from an offset in the file.">Read()</a> reads from an offset in the file. </p>
+<p>A PP_ArrayOutput must be provided so that output will be stored in its allocated buffer. This function might perform a partial read.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_io</td><td>A <code>PP_Resource</code> corresponding to a file <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">offset</td><td>The offset into the file. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">max_read_length</td><td>The maximum number of bytes to read from <code>offset</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">output</td><td>A <code>PP_ArrayOutput</code> to hold the output data. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code>PP_CompletionCallback</code> to be called upon completion of <a class="el" href="classpp_1_1_file_i_o.html#a9e4576a9a5c946b4aa971daca526e457" title="Reads from an offset in the file.">Read()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The number of bytes read or an error code from <code>pp_errors.h</code>. If the return value is 0, then end-of-file was reached. It is valid to call <a class="el" href="classpp_1_1_file_i_o.html#a9e4576a9a5c946b4aa971daca526e457" title="Reads from an offset in the file.">Read()</a> multiple times with a completion callback to queue up parallel reads from the file, but pending reads cannot be interleaved with other operations. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a49014400d013c27b9950368f54974935"></a><!-- doxytag: member="pp::FileIO::SetLength" ref="a49014400d013c27b9950368f54974935" args="(int64_t length, const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_file_i_o.html#a49014400d013c27b9950368f54974935">pp::FileIO::SetLength</a> </td>
+<td>(</td>
+<td class="paramtype">int64_t </td>
+<td class="paramname"><em>length</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_i_o.html#a49014400d013c27b9950368f54974935" title="SetLength() sets the length of the file.">SetLength()</a> sets the length of the file. </p>
+<p>If the file size is extended, then the extended area of the file is zero-filled. The <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a> object must have been opened with write access.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>The length of the file to be set. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion of <a class="el" href="classpp_1_1_file_i_o.html#a49014400d013c27b9950368f54974935" title="SetLength() sets the length of the file.">SetLength()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a30766070559c1b719784ebc4f8d369f4"></a><!-- doxytag: member="pp::FileIO::Touch" ref="a30766070559c1b719784ebc4f8d369f4" args="(PP_Time last_access_time, PP_Time last_modified_time, const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_file_i_o.html#a30766070559c1b719784ebc4f8d369f4">pp::FileIO::Touch</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Time </td>
+<td class="paramname"><em>last_access_time</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_Time </td>
+<td class="paramname"><em>last_modified_time</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_i_o.html#a30766070559c1b719784ebc4f8d369f4" title="Touch() Updates time stamps for the file opened by this FileIO object.">Touch()</a> Updates time stamps for the file opened by this <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a> object. </p>
+<p>This function will fail if the <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a> object has not been opened.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">last_access_time</td><td>The last time the <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a> was accessed. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">last_modified_time</td><td>The last time the <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a> was modified. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion of <a class="el" href="classpp_1_1_file_i_o.html#a30766070559c1b719784ebc4f8d369f4" title="Touch() Updates time stamps for the file opened by this FileIO object.">Touch()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a9ef23f569178ce6a53536fb27d459bcf"></a><!-- doxytag: member="pp::FileIO::Write" ref="a9ef23f569178ce6a53536fb27d459bcf" args="(int64_t offset, const char *buffer, int32_t bytes_to_write, const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_file_i_o.html#a9ef23f569178ce6a53536fb27d459bcf">pp::FileIO::Write</a> </td>
+<td>(</td>
+<td class="paramtype">int64_t </td>
+<td class="paramname"><em>offset</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const char * </td>
+<td class="paramname"><em>buffer</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>bytes_to_write</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_i_o.html#a9ef23f569178ce6a53536fb27d459bcf" title="Write() writes to an offset in the file.">Write()</a> writes to an offset in the file. </p>
+<p>This function might perform a partial write. The <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a> object must have been opened with write access.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">offset</td><td>The offset into the file. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">buffer</td><td>The buffer to hold the specified number of bytes read. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">bytes_to_write</td><td>The number of bytes to write to <code>offset</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion of <a class="el" href="classpp_1_1_file_i_o.html#a9ef23f569178ce6a53536fb27d459bcf" title="Write() writes to an offset in the file.">Write()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An The number of bytes written or an error code from <code>pp_errors.h</code>. If the return value is 0, then end-of-file was reached. It is valid to call <a class="el" href="classpp_1_1_file_i_o.html#a9ef23f569178ce6a53536fb27d459bcf" title="Write() writes to an offset in the file.">Write()</a> multiple times with a completion callback to queue up parallel writes to the file at different offsets. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="file__io_8h.html">file_io.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_file_i_o__inherit__graph.png b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_file_i_o__inherit__graph.png
new file mode 100644
index 0000000..d2df2b1
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_file_i_o__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_file_ref-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_file_ref-members.html
new file mode 100644
index 0000000..62452207
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_file_ref-members.html
@@ -0,0 +1,39 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_file_ref.html">pp::FileRef</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_ref.html#abfdb9c3db04b0ef2591953f79c255873">Delete</a>(const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_file_ref.html">pp::FileRef</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_ref.html#a4c79db956157379aa877e57ff06d2c10">FileRef</a>()</td><td><a class="el" href="classpp_1_1_file_ref.html">pp::FileRef</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_ref.html#a3345910589954a8fb573cdf2c82166b0">FileRef</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_file_ref.html">pp::FileRef</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_ref.html#a50652a877b8c02c736f86b1d69fc9b11">FileRef</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_file_ref.html">pp::FileRef</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_ref.html#a95aad2e3c8d9b52b1ac09279c8cf8113">FileRef</a>(const FileSystem &file_system, const char *path)</td><td><a class="el" href="classpp_1_1_file_ref.html">pp::FileRef</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_ref.html#a9a66f16e7d9a4198c206144bc3498ec5">FileRef</a>(const FileRef &other)</td><td><a class="el" href="classpp_1_1_file_ref.html">pp::FileRef</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_ref.html#a71de4e20d117efcf4ac8000c2149e3f8">GetFileSystemType</a>() const </td><td><a class="el" href="classpp_1_1_file_ref.html">pp::FileRef</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_ref.html#acb186b79d906675e288ff5d0d0a7eab2">GetName</a>() const </td><td><a class="el" href="classpp_1_1_file_ref.html">pp::FileRef</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_ref.html#a514534c1a31732e328e062bdaa194919">GetParent</a>() const </td><td><a class="el" href="classpp_1_1_file_ref.html">pp::FileRef</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_ref.html#a657da250b3ff47ca8f1c616f9ebee6a0">GetPath</a>() const </td><td><a class="el" href="classpp_1_1_file_ref.html">pp::FileRef</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_ref.html#afb1a20f9864801457db28d32ab1d7104">MakeDirectory</a>(int32_t make_directory_flags, const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_file_ref.html">pp::FileRef</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_ref.html#a6de22adc35e4485dfba663dad64c15fb">Query</a>(const CompletionCallbackWithOutput< PP_FileInfo > &callback)</td><td><a class="el" href="classpp_1_1_file_ref.html">pp::FileRef</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_ref.html#af16f7bba00d624a16a1d9b9b09347c8c">ReadDirectoryEntries</a>(const CompletionCallbackWithOutput< std::vector< DirectoryEntry > > &callback)</td><td><a class="el" href="classpp_1_1_file_ref.html">pp::FileRef</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_ref.html#ab1d7f8a63643561a6529952faa881505">Rename</a>(const FileRef &new_file_ref, const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_file_ref.html">pp::FileRef</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_ref.html#ab8e5d24d96c7408b140b74aa0ed8d7ca">Touch</a>(PP_Time last_access_time, PP_Time last_modified_time, const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_file_ref.html">pp::FileRef</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_file_ref.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_file_ref.html
new file mode 100644
index 0000000..62429b7a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_file_ref.html
@@ -0,0 +1,442 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::FileRef Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::FileRef" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::FileRef:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_file_ref__inherit__graph.png" border="0" usemap="#pp_1_1_file_ref_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_file_ref_inherit__map" id="pp_1_1_file_ref_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="5,5,109,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_file_ref-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_ref.html#a4c79db956157379aa877e57ff06d2c10">FileRef</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_ref.html#a3345910589954a8fb573cdf2c82166b0">FileRef</a> (PP_Resource resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_ref.html#a50652a877b8c02c736f86b1d69fc9b11">FileRef</a> (<a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a>, PP_Resource resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_ref.html#a95aad2e3c8d9b52b1ac09279c8cf8113">FileRef</a> (const <a class="el" href="classpp_1_1_file_system.html">FileSystem</a> &file_system, const char *path)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_ref.html#a9a66f16e7d9a4198c206144bc3498ec5">FileRef</a> (const <a class="el" href="classpp_1_1_file_ref.html">FileRef</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_FileSystemType </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_ref.html#a71de4e20d117efcf4ac8000c2149e3f8">GetFileSystemType</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_ref.html#acb186b79d906675e288ff5d0d0a7eab2">GetName</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_ref.html#a657da250b3ff47ca8f1c616f9ebee6a0">GetPath</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_file_ref.html">FileRef</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_ref.html#a514534c1a31732e328e062bdaa194919">GetParent</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_ref.html#afb1a20f9864801457db28d32ab1d7104">MakeDirectory</a> (int32_t make_directory_flags, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_ref.html#ab8e5d24d96c7408b140b74aa0ed8d7ca">Touch</a> (PP_Time last_access_time, PP_Time last_modified_time, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_ref.html#abfdb9c3db04b0ef2591953f79c255873">Delete</a> (const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_ref.html#ab1d7f8a63643561a6529952faa881505">Rename</a> (const <a class="el" href="classpp_1_1_file_ref.html">FileRef</a> &new_file_ref, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_ref.html#a6de22adc35e4485dfba663dad64c15fb">Query</a> (const <a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a>< PP_FileInfo > &callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_ref.html#af16f7bba00d624a16a1d9b9b09347c8c">ReadDirectoryEntries</a> (const <a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a>< std::vector< <a class="el" href="classpp_1_1_directory_entry.html">DirectoryEntry</a> > > &callback)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code> class represents a "weak pointer" to a file in a file system. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a4c79db956157379aa877e57ff06d2c10"></a><!-- doxytag: member="pp::FileRef::FileRef" ref="a4c79db956157379aa877e57ff06d2c10" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_file_ref.html#a4c79db956157379aa877e57ff06d2c10">pp::FileRef::FileRef</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor for creating an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code> object. </p>
+</div>
+</div>
+<a class="anchor" id="a3345910589954a8fb573cdf2c82166b0"></a><!-- doxytag: member="pp::FileRef::FileRef" ref="a3345910589954a8fb573cdf2c82166b0" args="(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_file_ref.html#a4c79db956157379aa877e57ff06d2c10">pp::FileRef::FileRef</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>resource</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used when you have an existing PP_Resource for a <a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a> and which to create a C++ object that takes an additional reference to the resource. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A PP_Resource corresponding to file reference. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a50652a877b8c02c736f86b1d69fc9b11"></a><!-- doxytag: member="pp::FileRef::FileRef" ref="a50652a877b8c02c736f86b1d69fc9b11" args="(PassRef, PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_file_ref.html#a4c79db956157379aa877e57ff06d2c10">pp::FileRef::FileRef</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a> </td>
+<td class="paramname">, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>resource</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used when you have received a PP_Resource as a return value that has already been reference counted. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A PP_Resource corresponding to file reference. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a95aad2e3c8d9b52b1ac09279c8cf8113"></a><!-- doxytag: member="pp::FileRef::FileRef" ref="a95aad2e3c8d9b52b1ac09279c8cf8113" args="(const FileSystem &file_system, const char *path)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_file_ref.html#a4c79db956157379aa877e57ff06d2c10">pp::FileRef::FileRef</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_file_system.html">FileSystem</a> & </td>
+<td class="paramname"><em>file_system</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const char * </td>
+<td class="paramname"><em>path</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor that creates a weak pointer to a file in the given file system. </p>
+<p>File paths are POSIX style.</p>
+<p>If the <code>path</code> is malformed, the resulting <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code> will have a null <code>PP_Resource</code>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_system</td><td>A <code><a class="el" href="classpp_1_1_file_system.html" title="The FileSystem class identifies the file system type associated with a file.">FileSystem</a></code> corresponding to a file system type. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">path</td><td>A path to the file. Must begin with a '/' character. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a9a66f16e7d9a4198c206144bc3498ec5"></a><!-- doxytag: member="pp::FileRef::FileRef" ref="a9a66f16e7d9a4198c206144bc3498ec5" args="(const FileRef &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_file_ref.html#a4c79db956157379aa877e57ff06d2c10">pp::FileRef::FileRef</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_file_ref.html">FileRef</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The copy constructor for <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A pointer to a <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="abfdb9c3db04b0ef2591953f79c255873"></a><!-- doxytag: member="pp::FileRef::Delete" ref="abfdb9c3db04b0ef2591953f79c255873" args="(const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_file_ref.html#abfdb9c3db04b0ef2591953f79c255873">pp::FileRef::Delete</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_ref.html#abfdb9c3db04b0ef2591953f79c255873" title="Delete() deletes a file or directory.">Delete()</a> deletes a file or directory. </p>
+<p>If <code>file_ref</code> refers to a directory, then the directory must be empty. It is an error to delete a file or directory that is in use. It is not valid to delete a file in the external file system.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion of <a class="el" href="classpp_1_1_file_ref.html#abfdb9c3db04b0ef2591953f79c255873" title="Delete() deletes a file or directory.">Delete()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a71de4e20d117efcf4ac8000c2149e3f8"></a><!-- doxytag: member="pp::FileRef::GetFileSystemType" ref="a71de4e20d117efcf4ac8000c2149e3f8" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_FileSystemType <a class="el" href="classpp_1_1_file_ref.html#a71de4e20d117efcf4ac8000c2149e3f8">pp::FileRef::GetFileSystemType</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_ref.html#a71de4e20d117efcf4ac8000c2149e3f8" title="GetFileSystemType() returns the type of the file system.">GetFileSystemType()</a> returns the type of the file system. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_FileSystemType</code> with the file system type if valid or <code>PP_FILESYSTEMTYPE_INVALID</code> if the provided resource is not a valid file reference. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="acb186b79d906675e288ff5d0d0a7eab2"></a><!-- doxytag: member="pp::FileRef::GetName" ref="acb186b79d906675e288ff5d0d0a7eab2" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_file_ref.html#acb186b79d906675e288ff5d0d0a7eab2">pp::FileRef::GetName</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_ref.html#acb186b79d906675e288ff5d0d0a7eab2" title="GetName() returns the name of the file.">GetName()</a> returns the name of the file. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing the name of the file. The value returned by this function does not include any path components (such as the name of the parent directory, for example). It is just the name of the file. Use <a class="el" href="classpp_1_1_file_ref.html#a657da250b3ff47ca8f1c616f9ebee6a0" title="GetPath() returns the absolute path of the file.">GetPath()</a> to get the full file path. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a514534c1a31732e328e062bdaa194919"></a><!-- doxytag: member="pp::FileRef::GetParent" ref="a514534c1a31732e328e062bdaa194919" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_file_ref.html">FileRef</a> <a class="el" href="classpp_1_1_file_ref.html#a514534c1a31732e328e062bdaa194919">pp::FileRef::GetParent</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_ref.html#a514534c1a31732e328e062bdaa194919" title="GetParent() returns the parent directory of this file.">GetParent()</a> returns the parent directory of this file. </p>
+<p>If <code>file_ref</code> points to the root of the filesystem, then the root is returned.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code> containing the parent directory of the file. This function fails if the file system type is <code>PP_FileSystemType_External</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a657da250b3ff47ca8f1c616f9ebee6a0"></a><!-- doxytag: member="pp::FileRef::GetPath" ref="a657da250b3ff47ca8f1c616f9ebee6a0" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_file_ref.html#a657da250b3ff47ca8f1c616f9ebee6a0">pp::FileRef::GetPath</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_ref.html#a657da250b3ff47ca8f1c616f9ebee6a0" title="GetPath() returns the absolute path of the file.">GetPath()</a> returns the absolute path of the file. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing the absolute path of the file. This function fails if the file system type is <code>PP_FileSystemType_External</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="afb1a20f9864801457db28d32ab1d7104"></a><!-- doxytag: member="pp::FileRef::MakeDirectory" ref="afb1a20f9864801457db28d32ab1d7104" args="(int32_t make_directory_flags, const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_file_ref.html#afb1a20f9864801457db28d32ab1d7104">pp::FileRef::MakeDirectory</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>make_directory_flags</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_ref.html#afb1a20f9864801457db28d32ab1d7104" title="MakeDirectory() makes a new directory in the file system according to the given make_directory_flags...">MakeDirectory()</a> makes a new directory in the file system according to the given <code>make_directory_flags</code>, which is a bit-mask of the <code>PP_MakeDirectoryFlags</code> values. </p>
+<p>It is not valid to make a directory in the external file system.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">make_directory_flags</td><td>A bit-mask of the <code>PP_MakeDirectoryFlags</code> values. See <code>ppb_file_ref.h</code> for more details. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion of <a class="el" href="classpp_1_1_file_ref.html#afb1a20f9864801457db28d32ab1d7104" title="MakeDirectory() makes a new directory in the file system according to the given make_directory_flags...">MakeDirectory()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a6de22adc35e4485dfba663dad64c15fb"></a><!-- doxytag: member="pp::FileRef::Query" ref="a6de22adc35e4485dfba663dad64c15fb" args="(const CompletionCallbackWithOutput< PP_FileInfo > &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_file_ref.html#a6de22adc35e4485dfba663dad64c15fb">pp::FileRef::Query</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a>< PP_FileInfo > & </td>
+<td class="paramname"><em>callback</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_ref.html#a6de22adc35e4485dfba663dad64c15fb" title="Query() queries info about a file or directory.">Query()</a> queries info about a file or directory. </p>
+<p>You must have access to read this file or directory if it exists in the external filesystem.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a></code> to be called upon completion of <a class="el" href="classpp_1_1_file_ref.html#a6de22adc35e4485dfba663dad64c15fb" title="Query() queries info about a file or directory.">Query()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="af16f7bba00d624a16a1d9b9b09347c8c"></a><!-- doxytag: member="pp::FileRef::ReadDirectoryEntries" ref="af16f7bba00d624a16a1d9b9b09347c8c" args="(const CompletionCallbackWithOutput< std::vector< DirectoryEntry > > &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_file_ref.html#af16f7bba00d624a16a1d9b9b09347c8c">pp::FileRef::ReadDirectoryEntries</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a>< std::vector< <a class="el" href="classpp_1_1_directory_entry.html">DirectoryEntry</a> > > & </td>
+<td class="paramname"><em>callback</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_ref.html#af16f7bba00d624a16a1d9b9b09347c8c" title="ReadDirectoryEntries() Reads all entries in the directory.">ReadDirectoryEntries()</a> Reads all entries in the directory. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a></code> to be called upon completion of <a class="el" href="classpp_1_1_file_ref.html#af16f7bba00d624a16a1d9b9b09347c8c" title="ReadDirectoryEntries() Reads all entries in the directory.">ReadDirectoryEntries()</a>. On success, the directory entries will be passed to the given function.</td></tr>
+</table>
+</dd>
+</dl>
+<p>Normally you would use a <a class="el" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe...">CompletionCallbackFactory</a> to allow callbacks to be bound to your class. See <a class="el" href="completion__callback__factory_8h.html" title="This file defines the API to create CompletionCallback objects that are bound to member functions...">completion_callback_factory.h</a> for more discussion on how to use this. Your callback will generally look like:</p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">void</span> OnReadDirectoryEntries(
+ int32_t result,
+ <span class="keyword">const</span> std::vector<DirectoryEntry>& entries) {
+ <span class="keywordflow">if</span> (result == PP_OK)
+ <span class="comment">// use entries...</span>
+ }
+</pre></div><dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab1d7f8a63643561a6529952faa881505"></a><!-- doxytag: member="pp::FileRef::Rename" ref="ab1d7f8a63643561a6529952faa881505" args="(const FileRef &new_file_ref, const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_file_ref.html#ab1d7f8a63643561a6529952faa881505">pp::FileRef::Rename</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_file_ref.html">FileRef</a> & </td>
+<td class="paramname"><em>new_file_ref</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_ref.html#ab1d7f8a63643561a6529952faa881505" title="Rename() renames a file or directory.">Rename()</a> renames a file or directory. </p>
+<p>Argument <code>new_file_ref</code> must refer to files in the same file system as in this object. It is an error to rename a file or directory that is in use. It is not valid to rename a file in the external file system.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">new_file_ref</td><td>A <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code> corresponding to a new file reference. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion of <a class="el" href="classpp_1_1_file_ref.html#ab1d7f8a63643561a6529952faa881505" title="Rename() renames a file or directory.">Rename()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab8e5d24d96c7408b140b74aa0ed8d7ca"></a><!-- doxytag: member="pp::FileRef::Touch" ref="ab8e5d24d96c7408b140b74aa0ed8d7ca" args="(PP_Time last_access_time, PP_Time last_modified_time, const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_file_ref.html#ab8e5d24d96c7408b140b74aa0ed8d7ca">pp::FileRef::Touch</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Time </td>
+<td class="paramname"><em>last_access_time</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_Time </td>
+<td class="paramname"><em>last_modified_time</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_ref.html#ab8e5d24d96c7408b140b74aa0ed8d7ca" title="Touch() Updates time stamps for a file.">Touch()</a> Updates time stamps for a file. </p>
+<p>You must have write access to the file if it exists in the external filesystem.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">last_access_time</td><td>The last time the file was accessed. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">last_modified_time</td><td>The last time the file was modified. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion of <a class="el" href="classpp_1_1_file_ref.html#ab8e5d24d96c7408b140b74aa0ed8d7ca" title="Touch() Updates time stamps for a file.">Touch()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="file__ref_8h.html">file_ref.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_file_ref__inherit__graph.png b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_file_ref__inherit__graph.png
new file mode 100644
index 0000000..689ab16
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_file_ref__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_file_system-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_file_system-members.html
new file mode 100644
index 0000000..5b4be947
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_file_system-members.html
@@ -0,0 +1,31 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_file_system.html">pp::FileSystem</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_system.html#aaa3cca58df52c4a3c4daaf0e615a1168">FileSystem</a>()</td><td><a class="el" href="classpp_1_1_file_system.html">pp::FileSystem</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_system.html#a4d56e93917775b192558b55fe682acfd">FileSystem</a>(const FileSystem &other)</td><td><a class="el" href="classpp_1_1_file_system.html">pp::FileSystem</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_system.html#a33ddc6114cd25d48727c300dccc8754d">FileSystem</a>(const Resource &resource)</td><td><a class="el" href="classpp_1_1_file_system.html">pp::FileSystem</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_system.html#af97b2860b7e99d2283cf556b4ca78c48">FileSystem</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_file_system.html">pp::FileSystem</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_system.html#a8e73239f076ec5897d49b2bf530fdfdc">FileSystem</a>(const InstanceHandle &instance, PP_FileSystemType type)</td><td><a class="el" href="classpp_1_1_file_system.html">pp::FileSystem</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_system.html#ae48a32b67e78b1e2125270ec68fab29d">IsFileSystem</a>(const Resource &resource)</td><td><a class="el" href="classpp_1_1_file_system.html">pp::FileSystem</a></td><td><code> [static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_system.html#ae1ca78fc88c2e2a507e9ab71d9352d54">Open</a>(int64_t expected_size, const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_file_system.html">pp::FileSystem</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_file_system.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_file_system.html
new file mode 100644
index 0000000..df8ed67
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_file_system.html
@@ -0,0 +1,230 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::FileSystem Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::FileSystem" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::FileSystem:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_file_system__inherit__graph.png" border="0" usemap="#pp_1_1_file_system_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_file_system_inherit__map" id="pp_1_1_file_system_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="11,5,115,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_file_system-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_system.html#aaa3cca58df52c4a3c4daaf0e615a1168">FileSystem</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_system.html#a4d56e93917775b192558b55fe682acfd">FileSystem</a> (const <a class="el" href="classpp_1_1_file_system.html">FileSystem</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_system.html#a33ddc6114cd25d48727c300dccc8754d">FileSystem</a> (const <a class="el" href="classpp_1_1_resource.html">Resource</a> &resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_system.html#af97b2860b7e99d2283cf556b4ca78c48">FileSystem</a> (<a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a>, PP_Resource resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_system.html#a8e73239f076ec5897d49b2bf530fdfdc">FileSystem</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, PP_FileSystemType type)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_system.html#ae1ca78fc88c2e2a507e9ab71d9352d54">Open</a> (int64_t expected_size, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+</table><h2>
+Static Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_system.html#ae48a32b67e78b1e2125270ec68fab29d">IsFileSystem</a> (const <a class="el" href="classpp_1_1_resource.html">Resource</a> &resource)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="classpp_1_1_file_system.html" title="The FileSystem class identifies the file system type associated with a file.">FileSystem</a></code> class identifies the file system type associated with a file. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="aaa3cca58df52c4a3c4daaf0e615a1168"></a><!-- doxytag: member="pp::FileSystem::FileSystem" ref="aaa3cca58df52c4a3c4daaf0e615a1168" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_file_system.html#aaa3cca58df52c4a3c4daaf0e615a1168">pp::FileSystem::FileSystem</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> filesystem resource. </p>
+<p>If you use this constructor, you will have to assign it to a "real" <a class="el" href="classpp_1_1_file_system.html" title="The FileSystem class identifies the file system type associated with a file.">FileSystem</a> object before you can use it. </p>
+</div>
+</div>
+<a class="anchor" id="a4d56e93917775b192558b55fe682acfd"></a><!-- doxytag: member="pp::FileSystem::FileSystem" ref="a4d56e93917775b192558b55fe682acfd" args="(const FileSystem &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_file_system.html#aaa3cca58df52c4a3c4daaf0e615a1168">pp::FileSystem::FileSystem</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_file_system.html">FileSystem</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The copy constructor for <code><a class="el" href="classpp_1_1_file_system.html" title="The FileSystem class identifies the file system type associated with a file.">FileSystem</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A reference to a <code><a class="el" href="classpp_1_1_file_system.html" title="The FileSystem class identifies the file system type associated with a file.">FileSystem</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a33ddc6114cd25d48727c300dccc8754d"></a><!-- doxytag: member="pp::FileSystem::FileSystem" ref="a33ddc6114cd25d48727c300dccc8754d" args="(const Resource &resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_file_system.html#aaa3cca58df52c4a3c4daaf0e615a1168">pp::FileSystem::FileSystem</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_resource.html">Resource</a> & </td>
+<td class="paramname"><em>resource</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs a <code><a class="el" href="classpp_1_1_file_system.html" title="The FileSystem class identifies the file system type associated with a file.">FileSystem</a></code> from a <code><a class="el" href="classpp_1_1_resource.html" title="A reference counted module resource.">Resource</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code><a class="el" href="classpp_1_1_resource.html" title="A reference counted module resource.">Resource</a></code> containing a file system. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="af97b2860b7e99d2283cf556b4ca78c48"></a><!-- doxytag: member="pp::FileSystem::FileSystem" ref="af97b2860b7e99d2283cf556b4ca78c48" args="(PassRef, PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_file_system.html#aaa3cca58df52c4a3c4daaf0e615a1168">pp::FileSystem::FileSystem</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a> </td>
+<td class="paramname">, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>resource</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used when you have received a PP_Resource as a return value that has already been reference counted. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A PP_Resource corresponding to a PPB_FileSystem. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a8e73239f076ec5897d49b2bf530fdfdc"></a><!-- doxytag: member="pp::FileSystem::FileSystem" ref="a8e73239f076ec5897d49b2bf530fdfdc" args="(const InstanceHandle &instance, PP_FileSystemType type)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_file_system.html#aaa3cca58df52c4a3c4daaf0e615a1168">pp::FileSystem::FileSystem</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_FileSystemType </td>
+<td class="paramname"><em>type</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This constructor creates a file system object of the given type. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>A file system type as defined by <code>PP_FileSystemType</code> enum. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="ae48a32b67e78b1e2125270ec68fab29d"></a><!-- doxytag: member="pp::FileSystem::IsFileSystem" ref="ae48a32b67e78b1e2125270ec68fab29d" args="(const Resource &resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static bool <a class="el" href="classpp_1_1_file_system.html#ae48a32b67e78b1e2125270ec68fab29d">pp::FileSystem::IsFileSystem</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_resource.html">Resource</a> & </td>
+<td class="paramname"><em>resource</em></td><td>)</td>
+<td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Checks whether a <code><a class="el" href="classpp_1_1_resource.html" title="A reference counted module resource.">Resource</a></code> is a file system, to test whether it is appropriate for use with the <code><a class="el" href="classpp_1_1_file_system.html" title="The FileSystem class identifies the file system type associated with a file.">FileSystem</a></code> constructor. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code><a class="el" href="classpp_1_1_resource.html" title="A reference counted module resource.">Resource</a></code> to test.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>True if <code>resource</code> is a file system. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ae1ca78fc88c2e2a507e9ab71d9352d54"></a><!-- doxytag: member="pp::FileSystem::Open" ref="ae1ca78fc88c2e2a507e9ab71d9352d54" args="(int64_t expected_size, const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_file_system.html#ae1ca78fc88c2e2a507e9ab71d9352d54">pp::FileSystem::Open</a> </td>
+<td>(</td>
+<td class="paramtype">int64_t </td>
+<td class="paramname"><em>expected_size</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_system.html#ae1ca78fc88c2e2a507e9ab71d9352d54" title="Open() opens the file system.">Open()</a> opens the file system. </p>
+<p>A file system must be opened before running any other operation on it.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">expected_size</td><td>The expected size of the file system. Note that this does not request quota; to do that, you must either invoke requestQuota from JavaScript: <a href="http://www.html5rocks.com/en/tutorials/file/filesystem/#toc-requesting-quota">http://www.html5rocks.com/en/tutorials/file/filesystem/#toc-requesting-quota</a> or set the unlimitedStorage permission for Chrome Web Store apps: <a href="http://code.google.com/chrome/extensions/manifest.html#permissions">http://code.google.com/chrome/extensions/manifest.html#permissions</a></td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code>PP_CompletionCallback</code> to be called upon completion of <a class="el" href="classpp_1_1_file_system.html#ae1ca78fc88c2e2a507e9ab71d9352d54" title="Open() opens the file system.">Open()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="file__system_8h.html">file_system.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_file_system__inherit__graph.png b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_file_system__inherit__graph.png
new file mode 100644
index 0000000..ebcb81da
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_file_system__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_float_point-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_float_point-members.html
new file mode 100644
index 0000000..f5bdff1e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_float_point-members.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_float_point.html#a384b29d8aba4a43b399393e695eb1e81">FloatPoint</a>()</td><td><a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_float_point.html#acb70a23a641f05fd5eb99e9439e556d2">FloatPoint</a>(float in_x, float in_y)</td><td><a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_float_point.html#a401fc74a911cd0d4996b00f8b10a1951">FloatPoint</a>(const PP_FloatPoint &point)</td><td><a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_float_point.html#adfa14cbb4f94c3133e4bce72f93570bf">operator PP_FloatPoint</a>() const </td><td><a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_float_point.html#a8aeaf7286bc04e7ff7f9d405fdfe614b">operator+</a>(const FloatPoint &other) const </td><td><a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_float_point.html#a15985b03ca98d65bdf300dc3d12ca57a">operator+=</a>(const FloatPoint &other)</td><td><a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_float_point.html#a2ae33c7eb2dbc4a8d366db080f3a136b">operator-</a>(const FloatPoint &other) const </td><td><a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_float_point.html#a419049446659935f8bfe3e47d33b752b">operator-=</a>(const FloatPoint &other)</td><td><a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_float_point.html#a74112618552ed91f200794127bf64eea">pp_float_point</a>() const </td><td><a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_float_point.html#a75ab7bd430e1f5edb00d9976061898ed">pp_float_point</a>()</td><td><a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_float_point.html#a276b372b82ea3cd0021017ba4a002838">set_x</a>(float in_x)</td><td><a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_float_point.html#abdb8eeb5c2aa051e6776ae2967fc6d40">set_y</a>(float in_y)</td><td><a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_float_point.html#a138f26f94ed5a97e1ee083e65eb101bf">swap</a>(FloatPoint &other)</td><td><a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_float_point.html#a9109ddb0920cf0eeb7ace3b40a95dc17">x</a>() const </td><td><a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_float_point.html#ac8bcb2ac55fa5fcf89a7b61369eeed2b">y</a>() const </td><td><a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_float_point.html#ab41958133c5b48f6002ad9bffdad46c0">~FloatPoint</a>()</td><td><a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a></td><td><code> [inline]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_float_point.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_float_point.html
new file mode 100644
index 0000000..f7b5876
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_float_point.html
@@ -0,0 +1,383 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::FloatPoint Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::FloatPoint" -->
+<p><a href="classpp_1_1_float_point-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_float_point.html#a384b29d8aba4a43b399393e695eb1e81">FloatPoint</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_float_point.html#acb70a23a641f05fd5eb99e9439e556d2">FloatPoint</a> (float in_x, float in_y)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_float_point.html#a401fc74a911cd0d4996b00f8b10a1951">FloatPoint</a> (const PP_FloatPoint &point)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_float_point.html#ab41958133c5b48f6002ad9bffdad46c0">~FloatPoint</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_float_point.html#adfa14cbb4f94c3133e4bce72f93570bf">operator PP_FloatPoint</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const PP_FloatPoint & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_float_point.html#a74112618552ed91f200794127bf64eea">pp_float_point</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_FloatPoint & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_float_point.html#a75ab7bd430e1f5edb00d9976061898ed">pp_float_point</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_float_point.html#a9109ddb0920cf0eeb7ace3b40a95dc17">x</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_float_point.html#a276b372b82ea3cd0021017ba4a002838">set_x</a> (float in_x)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_float_point.html#ac8bcb2ac55fa5fcf89a7b61369eeed2b">y</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_float_point.html#abdb8eeb5c2aa051e6776ae2967fc6d40">set_y</a> (float in_y)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_float_point.html#a8aeaf7286bc04e7ff7f9d405fdfe614b">operator+</a> (const <a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> &other) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_float_point.html#a2ae33c7eb2dbc4a8d366db080f3a136b">operator-</a> (const <a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> &other) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_float_point.html#a15985b03ca98d65bdf300dc3d12ca57a">operator+=</a> (const <a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_float_point.html#a419049446659935f8bfe3e47d33b752b">operator-=</a> (const <a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_float_point.html#a138f26f94ed5a97e1ee083e65eb101bf">swap</a> (<a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> &other)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>A 2 dimensional floating-point point with 0,0 being the upper-left starting coordinate. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a384b29d8aba4a43b399393e695eb1e81"></a><!-- doxytag: member="pp::FloatPoint::FloatPoint" ref="a384b29d8aba4a43b399393e695eb1e81" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_float_point.html#a384b29d8aba4a43b399393e695eb1e81">pp::FloatPoint::FloatPoint</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor for a point at 0,0. </p>
+</div>
+</div>
+<a class="anchor" id="acb70a23a641f05fd5eb99e9439e556d2"></a><!-- doxytag: member="pp::FloatPoint::FloatPoint" ref="acb70a23a641f05fd5eb99e9439e556d2" args="(float in_x, float in_y)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_float_point.html#a384b29d8aba4a43b399393e695eb1e81">pp::FloatPoint::FloatPoint</a> </td>
+<td>(</td>
+<td class="paramtype">float </td>
+<td class="paramname"><em>in_x</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">float </td>
+<td class="paramname"><em>in_y</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor accepting two values for x and y and converting them to a <a class="el" href="classpp_1_1_float_point.html" title="A 2 dimensional floating-point point with 0,0 being the upper-left starting coordinate.">FloatPoint</a>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">in_x</td><td>An value representing a horizontal coordinate of a point, starting with 0 as the left-most coordinate.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">in_y</td><td>An value representing a vertical coordinate of a point, starting with 0 as the top-most coordinate. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a401fc74a911cd0d4996b00f8b10a1951"></a><!-- doxytag: member="pp::FloatPoint::FloatPoint" ref="a401fc74a911cd0d4996b00f8b10a1951" args="(const PP_FloatPoint &point)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_float_point.html#a384b29d8aba4a43b399393e695eb1e81">pp::FloatPoint::FloatPoint</a> </td>
+<td>(</td>
+<td class="paramtype">const PP_FloatPoint & </td>
+<td class="paramname"><em>point</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor accepting a pointer to a PP_FloatPoint and converting the PP_Point to a <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a>. </p>
+<p>This is an implicit conversion constructor.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">point</td><td>A PP_FloatPoint. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ab41958133c5b48f6002ad9bffdad46c0"></a><!-- doxytag: member="pp::FloatPoint::~FloatPoint" ref="ab41958133c5b48f6002ad9bffdad46c0" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_float_point.html#ab41958133c5b48f6002ad9bffdad46c0">pp::FloatPoint::~FloatPoint</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Destructor. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="adfa14cbb4f94c3133e4bce72f93570bf"></a><!-- doxytag: member="pp::FloatPoint::operator PP_FloatPoint" ref="adfa14cbb4f94c3133e4bce72f93570bf" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">pp::FloatPoint::operator PP_FloatPoint </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A function allowing implicit conversion of a <a class="el" href="classpp_1_1_float_point.html" title="A 2 dimensional floating-point point with 0,0 being the upper-left starting coordinate.">FloatPoint</a> to a PP_FloatPoint. </p>
+</div>
+</div>
+<a class="anchor" id="a8aeaf7286bc04e7ff7f9d405fdfe614b"></a><!-- doxytag: member="pp::FloatPoint::operator+" ref="a8aeaf7286bc04e7ff7f9d405fdfe614b" args="(const FloatPoint &other) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> pp::FloatPoint::operator+ </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Adds two Points (this and other) together by adding their x values and y values. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A new <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> containing the result. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a15985b03ca98d65bdf300dc3d12ca57a"></a><!-- doxytag: member="pp::FloatPoint::operator+=" ref="a15985b03ca98d65bdf300dc3d12ca57a" args="(const FloatPoint &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_float_point.html">FloatPoint</a>& pp::FloatPoint::operator+= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Adds two Points (this and other) together by adding their x and y values. </p>
+<p>Returns this point as the result.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>This <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> containing the result. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2ae33c7eb2dbc4a8d366db080f3a136b"></a><!-- doxytag: member="pp::FloatPoint::operator-" ref="a2ae33c7eb2dbc4a8d366db080f3a136b" args="(const FloatPoint &other) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> pp::FloatPoint::operator- </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Subtracts one <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> from another <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> by subtracting their x values and y values. </p>
+<p>Returns a new point with the result.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A <a class="el" href="classpp_1_1_float_point.html" title="A 2 dimensional floating-point point with 0,0 being the upper-left starting coordinate.">FloatPoint</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A new <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> containing the result. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a419049446659935f8bfe3e47d33b752b"></a><!-- doxytag: member="pp::FloatPoint::operator-=" ref="a419049446659935f8bfe3e47d33b752b" args="(const FloatPoint &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_float_point.html">FloatPoint</a>& pp::FloatPoint::operator-= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Subtracts one <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> from another <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> by subtracting their x values and y values. </p>
+<p>Returns this point as the result.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>This <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> containing the result. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a74112618552ed91f200794127bf64eea"></a><!-- doxytag: member="pp::FloatPoint::pp_float_point" ref="a74112618552ed91f200794127bf64eea" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">const PP_FloatPoint& <a class="el" href="classpp_1_1_float_point.html#a74112618552ed91f200794127bf64eea">pp::FloatPoint::pp_float_point</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the internal PP_FloatPoint struct. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A const reference to the internal PP_FloatPoint struct. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a75ab7bd430e1f5edb00d9976061898ed"></a><!-- doxytag: member="pp::FloatPoint::pp_float_point" ref="a75ab7bd430e1f5edb00d9976061898ed" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_FloatPoint& <a class="el" href="classpp_1_1_float_point.html#a74112618552ed91f200794127bf64eea">pp::FloatPoint::pp_float_point</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the internal PP_Point struct. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A mutable reference to the PP_Point struct. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a276b372b82ea3cd0021017ba4a002838"></a><!-- doxytag: member="pp::FloatPoint::set_x" ref="a276b372b82ea3cd0021017ba4a002838" args="(float in_x)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_float_point.html#a276b372b82ea3cd0021017ba4a002838">pp::FloatPoint::set_x</a> </td>
+<td>(</td>
+<td class="paramtype">float </td>
+<td class="paramname"><em>in_x</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Setter function for setting the value of x. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">in_x</td><td>A new x value. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="abdb8eeb5c2aa051e6776ae2967fc6d40"></a><!-- doxytag: member="pp::FloatPoint::set_y" ref="abdb8eeb5c2aa051e6776ae2967fc6d40" args="(float in_y)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_float_point.html#abdb8eeb5c2aa051e6776ae2967fc6d40">pp::FloatPoint::set_y</a> </td>
+<td>(</td>
+<td class="paramtype">float </td>
+<td class="paramname"><em>in_y</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Setter function for setting the value of y. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">in_y</td><td>A new y value. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a138f26f94ed5a97e1ee083e65eb101bf"></a><!-- doxytag: member="pp::FloatPoint::swap" ref="a138f26f94ed5a97e1ee083e65eb101bf" args="(FloatPoint &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_float_point.html#a138f26f94ed5a97e1ee083e65eb101bf">pp::FloatPoint::swap</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Swaps the coordinates of two Points. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a9109ddb0920cf0eeb7ace3b40a95dc17"></a><!-- doxytag: member="pp::FloatPoint::x" ref="a9109ddb0920cf0eeb7ace3b40a95dc17" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="classpp_1_1_float_point.html#a9109ddb0920cf0eeb7ace3b40a95dc17">pp::FloatPoint::x</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the value of x. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The value of x for this <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ac8bcb2ac55fa5fcf89a7b61369eeed2b"></a><!-- doxytag: member="pp::FloatPoint::y" ref="ac8bcb2ac55fa5fcf89a7b61369eeed2b" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="classpp_1_1_float_point.html#ac8bcb2ac55fa5fcf89a7b61369eeed2b">pp::FloatPoint::y</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the value of y. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The value of y for this <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="point_8h.html">point.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_fullscreen-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_fullscreen-members.html
new file mode 100644
index 0000000..63e626c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_fullscreen-members.html
@@ -0,0 +1,18 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_fullscreen.html">pp::Fullscreen</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_fullscreen.html#a3c3655d21fbef531a3eec82f9eb2115b">Fullscreen</a>(const InstanceHandle &instance)</td><td><a class="el" href="classpp_1_1_fullscreen.html">pp::Fullscreen</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_fullscreen.html#a6bc430c1d41a7696194374d05d8eee41">GetScreenSize</a>(Size *size)</td><td><a class="el" href="classpp_1_1_fullscreen.html">pp::Fullscreen</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_fullscreen.html#a555c0d2c2fc120cfac925a62cc8a7345">IsFullscreen</a>()</td><td><a class="el" href="classpp_1_1_fullscreen.html">pp::Fullscreen</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_fullscreen.html#a2c316cb6ebe4552df661aeea88e6f365">SetFullscreen</a>(bool fullscreen)</td><td><a class="el" href="classpp_1_1_fullscreen.html">pp::Fullscreen</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_fullscreen.html#a4d73ff65edc8ef8f802f5a932e5081e8">~Fullscreen</a>()</td><td><a class="el" href="classpp_1_1_fullscreen.html">pp::Fullscreen</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_fullscreen.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_fullscreen.html
new file mode 100644
index 0000000..2b04863
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_fullscreen.html
@@ -0,0 +1,137 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::Fullscreen Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::Fullscreen" -->
+<p><a href="classpp_1_1_fullscreen-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_fullscreen.html#a3c3655d21fbef531a3eec82f9eb2115b">Fullscreen</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_fullscreen.html#a4d73ff65edc8ef8f802f5a932e5081e8">~Fullscreen</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_fullscreen.html#a555c0d2c2fc120cfac925a62cc8a7345">IsFullscreen</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_fullscreen.html#a2c316cb6ebe4552df661aeea88e6f365">SetFullscreen</a> (bool fullscreen)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_fullscreen.html#a6bc430c1d41a7696194374d05d8eee41">GetScreenSize</a> (<a class="el" href="classpp_1_1_size.html">Size</a> *size)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <a class="el" href="classpp_1_1_fullscreen.html" title="The Fullscreen class allowing you to check and toggle fullscreen mode.">Fullscreen</a> class allowing you to check and toggle fullscreen mode. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a3c3655d21fbef531a3eec82f9eb2115b"></a><!-- doxytag: member="pp::Fullscreen::Fullscreen" ref="a3c3655d21fbef531a3eec82f9eb2115b" args="(const InstanceHandle &instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_fullscreen.html#a3c3655d21fbef531a3eec82f9eb2115b">pp::Fullscreen::Fullscreen</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor for creating a <code><a class="el" href="classpp_1_1_fullscreen.html" title="The Fullscreen class allowing you to check and toggle fullscreen mode.">Fullscreen</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a4d73ff65edc8ef8f802f5a932e5081e8"></a><!-- doxytag: member="pp::Fullscreen::~Fullscreen" ref="a4d73ff65edc8ef8f802f5a932e5081e8" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_fullscreen.html#a4d73ff65edc8ef8f802f5a932e5081e8">pp::Fullscreen::~Fullscreen</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Destructor. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a6bc430c1d41a7696194374d05d8eee41"></a><!-- doxytag: member="pp::Fullscreen::GetScreenSize" ref="a6bc430c1d41a7696194374d05d8eee41" args="(Size *size)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_fullscreen.html#a6bc430c1d41a7696194374d05d8eee41">pp::Fullscreen::GetScreenSize</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="classpp_1_1_size.html">Size</a> * </td>
+<td class="paramname"><em>size</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_fullscreen.html#a6bc430c1d41a7696194374d05d8eee41" title="GetScreenSize() gets the size of the screen in pixels.">GetScreenSize()</a> gets the size of the screen in pixels. </p>
+<p>The module instance will be resized to this size when <a class="el" href="classpp_1_1_fullscreen.html#a2c316cb6ebe4552df661aeea88e6f365" title="SetFullscreen() switches the module instance to and from fullscreen mode.">SetFullscreen()</a> is called to enter fullscreen mode.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[out]</td><td class="paramname">size</td><td>The size of the entire screen in pixels.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> on success or <code>false</code> on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a555c0d2c2fc120cfac925a62cc8a7345"></a><!-- doxytag: member="pp::Fullscreen::IsFullscreen" ref="a555c0d2c2fc120cfac925a62cc8a7345" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_fullscreen.html#a555c0d2c2fc120cfac925a62cc8a7345">pp::Fullscreen::IsFullscreen</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_fullscreen.html#a555c0d2c2fc120cfac925a62cc8a7345" title="IsFullscreen() checks whether the module instance is currently in fullscreen mode.">IsFullscreen()</a> checks whether the module instance is currently in fullscreen mode. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if the module instance is in fullscreen mode, <code>false</code> if the module instance is not in fullscreen mode. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2c316cb6ebe4552df661aeea88e6f365"></a><!-- doxytag: member="pp::Fullscreen::SetFullscreen" ref="a2c316cb6ebe4552df661aeea88e6f365" args="(bool fullscreen)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_fullscreen.html#a2c316cb6ebe4552df661aeea88e6f365">pp::Fullscreen::SetFullscreen</a> </td>
+<td>(</td>
+<td class="paramtype">bool </td>
+<td class="paramname"><em>fullscreen</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_fullscreen.html#a2c316cb6ebe4552df661aeea88e6f365" title="SetFullscreen() switches the module instance to and from fullscreen mode.">SetFullscreen()</a> switches the module instance to and from fullscreen mode. </p>
+<p>The transition to and from fullscreen mode is asynchronous. During the transition, <a class="el" href="classpp_1_1_fullscreen.html#a555c0d2c2fc120cfac925a62cc8a7345" title="IsFullscreen() checks whether the module instance is currently in fullscreen mode.">IsFullscreen()</a> will return the previous value and no 2D or 3D device can be bound. The transition ends at DidChangeView() when <a class="el" href="classpp_1_1_fullscreen.html#a555c0d2c2fc120cfac925a62cc8a7345" title="IsFullscreen() checks whether the module instance is currently in fullscreen mode.">IsFullscreen()</a> returns the new value. You might receive other DidChangeView() calls while in transition.</p>
+<p>The transition to fullscreen mode can only occur while the browser is processing a user gesture, even if <code>true</code> is returned.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">fullscreen</td><td><code>true</code> to enter fullscreen mode, or <code>false</code> to exit fullscreen mode.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> on success or <code>false</code> on failure. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="fullscreen_8h.html">fullscreen.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_graphics2_d-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_graphics2_d-members.html
new file mode 100644
index 0000000..28cb3c0
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_graphics2_d-members.html
@@ -0,0 +1,37 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_graphics2_d.html">pp::Graphics2D</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics2_d.html#a3c1e23ad48ad62860a125d471b7664a4">Flush</a>(const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_graphics2_d.html">pp::Graphics2D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics2_d.html#a5b927eaabdd78b1a0094aa1a3695bae2">GetScale</a>()</td><td><a class="el" href="classpp_1_1_graphics2_d.html">pp::Graphics2D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics2_d.html#aef2cf8f0798d4980309f9bc888a73463">Graphics2D</a>()</td><td><a class="el" href="classpp_1_1_graphics2_d.html">pp::Graphics2D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics2_d.html#a144e483e91d77dd7314698a87d57c7ca">Graphics2D</a>(const Graphics2D &other)</td><td><a class="el" href="classpp_1_1_graphics2_d.html">pp::Graphics2D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics2_d.html#a193584685783cfcf3ab4bd01a5ca6e14">Graphics2D</a>(const InstanceHandle &instance, const Size &size, bool is_always_opaque)</td><td><a class="el" href="classpp_1_1_graphics2_d.html">pp::Graphics2D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics2_d.html#ad19b4539e1c1fdacc6ff41383b6cd3ba">operator=</a>(const Graphics2D &other)</td><td><a class="el" href="classpp_1_1_graphics2_d.html">pp::Graphics2D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">pp::Resource::operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics2_d.html#ab61e3018d1f5c4301f71ad0001d3ad8e">PaintImageData</a>(const ImageData &image, const Point &top_left)</td><td><a class="el" href="classpp_1_1_graphics2_d.html">pp::Graphics2D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics2_d.html#af779f51bfb0c4064535ea91b2470ddc7">PaintImageData</a>(const ImageData &image, const Point &top_left, const Rect &src_rect)</td><td><a class="el" href="classpp_1_1_graphics2_d.html">pp::Graphics2D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics2_d.html#a73185e278ea87d33cfec2f00a56314d9">ReplaceContents</a>(ImageData *image)</td><td><a class="el" href="classpp_1_1_graphics2_d.html">pp::Graphics2D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics2_d.html#a6a4256bb84cab71909821699d7aea369">Scroll</a>(const Rect &clip, const Point &amount)</td><td><a class="el" href="classpp_1_1_graphics2_d.html">pp::Graphics2D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics2_d.html#a96a91958227a7e42a829033241fac6b1">SetScale</a>(float scale)</td><td><a class="el" href="classpp_1_1_graphics2_d.html">pp::Graphics2D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics2_d.html#ad623f80db2c0cc679619303a0c0b9eff">size</a>() const </td><td><a class="el" href="classpp_1_1_graphics2_d.html">pp::Graphics2D</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics2_d.html#aa40a889094d345add38f16d559ae0ebd">~Graphics2D</a>()</td><td><a class="el" href="classpp_1_1_graphics2_d.html">pp::Graphics2D</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_graphics2_d.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_graphics2_d.html
new file mode 100644
index 0000000..17deb301
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_graphics2_d.html
@@ -0,0 +1,406 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::Graphics2D Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::Graphics2D" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::Graphics2D:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_graphics2_d__inherit__graph.png" border="0" usemap="#pp_1_1_graphics2_d_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_graphics2_d_inherit__map" id="pp_1_1_graphics2_d_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="13,5,117,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_graphics2_d-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics2_d.html#aef2cf8f0798d4980309f9bc888a73463">Graphics2D</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics2_d.html#a144e483e91d77dd7314698a87d57c7ca">Graphics2D</a> (const <a class="el" href="classpp_1_1_graphics2_d.html">Graphics2D</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics2_d.html#a193584685783cfcf3ab4bd01a5ca6e14">Graphics2D</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, const <a class="el" href="classpp_1_1_size.html">Size</a> &<a class="el" href="classpp_1_1_graphics2_d.html#ad623f80db2c0cc679619303a0c0b9eff">size</a>, bool is_always_opaque)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics2_d.html#aa40a889094d345add38f16d559ae0ebd">~Graphics2D</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_graphics2_d.html">Graphics2D</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics2_d.html#ad19b4539e1c1fdacc6ff41383b6cd3ba">operator=</a> (const <a class="el" href="classpp_1_1_graphics2_d.html">Graphics2D</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classpp_1_1_size.html">Size</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics2_d.html#ad623f80db2c0cc679619303a0c0b9eff">size</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics2_d.html#ab61e3018d1f5c4301f71ad0001d3ad8e">PaintImageData</a> (const <a class="el" href="classpp_1_1_image_data.html">ImageData</a> &image, const <a class="el" href="classpp_1_1_point.html">Point</a> &top_left)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics2_d.html#af779f51bfb0c4064535ea91b2470ddc7">PaintImageData</a> (const <a class="el" href="classpp_1_1_image_data.html">ImageData</a> &image, const <a class="el" href="classpp_1_1_point.html">Point</a> &top_left, const <a class="el" href="classpp_1_1_rect.html">Rect</a> &src_rect)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics2_d.html#a6a4256bb84cab71909821699d7aea369">Scroll</a> (const <a class="el" href="classpp_1_1_rect.html">Rect</a> &clip, const <a class="el" href="classpp_1_1_point.html">Point</a> &amount)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics2_d.html#a73185e278ea87d33cfec2f00a56314d9">ReplaceContents</a> (<a class="el" href="classpp_1_1_image_data.html">ImageData</a> *image)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics2_d.html#a3c1e23ad48ad62860a125d471b7664a4">Flush</a> (const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics2_d.html#a96a91958227a7e42a829033241fac6b1">SetScale</a> (float scale)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics2_d.html#a5b927eaabdd78b1a0094aa1a3695bae2">GetScale</a> ()</td></tr>
+</table>
+<hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="aef2cf8f0798d4980309f9bc888a73463"></a><!-- doxytag: member="pp::Graphics2D::Graphics2D" ref="aef2cf8f0798d4980309f9bc888a73463" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_graphics2_d.html#aef2cf8f0798d4980309f9bc888a73463">pp::Graphics2D::Graphics2D</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor for creating an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> <code><a class="el" href="classpp_1_1_graphics2_d.html">Graphics2D</a></code> object. </p>
+</div>
+</div>
+<a class="anchor" id="a144e483e91d77dd7314698a87d57c7ca"></a><!-- doxytag: member="pp::Graphics2D::Graphics2D" ref="a144e483e91d77dd7314698a87d57c7ca" args="(const Graphics2D &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_graphics2_d.html#aef2cf8f0798d4980309f9bc888a73463">pp::Graphics2D::Graphics2D</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_graphics2_d.html">Graphics2D</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The copy constructor for <a class="el" href="classpp_1_1_graphics2_d.html">Graphics2D</a>. </p>
+<p>The underlying 2D context is not copied; this constructor creates another reference to the original 2D context.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A pointer to a <code><a class="el" href="classpp_1_1_graphics2_d.html">Graphics2D</a></code> context. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a193584685783cfcf3ab4bd01a5ca6e14"></a><!-- doxytag: member="pp::Graphics2D::Graphics2D" ref="a193584685783cfcf3ab4bd01a5ca6e14" args="(const InstanceHandle &instance, const Size &size, bool is_always_opaque)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_graphics2_d.html#aef2cf8f0798d4980309f9bc888a73463">pp::Graphics2D::Graphics2D</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_size.html">Size</a> & </td>
+<td class="paramname"><em>size</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">bool </td>
+<td class="paramname"><em>is_always_opaque</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor allocating a new 2D graphics context with the given size in the browser, resulting object will be <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> if the allocation failed. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>The size of the 2D graphics context in the browser, measured in pixels. See <code><a class="el" href="classpp_1_1_graphics2_d.html#a96a91958227a7e42a829033241fac6b1" title="SetScale() sets the scale factor that will be applied when painting the graphics context onto the out...">SetScale()</a></code> for more information.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">is_always_opaque</td><td>Set the <code>is_always_opaque</code> flag to true if you know that you will be painting only opaque data to this context. This option will disable blending when compositing the module with the web page, which might give higher performance on some computers.</td></tr>
+</table>
+</dd>
+</dl>
+<p>If you set <code>is_always_opaque</code>, your alpha channel should always be set to 0xFF or there may be painting artifacts. The alpha values overwrite the destination alpha values without blending when <code>is_always_opaque</code> is true. </p>
+</div>
+</div>
+<a class="anchor" id="aa40a889094d345add38f16d559ae0ebd"></a><!-- doxytag: member="pp::Graphics2D::~Graphics2D" ref="aa40a889094d345add38f16d559ae0ebd" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_graphics2_d.html#aa40a889094d345add38f16d559ae0ebd">pp::Graphics2D::~Graphics2D</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A destructor that decrements the reference count of a <code><a class="el" href="classpp_1_1_graphics2_d.html">Graphics2D</a></code> object made using the previous copy constructor. </p>
+<p>It is possible that the destructor does not totally destroy the underlying 2D context if there are outstanding references to it. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a3c1e23ad48ad62860a125d471b7664a4"></a><!-- doxytag: member="pp::Graphics2D::Flush" ref="a3c1e23ad48ad62860a125d471b7664a4" args="(const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_graphics2_d.html#a3c1e23ad48ad62860a125d471b7664a4">pp::Graphics2D::Flush</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_graphics2_d.html#a3c1e23ad48ad62860a125d471b7664a4" title="Flush() flushes any enqueued paint, scroll, and replace commands to the backing store.">Flush()</a> flushes any enqueued paint, scroll, and replace commands to the backing store. </p>
+<p>This actually executes the updates, and causes a repaint of the webpage, assuming this graphics context is bound to a module instance.</p>
+<p><a class="el" href="classpp_1_1_graphics2_d.html#a3c1e23ad48ad62860a125d471b7664a4" title="Flush() flushes any enqueued paint, scroll, and replace commands to the backing store.">Flush()</a> runs in asynchronous mode. Specify a callback function and the argument for that callback function. The callback function will be executed on the calling thread when the image has been painted to the screen. While you are waiting for a <code>Flush</code> callback, additional calls to <a class="el" href="classpp_1_1_graphics2_d.html#a3c1e23ad48ad62860a125d471b7664a4" title="Flush() flushes any enqueued paint, scroll, and replace commands to the backing store.">Flush()</a> will fail.</p>
+<p>Because the callback is executed (or thread unblocked) only when the module's image is actually on the screen, this function provides a way to rate limit animations. By waiting until the image is on the screen before painting the next frame, you can ensure you're not flushing 2D graphics faster than the screen can be updated.</p>
+<p><b>Unbound contexts</b> If the context is not bound to a module instance, you will still get a callback. The callback will execute after <a class="el" href="classpp_1_1_graphics2_d.html#a3c1e23ad48ad62860a125d471b7664a4" title="Flush() flushes any enqueued paint, scroll, and replace commands to the backing store.">Flush()</a> returns to avoid reentrancy. The callback will not wait until anything is painted to the screen because there will be nothing on the screen. The timing of this callback is not guaranteed and may be deprioritized by the browser because it is not affecting the user experience.</p>
+<p><b>Off-screen instances</b> If the context is bound to an instance that is currently not visible (for example, scrolled out of view) it will behave like the "unbound context" case.</p>
+<p><b>Detaching a context</b> If you detach a context from a module instance, any pending flush callbacks will be converted into the "unbound context" case.</p>
+<p><b>Released contexts</b> A callback may or may not still get called even if you have released all of your references to the context. This can occur if there are internal references to the context that means it has not been internally destroyed (for example, if it is still bound to an instance) or due to other implementation details. As a result, you should be careful to check that flush callbacks are for the context you expect and that you're capable of handling callbacks for context that you may have released your reference to.</p>
+<p><b>Shutdown</b> If a module instance is removed when a Flush is pending, the callback will not be executed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called when the image has been painted on the screen.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>PP_OK</code> on success or <code>PP_ERROR_BADRESOURCE</code> if the graphics context is invalid, <code>PP_ERROR_BADARGUMENT</code> if the callback is null and flush is being called from the main thread of the module, or <code>PP_ERROR_INPROGRESS</code> if a flush is already pending that has not issued its callback yet. In the failure case, nothing will be updated and no callback will be scheduled. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a5b927eaabdd78b1a0094aa1a3695bae2"></a><!-- doxytag: member="pp::Graphics2D::GetScale" ref="a5b927eaabdd78b1a0094aa1a3695bae2" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="classpp_1_1_graphics2_d.html#a5b927eaabdd78b1a0094aa1a3695bae2">pp::Graphics2D::GetScale</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_graphics2_d.html#a5b927eaabdd78b1a0094aa1a3695bae2" title="GetScale() gets the scale factor that will be applied when painting the graphics context onto the out...">GetScale()</a> gets the scale factor that will be applied when painting the graphics context onto the output device. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the scale factor for the graphics context. If the resource is invalid, 0.0 will be returned. The default scale for a graphics context is 1.0. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ad19b4539e1c1fdacc6ff41383b6cd3ba"></a><!-- doxytag: member="pp::Graphics2D::operator=" ref="ad19b4539e1c1fdacc6ff41383b6cd3ba" args="(const Graphics2D &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_graphics2_d.html">Graphics2D</a>& pp::Graphics2D::operator= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_graphics2_d.html">Graphics2D</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function assigns one 2D graphics context to this 2D graphics context. </p>
+<p>This function increases the reference count of the 2D resource of the other 2D graphics context while decrementing the reference counter of this 2D graphics context.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>An other 2D graphics context.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A new <a class="el" href="classpp_1_1_graphics2_d.html">Graphics2D</a> context. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab61e3018d1f5c4301f71ad0001d3ad8e"></a><!-- doxytag: member="pp::Graphics2D::PaintImageData" ref="ab61e3018d1f5c4301f71ad0001d3ad8e" args="(const ImageData &image, const Point &top_left)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_graphics2_d.html#ab61e3018d1f5c4301f71ad0001d3ad8e">pp::Graphics2D::PaintImageData</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_image_data.html">ImageData</a> & </td>
+<td class="paramname"><em>image</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">Point</a> & </td>
+<td class="paramname"><em>top_left</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_graphics2_d.html#ab61e3018d1f5c4301f71ad0001d3ad8e" title="PaintImageData() enqueues a paint command of the given image into the context.">PaintImageData()</a> enqueues a paint command of the given image into the context. </p>
+<p>This command has no effect until you call <a class="el" href="classpp_1_1_graphics2_d.html#a3c1e23ad48ad62860a125d471b7664a4" title="Flush() flushes any enqueued paint, scroll, and replace commands to the backing store.">Flush()</a>. As a result, what counts is the contents of the bitmap when you call Flush, not when you call this function.</p>
+<p>The provided image will be placed at <code>top_left</code> from the top left of the context's internal backing store. This version of PaintImageData paints the entire image. Refer to the other version of this function to paint only part of the area.</p>
+<p>The painted area of the source bitmap must fall entirely within the context. Attempting to paint outside of the context will result in an error.</p>
+<p>There are two methods most modules will use for painting. The first method is to generate a new <code><a class="el" href="classpp_1_1_image_data.html">ImageData</a></code> and then paint it. In this case, you'll set the location of your painting to <code>top_left</code> and set <code>src_rect</code> to <code>NULL</code>. The second is that you're generating small invalid regions out of a larger bitmap representing your entire module's image.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">image</td><td>The <code><a class="el" href="classpp_1_1_image_data.html">ImageData</a></code> to be painted. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">top_left</td><td>A <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code> representing the <code>top_left</code> location where the <code><a class="el" href="classpp_1_1_image_data.html">ImageData</a></code> will be painted. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="af779f51bfb0c4064535ea91b2470ddc7"></a><!-- doxytag: member="pp::Graphics2D::PaintImageData" ref="af779f51bfb0c4064535ea91b2470ddc7" args="(const ImageData &image, const Point &top_left, const Rect &src_rect)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_graphics2_d.html#ab61e3018d1f5c4301f71ad0001d3ad8e">pp::Graphics2D::PaintImageData</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_image_data.html">ImageData</a> & </td>
+<td class="paramname"><em>image</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">Point</a> & </td>
+<td class="paramname"><em>top_left</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">Rect</a> & </td>
+<td class="paramname"><em>src_rect</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_graphics2_d.html#ab61e3018d1f5c4301f71ad0001d3ad8e" title="PaintImageData() enqueues a paint command of the given image into the context.">PaintImageData()</a> enqueues a paint command of the given image into the context. </p>
+<p>This command has no effect until you call <a class="el" href="classpp_1_1_graphics2_d.html#a3c1e23ad48ad62860a125d471b7664a4" title="Flush() flushes any enqueued paint, scroll, and replace commands to the backing store.">Flush()</a>. As a result, what counts is the contents of the bitmap when you call <a class="el" href="classpp_1_1_graphics2_d.html#a3c1e23ad48ad62860a125d471b7664a4" title="Flush() flushes any enqueued paint, scroll, and replace commands to the backing store.">Flush()</a>, not when you call this function.</p>
+<p>The provided image will be placed at <code>top_left</code> from the top left of the context's internal backing store. Then the pixels contained in <code>src_rect</code> will be copied into the backing store. This means that the rectangle being painted will be at <code>src_rect</code> offset by <code>top_left</code>.</p>
+<p>The <code>src_rect</code> is specified in the coordinate system of the image being painted, not the context. For the common case of copying the entire image, you may specify an empty <code>src_rect</code>.</p>
+<p>The painted area of the source bitmap must fall entirely within the context. Attempting to paint outside of the context will result in an error. However, the source bitmap may fall outside the context, as long as the <code>src_rect</code> subset of it falls entirely within the context.</p>
+<p>There are two methods most modules will use for painting. The first method is to generate a new <code><a class="el" href="classpp_1_1_image_data.html">ImageData</a></code> and then paint it. In this case, you'll set the location of your painting to <code>top_left</code> and set <code>src_rect</code> to <code>NULL</code>. The second is that you're generating small invalid regions out of a larger bitmap representing your entire module. In this case, you would set the location of your image to (0,0) and then set <code>src_rect</code> to the pixels you changed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">image</td><td>The <code><a class="el" href="classpp_1_1_image_data.html">ImageData</a></code> to be painted. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">top_left</td><td>A <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code> representing the <code>top_left</code> location where the <code><a class="el" href="classpp_1_1_image_data.html">ImageData</a></code> will be painted. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">src_rect</td><td>The rectangular area where the <code><a class="el" href="classpp_1_1_image_data.html">ImageData</a></code> will be painted. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a73185e278ea87d33cfec2f00a56314d9"></a><!-- doxytag: member="pp::Graphics2D::ReplaceContents" ref="a73185e278ea87d33cfec2f00a56314d9" args="(ImageData *image)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_graphics2_d.html#a73185e278ea87d33cfec2f00a56314d9">pp::Graphics2D::ReplaceContents</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="classpp_1_1_image_data.html">ImageData</a> * </td>
+<td class="paramname"><em>image</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_graphics2_d.html#a73185e278ea87d33cfec2f00a56314d9" title="ReplaceContents() provides a slightly more efficient way to paint the entire module's image...">ReplaceContents()</a> provides a slightly more efficient way to paint the entire module's image. </p>
+<p>Normally, calling <a class="el" href="classpp_1_1_graphics2_d.html#ab61e3018d1f5c4301f71ad0001d3ad8e" title="PaintImageData() enqueues a paint command of the given image into the context.">PaintImageData()</a> requires that the browser copy the pixels out of the image and into the graphics context's backing store. This function replaces the graphics context's backing store with the given image, avoiding the copy.</p>
+<p>The new image must be the exact same size as this graphics context. If the new image uses a different image format than the browser's native bitmap format (use <a class="el" href="classpp_1_1_image_data.html#a4208e7eabf98df7b91c01ed6fcd92425" title="GetNativeImageDataFormat() determines the browser's preferred format for images.">ImageData::GetNativeImageDataFormat()</a> to retrieve the format), then a conversion will be done inside the browser which may slow the performance a little bit.</p>
+<p><b>Note:</b> The new image will not be painted until you call <a class="el" href="classpp_1_1_graphics2_d.html#a3c1e23ad48ad62860a125d471b7664a4" title="Flush() flushes any enqueued paint, scroll, and replace commands to the backing store.">Flush()</a>.</p>
+<p>After this call, you should take care to release your references to the image. If you paint to the image after <a class="el" href="classpp_1_1_graphics2_d.html#a73185e278ea87d33cfec2f00a56314d9" title="ReplaceContents() provides a slightly more efficient way to paint the entire module's image...">ReplaceContents()</a>, there is the possibility of significant painting artifacts because the page might use partially-rendered data when copying out of the backing store.</p>
+<p>In the case of an animation, you will want to allocate a new image for the next frame. It is best if you wait until the flush callback has executed before allocating this bitmap. This gives the browser the option of caching the previous backing store and handing it back to you (assuming the sizes match). In the optimal case, this means no bitmaps are allocated during the animation, and the backing store and "front buffer" (which the module is painting into) are just being swapped back and forth.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">image</td><td>The <code><a class="el" href="classpp_1_1_image_data.html">ImageData</a></code> to be painted. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a6a4256bb84cab71909821699d7aea369"></a><!-- doxytag: member="pp::Graphics2D::Scroll" ref="a6a4256bb84cab71909821699d7aea369" args="(const Rect &clip, const Point &amount)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_graphics2_d.html#a6a4256bb84cab71909821699d7aea369">pp::Graphics2D::Scroll</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">Rect</a> & </td>
+<td class="paramname"><em>clip</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">Point</a> & </td>
+<td class="paramname"><em>amount</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_graphics2_d.html#a6a4256bb84cab71909821699d7aea369" title="Scroll() enqueues a scroll of the context's backing store.">Scroll()</a> enqueues a scroll of the context's backing store. </p>
+<p>This function has no effect until you call <a class="el" href="classpp_1_1_graphics2_d.html#a3c1e23ad48ad62860a125d471b7664a4" title="Flush() flushes any enqueued paint, scroll, and replace commands to the backing store.">Flush()</a>. The data within the provided clipping rectangle will be shifted by (dx, dy) pixels.</p>
+<p>This function will result in some exposed region which will have undefined contents. The module should call <a class="el" href="classpp_1_1_graphics2_d.html#ab61e3018d1f5c4301f71ad0001d3ad8e" title="PaintImageData() enqueues a paint command of the given image into the context.">PaintImageData()</a> on these exposed regions to give the correct contents.</p>
+<p>The scroll can be larger than the area of the clipping rectangle, which means the current image will be scrolled out of the rectangle. This scenario is not an error but will result in a no-op.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">clip</td><td>The clipping rectangle. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">amount</td><td>The amount the area in the clipping rectangle will shifted. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a96a91958227a7e42a829033241fac6b1"></a><!-- doxytag: member="pp::Graphics2D::SetScale" ref="a96a91958227a7e42a829033241fac6b1" args="(float scale)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_graphics2_d.html#a96a91958227a7e42a829033241fac6b1">pp::Graphics2D::SetScale</a> </td>
+<td>(</td>
+<td class="paramtype">float </td>
+<td class="paramname"><em>scale</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_graphics2_d.html#a96a91958227a7e42a829033241fac6b1" title="SetScale() sets the scale factor that will be applied when painting the graphics context onto the out...">SetScale()</a> sets the scale factor that will be applied when painting the graphics context onto the output device. </p>
+<p>Typically, if rendering at device resolution is desired, the context would be created with the width and height scaled up by the view's GetDeviceScale and SetScale called with a scale of 1.0 / GetDeviceScale(). For example, if the view resource passed to DidChangeView has a rectangle of (w=200, h=100) and a device scale of 2.0, one would call Create with a size of (w=400, h=200) and then call SetScale with 0.5. One would then treat each pixel in the context as a single device pixel.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">scale</td><td>The scale to apply when painting.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>true</code> on success or <code>false</code> if the resource is invalid or the scale factor is 0 or less. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ad623f80db2c0cc679619303a0c0b9eff"></a><!-- doxytag: member="pp::Graphics2D::size" ref="ad623f80db2c0cc679619303a0c0b9eff" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">const <a class="el" href="classpp_1_1_size.html">Size</a>& <a class="el" href="classpp_1_1_graphics2_d.html#ad623f80db2c0cc679619303a0c0b9eff">pp::Graphics2D::size</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning size of the 2D graphics context. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The size of the 2D graphics context measured in pixels. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="graphics__2d_8h.html">graphics_2d.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_graphics2_d__inherit__graph.png b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_graphics2_d__inherit__graph.png
new file mode 100644
index 0000000..38b0ab2
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_graphics2_d__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_graphics3_d-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_graphics3_d-members.html
new file mode 100644
index 0000000..2ad046b
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_graphics3_d-members.html
@@ -0,0 +1,32 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_graphics3_d.html">pp::Graphics3D</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics3_d.html#ae4527f4526a090c05ab7d9ce9fafb3de">GetAttribs</a>(int32_t attrib_list[]) const </td><td><a class="el" href="classpp_1_1_graphics3_d.html">pp::Graphics3D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics3_d.html#a36b6d8c818d0af11128d9522dd7f8bc2">Graphics3D</a>()</td><td><a class="el" href="classpp_1_1_graphics3_d.html">pp::Graphics3D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics3_d.html#a072a5e20977e193d02b2e509ad72d11e">Graphics3D</a>(const InstanceHandle &instance, const int32_t attrib_list[])</td><td><a class="el" href="classpp_1_1_graphics3_d.html">pp::Graphics3D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics3_d.html#a53586ebd53025ff6e1e0c4b89e471f68">Graphics3D</a>(const InstanceHandle &instance, const Graphics3D &share_context, const int32_t attrib_list[])</td><td><a class="el" href="classpp_1_1_graphics3_d.html">pp::Graphics3D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics3_d.html#a21b887529bdba99089ff3c1fa16d3d7c">ResizeBuffers</a>(int32_t width, int32_t height)</td><td><a class="el" href="classpp_1_1_graphics3_d.html">pp::Graphics3D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics3_d.html#a504e04ec5f21e324439fe8edc3622957">SetAttribs</a>(const int32_t attrib_list[])</td><td><a class="el" href="classpp_1_1_graphics3_d.html">pp::Graphics3D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics3_d.html#ae1d1c071bf2737ab310a32558ec5f507">SwapBuffers</a>(const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_graphics3_d.html">pp::Graphics3D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics3_d.html#a134128672575294aeb17c263189b9da0">~Graphics3D</a>()</td><td><a class="el" href="classpp_1_1_graphics3_d.html">pp::Graphics3D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_graphics3_d.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_graphics3_d.html
new file mode 100644
index 0000000..b012917b
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_graphics3_d.html
@@ -0,0 +1,280 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::Graphics3D Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::Graphics3D" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::Graphics3D:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_graphics3_d__inherit__graph.png" border="0" usemap="#pp_1_1_graphics3_d_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_graphics3_d_inherit__map" id="pp_1_1_graphics3_d_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="13,5,117,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_graphics3_d-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics3_d.html#a36b6d8c818d0af11128d9522dd7f8bc2">Graphics3D</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics3_d.html#a072a5e20977e193d02b2e509ad72d11e">Graphics3D</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, const int32_t attrib_list[])</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics3_d.html#a53586ebd53025ff6e1e0c4b89e471f68">Graphics3D</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, const <a class="el" href="classpp_1_1_graphics3_d.html">Graphics3D</a> &share_context, const int32_t attrib_list[])</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics3_d.html#a134128672575294aeb17c263189b9da0">~Graphics3D</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics3_d.html#ae4527f4526a090c05ab7d9ce9fafb3de">GetAttribs</a> (int32_t attrib_list[]) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics3_d.html#a504e04ec5f21e324439fe8edc3622957">SetAttribs</a> (const int32_t attrib_list[])</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics3_d.html#a21b887529bdba99089ff3c1fa16d3d7c">ResizeBuffers</a> (int32_t width, int32_t height)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics3_d.html#ae1d1c071bf2737ab310a32558ec5f507">SwapBuffers</a> (const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This class represents a 3D rendering context in the browser. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a36b6d8c818d0af11128d9522dd7f8bc2"></a><!-- doxytag: member="pp::Graphics3D::Graphics3D" ref="a36b6d8c818d0af11128d9522dd7f8bc2" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_graphics3_d.html#a36b6d8c818d0af11128d9522dd7f8bc2">pp::Graphics3D::Graphics3D</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor for creating an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> <a class="el" href="classpp_1_1_graphics3_d.html" title="This class represents a 3D rendering context in the browser.">Graphics3D</a> object. </p>
+</div>
+</div>
+<a class="anchor" id="a072a5e20977e193d02b2e509ad72d11e"></a><!-- doxytag: member="pp::Graphics3D::Graphics3D" ref="a072a5e20977e193d02b2e509ad72d11e" args="(const InstanceHandle &instance, const int32_t attrib_list[])" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_graphics3_d.html#a36b6d8c818d0af11128d9522dd7f8bc2">pp::Graphics3D::Graphics3D</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const int32_t </td>
+<td class="paramname"><em>attrib_list</em>[] </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor for creating and initializing a 3D rendering context. </p>
+<p>The returned context is created off-screen and must be attached to a module instance using <code><a class="el" href="classpp_1_1_instance.html#a147a1c1817a7a1fb2b76f5c87ab08899" title="BindGraphics() binds the given graphics as the current display surface.">Instance::BindGraphics</a></code> to draw on the web page.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">attrib_list</td><td>The list of attributes (name=value pairs) for the context. The list is terminated with <code>PP_GRAPHICS3DATTRIB_NONE</code>. The <code>attrib_list</code> may be <code>NULL</code> or empty (first attribute is <code>PP_GRAPHICS3DATTRIB_NONE</code>). If an attribute is not specified in <code>attrib_list</code>, then the default value is used.</td></tr>
+</table>
+</dd>
+</dl>
+<p>Attributes are classified into two categories:</p>
+<p>1. AtLeast: The attribute value in the returned context will meet or exceed the value requested when creating the object. 2. Exact: The attribute value in the returned context is equal to the value requested when creating the object.</p>
+<p>AtLeast attributes are (all have default values of 0):</p>
+<p><code>PP_GRAPHICS3DATTRIB_ALPHA_SIZE</code> <code>PP_GRAPHICS3DATTRIB_BLUE_SIZE</code> <code>PP_GRAPHICS3DATTRIB_GREEN_SIZE</code> <code>PP_GRAPHICS3DATTRIB_RED_SIZE</code> <code>PP_GRAPHICS3DATTRIB_DEPTH_SIZE</code> <code>PP_GRAPHICS3DATTRIB_STENCIL_SIZE</code> <code>PP_GRAPHICS3DATTRIB_SAMPLES</code> <code>PP_GRAPHICS3DATTRIB_SAMPLE_BUFFERS</code></p>
+<p>Exact attributes are:</p>
+<p><code>PP_GRAPHICS3DATTRIB_WIDTH</code> Default 0 <code>PP_GRAPHICS3DATTRIB_HEIGHT</code> Default 0 <code>PP_GRAPHICS3DATTRIB_SWAP_BEHAVIOR</code> Default: Implementation defined.</p>
+<p>On failure, the object will be <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a>. </p>
+</div>
+</div>
+<a class="anchor" id="a53586ebd53025ff6e1e0c4b89e471f68"></a><!-- doxytag: member="pp::Graphics3D::Graphics3D" ref="a53586ebd53025ff6e1e0c4b89e471f68" args="(const InstanceHandle &instance, const Graphics3D &share_context, const int32_t attrib_list[])" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_graphics3_d.html#a36b6d8c818d0af11128d9522dd7f8bc2">pp::Graphics3D::Graphics3D</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_graphics3_d.html">Graphics3D</a> & </td>
+<td class="paramname"><em>share_context</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const int32_t </td>
+<td class="paramname"><em>attrib_list</em>[] </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor for creating and initializing a 3D rendering context. </p>
+<p>The returned context is created off-screen. It must be attached to a module instance using <code><a class="el" href="classpp_1_1_instance.html#a147a1c1817a7a1fb2b76f5c87ab08899" title="BindGraphics() binds the given graphics as the current display surface.">Instance::BindGraphics</a></code> to draw on the web page.</p>
+<p>This constructor is identical to the 2-argument version except that this version allows sharing of resources with another context.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance that will own the new <a class="el" href="classpp_1_1_graphics3_d.html" title="This class represents a 3D rendering context in the browser.">Graphics3D</a>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">share_context</td><td>Specifies the context with which all shareable data will be shared. The shareable data is defined by the client API (note that for OpenGL and OpenGL ES, shareable data excludes texture objects named 0). An arbitrary number of <a class="el" href="classpp_1_1_graphics3_d.html" title="This class represents a 3D rendering context in the browser.">Graphics3D</a> resources can share data in this fashion. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">attrib_list</td><td>The list of attributes for the context. See the 2-argument version of this constructor for more information.</td></tr>
+</table>
+</dd>
+</dl>
+<p>On failure, the object will be <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a>. </p>
+</div>
+</div>
+<a class="anchor" id="a134128672575294aeb17c263189b9da0"></a><!-- doxytag: member="pp::Graphics3D::~Graphics3D" ref="a134128672575294aeb17c263189b9da0" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_graphics3_d.html#a134128672575294aeb17c263189b9da0">pp::Graphics3D::~Graphics3D</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Destructor. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="ae4527f4526a090c05ab7d9ce9fafb3de"></a><!-- doxytag: member="pp::Graphics3D::GetAttribs" ref="ae4527f4526a090c05ab7d9ce9fafb3de" args="(int32_t attrib_list[]) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_graphics3_d.html#ae4527f4526a090c05ab7d9ce9fafb3de">pp::Graphics3D::GetAttribs</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>attrib_list</em>[]</td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_graphics3_d.html#ae4527f4526a090c05ab7d9ce9fafb3de" title="GetAttribs() retrieves the value for each attribute in attrib_list.">GetAttribs()</a> retrieves the value for each attribute in <code>attrib_list</code>. </p>
+<p>The list has the same structure as described for the constructor. All attribute values specified in <code>pp_graphics_3d.h</code> can be retrieved.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in,out]</td><td class="paramname">attrib_list</td><td>The list of attributes (name=value pairs) for the context. The list is terminated with <code>PP_GRAPHICS3DATTRIB_NONE</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<p>The following error codes may be returned on failure:</p>
+<p>PP_ERROR_BADRESOURCE if context is invalid. PP_ERROR_BADARGUMENT if <code>attrib_list</code> is NULL or any attribute in the <code>attrib_list</code> is not a valid attribute.</p>
+<p><b>Example:</b></p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">int</span> attrib_list[] = {PP_GRAPHICS3DATTRIB_RED_SIZE, 0,
+ PP_GRAPHICS3DATTRIB_GREEN_SIZE, 0,
+ PP_GRAPHICS3DATTRIB_BLUE_SIZE, 0,
+ PP_GRAPHICS3DATTRIB_NONE};
+ <a class="code" href="classpp_1_1_graphics3_d.html#ae4527f4526a090c05ab7d9ce9fafb3de" title="GetAttribs() retrieves the value for each attribute in attrib_list.">GetAttribs</a>(context, attrib_list);
+ <span class="keywordtype">int</span> red_bits = attrib_list[1];
+ <span class="keywordtype">int</span> green_bits = attrib_list[3];
+ <span class="keywordtype">int</span> blue_bits = attrib_list[5];
+</pre></div><p>This example retrieves the values for rgb bits in the color buffer. </p>
+</div>
+</div>
+<a class="anchor" id="a21b887529bdba99089ff3c1fa16d3d7c"></a><!-- doxytag: member="pp::Graphics3D::ResizeBuffers" ref="a21b887529bdba99089ff3c1fa16d3d7c" args="(int32_t width, int32_t height)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_graphics3_d.html#a21b887529bdba99089ff3c1fa16d3d7c">pp::Graphics3D::ResizeBuffers</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>width</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>height</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_graphics3_d.html#a21b887529bdba99089ff3c1fa16d3d7c" title="ResizeBuffers() resizes the backing surface for the context.">ResizeBuffers()</a> resizes the backing surface for the context. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">width</td><td>The width of the backing surface. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">height</td><td>The height of the backing surface.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing <code>PP_ERROR_BADRESOURCE</code> if context is invalid or <code>PP_ERROR_BADARGUMENT</code> if the value specified for width or height is less than zero. <code>PP_ERROR_NOMEMORY</code> might be returned on the next <a class="el" href="classpp_1_1_graphics3_d.html#ae1d1c071bf2737ab310a32558ec5f507" title="SwapBuffers() makes the contents of the color buffer available for compositing.">SwapBuffers()</a> callback if the surface could not be resized due to insufficient resources. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a504e04ec5f21e324439fe8edc3622957"></a><!-- doxytag: member="pp::Graphics3D::SetAttribs" ref="a504e04ec5f21e324439fe8edc3622957" args="(const int32_t attrib_list[])" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_graphics3_d.html#a504e04ec5f21e324439fe8edc3622957">pp::Graphics3D::SetAttribs</a> </td>
+<td>(</td>
+<td class="paramtype">const int32_t </td>
+<td class="paramname"><em>attrib_list</em>[]</td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_graphics3_d.html#a504e04ec5f21e324439fe8edc3622957" title="SetAttribs() sets the values for each attribute in attrib_list.">SetAttribs()</a> sets the values for each attribute in <code>attrib_list</code>. </p>
+<p>The list has the same structure as the list used in the constructors.</p>
+<p>Attributes that can be specified are:</p>
+<ul>
+<li>PP_GRAPHICS3DATTRIB_SWAP_BEHAVIOR</li>
+</ul>
+<p>On failure the following error codes may be returned:</p>
+<ul>
+<li>PP_ERROR_BADRESOURCE if context is invalid.</li>
+<li>PP_ERROR_BADARGUMENT if attrib_list is NULL or any attribute in the attrib_list is not a valid attribute. </li>
+</ul>
+</div>
+</div>
+<a class="anchor" id="ae1d1c071bf2737ab310a32558ec5f507"></a><!-- doxytag: member="pp::Graphics3D::SwapBuffers" ref="ae1d1c071bf2737ab310a32558ec5f507" args="(const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_graphics3_d.html#ae1d1c071bf2737ab310a32558ec5f507">pp::Graphics3D::SwapBuffers</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_graphics3_d.html#ae1d1c071bf2737ab310a32558ec5f507" title="SwapBuffers() makes the contents of the color buffer available for compositing.">SwapBuffers()</a> makes the contents of the color buffer available for compositing. </p>
+<p>This function has no effect on off-screen surfaces: surfaces not bound to any module instance. The contents of ancillary buffers are always undefined after calling <a class="el" href="classpp_1_1_graphics3_d.html#ae1d1c071bf2737ab310a32558ec5f507" title="SwapBuffers() makes the contents of the color buffer available for compositing.">SwapBuffers()</a>. The contents of the color buffer are undefined if the value of the <code>PP_GRAPHICS3DATTRIB_SWAP_BEHAVIOR</code> attribute of context is not <code>PP_GRAPHICS3DATTRIB_BUFFER_PRESERVED</code>.</p>
+<p><a class="el" href="classpp_1_1_graphics3_d.html#ae1d1c071bf2737ab310a32558ec5f507" title="SwapBuffers() makes the contents of the color buffer available for compositing.">SwapBuffers()</a> runs in asynchronous mode. Specify a callback function and the argument for that callback function. The callback function will be executed on the calling thread after the color buffer has been composited with rest of the html page. While you are waiting for a <a class="el" href="classpp_1_1_graphics3_d.html#ae1d1c071bf2737ab310a32558ec5f507" title="SwapBuffers() makes the contents of the color buffer available for compositing.">SwapBuffers()</a> callback, additional calls to <a class="el" href="classpp_1_1_graphics3_d.html#ae1d1c071bf2737ab310a32558ec5f507" title="SwapBuffers() makes the contents of the color buffer available for compositing.">SwapBuffers()</a> will fail.</p>
+<p>Because the callback is executed (or thread unblocked) only when the instance's current state is actually on the screen, this function provides a way to rate limit animations. By waiting until the image is on the screen before painting the next frame, you can ensure you're not generating updates faster than the screen can be updated.</p>
+<p><a class="el" href="classpp_1_1_graphics3_d.html#ae1d1c071bf2737ab310a32558ec5f507" title="SwapBuffers() makes the contents of the color buffer available for compositing.">SwapBuffers()</a> performs an implicit flush operation on context. If the context gets into an unrecoverable error condition while processing a command, the error code will be returned as the argument for the callback. The callback may return the following error codes:</p>
+<p><code>PP_ERROR_NOMEMORY</code> <code>PP_ERROR_CONTEXT_LOST</code></p>
+<p>Note that the same error code may also be obtained by calling GetError().</p>
+<p>param[in] cc A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion of <a class="el" href="classpp_1_1_graphics3_d.html#ae1d1c071bf2737ab310a32558ec5f507" title="SwapBuffers() makes the contents of the color buffer available for compositing.">SwapBuffers()</a>.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing <code>PP_ERROR_BADRESOURCE</code> if context is invalid or <code>PP_ERROR_BADARGUMENT</code> if callback is invalid. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="graphics__3d_8h.html">graphics_3d.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_graphics3_d__inherit__graph.png b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_graphics3_d__inherit__graph.png
new file mode 100644
index 0000000..d898b8b
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_graphics3_d__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_graphics3_d_client-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_graphics3_d_client-members.html
new file mode 100644
index 0000000..3a5f118
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_graphics3_d_client-members.html
@@ -0,0 +1,16 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_graphics3_d_client.html">pp::Graphics3DClient</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics3_d_client.html#af5302a53378a3a02f2a3a7edad5b0841">Graphics3DClient</a>(Instance *instance)</td><td><a class="el" href="classpp_1_1_graphics3_d_client.html">pp::Graphics3DClient</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics3_d_client.html#aefef5681c4d39c0deef2d0b83caf77c8">Graphics3DContextLost</a>()=0</td><td><a class="el" href="classpp_1_1_graphics3_d_client.html">pp::Graphics3DClient</a></td><td><code> [pure virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics3_d_client.html#ae92f30610f425d3e530fc3f9a1276aae">~Graphics3DClient</a>()</td><td><a class="el" href="classpp_1_1_graphics3_d_client.html">pp::Graphics3DClient</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_graphics3_d_client.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_graphics3_d_client.html
new file mode 100644
index 0000000..d9e176a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_graphics3_d_client.html
@@ -0,0 +1,81 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::Graphics3DClient Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::Graphics3DClient" -->
+<p><a href="classpp_1_1_graphics3_d_client-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics3_d_client.html#af5302a53378a3a02f2a3a7edad5b0841">Graphics3DClient</a> (<a class="el" href="classpp_1_1_instance.html">Instance</a> *instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics3_d_client.html#ae92f30610f425d3e530fc3f9a1276aae">~Graphics3DClient</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics3_d_client.html#aefef5681c4d39c0deef2d0b83caf77c8">Graphics3DContextLost</a> ()=0</td></tr>
+</table>
+<hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="af5302a53378a3a02f2a3a7edad5b0841"></a><!-- doxytag: member="pp::Graphics3DClient::Graphics3DClient" ref="af5302a53378a3a02f2a3a7edad5b0841" args="(Instance *instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_graphics3_d_client.html#af5302a53378a3a02f2a3a7edad5b0841">pp::Graphics3DClient::Graphics3DClient</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="classpp_1_1_instance.html">Instance</a> * </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor for creating a <a class="el" href="classpp_1_1_graphics3_d_client.html">Graphics3DClient</a>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance that will own the new <code><a class="el" href="classpp_1_1_graphics3_d_client.html">Graphics3DClient</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ae92f30610f425d3e530fc3f9a1276aae"></a><!-- doxytag: member="pp::Graphics3DClient::~Graphics3DClient" ref="ae92f30610f425d3e530fc3f9a1276aae" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_graphics3_d_client.html#ae92f30610f425d3e530fc3f9a1276aae">pp::Graphics3DClient::~Graphics3DClient</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Destructor. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="aefef5681c4d39c0deef2d0b83caf77c8"></a><!-- doxytag: member="pp::Graphics3DClient::Graphics3DContextLost" ref="aefef5681c4d39c0deef2d0b83caf77c8" args="()=0" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual void <a class="el" href="classpp_1_1_graphics3_d_client.html#aefef5681c4d39c0deef2d0b83caf77c8">pp::Graphics3DClient::Graphics3DContextLost</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [pure virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_graphics3_d_client.html#aefef5681c4d39c0deef2d0b83caf77c8" title="Graphics3DContextLost() is a notification that the context was lost for the 3D devices.">Graphics3DContextLost()</a> is a notification that the context was lost for the 3D devices. </p>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="graphics__3d__client_8h.html">graphics_3d_client.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_host_resolver-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_host_resolver-members.html
new file mode 100644
index 0000000..2a482c7f
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_host_resolver-members.html
@@ -0,0 +1,35 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_host_resolver.html">pp::HostResolver</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_host_resolver.html#aaa2e0834d48b8356f8f3185bc615611d">GetCanonicalName</a>() const </td><td><a class="el" href="classpp_1_1_host_resolver.html">pp::HostResolver</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_host_resolver.html#a3680cf97d53a80a536c5dc6441a4c6e7">GetNetAddress</a>(uint32_t index) const </td><td><a class="el" href="classpp_1_1_host_resolver.html">pp::HostResolver</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_host_resolver.html#ace959e4cb6fd0a51669f6eff64e08ae3">GetNetAddressCount</a>() const </td><td><a class="el" href="classpp_1_1_host_resolver.html">pp::HostResolver</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_host_resolver.html#a98885c5eb6ba873ee54cbb657f9e43f5">HostResolver</a>()</td><td><a class="el" href="classpp_1_1_host_resolver.html">pp::HostResolver</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_host_resolver.html#aea32a40269f4ad3dc9d9cbadc89bea4f">HostResolver</a>(const InstanceHandle &instance)</td><td><a class="el" href="classpp_1_1_host_resolver.html">pp::HostResolver</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_host_resolver.html#adc4f2b44c8281920fbce2c4b93eddce2">HostResolver</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_host_resolver.html">pp::HostResolver</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_host_resolver.html#a74ea3a85ad41ded8128b188c821cdb28">HostResolver</a>(const HostResolver &other)</td><td><a class="el" href="classpp_1_1_host_resolver.html">pp::HostResolver</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_host_resolver.html#ad56c139fa37d665cbb7e33f4d592b421">IsAvailable</a>()</td><td><a class="el" href="classpp_1_1_host_resolver.html">pp::HostResolver</a></td><td><code> [static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_host_resolver.html#ab773cb42d3130d6973a8743bc7aba7bd">operator=</a>(const HostResolver &other)</td><td><a class="el" href="classpp_1_1_host_resolver.html">pp::HostResolver</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">pp::Resource::operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_host_resolver.html#a894d4ae712b4b30e639f6d838c2f9d98">Resolve</a>(const char *host, uint16_t port, const PP_HostResolver_Hint &hint, const CompletionCallback &callback)</td><td><a class="el" href="classpp_1_1_host_resolver.html">pp::HostResolver</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_host_resolver.html#ad4d39f4e863917bc881fc98c236c9f84">~HostResolver</a>()</td><td><a class="el" href="classpp_1_1_host_resolver.html">pp::HostResolver</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_host_resolver.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_host_resolver.html
new file mode 100644
index 0000000..62be0f9
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_host_resolver.html
@@ -0,0 +1,305 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::HostResolver Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::HostResolver" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::HostResolver:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_host_resolver__inherit__graph.png" border="0" usemap="#pp_1_1_host_resolver_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_host_resolver_inherit__map" id="pp_1_1_host_resolver_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="17,5,121,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_host_resolver-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_host_resolver.html#a98885c5eb6ba873ee54cbb657f9e43f5">HostResolver</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_host_resolver.html#aea32a40269f4ad3dc9d9cbadc89bea4f">HostResolver</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_host_resolver.html#adc4f2b44c8281920fbce2c4b93eddce2">HostResolver</a> (<a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a>, PP_Resource resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_host_resolver.html#a74ea3a85ad41ded8128b188c821cdb28">HostResolver</a> (const <a class="el" href="classpp_1_1_host_resolver.html">HostResolver</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_host_resolver.html#ad4d39f4e863917bc881fc98c236c9f84">~HostResolver</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_host_resolver.html">HostResolver</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_host_resolver.html#ab773cb42d3130d6973a8743bc7aba7bd">operator=</a> (const <a class="el" href="classpp_1_1_host_resolver.html">HostResolver</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_host_resolver.html#a894d4ae712b4b30e639f6d838c2f9d98">Resolve</a> (const char *host, uint16_t port, const PP_HostResolver_Hint &hint, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_host_resolver.html#aaa2e0834d48b8356f8f3185bc615611d">GetCanonicalName</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_host_resolver.html#ace959e4cb6fd0a51669f6eff64e08ae3">GetNetAddressCount</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_net_address.html">NetAddress</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_host_resolver.html#a3680cf97d53a80a536c5dc6441a4c6e7">GetNetAddress</a> (uint32_t index) const </td></tr>
+</table><h2>
+Static Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_host_resolver.html#ad56c139fa37d665cbb7e33f4d592b421">IsAvailable</a> ()</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="classpp_1_1_host_resolver.html" title="The HostResolver class supports host name resolution.">HostResolver</a></code> class supports host name resolution. </p>
+<p>Permissions: In order to run <code><a class="el" href="classpp_1_1_host_resolver.html#a894d4ae712b4b30e639f6d838c2f9d98" title="Requests resolution of a host name.">Resolve()</a></code>, apps permission <code>socket</code> with subrule <code>resolve-host</code> is required. For more details about network communication permissions, please see: <a href="http://developer.chrome.com/apps/app_network.html">http://developer.chrome.com/apps/app_network.html</a> </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a98885c5eb6ba873ee54cbb657f9e43f5"></a><!-- doxytag: member="pp::HostResolver::HostResolver" ref="a98885c5eb6ba873ee54cbb657f9e43f5" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_host_resolver.html#a98885c5eb6ba873ee54cbb657f9e43f5">pp::HostResolver::HostResolver</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor for creating an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> <code><a class="el" href="classpp_1_1_host_resolver.html" title="The HostResolver class supports host name resolution.">HostResolver</a></code> object. </p>
+</div>
+</div>
+<a class="anchor" id="aea32a40269f4ad3dc9d9cbadc89bea4f"></a><!-- doxytag: member="pp::HostResolver::HostResolver" ref="aea32a40269f4ad3dc9d9cbadc89bea4f" args="(const InstanceHandle &instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_host_resolver.html#a98885c5eb6ba873ee54cbb657f9e43f5">pp::HostResolver::HostResolver</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used to create a <code><a class="el" href="classpp_1_1_host_resolver.html" title="The HostResolver class supports host name resolution.">HostResolver</a></code> object. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="adc4f2b44c8281920fbce2c4b93eddce2"></a><!-- doxytag: member="pp::HostResolver::HostResolver" ref="adc4f2b44c8281920fbce2c4b93eddce2" args="(PassRef, PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_host_resolver.html#a98885c5eb6ba873ee54cbb657f9e43f5">pp::HostResolver::HostResolver</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a> </td>
+<td class="paramname">, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>resource</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used when you have received a <code>PP_Resource</code> as a return value that has had 1 ref added for you. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PPB_HostResolver</code> resource. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a74ea3a85ad41ded8128b188c821cdb28"></a><!-- doxytag: member="pp::HostResolver::HostResolver" ref="a74ea3a85ad41ded8128b188c821cdb28" args="(const HostResolver &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_host_resolver.html#a98885c5eb6ba873ee54cbb657f9e43f5">pp::HostResolver::HostResolver</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_host_resolver.html">HostResolver</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The copy constructor for <code><a class="el" href="classpp_1_1_host_resolver.html" title="The HostResolver class supports host name resolution.">HostResolver</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A reference to another <code><a class="el" href="classpp_1_1_host_resolver.html" title="The HostResolver class supports host name resolution.">HostResolver</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ad4d39f4e863917bc881fc98c236c9f84"></a><!-- doxytag: member="pp::HostResolver::~HostResolver" ref="ad4d39f4e863917bc881fc98c236c9f84" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_host_resolver.html#ad4d39f4e863917bc881fc98c236c9f84">pp::HostResolver::~HostResolver</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The destructor. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="aaa2e0834d48b8356f8f3185bc615611d"></a><!-- doxytag: member="pp::HostResolver::GetCanonicalName" ref="aaa2e0834d48b8356f8f3185bc615611d" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_host_resolver.html#aaa2e0834d48b8356f8f3185bc615611d">pp::HostResolver::GetCanonicalName</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the canonical name of the host. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A string <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> on success, which is an empty string if <code>PP_HOSTRESOLVER_FLAG_CANONNAME</code> is not set in the hint flags when calling <code><a class="el" href="classpp_1_1_host_resolver.html#a894d4ae712b4b30e639f6d838c2f9d98" title="Requests resolution of a host name.">Resolve()</a></code>; an undefined <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> if there is a pending <code><a class="el" href="classpp_1_1_host_resolver.html#a894d4ae712b4b30e639f6d838c2f9d98" title="Requests resolution of a host name.">Resolve()</a></code> call or the previous <code><a class="el" href="classpp_1_1_host_resolver.html#a894d4ae712b4b30e639f6d838c2f9d98" title="Requests resolution of a host name.">Resolve()</a></code> call failed. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a3680cf97d53a80a536c5dc6441a4c6e7"></a><!-- doxytag: member="pp::HostResolver::GetNetAddress" ref="a3680cf97d53a80a536c5dc6441a4c6e7" args="(uint32_t index) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_net_address.html">NetAddress</a> <a class="el" href="classpp_1_1_host_resolver.html#a3680cf97d53a80a536c5dc6441a4c6e7">pp::HostResolver::GetNetAddress</a> </td>
+<td>(</td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>index</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets a network address. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>An index indicating which address to return.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code> object. The object will be null (i.e., <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> returns true) if there is a pending <code><a class="el" href="classpp_1_1_host_resolver.html#a894d4ae712b4b30e639f6d838c2f9d98" title="Requests resolution of a host name.">Resolve()</a></code> call or the previous <code><a class="el" href="classpp_1_1_host_resolver.html#a894d4ae712b4b30e639f6d838c2f9d98" title="Requests resolution of a host name.">Resolve()</a></code> call failed, or the specified index is out of range. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ace959e4cb6fd0a51669f6eff64e08ae3"></a><!-- doxytag: member="pp::HostResolver::GetNetAddressCount" ref="ace959e4cb6fd0a51669f6eff64e08ae3" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="classpp_1_1_host_resolver.html#ace959e4cb6fd0a51669f6eff64e08ae3">pp::HostResolver::GetNetAddressCount</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the number of network addresses. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The number of available network addresses on success; 0 if there is a pending <code><a class="el" href="classpp_1_1_host_resolver.html#a894d4ae712b4b30e639f6d838c2f9d98" title="Requests resolution of a host name.">Resolve()</a></code> call or the previous <code><a class="el" href="classpp_1_1_host_resolver.html#a894d4ae712b4b30e639f6d838c2f9d98" title="Requests resolution of a host name.">Resolve()</a></code> call failed. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ad56c139fa37d665cbb7e33f4d592b421"></a><!-- doxytag: member="pp::HostResolver::IsAvailable" ref="ad56c139fa37d665cbb7e33f4d592b421" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static bool <a class="el" href="classpp_1_1_host_resolver.html#ad56c139fa37d665cbb7e33f4d592b421">pp::HostResolver::IsAvailable</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Static function for determining whether the browser supports the <code>PPB_HostResolver</code> interface. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the interface is available, false otherwise. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab773cb42d3130d6973a8743bc7aba7bd"></a><!-- doxytag: member="pp::HostResolver::operator=" ref="ab773cb42d3130d6973a8743bc7aba7bd" args="(const HostResolver &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_host_resolver.html">HostResolver</a>& pp::HostResolver::operator= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_host_resolver.html">HostResolver</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The assignment operator for <code><a class="el" href="classpp_1_1_host_resolver.html" title="The HostResolver class supports host name resolution.">HostResolver</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A reference to another <code><a class="el" href="classpp_1_1_host_resolver.html" title="The HostResolver class supports host name resolution.">HostResolver</a></code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A reference to this <code><a class="el" href="classpp_1_1_host_resolver.html" title="The HostResolver class supports host name resolution.">HostResolver</a></code> object. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a894d4ae712b4b30e639f6d838c2f9d98"></a><!-- doxytag: member="pp::HostResolver::Resolve" ref="a894d4ae712b4b30e639f6d838c2f9d98" args="(const char *host, uint16_t port, const PP_HostResolver_Hint &hint, const CompletionCallback &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_host_resolver.html#a894d4ae712b4b30e639f6d838c2f9d98">pp::HostResolver::Resolve</a> </td>
+<td>(</td>
+<td class="paramtype">const char * </td>
+<td class="paramname"><em>host</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">uint16_t </td>
+<td class="paramname"><em>port</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const PP_HostResolver_Hint & </td>
+<td class="paramname"><em>hint</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>callback</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Requests resolution of a host name. </p>
+<p>If the call completes successully, the results can be retrieved by <code><a class="el" href="classpp_1_1_host_resolver.html#aaa2e0834d48b8356f8f3185bc615611d" title="Gets the canonical name of the host.">GetCanonicalName()</a></code>, <code><a class="el" href="classpp_1_1_host_resolver.html#ace959e4cb6fd0a51669f6eff64e08ae3" title="Gets the number of network addresses.">GetNetAddressCount()</a></code> and <code><a class="el" href="classpp_1_1_host_resolver.html#a3680cf97d53a80a536c5dc6441a4c6e7" title="Gets a network address.">GetNetAddress()</a></code>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">host</td><td>The host name (or IP address literal) to resolve. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">port</td><td>The port number to be set in the resulting network addresses. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">hint</td><td>A <code>PP_HostResolver_Hint</code> structure providing hints for host resolution. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. <code>PP_ERROR_NOACCESS</code> will be returned if the caller doesn't have required permissions. <code>PP_ERROR_NAME_NOT_RESOLVED</code> will be returned if the host name couldn't be resolved. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="host__resolver_8h.html">host_resolver.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_host_resolver__inherit__graph.png b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_host_resolver__inherit__graph.png
new file mode 100644
index 0000000..a29fbe1
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_host_resolver__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_i_m_e_input_event-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_i_m_e_input_event-members.html
new file mode 100644
index 0000000..46f4395
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_i_m_e_input_event-members.html
@@ -0,0 +1,38 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_i_m_e_input_event.html">pp::IMEInputEvent</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a6f94a5cd8453f1b69e55aadde73354e7">GetModifiers</a>() const </td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_i_m_e_input_event.html#aee5f2af391fd269f35271012247768ac">GetSegmentNumber</a>() const </td><td><a class="el" href="classpp_1_1_i_m_e_input_event.html">pp::IMEInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_i_m_e_input_event.html#a3deeed9cfbc9f2cff0cb027b870e3ce6">GetSegmentOffset</a>(uint32_t index) const </td><td><a class="el" href="classpp_1_1_i_m_e_input_event.html">pp::IMEInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_i_m_e_input_event.html#a94e9078036a3bdf0af6d5508d9115cf6">GetSelection</a>(uint32_t *start, uint32_t *end) const </td><td><a class="el" href="classpp_1_1_i_m_e_input_event.html">pp::IMEInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_i_m_e_input_event.html#ada4e768c2aea31e443d8bc9d5e4a9f36">GetTargetSegment</a>() const </td><td><a class="el" href="classpp_1_1_i_m_e_input_event.html">pp::IMEInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_i_m_e_input_event.html#ae2b82f9465fa0847af7e0214fb43232f">GetText</a>() const </td><td><a class="el" href="classpp_1_1_i_m_e_input_event.html">pp::IMEInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#acc79ecdcf19f5b8a8a7268fc8ff51531">GetTimeStamp</a>() const </td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a73ca79c06ff9a39304e3b390090f03dc">GetType</a>() const </td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_i_m_e_input_event.html#a44a2a4139e63a21757a50c731e17bacd">IMEInputEvent</a>()</td><td><a class="el" href="classpp_1_1_i_m_e_input_event.html">pp::IMEInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_i_m_e_input_event.html#aedfd74fe9ee6c1cbdbcc9f78b25a5621">IMEInputEvent</a>(const InputEvent &event)</td><td><a class="el" href="classpp_1_1_i_m_e_input_event.html">pp::IMEInputEvent</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_i_m_e_input_event.html#a9004ae92edc6bcb797dd3720acb290af">IMEInputEvent</a>(const InstanceHandle &instance, PP_InputEvent_Type type, PP_TimeTicks time_stamp, const Var &text, const std::vector< uint32_t > &segment_offsets, int32_t target_segment, const std::pair< uint32_t, uint32_t > &selection)</td><td><a class="el" href="classpp_1_1_i_m_e_input_event.html">pp::IMEInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#ac7581e4321abe8de6f3b48d70f4aa65d">InputEvent</a>()</td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a1d4f7d3fb88de3cccc60ab26b92ccf23">InputEvent</a>(PP_Resource input_event_resource)</td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a2492183af4fecec44a423a5b7eae6faf">~InputEvent</a>()</td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_i_m_e_input_event.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_i_m_e_input_event.html
new file mode 100644
index 0000000..52480ed5
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_i_m_e_input_event.html
@@ -0,0 +1,257 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::IMEInputEvent Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::IMEInputEvent" --><!-- doxytag: inherits="pp::InputEvent" --><div class="dynheader">
+Inheritance diagram for pp::IMEInputEvent:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_i_m_e_input_event__inherit__graph.png" border="0" usemap="#pp_1_1_i_m_e_input_event_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_i_m_e_input_event_inherit__map" id="pp_1_1_i_m_e_input_event_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_input_event.html" title="This class represents an input event resource." alt="" coords="16,83,131,112"></area><area shape="rect" id="node4" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="21,5,125,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_i_m_e_input_event-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_i_m_e_input_event.html#a44a2a4139e63a21757a50c731e17bacd">IMEInputEvent</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_i_m_e_input_event.html#aedfd74fe9ee6c1cbdbcc9f78b25a5621">IMEInputEvent</a> (const <a class="el" href="classpp_1_1_input_event.html">InputEvent</a> &event)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_i_m_e_input_event.html#a9004ae92edc6bcb797dd3720acb290af">IMEInputEvent</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, PP_InputEvent_Type type, PP_TimeTicks time_stamp, const <a class="el" href="classpp_1_1_var.html">Var</a> &text, const std::vector< uint32_t > &segment_offsets, int32_t target_segment, const std::pair< uint32_t, uint32_t > &selection)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_i_m_e_input_event.html#ae2b82f9465fa0847af7e0214fb43232f">GetText</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_i_m_e_input_event.html#aee5f2af391fd269f35271012247768ac">GetSegmentNumber</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_i_m_e_input_event.html#a3deeed9cfbc9f2cff0cb027b870e3ce6">GetSegmentOffset</a> (uint32_t index) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_i_m_e_input_event.html#ada4e768c2aea31e443d8bc9d5e4a9f36">GetTargetSegment</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_i_m_e_input_event.html#a94e9078036a3bdf0af6d5508d9115cf6">GetSelection</a> (uint32_t *start, uint32_t *end) const </td></tr>
+</table>
+<hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a44a2a4139e63a21757a50c731e17bacd"></a><!-- doxytag: member="pp::IMEInputEvent::IMEInputEvent" ref="a44a2a4139e63a21757a50c731e17bacd" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_i_m_e_input_event.html#a44a2a4139e63a21757a50c731e17bacd">pp::IMEInputEvent::IMEInputEvent</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> IME input event object. </p>
+</div>
+</div>
+<a class="anchor" id="aedfd74fe9ee6c1cbdbcc9f78b25a5621"></a><!-- doxytag: member="pp::IMEInputEvent::IMEInputEvent" ref="aedfd74fe9ee6c1cbdbcc9f78b25a5621" args="(const InputEvent &event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_i_m_e_input_event.html#a44a2a4139e63a21757a50c731e17bacd">pp::IMEInputEvent::IMEInputEvent</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_input_event.html">InputEvent</a> & </td>
+<td class="paramname"><em>event</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs an IME input event object from the provided generic input event. </p>
+<p>If the given event is itself <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> or is not an IME input event, the object will be <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">event</td><td>A generic input event. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a9004ae92edc6bcb797dd3720acb290af"></a><!-- doxytag: member="pp::IMEInputEvent::IMEInputEvent" ref="a9004ae92edc6bcb797dd3720acb290af" args="(const InstanceHandle &instance, PP_InputEvent_Type type, PP_TimeTicks time_stamp, const Var &text, const std::vector< uint32_t > &segment_offsets, int32_t target_segment, const std::pair< uint32_t, uint32_t > &selection)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_i_m_e_input_event.html#a44a2a4139e63a21757a50c731e17bacd">pp::IMEInputEvent::IMEInputEvent</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_InputEvent_Type </td>
+<td class="paramname"><em>type</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_TimeTicks </td>
+<td class="paramname"><em>time_stamp</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>text</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const std::vector< uint32_t > & </td>
+<td class="paramname"><em>segment_offsets</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>target_segment</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const std::pair< uint32_t, uint32_t > & </td>
+<td class="paramname"><em>selection</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This constructor manually constructs an IME event from the provided parameters. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance for which this event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>A <code>PP_InputEvent_Type</code> identifying the type of input event. The type must be one of the ime event types.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">time_stamp</td><td>A <code>PP_TimeTicks</code> indicating the time when the event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">text</td><td>The string returned by <code>GetText</code>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">segment_offsets</td><td>The array of numbers returned by <code>GetSegmentOffset</code>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">target_segment</td><td>The number returned by <code>GetTargetSegment</code>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">selection</td><td>The range returned by <code>GetSelection</code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="aee5f2af391fd269f35271012247768ac"></a><!-- doxytag: member="pp::IMEInputEvent::GetSegmentNumber" ref="aee5f2af391fd269f35271012247768ac" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="classpp_1_1_i_m_e_input_event.html#aee5f2af391fd269f35271012247768ac">pp::IMEInputEvent::GetSegmentNumber</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns the number of segments in the composition text. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The number of segments. For events other than COMPOSITION_UPDATE, returns 0. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a3deeed9cfbc9f2cff0cb027b870e3ce6"></a><!-- doxytag: member="pp::IMEInputEvent::GetSegmentOffset" ref="a3deeed9cfbc9f2cff0cb027b870e3ce6" args="(uint32_t index) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="classpp_1_1_i_m_e_input_event.html#a3deeed9cfbc9f2cff0cb027b870e3ce6">pp::IMEInputEvent::GetSegmentOffset</a> </td>
+<td>(</td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>index</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns the position of the index-th segmentation point in the composition text. </p>
+<p>The position is given by a byte-offset (not a character-offset) of the string returned by <a class="el" href="classpp_1_1_i_m_e_input_event.html#ae2b82f9465fa0847af7e0214fb43232f" title="Returns the composition text as a UTF-8 string for the given IME event.">GetText()</a>. It always satisfies 0=GetSegmentOffset(0) < ... < GetSegmentOffset(i) < GetSegmentOffset(i+1) < ... < GetSegmentOffset(<a class="el" href="classpp_1_1_i_m_e_input_event.html#aee5f2af391fd269f35271012247768ac" title="Returns the number of segments in the composition text.">GetSegmentNumber()</a>)=(byte-length of <a class="el" href="classpp_1_1_i_m_e_input_event.html#ae2b82f9465fa0847af7e0214fb43232f" title="Returns the composition text as a UTF-8 string for the given IME event.">GetText()</a>). Note that [GetSegmentOffset(i), GetSegmentOffset(i+1)) represents the range of the i-th segment, and hence <a class="el" href="classpp_1_1_i_m_e_input_event.html#aee5f2af391fd269f35271012247768ac" title="Returns the number of segments in the composition text.">GetSegmentNumber()</a> can be a valid argument to this function instead of an off-by-1 error.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">ime_event</td><td>A <code>PP_Resource</code> corresponding to an IME event.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>An integer indicating a segment.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The byte-offset of the segmentation point. If the event is not COMPOSITION_UPDATE or index is out of range, returns 0. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a94e9078036a3bdf0af6d5508d9115cf6"></a><!-- doxytag: member="pp::IMEInputEvent::GetSelection" ref="a94e9078036a3bdf0af6d5508d9115cf6" args="(uint32_t *start, uint32_t *end) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_i_m_e_input_event.html#a94e9078036a3bdf0af6d5508d9115cf6">pp::IMEInputEvent::GetSelection</a> </td>
+<td>(</td>
+<td class="paramtype">uint32_t * </td>
+<td class="paramname"><em>start</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">uint32_t * </td>
+<td class="paramname"><em>end</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Obtains the range selected by caret in the composition text. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[out]</td><td class="paramname">start</td><td>An integer indicating a start offset of selection range.</td></tr>
+<tr><td class="paramdir">[out]</td><td class="paramname">end</td><td>An integer indicating an end offset of selection range. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ada4e768c2aea31e443d8bc9d5e4a9f36"></a><!-- doxytag: member="pp::IMEInputEvent::GetTargetSegment" ref="ada4e768c2aea31e443d8bc9d5e4a9f36" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_i_m_e_input_event.html#ada4e768c2aea31e443d8bc9d5e4a9f36">pp::IMEInputEvent::GetTargetSegment</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns the index of the current target segment of composition. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An integer indicating the index of the target segment. When there is no active target segment, or the event is not COMPOSITION_UPDATE, returns -1. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ae2b82f9465fa0847af7e0214fb43232f"></a><!-- doxytag: member="pp::IMEInputEvent::GetText" ref="ae2b82f9465fa0847af7e0214fb43232f" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_i_m_e_input_event.html#ae2b82f9465fa0847af7e0214fb43232f">pp::IMEInputEvent::GetText</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns the composition text as a UTF-8 string for the given IME event. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A string var representing the composition text. For non-IME input events the return value will be an undefined var. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="input__event_8h.html">input_event.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_i_m_e_input_event__inherit__graph.png b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_i_m_e_input_event__inherit__graph.png
new file mode 100644
index 0000000..b7a6ce4
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_i_m_e_input_event__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_image_data-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_image_data-members.html
new file mode 100644
index 0000000..679f50f
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_image_data-members.html
@@ -0,0 +1,37 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_image_data.html">pp::ImageData</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_image_data.html#a545dece2d1350ab9ecea5592a665b78c">data</a>() const </td><td><a class="el" href="classpp_1_1_image_data.html">pp::ImageData</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_image_data.html#a0985d86289358e1f4298c176818b9a91">format</a>() const </td><td><a class="el" href="classpp_1_1_image_data.html">pp::ImageData</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_image_data.html#af646177d375e11d77eec52e9324fc076">GetAddr32</a>(const Point &coord) const </td><td><a class="el" href="classpp_1_1_image_data.html">pp::ImageData</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_image_data.html#a8aaf07d11584a06313cf03ca2440bb12">GetAddr32</a>(const Point &coord)</td><td><a class="el" href="classpp_1_1_image_data.html">pp::ImageData</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_image_data.html#a4208e7eabf98df7b91c01ed6fcd92425">GetNativeImageDataFormat</a>()</td><td><a class="el" href="classpp_1_1_image_data.html">pp::ImageData</a></td><td><code> [static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_image_data.html#a2ef5c9156701868eede2c839309a04f9">ImageData</a>()</td><td><a class="el" href="classpp_1_1_image_data.html">pp::ImageData</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_image_data.html#ae8a198b71756afbeb745beeadec032f9">ImageData</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_image_data.html">pp::ImageData</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_image_data.html#a9943421a80760f3de284ae9d7ce9e431">ImageData</a>(const ImageData &other)</td><td><a class="el" href="classpp_1_1_image_data.html">pp::ImageData</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_image_data.html#a9c2c26e4130e33d9d7ad7c72e32cea1d">ImageData</a>(const InstanceHandle &instance, PP_ImageDataFormat format, const Size &size, bool init_to_zero)</td><td><a class="el" href="classpp_1_1_image_data.html">pp::ImageData</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_image_data.html#a9be445247d64ddaad4b6623021db7232">IsImageDataFormatSupported</a>(PP_ImageDataFormat format)</td><td><a class="el" href="classpp_1_1_image_data.html">pp::ImageData</a></td><td><code> [static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_image_data.html#a35b7e23dbb14817eacca3967dc4ef6b7">operator=</a>(const ImageData &other)</td><td><a class="el" href="classpp_1_1_image_data.html">pp::ImageData</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">pp::Resource::operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_image_data.html#a2c5e0060b4227c0c9dd28287bc2e4961">size</a>() const </td><td><a class="el" href="classpp_1_1_image_data.html">pp::ImageData</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_image_data.html#a3c107aead77cea8ba1adcbc5654078b7">stride</a>() const </td><td><a class="el" href="classpp_1_1_image_data.html">pp::ImageData</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_image_data.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_image_data.html
new file mode 100644
index 0000000..c51a47b
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_image_data.html
@@ -0,0 +1,350 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::ImageData Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::ImageData" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::ImageData:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_image_data__inherit__graph.png" border="0" usemap="#pp_1_1_image_data_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_image_data_inherit__map" id="pp_1_1_image_data_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="12,5,116,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_image_data-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_image_data.html#a2ef5c9156701868eede2c839309a04f9">ImageData</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_image_data.html#ae8a198b71756afbeb745beeadec032f9">ImageData</a> (<a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a>, PP_Resource resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_image_data.html#a9943421a80760f3de284ae9d7ce9e431">ImageData</a> (const <a class="el" href="classpp_1_1_image_data.html">ImageData</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_image_data.html#a9c2c26e4130e33d9d7ad7c72e32cea1d">ImageData</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, PP_ImageDataFormat <a class="el" href="classpp_1_1_image_data.html#a0985d86289358e1f4298c176818b9a91">format</a>, const <a class="el" href="classpp_1_1_size.html">Size</a> &<a class="el" href="classpp_1_1_image_data.html#a2c5e0060b4227c0c9dd28287bc2e4961">size</a>, bool init_to_zero)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_image_data.html">ImageData</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_image_data.html#a35b7e23dbb14817eacca3967dc4ef6b7">operator=</a> (const <a class="el" href="classpp_1_1_image_data.html">ImageData</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_ImageDataFormat </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_image_data.html#a0985d86289358e1f4298c176818b9a91">format</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_size.html">pp::Size</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_image_data.html#a2c5e0060b4227c0c9dd28287bc2e4961">size</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_image_data.html#a3c107aead77cea8ba1adcbc5654078b7">stride</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_image_data.html#a545dece2d1350ab9ecea5592a665b78c">data</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const uint32_t * </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_image_data.html#af646177d375e11d77eec52e9324fc076">GetAddr32</a> (const <a class="el" href="classpp_1_1_point.html">Point</a> &coord) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t * </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_image_data.html#a8aaf07d11584a06313cf03ca2440bb12">GetAddr32</a> (const <a class="el" href="classpp_1_1_point.html">Point</a> &coord)</td></tr>
+</table><h2>
+Static Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_image_data.html#a9be445247d64ddaad4b6623021db7232">IsImageDataFormatSupported</a> (PP_ImageDataFormat <a class="el" href="classpp_1_1_image_data.html#a0985d86289358e1f4298c176818b9a91">format</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static PP_ImageDataFormat </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_image_data.html#a4208e7eabf98df7b91c01ed6fcd92425">GetNativeImageDataFormat</a> ()</td></tr>
+</table>
+<hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a2ef5c9156701868eede2c839309a04f9"></a><!-- doxytag: member="pp::ImageData::ImageData" ref="a2ef5c9156701868eede2c839309a04f9" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_image_data.html#a2ef5c9156701868eede2c839309a04f9">pp::ImageData::ImageData</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor for creating an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> <code><a class="el" href="classpp_1_1_image_data.html">ImageData</a></code> object. </p>
+</div>
+</div>
+<a class="anchor" id="ae8a198b71756afbeb745beeadec032f9"></a><!-- doxytag: member="pp::ImageData::ImageData" ref="ae8a198b71756afbeb745beeadec032f9" args="(PassRef, PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_image_data.html#a2ef5c9156701868eede2c839309a04f9">pp::ImageData::ImageData</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a> </td>
+<td class="paramname">, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>resource</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used when you have received a <code>PP_Resource</code> as a return value that has already been reference counted. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A PP_Resource corresponding to image data. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a9943421a80760f3de284ae9d7ce9e431"></a><!-- doxytag: member="pp::ImageData::ImageData" ref="a9943421a80760f3de284ae9d7ce9e431" args="(const ImageData &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_image_data.html#a2ef5c9156701868eede2c839309a04f9">pp::ImageData::ImageData</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_image_data.html">ImageData</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The copy constructor for <code><a class="el" href="classpp_1_1_image_data.html">ImageData</a></code>. </p>
+<p>This constructor produces an <code><a class="el" href="classpp_1_1_image_data.html">ImageData</a></code> object that shares the underlying <code>Image</code> resource with <code>other</code>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A pointer to an image data. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a9c2c26e4130e33d9d7ad7c72e32cea1d"></a><!-- doxytag: member="pp::ImageData::ImageData" ref="a9c2c26e4130e33d9d7ad7c72e32cea1d" args="(const InstanceHandle &instance, PP_ImageDataFormat format, const Size &size, bool init_to_zero)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_image_data.html#a2ef5c9156701868eede2c839309a04f9">pp::ImageData::ImageData</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_ImageDataFormat </td>
+<td class="paramname"><em>format</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_size.html">Size</a> & </td>
+<td class="paramname"><em>size</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">bool </td>
+<td class="paramname"><em>init_to_zero</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor that allocates a new <code><a class="el" href="classpp_1_1_image_data.html">ImageData</a></code> in the browser with the provided parameters. </p>
+<p>The resulting object will be <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> if the allocation failed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>A PP_ImageDataFormat containing desired image format. PP_ImageDataFormat is an enumeration of the different types of image data formats. Refer to <a href="../pepperc/ppb__image__data_8h.html"><code>ppb_image_data.h</code></a> for further information.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>A pointer to a <code><a class="el" href="classpp_1_1_size.html" title="A size of an object based on width and height.">Size</a></code> containing the image size.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">init_to_zero</td><td>A bool used to determine transparency at creation. Set the <code>init_to_zero</code> flag if you want the bitmap initialized to transparent during the creation process. If this flag is not set, the current contents of the bitmap will be undefined, and the module should be sure to set all the pixels. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a545dece2d1350ab9ecea5592a665b78c"></a><!-- doxytag: member="pp::ImageData::data" ref="a545dece2d1350ab9ecea5592a665b78c" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void* <a class="el" href="classpp_1_1_image_data.html#a545dece2d1350ab9ecea5592a665b78c">pp::ImageData::data</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A getter function for returning a raw pointer to the image pixels. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A raw pointer to the image pixels. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a0985d86289358e1f4298c176818b9a91"></a><!-- doxytag: member="pp::ImageData::format" ref="a0985d86289358e1f4298c176818b9a91" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_ImageDataFormat <a class="el" href="classpp_1_1_image_data.html#a0985d86289358e1f4298c176818b9a91">pp::ImageData::format</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A getter function for returning the current format for images. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_ImageDataFormat</code> containing the preferred format. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="af646177d375e11d77eec52e9324fc076"></a><!-- doxytag: member="pp::ImageData::GetAddr32" ref="af646177d375e11d77eec52e9324fc076" args="(const Point &coord) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">const uint32_t* <a class="el" href="classpp_1_1_image_data.html#af646177d375e11d77eec52e9324fc076">pp::ImageData::GetAddr32</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">Point</a> & </td>
+<td class="paramname"><em>coord</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function is used retrieve the address of the given pixel for 32-bit pixel formats. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">coord</td><td>A <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code> representing the x and y coordinates for a specific pixel.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The address for the pixel. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a8aaf07d11584a06313cf03ca2440bb12"></a><!-- doxytag: member="pp::ImageData::GetAddr32" ref="a8aaf07d11584a06313cf03ca2440bb12" args="(const Point &coord)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t* <a class="el" href="classpp_1_1_image_data.html#af646177d375e11d77eec52e9324fc076">pp::ImageData::GetAddr32</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">Point</a> & </td>
+<td class="paramname"><em>coord</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function is used retrieve the address of the given pixel for 32-bit pixel formats. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">coord</td><td>A <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code> representing the x and y coordinates for a specific pixel.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The address for the pixel. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a4208e7eabf98df7b91c01ed6fcd92425"></a><!-- doxytag: member="pp::ImageData::GetNativeImageDataFormat" ref="a4208e7eabf98df7b91c01ed6fcd92425" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static PP_ImageDataFormat <a class="el" href="classpp_1_1_image_data.html#a4208e7eabf98df7b91c01ed6fcd92425">pp::ImageData::GetNativeImageDataFormat</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_image_data.html#a4208e7eabf98df7b91c01ed6fcd92425" title="GetNativeImageDataFormat() determines the browser's preferred format for images.">GetNativeImageDataFormat()</a> determines the browser's preferred format for images. </p>
+<p>Using this format guarantees no extra conversions will occur when painting.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_ImageDataFormat</code> containing the preferred format. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a9be445247d64ddaad4b6623021db7232"></a><!-- doxytag: member="pp::ImageData::IsImageDataFormatSupported" ref="a9be445247d64ddaad4b6623021db7232" args="(PP_ImageDataFormat format)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static bool <a class="el" href="classpp_1_1_image_data.html#a9be445247d64ddaad4b6623021db7232">pp::ImageData::IsImageDataFormatSupported</a> </td>
+<td>(</td>
+<td class="paramtype">PP_ImageDataFormat </td>
+<td class="paramname"><em>format</em></td><td>)</td>
+<td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_image_data.html#a9be445247d64ddaad4b6623021db7232" title="IsImageDataFormatSupported() returns true if the supplied format is supported by the browser...">IsImageDataFormatSupported()</a> returns <code>true</code> if the supplied format is supported by the browser. </p>
+<p>Note: <code>PP_IMAGEDATAFORMAT_BGRA_PREMUL</code> and <code>PP_IMAGEDATAFORMAT_RGBA_PREMUL</code> formats are always supported. Other image formats do not make this guarantee, and should be checked first with <a class="el" href="classpp_1_1_image_data.html#a9be445247d64ddaad4b6623021db7232" title="IsImageDataFormatSupported() returns true if the supplied format is supported by the browser...">IsImageDataFormatSupported()</a> before using.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Image data format.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if the format is supported by the browser. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a35b7e23dbb14817eacca3967dc4ef6b7"></a><!-- doxytag: member="pp::ImageData::operator=" ref="a35b7e23dbb14817eacca3967dc4ef6b7" args="(const ImageData &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_image_data.html">ImageData</a>& pp::ImageData::operator= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_image_data.html">ImageData</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function decrements the reference count of this <code><a class="el" href="classpp_1_1_image_data.html">ImageData</a></code> and increments the reference count of the <code>other</code> <code><a class="el" href="classpp_1_1_image_data.html">ImageData</a></code>. </p>
+<p>This <code><a class="el" href="classpp_1_1_image_data.html">ImageData</a></code> shares the underlying image resource with <code>other</code>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>An other image data.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A new image data context. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2c5e0060b4227c0c9dd28287bc2e4961"></a><!-- doxytag: member="pp::ImageData::size" ref="a2c5e0060b4227c0c9dd28287bc2e4961" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_size.html">pp::Size</a> <a class="el" href="classpp_1_1_image_data.html#a2c5e0060b4227c0c9dd28287bc2e4961">pp::ImageData::size</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A getter function for returning the image size. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The image size in pixels. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a3c107aead77cea8ba1adcbc5654078b7"></a><!-- doxytag: member="pp::ImageData::stride" ref="a3c107aead77cea8ba1adcbc5654078b7" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_image_data.html#a3c107aead77cea8ba1adcbc5654078b7">pp::ImageData::stride</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A getter function for returning the row width in bytes. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The row width in bytes. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="image__data_8h.html">image_data.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_image_data__inherit__graph.png b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_image_data__inherit__graph.png
new file mode 100644
index 0000000..5febb9a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_image_data__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_input_event-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_input_event-members.html
new file mode 100644
index 0000000..dbbc40c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_input_event-members.html
@@ -0,0 +1,30 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a6f94a5cd8453f1b69e55aadde73354e7">GetModifiers</a>() const </td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#acc79ecdcf19f5b8a8a7268fc8ff51531">GetTimeStamp</a>() const </td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a73ca79c06ff9a39304e3b390090f03dc">GetType</a>() const </td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#ac7581e4321abe8de6f3b48d70f4aa65d">InputEvent</a>()</td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a1d4f7d3fb88de3cccc60ab26b92ccf23">InputEvent</a>(PP_Resource input_event_resource)</td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a2492183af4fecec44a423a5b7eae6faf">~InputEvent</a>()</td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_input_event.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_input_event.html
new file mode 100644
index 0000000..300dbc4c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_input_event.html
@@ -0,0 +1,158 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::InputEvent Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::InputEvent" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::InputEvent:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_input_event__inherit__graph.png" border="0" usemap="#pp_1_1_input_event_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_input_event_inherit__map" id="pp_1_1_input_event_inherit__map">
+<area shape="rect" id="node5" href="classpp_1_1_i_m_e_input_event.html" title="pp::IMEInputEvent" alt="" coords="339,5,475,35"></area><area shape="rect" id="node7" href="classpp_1_1_keyboard_input_event.html" title="pp::KeyboardInputEvent" alt="" coords="320,59,493,88"></area><area shape="rect" id="node9" href="classpp_1_1_mouse_input_event.html" title="This class handles mouse events." alt="" coords="329,112,484,141"></area><area shape="rect" id="node11" href="classpp_1_1_touch_input_event.html" title="pp::TouchInputEvent" alt="" coords="332,165,481,195"></area><area shape="rect" id="node13" href="classpp_1_1_wheel_input_event.html" title="pp::WheelInputEvent" alt="" coords="331,219,483,248"></area><area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="5,112,109,141"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_input_event-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_input_event.html#ac7581e4321abe8de6f3b48d70f4aa65d">InputEvent</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_input_event.html#a1d4f7d3fb88de3cccc60ab26b92ccf23">InputEvent</a> (PP_Resource input_event_resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_input_event.html#a2492183af4fecec44a423a5b7eae6faf">~InputEvent</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_InputEvent_Type </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_input_event.html#a73ca79c06ff9a39304e3b390090f03dc">GetType</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_TimeTicks </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_input_event.html#acc79ecdcf19f5b8a8a7268fc8ff51531">GetTimeStamp</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_input_event.html#a6f94a5cd8453f1b69e55aadde73354e7">GetModifiers</a> () const </td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This class represents an input event resource. </p>
+<p>Normally you will get passed this object through the HandleInputEvent() function on the <code><a class="el" href="classpp_1_1_instance.html">Instance</a></code> object.</p>
+<p>Typically you would check the type of the event and then create the appropriate event-specific object to query the properties.</p>
+<p><b>Example:</b> </p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">bool</span> MyInstance::HandleInputEvent(<span class="keyword">const</span> <a class="code" href="classpp_1_1_input_event.html" title="This class represents an input event resource.">pp::InputEvent</a>& event) {
+ <span class="keywordflow">switch</span> (event.<a class="code" href="classpp_1_1_input_event.html#a73ca79c06ff9a39304e3b390090f03dc" title="GetType() returns the type of input event for this input event object.">GetType</a>()) {
+ <span class="keywordflow">case</span> PP_INPUTEVENT_TYPE_MOUSEDOWN {
+ <a class="code" href="classpp_1_1_mouse_input_event.html" title="This class handles mouse events.">pp::MouseInputEvent</a> mouse_event(event);
+ <span class="keywordflow">return</span> HandleMouseDown(mouse_event.GetMousePosition());
+ }
+ <span class="keywordflow">default</span>:
+ <span class="keywordflow">return</span> <span class="keyword">false</span>;
+ }
+</pre></div> </div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="ac7581e4321abe8de6f3b48d70f4aa65d"></a><!-- doxytag: member="pp::InputEvent::InputEvent" ref="ac7581e4321abe8de6f3b48d70f4aa65d" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_input_event.html#ac7581e4321abe8de6f3b48d70f4aa65d">pp::InputEvent::InputEvent</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor that creates an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> <a class="el" href="classpp_1_1_input_event.html" title="This class represents an input event resource.">InputEvent</a> object. </p>
+</div>
+</div>
+<a class="anchor" id="a1d4f7d3fb88de3cccc60ab26b92ccf23"></a><!-- doxytag: member="pp::InputEvent::InputEvent" ref="a1d4f7d3fb88de3cccc60ab26b92ccf23" args="(PP_Resource input_event_resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_input_event.html#ac7581e4321abe8de6f3b48d70f4aa65d">pp::InputEvent::InputEvent</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>input_event_resource</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This constructor constructs an input event from the provided input event resource ID. </p>
+<p>The <a class="el" href="classpp_1_1_input_event.html" title="This class represents an input event resource.">InputEvent</a> object will be <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> if the given resource is not a valid input event.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">input_event_resource</td><td>A input event resource ID. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a2492183af4fecec44a423a5b7eae6faf"></a><!-- doxytag: member="pp::InputEvent::~InputEvent" ref="a2492183af4fecec44a423a5b7eae6faf" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_input_event.html#a2492183af4fecec44a423a5b7eae6faf">pp::InputEvent::~InputEvent</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a6f94a5cd8453f1b69e55aadde73354e7"></a><!-- doxytag: member="pp::InputEvent::GetModifiers" ref="a6f94a5cd8453f1b69e55aadde73354e7" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="classpp_1_1_input_event.html#a6f94a5cd8453f1b69e55aadde73354e7">pp::InputEvent::GetModifiers</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_input_event.html#a6f94a5cd8453f1b69e55aadde73354e7" title="GetModifiers() returns a bitfield indicating which modifiers were down at the time of the event...">GetModifiers()</a> returns a bitfield indicating which modifiers were down at the time of the event. </p>
+<p>This is a combination of the flags in the <code>PP_InputEvent_Modifier</code> enum.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The modifiers associated with the event, or 0 if the given resource is not a valid event resource. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="acc79ecdcf19f5b8a8a7268fc8ff51531"></a><!-- doxytag: member="pp::InputEvent::GetTimeStamp" ref="acc79ecdcf19f5b8a8a7268fc8ff51531" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_TimeTicks <a class="el" href="classpp_1_1_input_event.html#acc79ecdcf19f5b8a8a7268fc8ff51531">pp::InputEvent::GetTimeStamp</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_input_event.html#acc79ecdcf19f5b8a8a7268fc8ff51531" title="GetTimeStamp() returns the time that the event was generated.">GetTimeStamp()</a> returns the time that the event was generated. </p>
+<p>The time will be before the current time since processing and dispatching the event has some overhead. Use this value to compare the times the user generated two events without being sensitive to variable processing time.</p>
+<p>The return value is in time ticks, which is a monotonically increasing clock not related to the wall clock time. It will not change if the user changes their clock or daylight savings time starts, so can be reliably used to compare events. This means, however, that you can't correlate event times to a particular time of day on the system clock.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_TimeTicks</code> containing the time the event was generated. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a73ca79c06ff9a39304e3b390090f03dc"></a><!-- doxytag: member="pp::InputEvent::GetType" ref="a73ca79c06ff9a39304e3b390090f03dc" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_InputEvent_Type <a class="el" href="classpp_1_1_input_event.html#a73ca79c06ff9a39304e3b390090f03dc">pp::InputEvent::GetType</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_input_event.html#a73ca79c06ff9a39304e3b390090f03dc" title="GetType() returns the type of input event for this input event object.">GetType()</a> returns the type of input event for this input event object. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_InputEvent_Type</code> if successful, PP_INPUTEVENT_TYPE_UNDEFINED if the resource is invalid. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="input__event_8h.html">input_event.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_input_event__inherit__graph.png b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_input_event__inherit__graph.png
new file mode 100644
index 0000000..5b98683
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_input_event__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_instance-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_instance-members.html
new file mode 100644
index 0000000..347e394
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_instance-members.html
@@ -0,0 +1,36 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_instance.html">pp::Instance</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a9773263ee281405030548fc224eeec08">AddPerInstanceObject</a>(const std::string &interface_name, void *object)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a147a1c1817a7a1fb2b76f5c87ab08899">BindGraphics</a>(const Graphics2D &graphics)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#abcfd0eb0995e6273271b4ff4c3df16ae">BindGraphics</a>(const Graphics3D &graphics)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a286bc22174e2f7b6e917c56aa5c7de86">ClearInputEventRequest</a>(uint32_t event_classes)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a42c67b21f11bef29c5b341c78926bad3">DidChangeFocus</a>(bool has_focus)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#ad952f05e42f0e036157beb216f12f3f3">DidChangeView</a>(const View &view)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a72ac4ec0b62c4cd8dedae3cf0fc577c2">DidChangeView</a>(const Rect &position, const Rect &clip)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a6dec498f1d49571be9fd40e23745327f">GetPerInstanceObject</a>(PP_Instance instance, const std::string &interface_name)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td><code> [static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a6cd99065ef0a55555647253442563225">HandleDocumentLoad</a>(const URLLoader &url_loader)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a46aa2feb657fa14263a29375fe458b00">HandleInputEvent</a>(const pp::InputEvent &event)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a5dce8c8b36b1df7cfcc12e42397a35e8">HandleMessage</a>(const Var &message)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a4f915e70caaef514a49ef8afcddde30f">Init</a>(uint32_t argc, const char *argn[], const char *argv[])</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a398b1946805872334781dac993cfe704">Instance</a>(PP_Instance instance)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a451fb956e64fd3db891608148a044c01">IsFullFrame</a>()</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a192ab89f4acf2e1e25df14e22d0cff43">LogToConsole</a>(PP_LogLevel level, const Var &value)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a48286ccf1217b3ae02138049d00af48f">LogToConsoleWithSource</a>(PP_LogLevel level, const Var &source, const Var &value)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a67e888a4e4e23effe7a09625e73ecae9">PostMessage</a>(const Var &message)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#aeb29ff4201f9ae0e356c5ed0bb4a2679">pp_instance</a>() const </td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a33c633189c7c321dac8e0c5dc6e67f5b">RemovePerInstanceObject</a>(const std::string &interface_name, void *object)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#ad1b6c19954ff9446349a6fa5684eea2d">RemovePerInstanceObject</a>(const InstanceHandle &instance, const std::string &interface_name, void *object)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td><code> [static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a6341c14fc54427e45349f5158483e017">RequestFilteringInputEvents</a>(uint32_t event_classes)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a2e2d63280786c0cc41b7c6f656cc81b5">RequestInputEvents</a>(uint32_t event_classes)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a5e475ef135a235029bc0515e9e3ff832">~Instance</a>()</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_instance.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_instance.html
new file mode 100644
index 0000000..a1b9345
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_instance.html
@@ -0,0 +1,737 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::Instance Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::Instance" -->
+<p><a href="classpp_1_1_instance-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a398b1946805872334781dac993cfe704">Instance</a> (PP_Instance instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a5e475ef135a235029bc0515e9e3ff832">~Instance</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_Instance </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#aeb29ff4201f9ae0e356c5ed0bb4a2679">pp_instance</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a4f915e70caaef514a49ef8afcddde30f">Init</a> (uint32_t argc, const char *argn[], const char *argv[])</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a9773263ee281405030548fc224eeec08">AddPerInstanceObject</a> (const std::string &interface_name, void *object)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a33c633189c7c321dac8e0c5dc6e67f5b">RemovePerInstanceObject</a> (const std::string &interface_name, void *object)</td></tr>
+<tr><td colspan="2"><div class="groupHeader">PPP_Instance methods for the module to override:</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#ad952f05e42f0e036157beb216f12f3f3">DidChangeView</a> (const <a class="el" href="classpp_1_1_view.html">View</a> &view)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a72ac4ec0b62c4cd8dedae3cf0fc577c2">DidChangeView</a> (const <a class="el" href="classpp_1_1_rect.html">Rect</a> &position, const <a class="el" href="classpp_1_1_rect.html">Rect</a> &clip)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a42c67b21f11bef29c5b341c78926bad3">DidChangeFocus</a> (bool has_focus)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a46aa2feb657fa14263a29375fe458b00">HandleInputEvent</a> (const <a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a> &event)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a6cd99065ef0a55555647253442563225">HandleDocumentLoad</a> (const <a class="el" href="classpp_1_1_u_r_l_loader.html">URLLoader</a> &url_loader)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a5dce8c8b36b1df7cfcc12e42397a35e8">HandleMessage</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &message)</td></tr>
+<tr><td colspan="2"><div class="groupHeader">PPB_Instance methods for querying the browser:</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a147a1c1817a7a1fb2b76f5c87ab08899">BindGraphics</a> (const <a class="el" href="classpp_1_1_graphics2_d.html">Graphics2D</a> &graphics)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#abcfd0eb0995e6273271b4ff4c3df16ae">BindGraphics</a> (const <a class="el" href="classpp_1_1_graphics3_d.html">Graphics3D</a> &graphics)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a451fb956e64fd3db891608148a044c01">IsFullFrame</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a2e2d63280786c0cc41b7c6f656cc81b5">RequestInputEvents</a> (uint32_t event_classes)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a6341c14fc54427e45349f5158483e017">RequestFilteringInputEvents</a> (uint32_t event_classes)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a286bc22174e2f7b6e917c56aa5c7de86">ClearInputEventRequest</a> (uint32_t event_classes)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a67e888a4e4e23effe7a09625e73ecae9">PostMessage</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &message)</td></tr>
+<tr><td colspan="2"><div class="groupHeader">PPB_Console methods for logging to the console:</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a192ab89f4acf2e1e25df14e22d0cff43">LogToConsole</a> (PP_LogLevel level, const <a class="el" href="classpp_1_1_var.html">Var</a> &value)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a48286ccf1217b3ae02138049d00af48f">LogToConsoleWithSource</a> (PP_LogLevel level, const <a class="el" href="classpp_1_1_var.html">Var</a> &source, const <a class="el" href="classpp_1_1_var.html">Var</a> &value)</td></tr>
+</table><h2>
+Static Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#ad1b6c19954ff9446349a6fa5684eea2d">RemovePerInstanceObject</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, const std::string &interface_name, void *object)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void * </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a6dec498f1d49571be9fd40e23745327f">GetPerInstanceObject</a> (PP_Instance instance, const std::string &interface_name)</td></tr>
+</table>
+<hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a398b1946805872334781dac993cfe704"></a><!-- doxytag: member="pp::Instance::Instance" ref="a398b1946805872334781dac993cfe704" args="(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_instance.html#a398b1946805872334781dac993cfe704">pp::Instance::Instance</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Instance </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor. </p>
+<p>Construction of an instance should only be done in response to a browser request in <code><a class="el" href="classpp_1_1_module.html#a648f236af50501bac40ce40296611825" title="CreateInstance() should be overridden to create your own module type.">Module::CreateInstance</a></code>. Otherwise, the instance will lack the proper bookkeeping in the browser and in the C++ wrapper.</p>
+<p><a class="el" href="classpp_1_1_instance.html#a4f915e70caaef514a49ef8afcddde30f" title="Init() initializes this instance with the provided arguments.">Init()</a> will be called immediately after the constructor. This allows you to perform initialization tasks that can fail and to report that failure to the browser. </p>
+</div>
+</div>
+<a class="anchor" id="a5e475ef135a235029bc0515e9e3ff832"></a><!-- doxytag: member="pp::Instance::~Instance" ref="a5e475ef135a235029bc0515e9e3ff832" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_instance.html#a5e475ef135a235029bc0515e9e3ff832">pp::Instance::~Instance</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Destructor. </p>
+<p>When the instance is removed from the web page, the <code><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></code> object will be deleted. You should never delete the <code><a class="el" href="classpp_1_1_instance.html">Instance</a></code> object yourself since the lifetime is handled by the C++ wrapper and is controlled by the browser's calls to the <code>PPP_Instance</code> interface.</p>
+<p>The <code>PP_Instance</code> identifier will still be valid during this call so the instance can perform cleanup-related tasks. Once this function returns, the <code>PP_Instance</code> handle will be invalid. This means that you can't do any asynchronous operations such as network requests or file writes from this destructor since they will be immediately canceled.</p>
+<p><b>Note:</b> This function may be skipped in certain call so the instance can perform cleanup-related tasks. Once this function returns, the <code>PP_Instance</code> handle will be invalid. This means that you can't do any asynchronous operations such as network requests or file writes from this destructor since they will be immediately canceled. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a9773263ee281405030548fc224eeec08"></a><!-- doxytag: member="pp::Instance::AddPerInstanceObject" ref="a9773263ee281405030548fc224eeec08" args="(const std::string &interface_name, void *object)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_instance.html#a9773263ee281405030548fc224eeec08">pp::Instance::AddPerInstanceObject</a> </td>
+<td>(</td>
+<td class="paramtype">const std::string & </td>
+<td class="paramname"><em>interface_name</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">void * </td>
+<td class="paramname"><em>object</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_instance.html#a9773263ee281405030548fc224eeec08" title="AddPerInstanceObject() associates an instance with an interface, creating an object.">AddPerInstanceObject()</a> associates an instance with an interface, creating an object. </p>
+<p>Many optional interfaces are associated with a plugin instance. For example, the find in PPP_Find interface receives updates on a per-instance basis. This "per-instance" tracking allows such objects to associate themselves with an instance as "the" handler for that interface name.</p>
+<p>In the case of the find example, the find object registers with its associated instance in its constructor and unregisters in its destructor. Then whenever it gets updates with a PP_Instance parameter, it can map back to the find object corresponding to that given PP_Instance by calling GetPerInstanceObject.</p>
+<p>This lookup is done on a per-interface-name basis. This means you can only have one object of a given interface name associated with an instance.</p>
+<p>If you are adding a handler for an additional interface, be sure to register with the module (AddPluginInterface) for your interface name to get the C calls in the first place.</p>
+<p>Refer to <a class="el" href="classpp_1_1_instance.html#a33c633189c7c321dac8e0c5dc6e67f5b" title="Refer to AddPerInstanceObject() for further information.">RemovePerInstanceObject()</a> and <a class="el" href="classpp_1_1_instance.html#a6dec498f1d49571be9fd40e23745327f" title="Look up an object previously associated with an instance.">GetPerInstanceObject()</a> for further information.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">interface_name</td><td>The name of the interface to associate with the instance </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">object</td><td></td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a147a1c1817a7a1fb2b76f5c87ab08899"></a><!-- doxytag: member="pp::Instance::BindGraphics" ref="a147a1c1817a7a1fb2b76f5c87ab08899" args="(const Graphics2D &graphics)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_instance.html#a147a1c1817a7a1fb2b76f5c87ab08899">pp::Instance::BindGraphics</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_graphics2_d.html">Graphics2D</a> & </td>
+<td class="paramname"><em>graphics</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_instance.html#a147a1c1817a7a1fb2b76f5c87ab08899" title="BindGraphics() binds the given graphics as the current display surface.">BindGraphics()</a> binds the given graphics as the current display surface. </p>
+<p>The contents of this device is what will be displayed in the instance's area on the web page. The device must be a 2D or a 3D device.</p>
+<p>You can pass an <code>is_null()</code> (default constructed) <a class="el" href="classpp_1_1_graphics2_d.html">Graphics2D</a> as the device parameter to unbind all devices from the given instance. The instance will then appear transparent. Re-binding the same device will return <code>true</code> and will do nothing.</p>
+<p>Any previously-bound device will be released. It is an error to bind a device when it is already bound to another instance. If you want to move a device between instances, first unbind it from the old one, and then rebind it to the new one.</p>
+<p>Binding a device will invalidate that portion of the web page to flush the contents of the new device to the screen.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">graphics</td><td>A <code><a class="el" href="classpp_1_1_graphics2_d.html">Graphics2D</a></code> to bind.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if bind was successful or false if the device was not the correct type. On success, a reference to the device will be held by the instance, so the caller can release its reference if it chooses. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="abcfd0eb0995e6273271b4ff4c3df16ae"></a><!-- doxytag: member="pp::Instance::BindGraphics" ref="abcfd0eb0995e6273271b4ff4c3df16ae" args="(const Graphics3D &graphics)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_instance.html#a147a1c1817a7a1fb2b76f5c87ab08899">pp::Instance::BindGraphics</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_graphics3_d.html">Graphics3D</a> & </td>
+<td class="paramname"><em>graphics</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Binds the given <a class="el" href="classpp_1_1_graphics3_d.html" title="This class represents a 3D rendering context in the browser.">Graphics3D</a> as the current display surface. </p>
+<p>Refer to <code><a class="el" href="classpp_1_1_instance.html#a147a1c1817a7a1fb2b76f5c87ab08899" title="BindGraphics() binds the given graphics as the current display surface.">BindGraphics(const Graphics2D& graphics)</a></code> for further information.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">graphics</td><td>A <code><a class="el" href="classpp_1_1_graphics3_d.html" title="This class represents a 3D rendering context in the browser.">Graphics3D</a></code> to bind.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if bind was successful or false if the device was not the correct type. On success, a reference to the device will be held by the instance, so the caller can release its reference if it chooses. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a286bc22174e2f7b6e917c56aa5c7de86"></a><!-- doxytag: member="pp::Instance::ClearInputEventRequest" ref="a286bc22174e2f7b6e917c56aa5c7de86" args="(uint32_t event_classes)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_instance.html#a286bc22174e2f7b6e917c56aa5c7de86">pp::Instance::ClearInputEventRequest</a> </td>
+<td>(</td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>event_classes</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_instance.html#a286bc22174e2f7b6e917c56aa5c7de86" title="ClearInputEventRequest() requests that input events corresponding to the given input classes no longe...">ClearInputEventRequest()</a> requests that input events corresponding to the given input classes no longer be delivered to the instance. </p>
+<p>By default, no input events are delivered. If you have previously requested input events using <a class="el" href="classpp_1_1_instance.html#a2e2d63280786c0cc41b7c6f656cc81b5" title="RequestInputEvents() requests that input events corresponding to the given input events are delivered...">RequestInputEvents()</a> or <a class="el" href="classpp_1_1_instance.html#a6341c14fc54427e45349f5158483e017" title="RequestFilteringInputEvents() requests that input events corresponding to the given input events are ...">RequestFilteringInputEvents()</a>, this function will unregister handling for the given instance. This will allow greater browser performance for those events.</p>
+<p><b>Note: </b> You may still get some input events after clearing the flag if they were dispatched before the request was cleared. For example, if there are 3 mouse move events waiting to be delivered, and you clear the mouse event class during the processing of the first one, you'll still receive the next two. You just won't get more events generated.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">event_classes</td><td>A combination of flags from <code>PP_InputEvent_Class</code> that identifies the classes of events the instance is no longer interested in. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a42c67b21f11bef29c5b341c78926bad3"></a><!-- doxytag: member="pp::Instance::DidChangeFocus" ref="a42c67b21f11bef29c5b341c78926bad3" args="(bool has_focus)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual void <a class="el" href="classpp_1_1_instance.html#a42c67b21f11bef29c5b341c78926bad3">pp::Instance::DidChangeFocus</a> </td>
+<td>(</td>
+<td class="paramtype">bool </td>
+<td class="paramname"><em>has_focus</em></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_instance.html#a42c67b21f11bef29c5b341c78926bad3" title="DidChangeFocus() is called when an instance has gained or lost focus.">DidChangeFocus()</a> is called when an instance has gained or lost focus. </p>
+<p>Having focus means that keyboard events will be sent to the instance. An instance's default condition is that it will not have focus.</p>
+<p>The focus flag takes into account both browser tab and window focus as well as focus of the plugin element on the page. In order to be deemed to have focus, the browser window must be topmost, the tab must be selected in the window, and the instance must be the focused element on the page.</p>
+<p><b>Note:</b>Clicks on instances will give focus only if you handle the click event. Return <code>true</code> from <code>HandleInputEvent</code> in <code>PPP_InputEvent</code> (or use unfiltered events) to signal that the click event was handled. Otherwise, the browser will bubble the event and give focus to the element on the page that actually did end up consuming it. If you're not getting focus, check to make sure you're either requesting them via <code><a class="el" href="classpp_1_1_instance.html#a2e2d63280786c0cc41b7c6f656cc81b5" title="RequestInputEvents() requests that input events corresponding to the given input events are delivered...">RequestInputEvents()</a></code><code> (which implicitly marks all input events as consumed) or via </code><code><a class="el" href="classpp_1_1_instance.html#a6341c14fc54427e45349f5158483e017" title="RequestFilteringInputEvents() requests that input events corresponding to the given input events are ...">RequestFilteringInputEvents()</a></code> and returning true from your event handler.</p>
+<p><code></code><code> </code></p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">has_focus</td><td>Indicates the new focused state of the instance. </td></tr>
+</table>
+</dd>
+</dl>
+<p></p>
+</div>
+</div>
+<a class="anchor" id="ad952f05e42f0e036157beb216f12f3f3"></a><!-- doxytag: member="pp::Instance::DidChangeView" ref="ad952f05e42f0e036157beb216f12f3f3" args="(const View &view)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual void <a class="el" href="classpp_1_1_instance.html#ad952f05e42f0e036157beb216f12f3f3">pp::Instance::DidChangeView</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_view.html">View</a> & </td>
+<td class="paramname"><em>view</em></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_instance.html#ad952f05e42f0e036157beb216f12f3f3" title="DidChangeView() is called when the view information for the Instance has changed.">DidChangeView()</a> is called when the view information for the <a class="el" href="classpp_1_1_instance.html">Instance</a> has changed. </p>
+<p>See the <code><a class="el" href="classpp_1_1_view.html" title="This class represents the state of the view for an instance and contains functions for retrieving the...">View</a></code> object for information.</p>
+<p>Most implementations will want to check if the size and user visibility changed, and either resize themselves or start/stop generating updates.</p>
+<p>You should not call the default implementation. For backwards-compatibility, it will call the deprecated version of DidChangeView below. </p>
+</div>
+</div>
+<a class="anchor" id="a72ac4ec0b62c4cd8dedae3cf0fc577c2"></a><!-- doxytag: member="pp::Instance::DidChangeView" ref="a72ac4ec0b62c4cd8dedae3cf0fc577c2" args="(const Rect &position, const Rect &clip)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual void <a class="el" href="classpp_1_1_instance.html#ad952f05e42f0e036157beb216f12f3f3">pp::Instance::DidChangeView</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">Rect</a> & </td>
+<td class="paramname"><em>position</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">Rect</a> & </td>
+<td class="paramname"><em>clip</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Deprecated backwards-compatible version of <code><a class="el" href="classpp_1_1_instance.html#ad952f05e42f0e036157beb216f12f3f3" title="DidChangeView() is called when the view information for the Instance has changed.">DidChangeView()</a></code>. </p>
+<p>New code should derive from the version that takes a <code>ViewChanged</code> object rather than this version. This function is called by the default implementation of the newer <code>DidChangeView</code> function for source compatibility with older code.</p>
+<p>A typical implementation will check the size of the <code>position</code> argument and reallocate the graphics context when a different size is received. Note that this function will be called for scroll events where the size doesn't change, so you should always check that the size is actually different before doing any reallocations.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">position</td><td>The location on the page of the instance. The position is relative to the top left corner of the viewport, which changes as the page is scrolled. Generally the size of this value will be used to create a graphics device, and the position is ignored (most things are relative to the instance so the absolute position isn't useful in most cases).</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">clip</td><td>The visible region of the instance. This is relative to the top left of the instance's coordinate system (not the page). If the instance is invisible, <code>clip</code> will be (0, 0, 0, 0).</td></tr>
+</table>
+</dd>
+</dl>
+<p>It's recommended to check for invisible instances and to stop generating graphics updates in this case to save system resources. It's not usually worthwhile, however, to generate partial updates according to the clip when the instance is partially visible. Instead, update the entire region. The time saved doing partial paints is usually not significant and it can create artifacts when scrolling (this notification is sent asynchronously from scrolling so there can be flashes of old content in the exposed regions). </p>
+</div>
+</div>
+<a class="anchor" id="a6dec498f1d49571be9fd40e23745327f"></a><!-- doxytag: member="pp::Instance::GetPerInstanceObject" ref="a6dec498f1d49571be9fd40e23745327f" args="(PP_Instance instance, const std::string &interface_name)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static void* <a class="el" href="classpp_1_1_instance.html#a6dec498f1d49571be9fd40e23745327f">pp::Instance::GetPerInstanceObject</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Instance </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const std::string & </td>
+<td class="paramname"><em>interface_name</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Look up an object previously associated with an instance. </p>
+<p>Returns NULL if the instance is invalid or there is no object for the given interface name on the instance.</p>
+<p>Refer to <a class="el" href="classpp_1_1_instance.html#a9773263ee281405030548fc224eeec08" title="AddPerInstanceObject() associates an instance with an interface, creating an object.">AddPerInstanceObject()</a> for further information.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td></td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">interface_name</td><td>The name of the interface to associate with the instance. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a6cd99065ef0a55555647253442563225"></a><!-- doxytag: member="pp::Instance::HandleDocumentLoad" ref="a6cd99065ef0a55555647253442563225" args="(const URLLoader &url_loader)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual bool <a class="el" href="classpp_1_1_instance.html#a6cd99065ef0a55555647253442563225">pp::Instance::HandleDocumentLoad</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_u_r_l_loader.html">URLLoader</a> & </td>
+<td class="paramname"><em>url_loader</em></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_instance.html#a6cd99065ef0a55555647253442563225" title="HandleDocumentLoad() is called after Init() for a full-frame instance that was instantiated based on ...">HandleDocumentLoad()</a> is called after <a class="el" href="classpp_1_1_instance.html#a4f915e70caaef514a49ef8afcddde30f" title="Init() initializes this instance with the provided arguments.">Init()</a> for a full-frame instance that was instantiated based on the MIME type of a DOMWindow navigation. </p>
+<p>This situation only applies to modules that are pre-registered to handle certain MIME types. If you haven't specifically registered to handle a MIME type or aren't positive this applies to you, your implementation of this function can just return false.</p>
+<p>The given url_loader corresponds to a <code><a class="el" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs.">URLLoader</a></code> object that is already opened. Its response headers may be queried using GetResponseInfo(). If you want to use the <code><a class="el" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs.">URLLoader</a></code> to read data, you will need to save a copy of it or the underlying resource will be freed when this function returns and the load will be canceled.</p>
+<p>This method returns false if the module cannot handle the data. In response to this method, the module should call ReadResponseBody() to read the incoming data.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">url_loader</td><td>An open <code><a class="el" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs.">URLLoader</a></code> instance.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the data was handled, false otherwise. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a46aa2feb657fa14263a29375fe458b00"></a><!-- doxytag: member="pp::Instance::HandleInputEvent" ref="a46aa2feb657fa14263a29375fe458b00" args="(const pp::InputEvent &event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual bool <a class="el" href="classpp_1_1_instance.html#a46aa2feb657fa14263a29375fe458b00">pp::Instance::HandleInputEvent</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a> & </td>
+<td class="paramname"><em>event</em></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_instance.html#a46aa2feb657fa14263a29375fe458b00" title="HandleInputEvent() handles input events from the browser.">HandleInputEvent()</a> handles input events from the browser. </p>
+<p>The default implementation does nothing and returns false.</p>
+<p>In order to receive input events, you must register for them by calling <a class="el" href="classpp_1_1_instance.html#a2e2d63280786c0cc41b7c6f656cc81b5" title="RequestInputEvents() requests that input events corresponding to the given input events are delivered...">RequestInputEvents()</a> or <a class="el" href="classpp_1_1_instance.html#a6341c14fc54427e45349f5158483e017" title="RequestFilteringInputEvents() requests that input events corresponding to the given input events are ...">RequestFilteringInputEvents()</a>. By default, no events are delivered.</p>
+<p>If the event was handled, it will not be forwarded to the web page or browser. If it was not handled, it will bubble according to the normal rules. So it is important that an instance respond accurately with whether event propagation should continue.</p>
+<p>Event propagation also controls focus. If you handle an event like a mouse event, typically the instance will be given focus. Returning false from a filtered event handler or not registering for an event type means that the click will be given to a lower part of the page and your instance will not receive focus. This allows an instance to be partially transparent, where clicks on the transparent areas will behave like clicks to the underlying page.</p>
+<p>In general, you should try to keep input event handling short. Especially for filtered input events, the browser or page may be blocked waiting for you to respond.</p>
+<p>The caller of this function will maintain a reference to the input event resource during this call. Unless you take a reference to the resource to hold it for later, you don't need to release it.</p>
+<p><b>Note: </b>If you're not receiving input events, make sure you register for the event classes you want by calling <code>RequestInputEvents</code> or <code>RequestFilteringInputEvents</code>. If you're still not receiving keyboard input events, make sure you're returning true (or using a non-filtered event handler) for mouse events. Otherwise, the instance will not receive focus and keyboard events will not be sent.</p>
+<p>Refer to <code>RequestInputEvents</code> and <code>RequestFilteringInputEvents</code> for further information.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">event</td><td>The event to handle.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the event was handled, false if not. If you have registered to filter this class of events by calling <code>RequestFilteringInputEvents</code>, and you return false, the event will be forwarded to the page (and eventually the browser) for the default handling. For non-filtered events, the return value will be ignored. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a5dce8c8b36b1df7cfcc12e42397a35e8"></a><!-- doxytag: member="pp::Instance::HandleMessage" ref="a5dce8c8b36b1df7cfcc12e42397a35e8" args="(const Var &message)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual void <a class="el" href="classpp_1_1_instance.html#a5dce8c8b36b1df7cfcc12e42397a35e8">pp::Instance::HandleMessage</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>message</em></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_instance.html#a5dce8c8b36b1df7cfcc12e42397a35e8" title="HandleMessage() is a function that the browser calls when PostMessage() is invoked on the DOM element...">HandleMessage()</a> is a function that the browser calls when <a class="el" href="classpp_1_1_instance.html#a67e888a4e4e23effe7a09625e73ecae9" title="PostMessage() asynchronously invokes any listeners for message events on the DOM element for the give...">PostMessage()</a> is invoked on the DOM element for the instance in JavaScript. </p>
+<p>Note that <a class="el" href="classpp_1_1_instance.html#a67e888a4e4e23effe7a09625e73ecae9" title="PostMessage() asynchronously invokes any listeners for message events on the DOM element for the give...">PostMessage()</a> in the JavaScript interface is asynchronous, meaning JavaScript execution will not be blocked while <a class="el" href="classpp_1_1_instance.html#a5dce8c8b36b1df7cfcc12e42397a35e8" title="HandleMessage() is a function that the browser calls when PostMessage() is invoked on the DOM element...">HandleMessage()</a> is processing the message.</p>
+<p>When converting JavaScript arrays, any object properties whose name is not an array index are ignored. When passing arrays and objects, the entire reference graph will be converted and transferred. If the reference graph has cycles, the message will not be sent and an error will be logged to the console.</p>
+<p><b>Example:</b></p>
+<p>The following JavaScript code invokes <code>HandleMessage</code>, passing the instance on which it was invoked, with <code>message</code> being a string <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing "Hello world!"</p>
+<div class="fragment"><pre class="fragment"> {.html}
+
+ <body>
+ <<span class="keywordtype">object</span> <span class="keywordtype">id</span>=<span class="stringliteral">"plugin"</span>
+ type=<span class="stringliteral">"application/x-ppapi-postMessage-example"</span>/>
+ <script type=<span class="stringliteral">"text/javascript"</span>>
+ document.getElementById(<span class="stringliteral">'plugin'</span>).postMessage(<span class="stringliteral">"Hello world!"</span>);
+ </script>
+ </body>
+</pre></div><p>Refer to <a class="el" href="classpp_1_1_instance.html#a67e888a4e4e23effe7a09625e73ecae9" title="PostMessage() asynchronously invokes any listeners for message events on the DOM element for the give...">PostMessage()</a> for sending messages to JavaScript.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">message</td><td>A <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> which has been converted from a JavaScript value. JavaScript array/object types are supported from Chrome M29 onward. All JavaScript values are copied when passing them to the plugin. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a4f915e70caaef514a49ef8afcddde30f"></a><!-- doxytag: member="pp::Instance::Init" ref="a4f915e70caaef514a49ef8afcddde30f" args="(uint32_t argc, const char *argn[], const char *argv[])" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual bool <a class="el" href="classpp_1_1_instance.html#a4f915e70caaef514a49ef8afcddde30f">pp::Instance::Init</a> </td>
+<td>(</td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>argc</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const char * </td>
+<td class="paramname"><em>argn</em>[], </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const char * </td>
+<td class="paramname"><em>argv</em>[] </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_instance.html#a4f915e70caaef514a49ef8afcddde30f" title="Init() initializes this instance with the provided arguments.">Init()</a> initializes this instance with the provided arguments. </p>
+<p>This function will be called immediately after the instance object is constructed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">argc</td><td>The number of arguments contained in <code>argn</code> and <code>argv</code>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">argn</td><td>An array of argument names. These argument names are supplied in the <embed> tag, for example: <code><embed id="nacl_module" dimensions="2"></code> will produce two argument names: "id" and "dimensions".</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">argv</td><td>An array of argument values. These are the values of the arguments listed in the <embed> tag, for example <code><embed id="nacl_module" dimensions="2"></code> will produce two argument values: "nacl_module" and "2". The indices of these values match the indices of the corresponding names in <code>argn</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true on success. Returning false causes the instance to be deleted and no other functions to be called. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a451fb956e64fd3db891608148a044c01"></a><!-- doxytag: member="pp::Instance::IsFullFrame" ref="a451fb956e64fd3db891608148a044c01" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_instance.html#a451fb956e64fd3db891608148a044c01">pp::Instance::IsFullFrame</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_instance.html#a451fb956e64fd3db891608148a044c01" title="IsFullFrame() determines if the instance is full-frame (repr).">IsFullFrame()</a> determines if the instance is full-frame (repr). </p>
+<p>Such an instance represents the entire document in a frame rather than an embedded resource. This can happen if the user does a top-level navigation or the page specifies an iframe to a resource with a MIME type registered by the module.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the instance is full-frame, false if not. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a192ab89f4acf2e1e25df14e22d0cff43"></a><!-- doxytag: member="pp::Instance::LogToConsole" ref="a192ab89f4acf2e1e25df14e22d0cff43" args="(PP_LogLevel level, const Var &value)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_instance.html#a192ab89f4acf2e1e25df14e22d0cff43">pp::Instance::LogToConsole</a> </td>
+<td>(</td>
+<td class="paramtype">PP_LogLevel </td>
+<td class="paramname"><em>level</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>value</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Logs the given message to the JavaScript console associated with the given plugin instance with the given logging level. </p>
+<p>The name of the plugin issuing the log message will be automatically prepended to the message. The value may be any type of <a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a>. </p>
+</div>
+</div>
+<a class="anchor" id="a48286ccf1217b3ae02138049d00af48f"></a><!-- doxytag: member="pp::Instance::LogToConsoleWithSource" ref="a48286ccf1217b3ae02138049d00af48f" args="(PP_LogLevel level, const Var &source, const Var &value)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_instance.html#a48286ccf1217b3ae02138049d00af48f">pp::Instance::LogToConsoleWithSource</a> </td>
+<td>(</td>
+<td class="paramtype">PP_LogLevel </td>
+<td class="paramname"><em>level</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>source</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>value</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Logs a message to the console with the given source information rather than using the internal PPAPI plugin name. </p>
+<p>The name must be a string var.</p>
+<p>The regular log function will automatically prepend the name of your plugin to the message as the "source" of the message. Some plugins may wish to override this. For example, if your plugin is a Python interpreter, you would want log messages to contain the source .py file doing the log statement rather than have "python" show up in the console. </p>
+</div>
+</div>
+<a class="anchor" id="a67e888a4e4e23effe7a09625e73ecae9"></a><!-- doxytag: member="pp::Instance::PostMessage" ref="a67e888a4e4e23effe7a09625e73ecae9" args="(const Var &message)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_instance.html#a67e888a4e4e23effe7a09625e73ecae9">pp::Instance::PostMessage</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>message</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_instance.html#a67e888a4e4e23effe7a09625e73ecae9" title="PostMessage() asynchronously invokes any listeners for message events on the DOM element for the give...">PostMessage()</a> asynchronously invokes any listeners for message events on the DOM element for the given instance. </p>
+<p>A call to <a class="el" href="classpp_1_1_instance.html#a67e888a4e4e23effe7a09625e73ecae9" title="PostMessage() asynchronously invokes any listeners for message events on the DOM element for the give...">PostMessage()</a> will not block while the message is processed.</p>
+<p><b>Example:</b></p>
+<div class="fragment"><pre class="fragment"> {.html}
+
+ <body>
+ <<span class="keywordtype">object</span> <span class="keywordtype">id</span>=<span class="stringliteral">"plugin"</span>
+ type=<span class="stringliteral">"application/x-ppapi-postMessage-example"</span>/>
+ <script type=<span class="stringliteral">"text/javascript"</span>>
+ var plugin = document.getElementById(<span class="stringliteral">'plugin'</span>);
+ plugin.addEventListener(<span class="stringliteral">"message"</span>,
+ <span class="keyword">function</span>(message) { alert(message.data); },
+ <span class="keyword">false</span>);
+ </script>
+ </body>
+</pre></div><p>The instance then invokes <a class="el" href="classpp_1_1_instance.html#a67e888a4e4e23effe7a09625e73ecae9" title="PostMessage() asynchronously invokes any listeners for message events on the DOM element for the give...">PostMessage()</a> as follows:</p>
+<div class="fragment"><pre class="fragment"> <a class="code" href="classpp_1_1_instance.html#a67e888a4e4e23effe7a09625e73ecae9" title="PostMessage() asynchronously invokes any listeners for message events on the DOM element for the give...">PostMessage</a>(<a class="code" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">pp::Var</a>(<span class="stringliteral">"Hello world!"</span>));
+</pre></div><p>The browser will pop-up an alert saying "Hello world!"</p>
+<p>When passing array or dictionary <code>PP_Var</code>s, the entire reference graph will be converted and transferred. If the reference graph has cycles, the message will not be sent and an error will be logged to the console.</p>
+<p>Listeners for message events in JavaScript code will receive an object conforming to the HTML 5 <code>MessageEvent</code> interface. Specifically, the value of message will be contained as a property called data in the received <code>MessageEvent</code>.</p>
+<p>This messaging system is similar to the system used for listening for messages from Web Workers. Refer to <code><a href="http://www.whatwg.org/specs/web-workers/current-work/">http://www.whatwg.org/specs/web-workers/current-work/</a></code> for further information.</p>
+<p>Refer to <a class="el" href="classpp_1_1_instance.html#a5dce8c8b36b1df7cfcc12e42397a35e8" title="HandleMessage() is a function that the browser calls when PostMessage() is invoked on the DOM element...">HandleMessage()</a> for receiving events from JavaScript.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">message</td><td>A <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing the data to be sent to JavaScript. Message can have a numeric, boolean, or string value. Array/Dictionary types are supported from Chrome M29 onward. All var types are copied when passing them to JavaScript. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="aeb29ff4201f9ae0e356c5ed0bb4a2679"></a><!-- doxytag: member="pp::Instance::pp_instance" ref="aeb29ff4201f9ae0e356c5ed0bb4a2679" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_Instance <a class="el" href="classpp_1_1_instance.html#aeb29ff4201f9ae0e356c5ed0bb4a2679">pp::Instance::pp_instance</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function returns the <code>PP_Instance</code> identifying this object. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Instance</code> identifying this object. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a33c633189c7c321dac8e0c5dc6e67f5b"></a><!-- doxytag: member="pp::Instance::RemovePerInstanceObject" ref="a33c633189c7c321dac8e0c5dc6e67f5b" args="(const std::string &interface_name, void *object)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_instance.html#a33c633189c7c321dac8e0c5dc6e67f5b">pp::Instance::RemovePerInstanceObject</a> </td>
+<td>(</td>
+<td class="paramtype">const std::string & </td>
+<td class="paramname"><em>interface_name</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">void * </td>
+<td class="paramname"><em>object</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Refer to <a class="el" href="classpp_1_1_instance.html#a9773263ee281405030548fc224eeec08" title="AddPerInstanceObject() associates an instance with an interface, creating an object.">AddPerInstanceObject()</a> for further information. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">interface_name</td><td>The name of the interface to associate with the instance </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">object</td><td></td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ad1b6c19954ff9446349a6fa5684eea2d"></a><!-- doxytag: member="pp::Instance::RemovePerInstanceObject" ref="ad1b6c19954ff9446349a6fa5684eea2d" args="(const InstanceHandle &instance, const std::string &interface_name, void *object)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static void <a class="el" href="classpp_1_1_instance.html#a33c633189c7c321dac8e0c5dc6e67f5b">pp::Instance::RemovePerInstanceObject</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const std::string & </td>
+<td class="paramname"><em>interface_name</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">void * </td>
+<td class="paramname"><em>object</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Static version of AddPerInstanceObject that takes an <a class="el" href="classpp_1_1_instance_handle.html" title="An instance handle identifies an instance in a constructor for a resource.">InstanceHandle</a>. </p>
+<p>As with all other instance functions, this must only be called on the main thread. </p>
+</div>
+</div>
+<a class="anchor" id="a6341c14fc54427e45349f5158483e017"></a><!-- doxytag: member="pp::Instance::RequestFilteringInputEvents" ref="a6341c14fc54427e45349f5158483e017" args="(uint32_t event_classes)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_instance.html#a6341c14fc54427e45349f5158483e017">pp::Instance::RequestFilteringInputEvents</a> </td>
+<td>(</td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>event_classes</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_instance.html#a6341c14fc54427e45349f5158483e017" title="RequestFilteringInputEvents() requests that input events corresponding to the given input events are ...">RequestFilteringInputEvents()</a> requests that input events corresponding to the given input events are delivered to the instance for filtering. </p>
+<p>By default, no input events are delivered. In most cases you would register to receive events by calling <a class="el" href="classpp_1_1_instance.html#a2e2d63280786c0cc41b7c6f656cc81b5" title="RequestInputEvents() requests that input events corresponding to the given input events are delivered...">RequestInputEvents()</a>. In some cases, however, you may wish to filter events such that they can be bubbled up to the DOM. In this case, register for those classes of events using this function instead of <a class="el" href="classpp_1_1_instance.html#a2e2d63280786c0cc41b7c6f656cc81b5" title="RequestInputEvents() requests that input events corresponding to the given input events are delivered...">RequestInputEvents()</a>. Keyboard events must always be registered in filtering mode.</p>
+<p>Filtering input events requires significantly more overhead than just delivering them to the instance. As such, you should only request filtering in those cases where it's absolutely necessary. The reason is that it requires the browser to stop and block for the instance to handle the input event, rather than sending the input event asynchronously. This can have significant overhead.</p>
+<p><b>Example:</b></p>
+<div class="fragment"><pre class="fragment"> <a class="code" href="classpp_1_1_instance.html#a2e2d63280786c0cc41b7c6f656cc81b5" title="RequestInputEvents() requests that input events corresponding to the given input events are delivered...">RequestInputEvents</a>(PP_INPUTEVENT_CLASS_MOUSE);
+ <a class="code" href="classpp_1_1_instance.html#a6341c14fc54427e45349f5158483e017" title="RequestFilteringInputEvents() requests that input events corresponding to the given input events are ...">RequestFilteringInputEvents</a>(
+ PP_INPUTEVENT_CLASS_WHEEL | PP_INPUTEVENT_CLASS_KEYBOARD);
+</pre></div><dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramname">event_classes</td><td>A combination of flags from <code>PP_InputEvent_Class</code> that identifies the classes of events the instance is requesting. The flags are combined by logically ORing their values.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_OK</code> if the operation succeeded, <code>PP_ERROR_BADARGUMENT</code> if instance is invalid, or <code>PP_ERROR_NOTSUPPORTED</code> if one of the event class bits were illegal. In the case of an invalid bit, all valid bits will be applied and only the illegal bits will be ignored. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2e2d63280786c0cc41b7c6f656cc81b5"></a><!-- doxytag: member="pp::Instance::RequestInputEvents" ref="a2e2d63280786c0cc41b7c6f656cc81b5" args="(uint32_t event_classes)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_instance.html#a2e2d63280786c0cc41b7c6f656cc81b5">pp::Instance::RequestInputEvents</a> </td>
+<td>(</td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>event_classes</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_instance.html#a2e2d63280786c0cc41b7c6f656cc81b5" title="RequestInputEvents() requests that input events corresponding to the given input events are delivered...">RequestInputEvents()</a> requests that input events corresponding to the given input events are delivered to the instance. </p>
+<p>By default, no input events are delivered. Call this function with the classes of events you are interested in to have them be delivered to the instance. Calling this function will override any previous setting for each specified class of input events (for example, if you previously called <a class="el" href="classpp_1_1_instance.html#a6341c14fc54427e45349f5158483e017" title="RequestFilteringInputEvents() requests that input events corresponding to the given input events are ...">RequestFilteringInputEvents()</a>, this function will set those events to non-filtering mode).</p>
+<p>Input events may have high overhead, so you should only request input events that your plugin will actually handle. For example, the browser may do optimizations for scroll or touch events that can be processed substantially faster if it knows there are no non-default receivers for that message. Requesting that such messages be delivered, even if they are processed very quickly, may have a noticeable effect on the performance of the page.</p>
+<p>When requesting input events through this function, the events will be delivered and <em>not</em> bubbled to the page. This means that even if you aren't interested in the message, no other parts of the page will get the message.</p>
+<p><b>Example:</b></p>
+<div class="fragment"><pre class="fragment"> <a class="code" href="classpp_1_1_instance.html#a2e2d63280786c0cc41b7c6f656cc81b5" title="RequestInputEvents() requests that input events corresponding to the given input events are delivered...">RequestInputEvents</a>(PP_INPUTEVENT_CLASS_MOUSE);
+ <a class="code" href="classpp_1_1_instance.html#a6341c14fc54427e45349f5158483e017" title="RequestFilteringInputEvents() requests that input events corresponding to the given input events are ...">RequestFilteringInputEvents</a>(
+ PP_INPUTEVENT_CLASS_WHEEL | PP_INPUTEVENT_CLASS_KEYBOARD);
+</pre></div><dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramname">event_classes</td><td>A combination of flags from <code>PP_InputEvent_Class</code> that identifies the classes of events the instance is requesting. The flags are combined by logically ORing their values.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_OK</code> if the operation succeeded, <code>PP_ERROR_BADARGUMENT</code> if instance is invalid, or <code>PP_ERROR_NOTSUPPORTED</code> if one of the event class bits were illegal. In the case of an invalid bit, all valid bits will be applied and only the illegal bits will be ignored. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="instance_8h.html">instance.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_instance_handle-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_instance_handle-members.html
new file mode 100644
index 0000000..27faa37
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_instance_handle-members.html
@@ -0,0 +1,16 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_instance_handle.html">pp::InstanceHandle</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance_handle.html#aa9e22c3dc382054c2f3dd816396348dc">InstanceHandle</a>(Instance *instance)</td><td><a class="el" href="classpp_1_1_instance_handle.html">pp::InstanceHandle</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance_handle.html#a9f001cc657a9b9b9307dfa5b20d31856">InstanceHandle</a>(PP_Instance pp_instance)</td><td><a class="el" href="classpp_1_1_instance_handle.html">pp::InstanceHandle</a></td><td><code> [inline, explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance_handle.html#ac413eef4320841121cae58be977d1f7d">pp_instance</a>() const </td><td><a class="el" href="classpp_1_1_instance_handle.html">pp::InstanceHandle</a></td><td><code> [inline]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_instance_handle.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_instance_handle.html
new file mode 100644
index 0000000..578c024
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_instance_handle.html
@@ -0,0 +1,96 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::InstanceHandle Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::InstanceHandle" -->
+<p><a href="classpp_1_1_instance_handle-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance_handle.html#aa9e22c3dc382054c2f3dd816396348dc">InstanceHandle</a> (<a class="el" href="classpp_1_1_instance.html">Instance</a> *instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance_handle.html#a9f001cc657a9b9b9307dfa5b20d31856">InstanceHandle</a> (PP_Instance <a class="el" href="classpp_1_1_instance_handle.html#ac413eef4320841121cae58be977d1f7d">pp_instance</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_Instance </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance_handle.html#ac413eef4320841121cae58be977d1f7d">pp_instance</a> () const </td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>An instance handle identifies an instance in a constructor for a resource. </p>
+<p>This class solves two different problems:</p>
+<p>1. A <a class="el" href="classpp_1_1_instance.html">pp::Instance</a> object's lifetime is managed by the system on the main pepper thread of the module. This means that it may get destroyed at any time based on something that happens on the web page. Therefore, it's not safe to refer to a <code><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></code> object on a background thread. Instead, we need to pass some kind of identifier to resource constructors so that they may safely be used on background threads. If the instance becomes invalid, the resource creation will fail on the background thread, but it won't crash.</p>
+<p>2. <code>PP_Instance</code> would be a good identifier to use for this case. However, using <code>PP_Instance</code> in the constructor to resources is problematic because it is just a typedef for an integer, as is a <code>PP_Resource</code>. Many resources have alternate constructors that just take an existing <code>PP_Resource</code>, so the constructors would be ambiguous. Having this wrapper around a <code>PP_Instance</code> prevents this ambiguity, and also provides a nice place to consolidate an implicit conversion from <code><a class="el" href="classpp_1_1_instance.html">pp::Instance</a>*</code> for prettier code on the main thread (you can just pass "this" to resource constructors in your instance objects).</p>
+<p>You should always pass an <code><a class="el" href="classpp_1_1_instance_handle.html" title="An instance handle identifies an instance in a constructor for a resource.">InstanceHandle</a></code> to background threads instead of a <code><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></code>, and use them in resource constructors and code that may be used from background threads. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="aa9e22c3dc382054c2f3dd816396348dc"></a><!-- doxytag: member="pp::InstanceHandle::InstanceHandle" ref="aa9e22c3dc382054c2f3dd816396348dc" args="(Instance *instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_instance_handle.html#aa9e22c3dc382054c2f3dd816396348dc">pp::InstanceHandle::InstanceHandle</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="classpp_1_1_instance.html">Instance</a> * </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Implicit constructor for converting a <code><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></code> to an instance handle. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this <code><a class="el" href="classpp_1_1_instance_handle.html" title="An instance handle identifies an instance in a constructor for a resource.">InstanceHandle</a></code> will be associated. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a9f001cc657a9b9b9307dfa5b20d31856"></a><!-- doxytag: member="pp::InstanceHandle::InstanceHandle" ref="a9f001cc657a9b9b9307dfa5b20d31856" args="(PP_Instance pp_instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_instance_handle.html#aa9e22c3dc382054c2f3dd816396348dc">pp::InstanceHandle::InstanceHandle</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Instance </td>
+<td class="paramname"><em>pp_instance</em></td><td>)</td>
+<td><code> [inline, explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This constructor explicitly converts a <code>PP_Instance</code> to an instance handle. </p>
+<p>This should not be implicit because it can make some resource constructors ambiguous. <code>PP_Instance</code> is just a typedef for an integer, as is <code>PP_Resource</code>, so the compiler can get confused between the two.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">pp_instance</td><td>The instance with which this <code><a class="el" href="classpp_1_1_instance_handle.html" title="An instance handle identifies an instance in a constructor for a resource.">InstanceHandle</a></code> will be associated. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="ac413eef4320841121cae58be977d1f7d"></a><!-- doxytag: member="pp::InstanceHandle::pp_instance" ref="ac413eef4320841121cae58be977d1f7d" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_Instance <a class="el" href="classpp_1_1_instance_handle.html#ac413eef4320841121cae58be977d1f7d">pp::InstanceHandle::pp_instance</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <a class="el" href="classpp_1_1_instance_handle.html#ac413eef4320841121cae58be977d1f7d" title="The pp_instance() function returns the PP_Instance.">pp_instance()</a> function returns the <code>PP_Instance</code>. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Instance</code> internal instance handle. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="instance__handle_8h.html">instance_handle.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_keyboard_input_event-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_keyboard_input_event-members.html
new file mode 100644
index 0000000..d9ba140
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_keyboard_input_event-members.html
@@ -0,0 +1,35 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_keyboard_input_event.html">pp::KeyboardInputEvent</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_keyboard_input_event.html#a343bd835af56bd7875b0d82361680e4a">GetCharacterText</a>() const </td><td><a class="el" href="classpp_1_1_keyboard_input_event.html">pp::KeyboardInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_keyboard_input_event.html#a5d6c799091a2adce32d3e20fd1a63017">GetKeyCode</a>() const </td><td><a class="el" href="classpp_1_1_keyboard_input_event.html">pp::KeyboardInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a6f94a5cd8453f1b69e55aadde73354e7">GetModifiers</a>() const </td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#acc79ecdcf19f5b8a8a7268fc8ff51531">GetTimeStamp</a>() const </td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a73ca79c06ff9a39304e3b390090f03dc">GetType</a>() const </td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#ac7581e4321abe8de6f3b48d70f4aa65d">InputEvent</a>()</td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a1d4f7d3fb88de3cccc60ab26b92ccf23">InputEvent</a>(PP_Resource input_event_resource)</td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_keyboard_input_event.html#a07197d3bf22df18ab201dd593ec14b46">KeyboardInputEvent</a>()</td><td><a class="el" href="classpp_1_1_keyboard_input_event.html">pp::KeyboardInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_keyboard_input_event.html#ae0817f051306805db56dbbf837da57bb">KeyboardInputEvent</a>(const InputEvent &event)</td><td><a class="el" href="classpp_1_1_keyboard_input_event.html">pp::KeyboardInputEvent</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_keyboard_input_event.html#a3adab90fc81122554ec878ab2fb8d506">KeyboardInputEvent</a>(const InstanceHandle &instance, PP_InputEvent_Type type, PP_TimeTicks time_stamp, uint32_t modifiers, uint32_t key_code, const Var &character_text)</td><td><a class="el" href="classpp_1_1_keyboard_input_event.html">pp::KeyboardInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a2492183af4fecec44a423a5b7eae6faf">~InputEvent</a>()</td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_keyboard_input_event.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_keyboard_input_event.html
new file mode 100644
index 0000000..09d66d1b
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_keyboard_input_event.html
@@ -0,0 +1,170 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::KeyboardInputEvent Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::KeyboardInputEvent" --><!-- doxytag: inherits="pp::InputEvent" --><div class="dynheader">
+Inheritance diagram for pp::KeyboardInputEvent:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_keyboard_input_event__inherit__graph.png" border="0" usemap="#pp_1_1_keyboard_input_event_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_keyboard_input_event_inherit__map" id="pp_1_1_keyboard_input_event_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_input_event.html" title="This class represents an input event resource." alt="" coords="35,83,149,112"></area><area shape="rect" id="node4" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="40,5,144,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_keyboard_input_event-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_keyboard_input_event.html#a07197d3bf22df18ab201dd593ec14b46">KeyboardInputEvent</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_keyboard_input_event.html#ae0817f051306805db56dbbf837da57bb">KeyboardInputEvent</a> (const <a class="el" href="classpp_1_1_input_event.html">InputEvent</a> &event)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_keyboard_input_event.html#a3adab90fc81122554ec878ab2fb8d506">KeyboardInputEvent</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, PP_InputEvent_Type type, PP_TimeTicks time_stamp, uint32_t modifiers, uint32_t key_code, const <a class="el" href="classpp_1_1_var.html">Var</a> &character_text)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_keyboard_input_event.html#a5d6c799091a2adce32d3e20fd1a63017">GetKeyCode</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_keyboard_input_event.html#a343bd835af56bd7875b0d82361680e4a">GetCharacterText</a> () const </td></tr>
+</table>
+<hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a07197d3bf22df18ab201dd593ec14b46"></a><!-- doxytag: member="pp::KeyboardInputEvent::KeyboardInputEvent" ref="a07197d3bf22df18ab201dd593ec14b46" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_keyboard_input_event.html#a07197d3bf22df18ab201dd593ec14b46">pp::KeyboardInputEvent::KeyboardInputEvent</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> keyboard input event object. </p>
+</div>
+</div>
+<a class="anchor" id="ae0817f051306805db56dbbf837da57bb"></a><!-- doxytag: member="pp::KeyboardInputEvent::KeyboardInputEvent" ref="ae0817f051306805db56dbbf837da57bb" args="(const InputEvent &event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_keyboard_input_event.html#a07197d3bf22df18ab201dd593ec14b46">pp::KeyboardInputEvent::KeyboardInputEvent</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_input_event.html">InputEvent</a> & </td>
+<td class="paramname"><em>event</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs a keyboard input event object from the provided generic input event. </p>
+<p>If the given event is itself <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> or is not a keyboard input event, the keybaord object will be <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">event</td><td>A generic input event. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a3adab90fc81122554ec878ab2fb8d506"></a><!-- doxytag: member="pp::KeyboardInputEvent::KeyboardInputEvent" ref="a3adab90fc81122554ec878ab2fb8d506" args="(const InstanceHandle &instance, PP_InputEvent_Type type, PP_TimeTicks time_stamp, uint32_t modifiers, uint32_t key_code, const Var &character_text)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_keyboard_input_event.html#a07197d3bf22df18ab201dd593ec14b46">pp::KeyboardInputEvent::KeyboardInputEvent</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_InputEvent_Type </td>
+<td class="paramname"><em>type</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_TimeTicks </td>
+<td class="paramname"><em>time_stamp</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>modifiers</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>key_code</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>character_text</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs a keyboard input even from the given parameters. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance for which this event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>A <code>PP_InputEvent_Type</code> identifying the type of input event.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">time_stamp</td><td>A <code>PP_TimeTicks</code> indicating the time when the event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">modifiers</td><td>A bit field combination of the <code>PP_InputEvent_Modifier</code> flags.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">key_code</td><td>This value reflects the DOM KeyboardEvent <code>keyCode</code> field. Chrome populates this with the Windows-style Virtual Key code of the key.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">character_text</td><td>This value represents the typed character as a UTF-8 string. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a343bd835af56bd7875b0d82361680e4a"></a><!-- doxytag: member="pp::KeyboardInputEvent::GetCharacterText" ref="a343bd835af56bd7875b0d82361680e4a" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_keyboard_input_event.html#a343bd835af56bd7875b0d82361680e4a">pp::KeyboardInputEvent::GetCharacterText</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns the typed character for the given character event. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A string var representing a single typed character for character input events. For non-character input events the return value will be an undefined var. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a5d6c799091a2adce32d3e20fd1a63017"></a><!-- doxytag: member="pp::KeyboardInputEvent::GetKeyCode" ref="a5d6c799091a2adce32d3e20fd1a63017" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="classpp_1_1_keyboard_input_event.html#a5d6c799091a2adce32d3e20fd1a63017">pp::KeyboardInputEvent::GetKeyCode</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns the DOM keyCode field for the keyboard event. </p>
+<p>Chrome populates this with the Windows-style Virtual Key code of the key. </p>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="input__event_8h.html">input_event.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_keyboard_input_event__inherit__graph.png b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_keyboard_input_event__inherit__graph.png
new file mode 100644
index 0000000..1007695b
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_keyboard_input_event__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_media_stream_audio_track-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_media_stream_audio_track-members.html
new file mode 100644
index 0000000..51e2086
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_media_stream_audio_track-members.html
@@ -0,0 +1,36 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_media_stream_audio_track.html">pp::MediaStreamAudioTrack</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_media_stream_audio_track.html#a2ad0471a5fb098f84ec301d52bca269a">Close</a>()</td><td><a class="el" href="classpp_1_1_media_stream_audio_track.html">pp::MediaStreamAudioTrack</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_media_stream_audio_track.html#ad0045a9b03069527e86a9aa209decc79">Configure</a>(uint32_t samples_per_frame, uint32_t max_buffered_frames)</td><td><a class="el" href="classpp_1_1_media_stream_audio_track.html">pp::MediaStreamAudioTrack</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_media_stream_audio_track.html#a21cbe2138268adba62b204762aa30e10">GetFrame</a>(const CompletionCallbackWithOutput< AudioFrame > &callback)</td><td><a class="el" href="classpp_1_1_media_stream_audio_track.html">pp::MediaStreamAudioTrack</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_media_stream_audio_track.html#ac04877194c84ddbb004265e476275a46">GetId</a>() const </td><td><a class="el" href="classpp_1_1_media_stream_audio_track.html">pp::MediaStreamAudioTrack</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_media_stream_audio_track.html#ae1be4d89810f272b4e43b1ca07a7b0de">HasEnded</a>() const </td><td><a class="el" href="classpp_1_1_media_stream_audio_track.html">pp::MediaStreamAudioTrack</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_media_stream_audio_track.html#a66b94f4551e3e1db35fc9cdfdb686097">IsMediaStreamAudioTrack</a>(const Resource &resource)</td><td><a class="el" href="classpp_1_1_media_stream_audio_track.html">pp::MediaStreamAudioTrack</a></td><td><code> [static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_media_stream_audio_track.html#aba4674796b58027523c3429e6e6c977f">MediaStreamAudioTrack</a>()</td><td><a class="el" href="classpp_1_1_media_stream_audio_track.html">pp::MediaStreamAudioTrack</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_media_stream_audio_track.html#adc7d45a01c7f7e27a94a033e957e0587">MediaStreamAudioTrack</a>(const MediaStreamAudioTrack &other)</td><td><a class="el" href="classpp_1_1_media_stream_audio_track.html">pp::MediaStreamAudioTrack</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_media_stream_audio_track.html#a5b0e9a5ede7bb5e265007b9e2b7c06f9">MediaStreamAudioTrack</a>(const Resource &resource)</td><td><a class="el" href="classpp_1_1_media_stream_audio_track.html">pp::MediaStreamAudioTrack</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_media_stream_audio_track.html#ad0f8599de42327cda5850db05b1b5be6">MediaStreamAudioTrack</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_media_stream_audio_track.html">pp::MediaStreamAudioTrack</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_media_stream_audio_track.html#aa979e01db289d5063b6b7f8ac959345a">RecycleFrame</a>(const AudioFrame &frame)</td><td><a class="el" href="classpp_1_1_media_stream_audio_track.html">pp::MediaStreamAudioTrack</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_media_stream_audio_track.html#a4efdf0aeb1ec01ff29c16c94174bc1f8">~MediaStreamAudioTrack</a>()</td><td><a class="el" href="classpp_1_1_media_stream_audio_track.html">pp::MediaStreamAudioTrack</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_media_stream_audio_track.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_media_stream_audio_track.html
new file mode 100644
index 0000000..4f1e2b0
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_media_stream_audio_track.html
@@ -0,0 +1,315 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::MediaStreamAudioTrack Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::MediaStreamAudioTrack" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::MediaStreamAudioTrack:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_media_stream_audio_track__inherit__graph.png" border="0" usemap="#pp_1_1_media_stream_audio_track_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_media_stream_audio_track_inherit__map" id="pp_1_1_media_stream_audio_track_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="53,5,157,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_media_stream_audio_track-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_media_stream_audio_track.html#aba4674796b58027523c3429e6e6c977f">MediaStreamAudioTrack</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_media_stream_audio_track.html#adc7d45a01c7f7e27a94a033e957e0587">MediaStreamAudioTrack</a> (const <a class="el" href="classpp_1_1_media_stream_audio_track.html">MediaStreamAudioTrack</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_media_stream_audio_track.html#a5b0e9a5ede7bb5e265007b9e2b7c06f9">MediaStreamAudioTrack</a> (const <a class="el" href="classpp_1_1_resource.html">Resource</a> &resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_media_stream_audio_track.html#ad0f8599de42327cda5850db05b1b5be6">MediaStreamAudioTrack</a> (<a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a>, PP_Resource resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_media_stream_audio_track.html#a4efdf0aeb1ec01ff29c16c94174bc1f8">~MediaStreamAudioTrack</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_media_stream_audio_track.html#ad0045a9b03069527e86a9aa209decc79">Configure</a> (uint32_t samples_per_frame, uint32_t max_buffered_frames)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_media_stream_audio_track.html#ac04877194c84ddbb004265e476275a46">GetId</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_media_stream_audio_track.html#ae1be4d89810f272b4e43b1ca07a7b0de">HasEnded</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_media_stream_audio_track.html#a21cbe2138268adba62b204762aa30e10">GetFrame</a> (const <a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a>< <a class="el" href="classpp_1_1_audio_frame.html">AudioFrame</a> > &callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_media_stream_audio_track.html#aa979e01db289d5063b6b7f8ac959345a">RecycleFrame</a> (const <a class="el" href="classpp_1_1_audio_frame.html">AudioFrame</a> &frame)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_media_stream_audio_track.html#a2ad0471a5fb098f84ec301d52bca269a">Close</a> ()</td></tr>
+</table><h2>
+Static Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_media_stream_audio_track.html#a66b94f4551e3e1db35fc9cdfdb686097">IsMediaStreamAudioTrack</a> (const <a class="el" href="classpp_1_1_resource.html">Resource</a> &resource)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="classpp_1_1_media_stream_audio_track.html" title="The MediaStreamAudioTrack class contains methods for receiving audio frames from a MediaStream audio ...">MediaStreamAudioTrack</a></code> class contains methods for receiving audio frames from a MediaStream audio track in the browser. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="aba4674796b58027523c3429e6e6c977f"></a><!-- doxytag: member="pp::MediaStreamAudioTrack::MediaStreamAudioTrack" ref="aba4674796b58027523c3429e6e6c977f" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_media_stream_audio_track.html#aba4674796b58027523c3429e6e6c977f">pp::MediaStreamAudioTrack::MediaStreamAudioTrack</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor for creating an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> <code><a class="el" href="classpp_1_1_media_stream_audio_track.html" title="The MediaStreamAudioTrack class contains methods for receiving audio frames from a MediaStream audio ...">MediaStreamAudioTrack</a></code> object. </p>
+</div>
+</div>
+<a class="anchor" id="adc7d45a01c7f7e27a94a033e957e0587"></a><!-- doxytag: member="pp::MediaStreamAudioTrack::MediaStreamAudioTrack" ref="adc7d45a01c7f7e27a94a033e957e0587" args="(const MediaStreamAudioTrack &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_media_stream_audio_track.html#aba4674796b58027523c3429e6e6c977f">pp::MediaStreamAudioTrack::MediaStreamAudioTrack</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_media_stream_audio_track.html">MediaStreamAudioTrack</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The copy constructor for <code><a class="el" href="classpp_1_1_media_stream_audio_track.html" title="The MediaStreamAudioTrack class contains methods for receiving audio frames from a MediaStream audio ...">MediaStreamAudioTrack</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A reference to a <code><a class="el" href="classpp_1_1_media_stream_audio_track.html" title="The MediaStreamAudioTrack class contains methods for receiving audio frames from a MediaStream audio ...">MediaStreamAudioTrack</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a5b0e9a5ede7bb5e265007b9e2b7c06f9"></a><!-- doxytag: member="pp::MediaStreamAudioTrack::MediaStreamAudioTrack" ref="a5b0e9a5ede7bb5e265007b9e2b7c06f9" args="(const Resource &resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_media_stream_audio_track.html#aba4674796b58027523c3429e6e6c977f">pp::MediaStreamAudioTrack::MediaStreamAudioTrack</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_resource.html">Resource</a> & </td>
+<td class="paramname"><em>resource</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs a <code><a class="el" href="classpp_1_1_media_stream_audio_track.html" title="The MediaStreamAudioTrack class contains methods for receiving audio frames from a MediaStream audio ...">MediaStreamAudioTrack</a></code> from a <code><a class="el" href="classpp_1_1_resource.html" title="A reference counted module resource.">Resource</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PPB_MediaStreamAudioTrack</code> resource. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ad0f8599de42327cda5850db05b1b5be6"></a><!-- doxytag: member="pp::MediaStreamAudioTrack::MediaStreamAudioTrack" ref="ad0f8599de42327cda5850db05b1b5be6" args="(PassRef, PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_media_stream_audio_track.html#aba4674796b58027523c3429e6e6c977f">pp::MediaStreamAudioTrack::MediaStreamAudioTrack</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a> </td>
+<td class="paramname">, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>resource</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used when you have received a <code>PP_Resource</code> as a return value that has had 1 ref added for you. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PPB_MediaStreamAudioTrack</code> resource. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a4efdf0aeb1ec01ff29c16c94174bc1f8"></a><!-- doxytag: member="pp::MediaStreamAudioTrack::~MediaStreamAudioTrack" ref="a4efdf0aeb1ec01ff29c16c94174bc1f8" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_media_stream_audio_track.html#a4efdf0aeb1ec01ff29c16c94174bc1f8">pp::MediaStreamAudioTrack::~MediaStreamAudioTrack</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a2ad0471a5fb098f84ec301d52bca269a"></a><!-- doxytag: member="pp::MediaStreamAudioTrack::Close" ref="a2ad0471a5fb098f84ec301d52bca269a" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_media_stream_audio_track.html#a2ad0471a5fb098f84ec301d52bca269a">pp::MediaStreamAudioTrack::Close</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Closes the MediaStream audio track, and disconnects it from the audio source. </p>
+<p>After calling <code><a class="el" href="classpp_1_1_media_stream_audio_track.html#a2ad0471a5fb098f84ec301d52bca269a" title="Closes the MediaStream audio track, and disconnects it from the audio source.">Close()</a></code>, no new frames will be received. </p>
+</div>
+</div>
+<a class="anchor" id="ad0045a9b03069527e86a9aa209decc79"></a><!-- doxytag: member="pp::MediaStreamAudioTrack::Configure" ref="ad0045a9b03069527e86a9aa209decc79" args="(uint32_t samples_per_frame, uint32_t max_buffered_frames)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_media_stream_audio_track.html#ad0045a9b03069527e86a9aa209decc79">pp::MediaStreamAudioTrack::Configure</a> </td>
+<td>(</td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>samples_per_frame</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>max_buffered_frames</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Configures underlying frame buffers for incoming frames. </p>
+<p>If the application doesn't want to drop frames, then the <code>max_buffered_frames</code> should be chosen such that inter-frame processing time variability won't overrun the input buffer. If the buffer is overfilled, then frames will be dropped. The application can detect this by examining the timestamp on returned frames. If <code><a class="el" href="classpp_1_1_media_stream_audio_track.html#ad0045a9b03069527e86a9aa209decc79" title="Configures underlying frame buffers for incoming frames.">Configure()</a></code> is not used, default settings will be used.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">samples_per_frame</td><td>The number of audio samples in an audio frame. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">max_buffered_frames</td><td>The maximum number of audio frames to hold in the input buffer.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing a result code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a21cbe2138268adba62b204762aa30e10"></a><!-- doxytag: member="pp::MediaStreamAudioTrack::GetFrame" ref="a21cbe2138268adba62b204762aa30e10" args="(const CompletionCallbackWithOutput< AudioFrame > &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_media_stream_audio_track.html#a21cbe2138268adba62b204762aa30e10">pp::MediaStreamAudioTrack::GetFrame</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a>< <a class="el" href="classpp_1_1_audio_frame.html">AudioFrame</a> > & </td>
+<td class="paramname"><em>callback</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the next audio frame from the MediaStream track. </p>
+<p>If internal processing is slower than the incoming frame rate, new frames will be dropped from the incoming stream. Once the input buffer is full, frames will be dropped until <code><a class="el" href="classpp_1_1_media_stream_audio_track.html#aa979e01db289d5063b6b7f8ac959345a" title="Recycles a frame returned by GetFrame(), so the track can reuse the underlying buffer of this frame...">RecycleFrame()</a></code> is called to free a spot for another frame to be buffered. If there are no frames in the input buffer, <code>PP_OK_COMPLETIONPENDING</code> will be returned immediately and the <code>callback</code> will be called when a new frame is received or some error happens.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code>PP_CompletionCallback</code> to be called upon completion of <code><a class="el" href="classpp_1_1_media_stream_audio_track.html#a21cbe2138268adba62b204762aa30e10" title="Gets the next audio frame from the MediaStream track.">GetFrame()</a></code>. If success, an <a class="el" href="classpp_1_1_audio_frame.html">AudioFrame</a> will be passed into the completion callback function.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing a result code from <code>pp_errors.h</code>. Returns PP_ERROR_NOMEMORY if <code>max_buffered_frames</code> frames buffer was not allocated successfully. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ac04877194c84ddbb004265e476275a46"></a><!-- doxytag: member="pp::MediaStreamAudioTrack::GetId" ref="ac04877194c84ddbb004265e476275a46" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">std::string <a class="el" href="classpp_1_1_media_stream_audio_track.html#ac04877194c84ddbb004265e476275a46">pp::MediaStreamAudioTrack::GetId</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns the track ID of the underlying MediaStream audio track. </p>
+</div>
+</div>
+<a class="anchor" id="ae1be4d89810f272b4e43b1ca07a7b0de"></a><!-- doxytag: member="pp::MediaStreamAudioTrack::HasEnded" ref="ae1be4d89810f272b4e43b1ca07a7b0de" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_media_stream_audio_track.html#ae1be4d89810f272b4e43b1ca07a7b0de">pp::MediaStreamAudioTrack::HasEnded</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Checks whether the underlying MediaStream track has ended. </p>
+<p>Calls to GetFrame while the track has ended are safe to make and will complete, but will fail. </p>
+</div>
+</div>
+<a class="anchor" id="a66b94f4551e3e1db35fc9cdfdb686097"></a><!-- doxytag: member="pp::MediaStreamAudioTrack::IsMediaStreamAudioTrack" ref="a66b94f4551e3e1db35fc9cdfdb686097" args="(const Resource &resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static bool <a class="el" href="classpp_1_1_media_stream_audio_track.html#a66b94f4551e3e1db35fc9cdfdb686097">pp::MediaStreamAudioTrack::IsMediaStreamAudioTrack</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_resource.html">Resource</a> & </td>
+<td class="paramname"><em>resource</em></td><td>)</td>
+<td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Checks whether a <code><a class="el" href="classpp_1_1_resource.html" title="A reference counted module resource.">Resource</a></code> is a MediaStream audio track, to test whether it is appropriate for use with the <code><a class="el" href="classpp_1_1_media_stream_audio_track.html" title="The MediaStreamAudioTrack class contains methods for receiving audio frames from a MediaStream audio ...">MediaStreamAudioTrack</a></code> constructor. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code><a class="el" href="classpp_1_1_resource.html" title="A reference counted module resource.">Resource</a></code> to test.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>True if <code>resource</code> is a MediaStream audio track. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aa979e01db289d5063b6b7f8ac959345a"></a><!-- doxytag: member="pp::MediaStreamAudioTrack::RecycleFrame" ref="aa979e01db289d5063b6b7f8ac959345a" args="(const AudioFrame &frame)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_media_stream_audio_track.html#aa979e01db289d5063b6b7f8ac959345a">pp::MediaStreamAudioTrack::RecycleFrame</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_audio_frame.html">AudioFrame</a> & </td>
+<td class="paramname"><em>frame</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Recycles a frame returned by <code><a class="el" href="classpp_1_1_media_stream_audio_track.html#a21cbe2138268adba62b204762aa30e10" title="Gets the next audio frame from the MediaStream track.">GetFrame()</a></code>, so the track can reuse the underlying buffer of this frame. </p>
+<p>And the frame will become invalid. The caller should release all references it holds to <code>frame</code> and not use it anymore.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">frame</td><td>A <a class="el" href="classpp_1_1_audio_frame.html">AudioFrame</a> returned by <code><a class="el" href="classpp_1_1_media_stream_audio_track.html#a21cbe2138268adba62b204762aa30e10" title="Gets the next audio frame from the MediaStream track.">GetFrame()</a></code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing a result code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="media__stream__audio__track_8h.html">media_stream_audio_track.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_media_stream_audio_track__inherit__graph.png b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_media_stream_audio_track__inherit__graph.png
new file mode 100644
index 0000000..65b8d3e7e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_media_stream_audio_track__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_media_stream_video_track-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_media_stream_video_track-members.html
new file mode 100644
index 0000000..cf3af78f
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_media_stream_video_track-members.html
@@ -0,0 +1,36 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_media_stream_video_track.html">pp::MediaStreamVideoTrack</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_media_stream_video_track.html#a14c2317a98dd4f9458ba277783e57a7d">Close</a>()</td><td><a class="el" href="classpp_1_1_media_stream_video_track.html">pp::MediaStreamVideoTrack</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_media_stream_video_track.html#a695ab0b744232efded85f87839a95d0c">Configure</a>(uint32_t max_buffered_frames)</td><td><a class="el" href="classpp_1_1_media_stream_video_track.html">pp::MediaStreamVideoTrack</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_media_stream_video_track.html#aeea5ef2549e1caeddea6ed783d0efe32">GetFrame</a>(const CompletionCallbackWithOutput< VideoFrame > &callback)</td><td><a class="el" href="classpp_1_1_media_stream_video_track.html">pp::MediaStreamVideoTrack</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_media_stream_video_track.html#a7f6e47d4d127856184f6143841b52f24">GetId</a>() const </td><td><a class="el" href="classpp_1_1_media_stream_video_track.html">pp::MediaStreamVideoTrack</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_media_stream_video_track.html#acada0b5f53399c99f3cd37c3a6a6c86d">HasEnded</a>() const </td><td><a class="el" href="classpp_1_1_media_stream_video_track.html">pp::MediaStreamVideoTrack</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_media_stream_video_track.html#a53a235a74b0d6393d04d1ecda9125268">IsMediaStreamVideoTrack</a>(const Resource &resource)</td><td><a class="el" href="classpp_1_1_media_stream_video_track.html">pp::MediaStreamVideoTrack</a></td><td><code> [static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_media_stream_video_track.html#afab1665269ee190c464473f521f5473a">MediaStreamVideoTrack</a>()</td><td><a class="el" href="classpp_1_1_media_stream_video_track.html">pp::MediaStreamVideoTrack</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_media_stream_video_track.html#a08eec69e7bbf66c711de2821478cb4d4">MediaStreamVideoTrack</a>(const MediaStreamVideoTrack &other)</td><td><a class="el" href="classpp_1_1_media_stream_video_track.html">pp::MediaStreamVideoTrack</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_media_stream_video_track.html#a338b214467629e34e2d7981b1c7371e1">MediaStreamVideoTrack</a>(const Resource &resource)</td><td><a class="el" href="classpp_1_1_media_stream_video_track.html">pp::MediaStreamVideoTrack</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_media_stream_video_track.html#af9edc2e09f5a446493630b67ef99c557">MediaStreamVideoTrack</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_media_stream_video_track.html">pp::MediaStreamVideoTrack</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_media_stream_video_track.html#ab3df0710c423f1c2b1e45da957bc65e4">RecycleFrame</a>(const VideoFrame &frame)</td><td><a class="el" href="classpp_1_1_media_stream_video_track.html">pp::MediaStreamVideoTrack</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_media_stream_video_track.html#a2ea78c7d8c2c7446407b5556d5992fbb">~MediaStreamVideoTrack</a>()</td><td><a class="el" href="classpp_1_1_media_stream_video_track.html">pp::MediaStreamVideoTrack</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_media_stream_video_track.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_media_stream_video_track.html
new file mode 100644
index 0000000..c4e7c179
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_media_stream_video_track.html
@@ -0,0 +1,304 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::MediaStreamVideoTrack Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::MediaStreamVideoTrack" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::MediaStreamVideoTrack:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_media_stream_video_track__inherit__graph.png" border="0" usemap="#pp_1_1_media_stream_video_track_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_media_stream_video_track_inherit__map" id="pp_1_1_media_stream_video_track_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="53,5,157,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_media_stream_video_track-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_media_stream_video_track.html#afab1665269ee190c464473f521f5473a">MediaStreamVideoTrack</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_media_stream_video_track.html#a08eec69e7bbf66c711de2821478cb4d4">MediaStreamVideoTrack</a> (const <a class="el" href="classpp_1_1_media_stream_video_track.html">MediaStreamVideoTrack</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_media_stream_video_track.html#a338b214467629e34e2d7981b1c7371e1">MediaStreamVideoTrack</a> (const <a class="el" href="classpp_1_1_resource.html">Resource</a> &resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_media_stream_video_track.html#af9edc2e09f5a446493630b67ef99c557">MediaStreamVideoTrack</a> (<a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a>, PP_Resource resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_media_stream_video_track.html#a2ea78c7d8c2c7446407b5556d5992fbb">~MediaStreamVideoTrack</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_media_stream_video_track.html#a695ab0b744232efded85f87839a95d0c">Configure</a> (uint32_t max_buffered_frames)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_media_stream_video_track.html#a7f6e47d4d127856184f6143841b52f24">GetId</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_media_stream_video_track.html#acada0b5f53399c99f3cd37c3a6a6c86d">HasEnded</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_media_stream_video_track.html#aeea5ef2549e1caeddea6ed783d0efe32">GetFrame</a> (const <a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a>< <a class="el" href="classpp_1_1_video_frame.html">VideoFrame</a> > &callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_media_stream_video_track.html#ab3df0710c423f1c2b1e45da957bc65e4">RecycleFrame</a> (const <a class="el" href="classpp_1_1_video_frame.html">VideoFrame</a> &frame)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_media_stream_video_track.html#a14c2317a98dd4f9458ba277783e57a7d">Close</a> ()</td></tr>
+</table><h2>
+Static Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_media_stream_video_track.html#a53a235a74b0d6393d04d1ecda9125268">IsMediaStreamVideoTrack</a> (const <a class="el" href="classpp_1_1_resource.html">Resource</a> &resource)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="classpp_1_1_media_stream_video_track.html" title="The MediaStreamVideoTrack class contains methods for receiving video frames from a MediaStream video ...">MediaStreamVideoTrack</a></code> class contains methods for receiving video frames from a MediaStream video track in the browser. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="afab1665269ee190c464473f521f5473a"></a><!-- doxytag: member="pp::MediaStreamVideoTrack::MediaStreamVideoTrack" ref="afab1665269ee190c464473f521f5473a" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_media_stream_video_track.html#afab1665269ee190c464473f521f5473a">pp::MediaStreamVideoTrack::MediaStreamVideoTrack</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor for creating an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> <code><a class="el" href="classpp_1_1_media_stream_video_track.html" title="The MediaStreamVideoTrack class contains methods for receiving video frames from a MediaStream video ...">MediaStreamVideoTrack</a></code> object. </p>
+</div>
+</div>
+<a class="anchor" id="a08eec69e7bbf66c711de2821478cb4d4"></a><!-- doxytag: member="pp::MediaStreamVideoTrack::MediaStreamVideoTrack" ref="a08eec69e7bbf66c711de2821478cb4d4" args="(const MediaStreamVideoTrack &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_media_stream_video_track.html#afab1665269ee190c464473f521f5473a">pp::MediaStreamVideoTrack::MediaStreamVideoTrack</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_media_stream_video_track.html">MediaStreamVideoTrack</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The copy constructor for <code><a class="el" href="classpp_1_1_media_stream_video_track.html" title="The MediaStreamVideoTrack class contains methods for receiving video frames from a MediaStream video ...">MediaStreamVideoTrack</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A reference to a <code><a class="el" href="classpp_1_1_media_stream_video_track.html" title="The MediaStreamVideoTrack class contains methods for receiving video frames from a MediaStream video ...">MediaStreamVideoTrack</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a338b214467629e34e2d7981b1c7371e1"></a><!-- doxytag: member="pp::MediaStreamVideoTrack::MediaStreamVideoTrack" ref="a338b214467629e34e2d7981b1c7371e1" args="(const Resource &resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_media_stream_video_track.html#afab1665269ee190c464473f521f5473a">pp::MediaStreamVideoTrack::MediaStreamVideoTrack</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_resource.html">Resource</a> & </td>
+<td class="paramname"><em>resource</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs a <code><a class="el" href="classpp_1_1_media_stream_video_track.html" title="The MediaStreamVideoTrack class contains methods for receiving video frames from a MediaStream video ...">MediaStreamVideoTrack</a></code> from a <code><a class="el" href="classpp_1_1_resource.html" title="A reference counted module resource.">Resource</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PPB_MediaStreamVideoTrack</code> resource. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="af9edc2e09f5a446493630b67ef99c557"></a><!-- doxytag: member="pp::MediaStreamVideoTrack::MediaStreamVideoTrack" ref="af9edc2e09f5a446493630b67ef99c557" args="(PassRef, PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_media_stream_video_track.html#afab1665269ee190c464473f521f5473a">pp::MediaStreamVideoTrack::MediaStreamVideoTrack</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a> </td>
+<td class="paramname">, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>resource</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used when you have received a <code>PP_Resource</code> as a return value that has had 1 ref added for you. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PPB_MediaStreamVideoTrack</code> resource. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a2ea78c7d8c2c7446407b5556d5992fbb"></a><!-- doxytag: member="pp::MediaStreamVideoTrack::~MediaStreamVideoTrack" ref="a2ea78c7d8c2c7446407b5556d5992fbb" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_media_stream_video_track.html#a2ea78c7d8c2c7446407b5556d5992fbb">pp::MediaStreamVideoTrack::~MediaStreamVideoTrack</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a14c2317a98dd4f9458ba277783e57a7d"></a><!-- doxytag: member="pp::MediaStreamVideoTrack::Close" ref="a14c2317a98dd4f9458ba277783e57a7d" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_media_stream_video_track.html#a14c2317a98dd4f9458ba277783e57a7d">pp::MediaStreamVideoTrack::Close</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Closes the MediaStream video track, and disconnects it from video source. </p>
+<p>After calling <code><a class="el" href="classpp_1_1_media_stream_video_track.html#a14c2317a98dd4f9458ba277783e57a7d" title="Closes the MediaStream video track, and disconnects it from video source.">Close()</a></code>, no new frames will be received. </p>
+</div>
+</div>
+<a class="anchor" id="a695ab0b744232efded85f87839a95d0c"></a><!-- doxytag: member="pp::MediaStreamVideoTrack::Configure" ref="a695ab0b744232efded85f87839a95d0c" args="(uint32_t max_buffered_frames)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_media_stream_video_track.html#a695ab0b744232efded85f87839a95d0c">pp::MediaStreamVideoTrack::Configure</a> </td>
+<td>(</td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>max_buffered_frames</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Configures underlying frame buffers for incoming frames. </p>
+<p>If the application doesn't want to drop frames, then the <code>max_buffered_frames</code> should be chosen such that inter-frame processing time variability won't overrun the input buffer. If the buffer is overfilled, then frames will be dropped. The application can detect this by examining the timestamp on returned frames. If <code><a class="el" href="classpp_1_1_media_stream_video_track.html#a695ab0b744232efded85f87839a95d0c" title="Configures underlying frame buffers for incoming frames.">Configure()</a></code> is not used, default settings will be used.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">max_buffered_frames</td><td>The maximum number of video frames to hold in the input buffer.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing a result code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aeea5ef2549e1caeddea6ed783d0efe32"></a><!-- doxytag: member="pp::MediaStreamVideoTrack::GetFrame" ref="aeea5ef2549e1caeddea6ed783d0efe32" args="(const CompletionCallbackWithOutput< VideoFrame > &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_media_stream_video_track.html#aeea5ef2549e1caeddea6ed783d0efe32">pp::MediaStreamVideoTrack::GetFrame</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a>< <a class="el" href="classpp_1_1_video_frame.html">VideoFrame</a> > & </td>
+<td class="paramname"><em>callback</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the next video frame from the MediaStream track. </p>
+<p>If internal processing is slower than the incoming frame rate, new frames will be dropped from the incoming stream. Once the input buffer is full, frames will be dropped until <code><a class="el" href="classpp_1_1_media_stream_video_track.html#ab3df0710c423f1c2b1e45da957bc65e4" title="Recycles a frame returned by GetFrame(), so the track can reuse the underlying buffer of this frame...">RecycleFrame()</a></code> is called to free a spot for another frame to be buffered. If there are no frames in the input buffer, <code>PP_OK_COMPLETIONPENDING</code> will be returned immediately and the <code>callback</code> will be called when a new frame is received or some error happens.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code>PP_CompletionCallback</code> to be called upon completion of <code><a class="el" href="classpp_1_1_media_stream_video_track.html#aeea5ef2549e1caeddea6ed783d0efe32" title="Gets the next video frame from the MediaStream track.">GetFrame()</a></code>. If success, a <a class="el" href="classpp_1_1_video_frame.html">VideoFrame</a> will be passed into the completion callback function.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing a result code from <code>pp_errors.h</code>. Returns PP_ERROR_NOMEMORY if <code>max_buffered_frames</code> frames buffer was not allocated successfully. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a7f6e47d4d127856184f6143841b52f24"></a><!-- doxytag: member="pp::MediaStreamVideoTrack::GetId" ref="a7f6e47d4d127856184f6143841b52f24" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">std::string <a class="el" href="classpp_1_1_media_stream_video_track.html#a7f6e47d4d127856184f6143841b52f24">pp::MediaStreamVideoTrack::GetId</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns the track ID of the underlying MediaStream video track. </p>
+</div>
+</div>
+<a class="anchor" id="acada0b5f53399c99f3cd37c3a6a6c86d"></a><!-- doxytag: member="pp::MediaStreamVideoTrack::HasEnded" ref="acada0b5f53399c99f3cd37c3a6a6c86d" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_media_stream_video_track.html#acada0b5f53399c99f3cd37c3a6a6c86d">pp::MediaStreamVideoTrack::HasEnded</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Checks whether the underlying MediaStream track has ended. </p>
+<p>Calls to GetFrame while the track has ended are safe to make and will complete, but will fail. </p>
+</div>
+</div>
+<a class="anchor" id="a53a235a74b0d6393d04d1ecda9125268"></a><!-- doxytag: member="pp::MediaStreamVideoTrack::IsMediaStreamVideoTrack" ref="a53a235a74b0d6393d04d1ecda9125268" args="(const Resource &resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static bool <a class="el" href="classpp_1_1_media_stream_video_track.html#a53a235a74b0d6393d04d1ecda9125268">pp::MediaStreamVideoTrack::IsMediaStreamVideoTrack</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_resource.html">Resource</a> & </td>
+<td class="paramname"><em>resource</em></td><td>)</td>
+<td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Checks whether a <code><a class="el" href="classpp_1_1_resource.html" title="A reference counted module resource.">Resource</a></code> is a MediaStream video track, to test whether it is appropriate for use with the <code><a class="el" href="classpp_1_1_media_stream_video_track.html" title="The MediaStreamVideoTrack class contains methods for receiving video frames from a MediaStream video ...">MediaStreamVideoTrack</a></code> constructor. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code><a class="el" href="classpp_1_1_resource.html" title="A reference counted module resource.">Resource</a></code> to test.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>True if <code>resource</code> is a MediaStream video track. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab3df0710c423f1c2b1e45da957bc65e4"></a><!-- doxytag: member="pp::MediaStreamVideoTrack::RecycleFrame" ref="ab3df0710c423f1c2b1e45da957bc65e4" args="(const VideoFrame &frame)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_media_stream_video_track.html#ab3df0710c423f1c2b1e45da957bc65e4">pp::MediaStreamVideoTrack::RecycleFrame</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_video_frame.html">VideoFrame</a> & </td>
+<td class="paramname"><em>frame</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Recycles a frame returned by <code><a class="el" href="classpp_1_1_media_stream_video_track.html#aeea5ef2549e1caeddea6ed783d0efe32" title="Gets the next video frame from the MediaStream track.">GetFrame()</a></code>, so the track can reuse the underlying buffer of this frame. </p>
+<p>And the frame will become invalid. The caller should release all references it holds to <code>frame</code> and not use it anymore.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">frame</td><td>A <a class="el" href="classpp_1_1_video_frame.html">VideoFrame</a> returned by <code><a class="el" href="classpp_1_1_media_stream_video_track.html#aeea5ef2549e1caeddea6ed783d0efe32" title="Gets the next video frame from the MediaStream track.">GetFrame()</a></code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing a result code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="media__stream__video__track_8h.html">media_stream_video_track.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_media_stream_video_track__inherit__graph.png b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_media_stream_video_track__inherit__graph.png
new file mode 100644
index 0000000..17e2cff
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_media_stream_video_track__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_message_loop-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_message_loop-members.html
new file mode 100644
index 0000000..4f615a90
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_message_loop-members.html
@@ -0,0 +1,34 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_message_loop.html">pp::MessageLoop</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_message_loop.html#ad5373c3f4b64dbb34d2a8334a23d0f95">AttachToCurrentThread</a>()</td><td><a class="el" href="classpp_1_1_message_loop.html">pp::MessageLoop</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_message_loop.html#abba91f736f52838f28961a571f79f09a">GetCurrent</a>()</td><td><a class="el" href="classpp_1_1_message_loop.html">pp::MessageLoop</a></td><td><code> [static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_message_loop.html#a70558dd2cfda90b4869dc9960223f7ed">GetForMainThread</a>()</td><td><a class="el" href="classpp_1_1_message_loop.html">pp::MessageLoop</a></td><td><code> [static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_message_loop.html#a424cabb7ac0b27aed54a6485dd880533">MessageLoop</a>()</td><td><a class="el" href="classpp_1_1_message_loop.html">pp::MessageLoop</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_message_loop.html#a985004b1e2b2bb09f62cb59b320c6625">MessageLoop</a>(const InstanceHandle &instance)</td><td><a class="el" href="classpp_1_1_message_loop.html">pp::MessageLoop</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_message_loop.html#ab7c519d456320eda6aa57548e9574b44">MessageLoop</a>(const MessageLoop &other)</td><td><a class="el" href="classpp_1_1_message_loop.html">pp::MessageLoop</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_message_loop.html#a2019e1f3f291bf4d87cdb41efea187e7">MessageLoop</a>(PP_Resource pp_message_loop)</td><td><a class="el" href="classpp_1_1_message_loop.html">pp::MessageLoop</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_message_loop.html#a2311af860834b866076fb518ac27eab5">PostQuit</a>(bool should_destroy)</td><td><a class="el" href="classpp_1_1_message_loop.html">pp::MessageLoop</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_message_loop.html#a2c24506ef8be1745d29983b2d7803e36">PostWork</a>(const CompletionCallback &callback, int64_t delay_ms=0)</td><td><a class="el" href="classpp_1_1_message_loop.html">pp::MessageLoop</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_message_loop.html#ad5ac96f80c12d701acfbe558e8fb3a4c">Run</a>()</td><td><a class="el" href="classpp_1_1_message_loop.html">pp::MessageLoop</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_message_loop.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_message_loop.html
new file mode 100644
index 0000000..852cdb8c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_message_loop.html
@@ -0,0 +1,321 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::MessageLoop Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::MessageLoop" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::MessageLoop:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_message_loop__inherit__graph.png" border="0" usemap="#pp_1_1_message_loop_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_message_loop_inherit__map" id="pp_1_1_message_loop_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="20,5,124,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_message_loop-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_message_loop.html#a424cabb7ac0b27aed54a6485dd880533">MessageLoop</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_message_loop.html#a985004b1e2b2bb09f62cb59b320c6625">MessageLoop</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_message_loop.html#ab7c519d456320eda6aa57548e9574b44">MessageLoop</a> (const <a class="el" href="classpp_1_1_message_loop.html">MessageLoop</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_message_loop.html#a2019e1f3f291bf4d87cdb41efea187e7">MessageLoop</a> (PP_Resource pp_message_loop)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_message_loop.html#ad5373c3f4b64dbb34d2a8334a23d0f95">AttachToCurrentThread</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_message_loop.html#ad5ac96f80c12d701acfbe558e8fb3a4c">Run</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_message_loop.html#a2c24506ef8be1745d29983b2d7803e36">PostWork</a> (const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &callback, int64_t delay_ms=0)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_message_loop.html#a2311af860834b866076fb518ac27eab5">PostQuit</a> (bool should_destroy)</td></tr>
+</table><h2>
+Static Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classpp_1_1_message_loop.html">MessageLoop</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_message_loop.html#a70558dd2cfda90b4869dc9960223f7ed">GetForMainThread</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classpp_1_1_message_loop.html">MessageLoop</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_message_loop.html#abba91f736f52838f28961a571f79f09a">GetCurrent</a> ()</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>A message loop allows PPAPI calls to be issued on a thread. </p>
+<p>You may not issue any API calls on a thread without creating a message loop. It also allows you to post work to the message loop for a thread.</p>
+<p>To process work posted to the message loop, as well as completion callbacks for asynchronous operations, you must run the message loop via <a class="el" href="classpp_1_1_message_loop.html#ad5ac96f80c12d701acfbe558e8fb3a4c" title="Runs the thread message loop.">Run()</a>.</p>
+<p>Note the system manages the lifetime of the instance (and all associated resources). If the instance is deleted from the page, background threads may suddenly see their PP_Resource handles become invalid. In this case, calls will fail with PP_ERROR_BADRESOURCE. If you need to access data associated with your instance, you will probably want to create some kind of threadsafe proxy object that can handle asynchronous destruction of the instance object.</p>
+<p>Typical usage: On the main thread:</p>
+<ul>
+<li>Create the thread yourself (using pthreads).</li>
+<li>Create the message loop resource.</li>
+<li>Pass the message loop resource to your thread's main function.</li>
+<li>Call <a class="el" href="classpp_1_1_message_loop.html#a2c24506ef8be1745d29983b2d7803e36" title="Schedules work to run on the given message loop.">PostWork()</a> on the message loop to run functions on the thread.</li>
+</ul>
+<p>From the background thread's main function:</p>
+<ul>
+<li>Call <a class="el" href="classpp_1_1_message_loop.html#ad5373c3f4b64dbb34d2a8334a23d0f95" title="Sets the given message loop resource as being the associated message loop for the currently running t...">AttachToCurrentThread()</a> with the message loop resource.</li>
+<li>Call <a class="el" href="classpp_1_1_message_loop.html#ad5ac96f80c12d701acfbe558e8fb3a4c" title="Runs the thread message loop.">Run()</a> with the message loop resource.</li>
+</ul>
+<p>Your callbacks should look like this: </p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">void</span> DoMyWork(<span class="keywordtype">void</span>* user_data, int32_t status) {
+ <span class="keywordflow">if</span> (status != PP_OK) {
+ Cleanup(); <span class="comment">// e.g. free user_data.</span>
+ <span class="keywordflow">return</span>;
+ }
+ ... <span class="keywordflow">do</span> your work...
+ }
+</pre></div><p> For a C++ example, see ppapi/utility/threading/simple_thread.h</p>
+<p>(You can also create the message loop resource on the background thread, but then the main thread will have no reference to it should you want to call <a class="el" href="classpp_1_1_message_loop.html#a2c24506ef8be1745d29983b2d7803e36" title="Schedules work to run on the given message loop.">PostWork()</a>).</p>
+<p>THREAD HANDLING</p>
+<p>The main thread has an implicitly created message loop. The main thread is the thread where PPP_InitializeModule and PPP_Instance functions are called. You can retrieve a reference to this message loop by calling <a class="el" href="classpp_1_1_message_loop.html#a70558dd2cfda90b4869dc9960223f7ed">GetForMainThread()</a> or, if your code is on the main thread, <a class="el" href="classpp_1_1_message_loop.html#abba91f736f52838f28961a571f79f09a">GetCurrent()</a> will also work.</p>
+<p>Some special threads created by the system can not have message loops. In particular, the background thread created for audio processing has this requirement because it's intended to be highly responsive to keep up with the realtime requirements of audio processing. You can not make PPAPI calls from these threads.</p>
+<p>Once you associate a message loop with a thread, you don't have to keep a reference to it. The system will hold a reference to the message loop for as long as the thread is running. The current message loop can be retrieved using the <a class="el" href="classpp_1_1_message_loop.html#abba91f736f52838f28961a571f79f09a">GetCurrent()</a> function.</p>
+<p>It is legal to create threads in your plugin without message loops, but PPAPI calls will fail unless explicitly noted in the documentation.</p>
+<p>You can create a message loop object on a thread and never actually run the message loop. This will allow you to call blocking PPAPI calls (via PP_BlockUntilComplete()). If you make any asynchronous calls, the callbacks from those calls will be queued in the message loop and never run. The same thing will happen if work is scheduled after the message loop exits and the message loop is not run again.</p>
+<p>DESTRUCTION AND ERROR HANDLING</p>
+<p>Often, your application will associate memory with completion callbacks. For example, the C++ <a class="el" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe...">CompletionCallbackFactory</a> has a small amount of heap-allocated memory for each callback. This memory will be leaked if the callback is never run. To avoid this memory leak, you need to be careful about error handling and shutdown.</p>
+<p>There are a number of cases where posted callbacks will never be run:</p>
+<ul>
+<li>You tear down the thread (via pthreads) without "destroying" the message loop (via PostQuit with should_destroy = PP_TRUE). In this case, any tasks in the message queue will be lost.</li>
+</ul>
+<ul>
+<li>You create a message loop, post callbacks to it, and never run it.</li>
+</ul>
+<ul>
+<li>You quit the message loop via PostQuit with should_destroy set to PP_FALSE. In this case, the system will assume the message loop will be run again later and keep your tasks.</li>
+</ul>
+<p>To do proper shutdown, call PostQuit with should_destroy = PP_TRUE. This will prohibit future work from being posted, and will allow the message loop to run until all pending tasks are run.</p>
+<p>If you post a callback to a message loop that's been destroyed, or to an invalid message loop, PostWork will return an error and will not run the callback. This is true even for callbacks with the "required" flag set, since the system may not even know what thread to issue the error callback on.</p>
+<p>Therefore, you should check for errors from PostWork and destroy any associated memory to avoid leaks. If you're using the C++ <a class="el" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe...">CompletionCallbackFactory</a>, use the following pattern: </p>
+<div class="fragment"><pre class="fragment"> <a class="code" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">pp::CompletionCallback</a> callback = factory_.NewOptionalCallback(...);
+ int32_t result = message_loop.PostWork(callback);
+ <span class="keywordflow">if</span> (result != PP_OK)
+ callback.<a class="code" href="classpp_1_1_completion_callback.html#a7795404cc15a4f96523c28db21d364c4" title="Run() is used to run the CompletionCallback.">Run</a>(result);
+</pre></div><p> This will run the callback with an error value, and assumes that the implementation of your callback checks the "result" argument and returns immediately on error. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a424cabb7ac0b27aed54a6485dd880533"></a><!-- doxytag: member="pp::MessageLoop::MessageLoop" ref="a424cabb7ac0b27aed54a6485dd880533" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_message_loop.html#a424cabb7ac0b27aed54a6485dd880533">pp::MessageLoop::MessageLoop</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Creates an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> <a class="el" href="classpp_1_1_message_loop.html" title="A message loop allows PPAPI calls to be issued on a thread.">MessageLoop</a> resource. </p>
+</div>
+</div>
+<a class="anchor" id="a985004b1e2b2bb09f62cb59b320c6625"></a><!-- doxytag: member="pp::MessageLoop::MessageLoop" ref="a985004b1e2b2bb09f62cb59b320c6625" args="(const InstanceHandle &instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_message_loop.html#a424cabb7ac0b27aed54a6485dd880533">pp::MessageLoop::MessageLoop</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Creates a message loop associated with the given instance. </p>
+<p>The resource will be <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> on failure.</p>
+<p>This may be called from any thread. After your thread starts but before issuing any other PPAPI calls on it, you must associate it with a message loop by calling AttachToCurrentThread. </p>
+</div>
+</div>
+<a class="anchor" id="ab7c519d456320eda6aa57548e9574b44"></a><!-- doxytag: member="pp::MessageLoop::MessageLoop" ref="ab7c519d456320eda6aa57548e9574b44" args="(const MessageLoop &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_message_loop.html#a424cabb7ac0b27aed54a6485dd880533">pp::MessageLoop::MessageLoop</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_message_loop.html">MessageLoop</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a2019e1f3f291bf4d87cdb41efea187e7"></a><!-- doxytag: member="pp::MessageLoop::MessageLoop" ref="a2019e1f3f291bf4d87cdb41efea187e7" args="(PP_Resource pp_message_loop)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_message_loop.html#a424cabb7ac0b27aed54a6485dd880533">pp::MessageLoop::MessageLoop</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>pp_message_loop</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Takes an additional ref to the resource. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="ad5373c3f4b64dbb34d2a8334a23d0f95"></a><!-- doxytag: member="pp::MessageLoop::AttachToCurrentThread" ref="ad5373c3f4b64dbb34d2a8334a23d0f95" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_message_loop.html#ad5373c3f4b64dbb34d2a8334a23d0f95">pp::MessageLoop::AttachToCurrentThread</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sets the given message loop resource as being the associated message loop for the currently running thread. </p>
+<p>You must call this function exactly once on a thread before making any PPAPI calls. A message loop can only be attached to one thread, and the message loop can not be changed later. The message loop will be attached as long as the thread is running or until you quit with should_destroy set to PP_TRUE.</p>
+<p>If this function fails, attempting to run the message loop will fail. Note that you can still post work to the message loop: it will get queued up should the message loop eventually be successfully attached and run.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
+<li>PP_OK: The message loop was successfully attached to the thread and is ready to use.</li>
+<li>PP_ERROR_BADRESOURCE: The given message loop resource is invalid.</li>
+<li>PP_ERROR_INPROGRESS: The current thread already has a message loop attached. This will always be the case for the main thread, which has an implicit system-created message loop attached.</li>
+<li>PP_ERROR_WRONG_THREAD: The current thread type can not have a message loop attached to it. See the interface level discussion about these special threads, which include realtime audio threads. </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<a class="anchor" id="abba91f736f52838f28961a571f79f09a"></a><!-- doxytag: member="pp::MessageLoop::GetCurrent" ref="abba91f736f52838f28961a571f79f09a" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static <a class="el" href="classpp_1_1_message_loop.html">MessageLoop</a> <a class="el" href="classpp_1_1_message_loop.html#abba91f736f52838f28961a571f79f09a">pp::MessageLoop::GetCurrent</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a70558dd2cfda90b4869dc9960223f7ed"></a><!-- doxytag: member="pp::MessageLoop::GetForMainThread" ref="a70558dd2cfda90b4869dc9960223f7ed" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static <a class="el" href="classpp_1_1_message_loop.html">MessageLoop</a> <a class="el" href="classpp_1_1_message_loop.html#a70558dd2cfda90b4869dc9960223f7ed">pp::MessageLoop::GetForMainThread</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a2311af860834b866076fb518ac27eab5"></a><!-- doxytag: member="pp::MessageLoop::PostQuit" ref="a2311af860834b866076fb518ac27eab5" args="(bool should_destroy)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_message_loop.html#a2311af860834b866076fb518ac27eab5">pp::MessageLoop::PostQuit</a> </td>
+<td>(</td>
+<td class="paramtype">bool </td>
+<td class="paramname"><em>should_destroy</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Posts a quit message to the given message loop's work queue. </p>
+<p>Work posted before that point will be processed before quitting.</p>
+<p>This may be called on the message loop registered for the current thread, or it may be called on the message loop registered for another thread. It is an error to attempt to quit the main thread loop.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramname">should_destroy</td><td>Marks the message loop as being in a destroyed state and prevents further posting of messages.</td></tr>
+</table>
+</dd>
+</dl>
+<p>If you quit a message loop without setting should_destroy, it will still be attached to the thread and you can still run it again by calling <a class="el" href="classpp_1_1_message_loop.html#ad5ac96f80c12d701acfbe558e8fb3a4c" title="Runs the thread message loop.">Run()</a> again. If you destroy it, it will be detached from the current thread.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
+<li>PP_OK: The request to quit was successfully posted.</li>
+<li>PP_ERROR_BADRESOURCE: The message loop was invalid.</li>
+<li>PP_ERROR_WRONG_THREAD: You are attempting to quit the main thread. The main thread's message loop is managed by the system and can't be quit. </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2c24506ef8be1745d29983b2d7803e36"></a><!-- doxytag: member="pp::MessageLoop::PostWork" ref="a2c24506ef8be1745d29983b2d7803e36" args="(const CompletionCallback &callback, int64_t delay_ms=0)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_message_loop.html#a2c24506ef8be1745d29983b2d7803e36">pp::MessageLoop::PostWork</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>callback</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int64_t </td>
+<td class="paramname"><em>delay_ms</em> = <code>0</code> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Schedules work to run on the given message loop. </p>
+<p>This may be called from any thread. Posted work will be executed in the order it was posted when the message loop is <a class="el" href="classpp_1_1_message_loop.html#ad5ac96f80c12d701acfbe558e8fb3a4c" title="Runs the thread message loop.">Run()</a>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramname">callback</td><td>A pointer to the completion callback to execute from the message loop.</td></tr>
+<tr><td class="paramname">delay_ms</td><td>The number of milliseconds to delay execution of the given completion callback. Passing 0 means it will get queued normally and executed in order.</td></tr>
+</table>
+</dd>
+</dl>
+<p>The completion callback will be called with PP_OK as the "result" parameter if it is run normally. It is good practice to check for PP_OK and return early otherwise.</p>
+<p>The "required" flag on the completion callback is ignored. If there is an error posting your callback, the error will be returned from PostWork and the callback will never be run (because there is no appropriate place to run your callback with an error without causing unexpected threading problems). If you associate memory with the completion callback (for example, you're using the C++ <a class="el" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe...">CompletionCallbackFactory</a>), you will need to free this or manually run the callback. See "Desctruction and error
+ handling" above.</p>
+<p>You can call this function before the message loop has started and the work will get queued until the message loop is run. You can also post work after the message loop has exited as long as should_destroy was PP_FALSE. It will be queued until the next invocation of <a class="el" href="classpp_1_1_message_loop.html#ad5ac96f80c12d701acfbe558e8fb3a4c" title="Runs the thread message loop.">Run()</a>.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
+<li>PP_OK: The work was posted to the message loop's queue. As described above, this does not mean that the work has been or will be executed (if you never run the message loop after posting).</li>
+<li>PP_ERROR_BADRESOURCE: The given message loop resource is invalid.</li>
+<li>PP_ERROR_BADARGUMENT: The function pointer for the completion callback is null (this will be the case if you pass PP_BlockUntilComplete()).</li>
+<li>PP_ERROR_FAILED: The message loop has been destroyed. </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<a class="anchor" id="ad5ac96f80c12d701acfbe558e8fb3a4c"></a><!-- doxytag: member="pp::MessageLoop::Run" ref="ad5ac96f80c12d701acfbe558e8fb3a4c" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_message_loop.html#ad5ac96f80c12d701acfbe558e8fb3a4c">pp::MessageLoop::Run</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Runs the thread message loop. </p>
+<p>Running the message loop is required for you to get issued completion callbacks on the thread.</p>
+<p>The message loop identified by the argument must have been previously successfully attached to the current thread.</p>
+<p>You may not run nested message loops. Since the main thread has an implicit message loop that the system runs, you may not call Run on the main thread.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
+<li>PP_OK: The message loop was successfully run. Note that on success, the message loop will only exit when you call <a class="el" href="classpp_1_1_message_loop.html#a2311af860834b866076fb518ac27eab5" title="Posts a quit message to the given message loop's work queue.">PostQuit()</a>.</li>
+<li>PP_ERROR_BADRESOURCE: The given message loop resource is invalid.</li>
+<li>PP_ERROR_WRONG_THREAD: You are attempting to run a message loop that has not been successfully attached to the current thread. Call <a class="el" href="classpp_1_1_message_loop.html#ad5373c3f4b64dbb34d2a8334a23d0f95" title="Sets the given message loop resource as being the associated message loop for the currently running t...">AttachToCurrentThread()</a>.</li>
+<li>PP_ERROR_INPROGRESS: You are attempting to call Run in a nested fashion (Run is already on the stack). This will occur if you attempt to call run on the main thread's message loop (see above). </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="message__loop_8h.html">message_loop.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_message_loop__inherit__graph.png b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_message_loop__inherit__graph.png
new file mode 100644
index 0000000..ea47998
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_message_loop__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_module-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_module-members.html
new file mode 100644
index 0000000..bdedb389
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_module-members.html
@@ -0,0 +1,30 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_module.html">pp::Module</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_module.html#aeddc6021140b4bdea3a83c36e7b8ec7e">AddPluginInterface</a>(const std::string &interface_name, const void *vtable)</td><td><a class="el" href="classpp_1_1_module.html">pp::Module</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_module.html#afd1d02002faaa6a4531ad06ca0423c9f">core</a>()</td><td><a class="el" href="classpp_1_1_module.html">pp::Module</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_module.html#a648f236af50501bac40ce40296611825">CreateInstance</a>(PP_Instance instance)=0</td><td><a class="el" href="classpp_1_1_module.html">pp::Module</a></td><td><code> [protected, pure virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_module.html#a3b9ec2c079aa51ceeedfe98f4c9e1a98">current_instances</a>() const </td><td><a class="el" href="classpp_1_1_module.html">pp::Module</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_module.html#ac8cca5d744e812ec3221bc391086b026">Get</a>()</td><td><a class="el" href="classpp_1_1_module.html">pp::Module</a></td><td><code> [static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_module.html#a8955edbfec01524388338b440633850a">get_browser_interface</a>() const </td><td><a class="el" href="classpp_1_1_module.html">pp::Module</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_module.html#a2aece372fdef35ded56d69a4e881a376">GetBrowserInterface</a>(const char *interface_name)</td><td><a class="el" href="classpp_1_1_module.html">pp::Module</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_module.html#a8c8c946f741e140ff7dd21b36b1a42a5">GetPluginInterface</a>(const char *interface_name)</td><td><a class="el" href="classpp_1_1_module.html">pp::Module</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_module.html#a873a824f0e462008d1167e34544ad360">Init</a>()</td><td><a class="el" href="classpp_1_1_module.html">pp::Module</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_module.html#ab0f2ba24fd03fa31fc2e47d4f8ceb158">Instance_DidCreate</a>(PP_Instance pp_instance, uint32_t argc, const char *argn[], const char *argv[])</td><td><a class="el" href="classpp_1_1_module.html">pp::Module</a></td><td><code> [friend]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_module.html#accf4ce5410f02db9c87dcca045043128">Instance_DidDestroy</a>(PP_Instance instance)</td><td><a class="el" href="classpp_1_1_module.html">pp::Module</a></td><td><code> [friend]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_module.html#ab57a787b61cd72fdcea0d232ed88eaef">InstanceForPPInstance</a>(PP_Instance instance)</td><td><a class="el" href="classpp_1_1_module.html">pp::Module</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_module.html#a47cd6188f0321e74b71126a5fd014b12">InstanceMap</a> typedef</td><td><a class="el" href="classpp_1_1_module.html">pp::Module</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_module.html#acd9a63a4b364c28abfeac39687f2fa1a">InternalInit</a>(PP_Module mod, PPB_GetInterface get_browser_interface)</td><td><a class="el" href="classpp_1_1_module.html">pp::Module</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_module.html#a67b76ad37316a2e89ebd2902a6503686">Module</a>()</td><td><a class="el" href="classpp_1_1_module.html">pp::Module</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_module.html#a95bb3148c925f46938ee0f267b1c66e5">pp_module</a>() const </td><td><a class="el" href="classpp_1_1_module.html">pp::Module</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_module.html#ac3c912841726117a128d2e056f15210e">~Module</a>()</td><td><a class="el" href="classpp_1_1_module.html">pp::Module</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_module.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_module.html
new file mode 100644
index 0000000..9b557ad
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_module.html
@@ -0,0 +1,424 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::Module Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::Module" -->
+<p><a href="classpp_1_1_module-members.html">List of all members.</a></p>
+<h2>
+Public Types</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">typedef std::map< PP_Instance, <br class="typebreak" />
+<a class="el" href="classpp_1_1_instance.html">Instance</a> * > </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html#a47cd6188f0321e74b71126a5fd014b12">InstanceMap</a></td></tr>
+</table><h2>
+Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html#a67b76ad37316a2e89ebd2902a6503686">Module</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html#ac3c912841726117a128d2e056f15210e">~Module</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html#a873a824f0e462008d1167e34544ad360">Init</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_Module </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html#a95bb3148c925f46938ee0f267b1c66e5">pp_module</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PPB_GetInterface </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html#a8955edbfec01524388338b440633850a">get_browser_interface</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_core.html">Core</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html#afd1d02002faaa6a4531ad06ca0423c9f">core</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const void * </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html#a8c8c946f741e140ff7dd21b36b1a42a5">GetPluginInterface</a> (const char *interface_name)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const void * </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html#a2aece372fdef35ded56d69a4e881a376">GetBrowserInterface</a> (const char *interface_name)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_instance.html">Instance</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html#ab57a787b61cd72fdcea0d232ed88eaef">InstanceForPPInstance</a> (PP_Instance instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html#aeddc6021140b4bdea3a83c36e7b8ec7e">AddPluginInterface</a> (const std::string &interface_name, const void *vtable)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html#acd9a63a4b364c28abfeac39687f2fa1a">InternalInit</a> (PP_Module mod, PPB_GetInterface <a class="el" href="classpp_1_1_module.html#a8955edbfec01524388338b440633850a">get_browser_interface</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classpp_1_1_module.html#a47cd6188f0321e74b71126a5fd014b12">InstanceMap</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html#a3b9ec2c079aa51ceeedfe98f4c9e1a98">current_instances</a> () const </td></tr>
+</table><h2>
+Static Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classpp_1_1_module.html">Module</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html#ac8cca5d744e812ec3221bc391086b026">Get</a> ()</td></tr>
+</table><h2>
+Protected Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classpp_1_1_instance.html">Instance</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html#a648f236af50501bac40ce40296611825">CreateInstance</a> (PP_Instance instance)=0</td></tr>
+</table><h2>
+Friends</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">PP_Bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html#ab0f2ba24fd03fa31fc2e47d4f8ceb158">Instance_DidCreate</a> (PP_Instance pp_instance, uint32_t argc, const char *argn[], const char *argv[])</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html#accf4ce5410f02db9c87dcca045043128">Instance_DidDestroy</a> (PP_Instance instance)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <a class="el" href="classpp_1_1_module.html" title="The Module class.">Module</a> class. </p>
+<p>The browser calls <a class="el" href="classpp_1_1_module.html#a648f236af50501bac40ce40296611825" title="CreateInstance() should be overridden to create your own module type.">CreateInstance()</a> to create an instance of your module on the web page. The browser creates a new instance for each <code><embed></code> tag with <code>type="application/x-nacl"</code> </p>
+</div><hr /><h2>Member Typedef Documentation</h2>
+<a class="anchor" id="a47cd6188f0321e74b71126a5fd014b12"></a><!-- doxytag: member="pp::Module::InstanceMap" ref="a47cd6188f0321e74b71126a5fd014b12" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef std::map<PP_Instance, <a class="el" href="classpp_1_1_instance.html">Instance</a>*> <a class="el" href="classpp_1_1_module.html#a47cd6188f0321e74b71126a5fd014b12">pp::Module::InstanceMap</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a67b76ad37316a2e89ebd2902a6503686"></a><!-- doxytag: member="pp::Module::Module" ref="a67b76ad37316a2e89ebd2902a6503686" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_module.html#a67b76ad37316a2e89ebd2902a6503686">pp::Module::Module</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ac3c912841726117a128d2e056f15210e"></a><!-- doxytag: member="pp::Module::~Module" ref="ac3c912841726117a128d2e056f15210e" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_module.html#ac3c912841726117a128d2e056f15210e">pp::Module::~Module</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="aeddc6021140b4bdea3a83c36e7b8ec7e"></a><!-- doxytag: member="pp::Module::AddPluginInterface" ref="aeddc6021140b4bdea3a83c36e7b8ec7e" args="(const std::string &interface_name, const void *vtable)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_module.html#aeddc6021140b4bdea3a83c36e7b8ec7e">pp::Module::AddPluginInterface</a> </td>
+<td>(</td>
+<td class="paramtype">const std::string & </td>
+<td class="paramname"><em>interface_name</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const void * </td>
+<td class="paramname"><em>vtable</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_module.html#aeddc6021140b4bdea3a83c36e7b8ec7e" title="AddPluginInterface() adds a handler for a provided interface name.">AddPluginInterface()</a> adds a handler for a provided interface name. </p>
+<p>When the browser requests that interface name, the provided <code>vtable</code> will be returned.</p>
+<p>In general, modules will not need to call this directly. Instead, the C++ wrappers for each interface will register themselves with this function.</p>
+<p>This function may be called more than once with the same interface name and vtable with no effect. However, it may not be used to register a different vtable for an already-registered interface. It will assert for a different registration for an already-registered interface in debug mode, and just ignore the registration in release mode.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">interface_name</td><td>The interface name that will receive a handler. </td></tr>
+<tr><td class="paramdir">[in,out]</td><td class="paramname">vtable</td><td>The vtable to return for <code>interface_name</code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="afd1d02002faaa6a4531ad06ca0423c9f"></a><!-- doxytag: member="pp::Module::core" ref="afd1d02002faaa6a4531ad06ca0423c9f" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_core.html">Core</a>* <a class="el" href="classpp_1_1_module.html#afd1d02002faaa6a4531ad06ca0423c9f">pp::Module::core</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <a class="el" href="classpp_1_1_module.html#afd1d02002faaa6a4531ad06ca0423c9f" title="The core() function returns the core interface for doing basic global operations.">core()</a> function returns the core interface for doing basic global operations. </p>
+<p>The return value is guaranteed to be non-NULL once the module has successfully initialized and during the <a class="el" href="classpp_1_1_module.html#a873a824f0e462008d1167e34544ad360" title="Init() is automatically called after the object is created.">Init()</a> call.</p>
+<p>It will be NULL before <a class="el" href="classpp_1_1_module.html#a873a824f0e462008d1167e34544ad360" title="Init() is automatically called after the object is created.">Init()</a> has been called.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The core interface for doing basic global operations. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a648f236af50501bac40ce40296611825"></a><!-- doxytag: member="pp::Module::CreateInstance" ref="a648f236af50501bac40ce40296611825" args="(PP_Instance instance)=0" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_instance.html">Instance</a>* <a class="el" href="classpp_1_1_module.html#a648f236af50501bac40ce40296611825">pp::Module::CreateInstance</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Instance </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td><code> [protected, pure virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_module.html#a648f236af50501bac40ce40296611825" title="CreateInstance() should be overridden to create your own module type.">CreateInstance()</a> should be overridden to create your own module type. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The resulting instance. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a3b9ec2c079aa51ceeedfe98f4c9e1a98"></a><!-- doxytag: member="pp::Module::current_instances" ref="a3b9ec2c079aa51ceeedfe98f4c9e1a98" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">const <a class="el" href="classpp_1_1_module.html#a47cd6188f0321e74b71126a5fd014b12">InstanceMap</a>& <a class="el" href="classpp_1_1_module.html#a3b9ec2c079aa51ceeedfe98f4c9e1a98">pp::Module::current_instances</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <a class="el" href="classpp_1_1_module.html#a3b9ec2c079aa51ceeedfe98f4c9e1a98" title="The current_instances() function allows iteration over the current instances in the module...">current_instances()</a> function allows iteration over the current instances in the module. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An <code>InstanceMap</code> of all instances in the module. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ac8cca5d744e812ec3221bc391086b026"></a><!-- doxytag: member="pp::Module::Get" ref="ac8cca5d744e812ec3221bc391086b026" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static <a class="el" href="classpp_1_1_module.html">Module</a>* <a class="el" href="classpp_1_1_module.html#ac8cca5d744e812ec3221bc391086b026">pp::Module::Get</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_module.html#ac8cca5d744e812ec3221bc391086b026" title="Get() returns the global instance of this module object, or NULL if the module is not initialized yet...">Get()</a> returns the global instance of this module object, or NULL if the module is not initialized yet. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The global instance of the module object. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a8955edbfec01524388338b440633850a"></a><!-- doxytag: member="pp::Module::get_browser_interface" ref="a8955edbfec01524388338b440633850a" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PPB_GetInterface <a class="el" href="classpp_1_1_module.html#a8955edbfec01524388338b440633850a">pp::Module::get_browser_interface</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <a class="el" href="classpp_1_1_module.html#a8955edbfec01524388338b440633850a" title="The get_browser_interface() function returns the internal get_browser_interface pointer.">get_browser_interface()</a> function returns the internal <code>get_browser_interface</code> pointer. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PPB_GetInterface</code> internal pointer. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2aece372fdef35ded56d69a4e881a376"></a><!-- doxytag: member="pp::Module::GetBrowserInterface" ref="a2aece372fdef35ded56d69a4e881a376" args="(const char *interface_name)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">const void* <a class="el" href="classpp_1_1_module.html#a2aece372fdef35ded56d69a4e881a376">pp::Module::GetBrowserInterface</a> </td>
+<td>(</td>
+<td class="paramtype">const char * </td>
+<td class="paramname"><em>interface_name</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_module.html#a2aece372fdef35ded56d69a4e881a376" title="GetBrowserInterface() returns interfaces which the browser implements (i.e.">GetBrowserInterface()</a> returns interfaces which the browser implements (i.e. </p>
+<p>PPB interfaces). </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">interface_name</td><td>The browser interface for the module to get. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a8c8c946f741e140ff7dd21b36b1a42a5"></a><!-- doxytag: member="pp::Module::GetPluginInterface" ref="a8c8c946f741e140ff7dd21b36b1a42a5" args="(const char *interface_name)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">const void* <a class="el" href="classpp_1_1_module.html#a8c8c946f741e140ff7dd21b36b1a42a5">pp::Module::GetPluginInterface</a> </td>
+<td>(</td>
+<td class="paramtype">const char * </td>
+<td class="paramname"><em>interface_name</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_module.html#a8c8c946f741e140ff7dd21b36b1a42a5" title="GetPluginInterface() implements GetInterface for the browser to get module interfaces.">GetPluginInterface()</a> implements <code>GetInterface</code> for the browser to get module interfaces. </p>
+<p>If you need to provide your own implementations of new interfaces, use <a class="el" href="classpp_1_1_module.html#aeddc6021140b4bdea3a83c36e7b8ec7e" title="AddPluginInterface() adds a handler for a provided interface name.">AddPluginInterface()</a> which this function will use.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">interface_name</td><td>The module interface for the browser to get. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a873a824f0e462008d1167e34544ad360"></a><!-- doxytag: member="pp::Module::Init" ref="a873a824f0e462008d1167e34544ad360" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual bool <a class="el" href="classpp_1_1_module.html#a873a824f0e462008d1167e34544ad360">pp::Module::Init</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_module.html#a873a824f0e462008d1167e34544ad360" title="Init() is automatically called after the object is created.">Init()</a> is automatically called after the object is created. </p>
+<p>This is where you can put functions that rely on other parts of the API, now that the module has been created.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab57a787b61cd72fdcea0d232ed88eaef"></a><!-- doxytag: member="pp::Module::InstanceForPPInstance" ref="ab57a787b61cd72fdcea0d232ed88eaef" args="(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_instance.html">Instance</a>* <a class="el" href="classpp_1_1_module.html#ab57a787b61cd72fdcea0d232ed88eaef">pp::Module::InstanceForPPInstance</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Instance </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_module.html#ab57a787b61cd72fdcea0d232ed88eaef" title="InstanceForPPInstance() returns the object associated with this PP_Instance, or NULL if one is not fo...">InstanceForPPInstance()</a> returns the object associated with this <code>PP_Instance</code>, or NULL if one is not found. </p>
+<p>This should only be called from the main thread! This instance object may be destroyed at any time on the main thread, so using it on other threads may cause a crash.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>This <code>PP_Instance</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The object associated with this <code>PP_Instance</code>, or NULL if one is not found. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="acd9a63a4b364c28abfeac39687f2fa1a"></a><!-- doxytag: member="pp::Module::InternalInit" ref="acd9a63a4b364c28abfeac39687f2fa1a" args="(PP_Module mod, PPB_GetInterface get_browser_interface)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_module.html#acd9a63a4b364c28abfeac39687f2fa1a">pp::Module::InternalInit</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Module </td>
+<td class="paramname"><em>mod</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PPB_GetInterface </td>
+<td class="paramname"><em>get_browser_interface</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>function that can be overridden by the base classes. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">mod</td><td>A <code>PP_Module</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">get_browser_interface</td><td>The browser interface to set.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a95bb3148c925f46938ee0f267b1c66e5"></a><!-- doxytag: member="pp::Module::pp_module" ref="a95bb3148c925f46938ee0f267b1c66e5" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_Module <a class="el" href="classpp_1_1_module.html#a95bb3148c925f46938ee0f267b1c66e5">pp::Module::pp_module</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <a class="el" href="classpp_1_1_module.html#a95bb3148c925f46938ee0f267b1c66e5" title="The pp_module() function returns the internal module handle.">pp_module()</a> function returns the internal module handle. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Module</code> internal module handle. </dd></dl>
+</div>
+</div>
+<hr /><h2>Friends And Related Function Documentation</h2>
+<a class="anchor" id="ab0f2ba24fd03fa31fc2e47d4f8ceb158"></a><!-- doxytag: member="pp::Module::Instance_DidCreate" ref="ab0f2ba24fd03fa31fc2e47d4f8ceb158" args="(PP_Instance pp_instance, uint32_t argc, const char *argn[], const char *argv[])" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_Bool <a class="el" href="classpp_1_1_module.html#ab0f2ba24fd03fa31fc2e47d4f8ceb158">Instance_DidCreate</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Instance </td>
+<td class="paramname"><em>pp_instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>argc</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const char * </td>
+<td class="paramname"><em>argn</em>[], </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const char * </td>
+<td class="paramname"><em>argv</em>[] </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [friend]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="accf4ce5410f02db9c87dcca045043128"></a><!-- doxytag: member="pp::Module::Instance_DidDestroy" ref="accf4ce5410f02db9c87dcca045043128" args="(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_module.html#accf4ce5410f02db9c87dcca045043128">Instance_DidDestroy</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Instance </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td><code> [friend]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="module_8h.html">module.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_mouse_cursor-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_mouse_cursor-members.html
new file mode 100644
index 0000000..07d2ae9d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_mouse_cursor-members.html
@@ -0,0 +1,14 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_mouse_cursor.html">pp::MouseCursor</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_mouse_cursor.html#a94fc61cd6f995af87e1bf198c3fe788d">SetCursor</a>(const InstanceHandle &instance, PP_MouseCursor_Type type, const ImageData &image=ImageData(), const Point &hot_spot=Point(0, 0))</td><td><a class="el" href="classpp_1_1_mouse_cursor.html">pp::MouseCursor</a></td><td><code> [static]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_mouse_cursor.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_mouse_cursor.html
new file mode 100644
index 0000000..1a92e8dc
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_mouse_cursor.html
@@ -0,0 +1,74 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::MouseCursor Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::MouseCursor" -->
+<p><a href="classpp_1_1_mouse_cursor-members.html">List of all members.</a></p>
+<h2>
+Static Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_cursor.html#a94fc61cd6f995af87e1bf198c3fe788d">SetCursor</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, PP_MouseCursor_Type type, const <a class="el" href="classpp_1_1_image_data.html">ImageData</a> &image=<a class="el" href="classpp_1_1_image_data.html">ImageData</a>(), const <a class="el" href="classpp_1_1_point.html">Point</a> &hot_spot=<a class="el" href="classpp_1_1_point.html">Point</a>(0, 0))</td></tr>
+</table>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a94fc61cd6f995af87e1bf198c3fe788d"></a><!-- doxytag: member="pp::MouseCursor::SetCursor" ref="a94fc61cd6f995af87e1bf198c3fe788d" args="(const InstanceHandle &instance, PP_MouseCursor_Type type, const ImageData &image=ImageData(), const Point &hot_spot=Point(0, 0))" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static bool <a class="el" href="classpp_1_1_mouse_cursor.html#a94fc61cd6f995af87e1bf198c3fe788d">pp::MouseCursor::SetCursor</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_MouseCursor_Type </td>
+<td class="paramname"><em>type</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_image_data.html">ImageData</a> & </td>
+<td class="paramname"><em>image</em> = <code><a class="el" href="classpp_1_1_image_data.html">ImageData</a>()</code>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">Point</a> & </td>
+<td class="paramname"><em>hot_spot</em> = <code><a class="el" href="classpp_1_1_point.html">Point</a>(0, 0)</code> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sets the given mouse cursor. </p>
+<p>The mouse cursor will be in effect whenever the mouse is over the given instance until it is set again by another call. Note that you can hide the mouse cursor by setting it to the <code>PP_MOUSECURSOR_TYPE_NONE</code> type.</p>
+<p>This function allows setting both system defined mouse cursors and custom cursors. To set a system-defined cursor, pass the type you want and set the custom image to a default-constructor <a class="el" href="classpp_1_1_image_data.html">ImageData</a> object. To set a custom cursor, set the type to <code>PP_MOUSECURSOR_TYPE_CUSTOM</code> and specify your image and hot spot.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A handle identifying the instance that the mouse cursor will affect.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>A <code>PP_MouseCursor_Type</code> identifying the type of mouse cursor to show. See <code>ppapi/c/ppb_mouse_cursor.h</code>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">image</td><td>A <code><a class="el" href="classpp_1_1_image_data.html">ImageData</a></code> object identifying the custom image to set when the type is <code>PP_MOUSECURSOR_TYPE_CUSTOM</code>. The image must be less than 32 pixels in each direction and must be of the system's native image format. When you are specifying a predefined cursor, this parameter should be a default-constructed <a class="el" href="classpp_1_1_image_data.html">ImageData</a>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">hot_spot</td><td>When setting a custom cursor, this identifies the pixel position within the given image of the "hot spot" of the cursor. When specifying a stock cursor, this parameter is ignored.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false if the instance or cursor type was invalid or if the image was too large. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="mouse__cursor_8h.html">mouse_cursor.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_mouse_input_event-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_mouse_input_event-members.html
new file mode 100644
index 0000000..de1c98a6
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_mouse_input_event-members.html
@@ -0,0 +1,37 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_mouse_input_event.html">pp::MouseInputEvent</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_mouse_input_event.html#ae953b64120ab5c84c31114d1e5d15e1b">GetButton</a>() const </td><td><a class="el" href="classpp_1_1_mouse_input_event.html">pp::MouseInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_mouse_input_event.html#a2e125cde20848ee70495e2f981b7417e">GetClickCount</a>() const </td><td><a class="el" href="classpp_1_1_mouse_input_event.html">pp::MouseInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a6f94a5cd8453f1b69e55aadde73354e7">GetModifiers</a>() const </td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_mouse_input_event.html#a33e589dc8460c5fd2064cef39f19970b">GetMovement</a>() const </td><td><a class="el" href="classpp_1_1_mouse_input_event.html">pp::MouseInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_mouse_input_event.html#a95bb484c3628871ed4d8cbd3b44effe2">GetPosition</a>() const </td><td><a class="el" href="classpp_1_1_mouse_input_event.html">pp::MouseInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#acc79ecdcf19f5b8a8a7268fc8ff51531">GetTimeStamp</a>() const </td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a73ca79c06ff9a39304e3b390090f03dc">GetType</a>() const </td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#ac7581e4321abe8de6f3b48d70f4aa65d">InputEvent</a>()</td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a1d4f7d3fb88de3cccc60ab26b92ccf23">InputEvent</a>(PP_Resource input_event_resource)</td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_mouse_input_event.html#a3a7fa73996bd504fc3aa86c447222761">MouseInputEvent</a>()</td><td><a class="el" href="classpp_1_1_mouse_input_event.html">pp::MouseInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_mouse_input_event.html#ad63fc6a3e5f29b5cb787fc74ebf0b33d">MouseInputEvent</a>(const InputEvent &event)</td><td><a class="el" href="classpp_1_1_mouse_input_event.html">pp::MouseInputEvent</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_mouse_input_event.html#a4e2f16fb54382135f07cf53e22905d3a">MouseInputEvent</a>(const InstanceHandle &instance, PP_InputEvent_Type type, PP_TimeTicks time_stamp, uint32_t modifiers, PP_InputEvent_MouseButton mouse_button, const Point &mouse_position, int32_t click_count, const Point &mouse_movement)</td><td><a class="el" href="classpp_1_1_mouse_input_event.html">pp::MouseInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a2492183af4fecec44a423a5b7eae6faf">~InputEvent</a>()</td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_mouse_input_event.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_mouse_input_event.html
new file mode 100644
index 0000000..42cf516
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_mouse_input_event.html
@@ -0,0 +1,222 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::MouseInputEvent Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::MouseInputEvent" --><!-- doxytag: inherits="pp::InputEvent" --><div class="dynheader">
+Inheritance diagram for pp::MouseInputEvent:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_mouse_input_event__inherit__graph.png" border="0" usemap="#pp_1_1_mouse_input_event_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_mouse_input_event_inherit__map" id="pp_1_1_mouse_input_event_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_input_event.html" title="This class represents an input event resource." alt="" coords="25,83,140,112"></area><area shape="rect" id="node4" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="31,5,135,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_mouse_input_event-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_input_event.html#a3a7fa73996bd504fc3aa86c447222761">MouseInputEvent</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_input_event.html#ad63fc6a3e5f29b5cb787fc74ebf0b33d">MouseInputEvent</a> (const <a class="el" href="classpp_1_1_input_event.html">InputEvent</a> &event)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_input_event.html#a4e2f16fb54382135f07cf53e22905d3a">MouseInputEvent</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, PP_InputEvent_Type type, PP_TimeTicks time_stamp, uint32_t modifiers, PP_InputEvent_MouseButton mouse_button, const <a class="el" href="classpp_1_1_point.html">Point</a> &mouse_position, int32_t click_count, const <a class="el" href="classpp_1_1_point.html">Point</a> &mouse_movement)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_InputEvent_MouseButton </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_input_event.html#ae953b64120ab5c84c31114d1e5d15e1b">GetButton</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_point.html">Point</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_input_event.html#a95bb484c3628871ed4d8cbd3b44effe2">GetPosition</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_input_event.html#a2e125cde20848ee70495e2f981b7417e">GetClickCount</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_point.html">Point</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_input_event.html#a33e589dc8460c5fd2064cef39f19970b">GetMovement</a> () const </td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This class handles mouse events. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a3a7fa73996bd504fc3aa86c447222761"></a><!-- doxytag: member="pp::MouseInputEvent::MouseInputEvent" ref="a3a7fa73996bd504fc3aa86c447222761" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_mouse_input_event.html#a3a7fa73996bd504fc3aa86c447222761">pp::MouseInputEvent::MouseInputEvent</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> mouse input event object. </p>
+</div>
+</div>
+<a class="anchor" id="ad63fc6a3e5f29b5cb787fc74ebf0b33d"></a><!-- doxytag: member="pp::MouseInputEvent::MouseInputEvent" ref="ad63fc6a3e5f29b5cb787fc74ebf0b33d" args="(const InputEvent &event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_mouse_input_event.html#a3a7fa73996bd504fc3aa86c447222761">pp::MouseInputEvent::MouseInputEvent</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_input_event.html">InputEvent</a> & </td>
+<td class="paramname"><em>event</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This constructor constructs a mouse input event object from the provided generic input event. </p>
+<p>If the given event is itself <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> or is not a mouse input event, the mouse object will be <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramname">event</td><td>An <code><a class="el" href="classpp_1_1_input_event.html" title="This class represents an input event resource.">InputEvent</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a4e2f16fb54382135f07cf53e22905d3a"></a><!-- doxytag: member="pp::MouseInputEvent::MouseInputEvent" ref="a4e2f16fb54382135f07cf53e22905d3a" args="(const InstanceHandle &instance, PP_InputEvent_Type type, PP_TimeTicks time_stamp, uint32_t modifiers, PP_InputEvent_MouseButton mouse_button, const Point &mouse_position, int32_t click_count, const Point &mouse_movement)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_mouse_input_event.html#a3a7fa73996bd504fc3aa86c447222761">pp::MouseInputEvent::MouseInputEvent</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_InputEvent_Type </td>
+<td class="paramname"><em>type</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_TimeTicks </td>
+<td class="paramname"><em>time_stamp</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>modifiers</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_InputEvent_MouseButton </td>
+<td class="paramname"><em>mouse_button</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">Point</a> & </td>
+<td class="paramname"><em>mouse_position</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>click_count</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">Point</a> & </td>
+<td class="paramname"><em>mouse_movement</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This constructor manually constructs a mouse event from the provided parameters. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance for which this event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>A <code>PP_InputEvent_Type</code> identifying the type of input event.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">time_stamp</td><td>A <code>PP_TimeTicks</code> indicating the time when the event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">modifiers</td><td>A bit field combination of the <code>PP_InputEvent_Modifier</code> flags.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">mouse_button</td><td>The button that changed for mouse down or up events. This value will be <code>PP_EVENT_MOUSEBUTTON_NONE</code> for mouse move, enter, and leave events.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">mouse_position</td><td>A <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code> containing the x and y position of the mouse when the event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">click_count</td><td></td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">mouse_movement</td><td>The change in position of the mouse. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="ae953b64120ab5c84c31114d1e5d15e1b"></a><!-- doxytag: member="pp::MouseInputEvent::GetButton" ref="ae953b64120ab5c84c31114d1e5d15e1b" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_InputEvent_MouseButton <a class="el" href="classpp_1_1_mouse_input_event.html#ae953b64120ab5c84c31114d1e5d15e1b">pp::MouseInputEvent::GetButton</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_mouse_input_event.html#ae953b64120ab5c84c31114d1e5d15e1b" title="GetButton() returns the mouse position for a mouse input event.">GetButton()</a> returns the mouse position for a mouse input event. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The mouse button associated with mouse down and up events. This value will be PP_EVENT_MOUSEBUTTON_NONE for mouse move, enter, and leave events, and for all non-mouse events. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2e125cde20848ee70495e2f981b7417e"></a><!-- doxytag: member="pp::MouseInputEvent::GetClickCount" ref="a2e125cde20848ee70495e2f981b7417e" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_mouse_input_event.html#a2e125cde20848ee70495e2f981b7417e">pp::MouseInputEvent::GetClickCount</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a33e589dc8460c5fd2064cef39f19970b"></a><!-- doxytag: member="pp::MouseInputEvent::GetMovement" ref="a33e589dc8460c5fd2064cef39f19970b" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_point.html">Point</a> <a class="el" href="classpp_1_1_mouse_input_event.html#a33e589dc8460c5fd2064cef39f19970b">pp::MouseInputEvent::GetMovement</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns the change in position of the mouse. </p>
+<p>When the mouse is locked, although the mouse position doesn't actually change, this function still provides movement information, which indicates what the change in position would be had the mouse not been locked.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The change in position of the mouse, relative to the previous position. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a95bb484c3628871ed4d8cbd3b44effe2"></a><!-- doxytag: member="pp::MouseInputEvent::GetPosition" ref="a95bb484c3628871ed4d8cbd3b44effe2" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_point.html">Point</a> <a class="el" href="classpp_1_1_mouse_input_event.html#a95bb484c3628871ed4d8cbd3b44effe2">pp::MouseInputEvent::GetPosition</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_mouse_input_event.html#a95bb484c3628871ed4d8cbd3b44effe2" title="GetPosition() returns the pixel location of a mouse input event.">GetPosition()</a> returns the pixel location of a mouse input event. </p>
+<p>When the mouse is locked, it returns the last known mouse position just as mouse lock was entered.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The point associated with the mouse event, relative to the upper- left of the instance receiving the event. These values can be negative for mouse drags. The return value will be (0, 0) for non-mouse events. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="input__event_8h.html">input_event.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_mouse_input_event__inherit__graph.png b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_mouse_input_event__inherit__graph.png
new file mode 100644
index 0000000..c2e0c0e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_mouse_input_event__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_mouse_lock-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_mouse_lock-members.html
new file mode 100644
index 0000000..e22d66c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_mouse_lock-members.html
@@ -0,0 +1,18 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_mouse_lock.html">pp::MouseLock</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_mouse_lock.html#ad17ce49daa092ec8ec6ca56aebf5b2cc">LockMouse</a>(const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_mouse_lock.html">pp::MouseLock</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_mouse_lock.html#a2c304f04bbcca852cfff575595de291f">MouseLock</a>(Instance *instance)</td><td><a class="el" href="classpp_1_1_mouse_lock.html">pp::MouseLock</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_mouse_lock.html#a325767b75e132ae0c1ca7d4776f5d05c">MouseLockLost</a>()=0</td><td><a class="el" href="classpp_1_1_mouse_lock.html">pp::MouseLock</a></td><td><code> [pure virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_mouse_lock.html#ad896ad4a23395cc6735930437bfb92e6">UnlockMouse</a>()</td><td><a class="el" href="classpp_1_1_mouse_lock.html">pp::MouseLock</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_mouse_lock.html#a2ac121eb177f22d69c46066d979e06a8">~MouseLock</a>()</td><td><a class="el" href="classpp_1_1_mouse_lock.html">pp::MouseLock</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_mouse_lock.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_mouse_lock.html
new file mode 100644
index 0000000..7f7b8c8
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_mouse_lock.html
@@ -0,0 +1,147 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::MouseLock Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::MouseLock" -->
+<p><a href="classpp_1_1_mouse_lock-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_lock.html#a2c304f04bbcca852cfff575595de291f">MouseLock</a> (<a class="el" href="classpp_1_1_instance.html">Instance</a> *instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_lock.html#a2ac121eb177f22d69c46066d979e06a8">~MouseLock</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_lock.html#a325767b75e132ae0c1ca7d4776f5d05c">MouseLockLost</a> ()=0</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_lock.html#ad17ce49daa092ec8ec6ca56aebf5b2cc">LockMouse</a> (const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_lock.html#ad896ad4a23395cc6735930437bfb92e6">UnlockMouse</a> ()</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This class allows you to associate the <code>PPP_MouseLock</code> and <code>PPB_MouseLock</code> C-based interfaces with an object. </p>
+<p>It associates itself with the given instance, and registers as the global handler for handling the <code>PPP_MouseLock</code> interface that the browser calls.</p>
+<p>You would typically use this class by inheritance on your instance or by composition.</p>
+<p><b>Example (inheritance):</b> </p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">class </span>MyInstance : <span class="keyword">public</span> pp::Instance, <span class="keyword">public</span> pp::<a class="code" href="classpp_1_1_mouse_lock.html#a2c304f04bbcca852cfff575595de291f" title="A constructor for creating a MouseLock.">MouseLock</a> {
+ <span class="keyword">class </span>MyInstance() : pp::<a class="code" href="classpp_1_1_mouse_lock.html#a2c304f04bbcca852cfff575595de291f" title="A constructor for creating a MouseLock.">MouseLock</a>(this) {
+ }
+ ...
+ };
+</pre></div><p><b>Example (composition):</b> </p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">class </span>MyMouseLock : <span class="keyword">public</span> pp::<a class="code" href="classpp_1_1_mouse_lock.html#a2c304f04bbcca852cfff575595de291f" title="A constructor for creating a MouseLock.">MouseLock</a> {
+ ...
+ };
+
+ <span class="keyword">class </span>MyInstance : <span class="keyword">public</span> pp::Instance {
+ MyInstance() : mouse_lock_(this) {
+ }
+
+ MyMouseLock mouse_lock_;
+ };
+</pre></div> </div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a2c304f04bbcca852cfff575595de291f"></a><!-- doxytag: member="pp::MouseLock::MouseLock" ref="a2c304f04bbcca852cfff575595de291f" args="(Instance *instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_mouse_lock.html#a2c304f04bbcca852cfff575595de291f">pp::MouseLock::MouseLock</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="classpp_1_1_instance.html">Instance</a> * </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor for creating a <code><a class="el" href="classpp_1_1_mouse_lock.html" title="This class allows you to associate the PPP_MouseLock and PPB_MouseLock C-based interfaces with an obj...">MouseLock</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a2ac121eb177f22d69c46066d979e06a8"></a><!-- doxytag: member="pp::MouseLock::~MouseLock" ref="a2ac121eb177f22d69c46066d979e06a8" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_mouse_lock.html#a2ac121eb177f22d69c46066d979e06a8">pp::MouseLock::~MouseLock</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Destructor. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="ad17ce49daa092ec8ec6ca56aebf5b2cc"></a><!-- doxytag: member="pp::MouseLock::LockMouse" ref="ad17ce49daa092ec8ec6ca56aebf5b2cc" args="(const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_mouse_lock.html#ad17ce49daa092ec8ec6ca56aebf5b2cc">pp::MouseLock::LockMouse</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_mouse_lock.html#ad17ce49daa092ec8ec6ca56aebf5b2cc" title="LockMouse() requests the mouse to be locked.">LockMouse()</a> requests the mouse to be locked. </p>
+<p>While the mouse is locked, the cursor is implicitly hidden from the user. Any movement of the mouse will generate a <code>PP_INPUTEVENT_TYPE_MOUSEMOVE</code> event. The <code>GetPosition()</code> function in <code>InputEvent()</code> reports the last known mouse position just as mouse lock was entered. The <code>GetMovement()</code> function provides relative movement information indicating what the change in position of the mouse would be had it not been locked.</p>
+<p>The browser may revoke the mouse lock for reasons including (but not limited to) the user pressing the ESC key, the user activating another program using a reserved keystroke (e.g. ALT+TAB), or some other system event.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a325767b75e132ae0c1ca7d4776f5d05c"></a><!-- doxytag: member="pp::MouseLock::MouseLockLost" ref="a325767b75e132ae0c1ca7d4776f5d05c" args="()=0" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual void <a class="el" href="classpp_1_1_mouse_lock.html#a325767b75e132ae0c1ca7d4776f5d05c">pp::MouseLock::MouseLockLost</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [pure virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>PPP_MouseLock functions exposed as virtual functions for you to override. </p>
+</div>
+</div>
+<a class="anchor" id="ad896ad4a23395cc6735930437bfb92e6"></a><!-- doxytag: member="pp::MouseLock::UnlockMouse" ref="ad896ad4a23395cc6735930437bfb92e6" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_mouse_lock.html#ad896ad4a23395cc6735930437bfb92e6">pp::MouseLock::UnlockMouse</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>UnlockMouse causes the mouse to be unlocked, allowing it to track user movement again. </p>
+<p>This is an asynchronous operation. The module instance will be notified using the <code>PPP_MouseLock</code> interface when it has lost the mouse lock. </p>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="mouse__lock_8h.html">mouse_lock.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_net_address-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_net_address-members.html
new file mode 100644
index 0000000..cb30d20
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_net_address-members.html
@@ -0,0 +1,36 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_net_address.html">pp::NetAddress</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_net_address.html#a3fdbd86db0384bf334dabcefa5e46237">DescribeAsIPv4Address</a>(PP_NetAddress_IPv4 *ipv4_addr) const </td><td><a class="el" href="classpp_1_1_net_address.html">pp::NetAddress</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_net_address.html#a81991279a52f8d38d9b75e1e607a81a5">DescribeAsIPv6Address</a>(PP_NetAddress_IPv6 *ipv6_addr) const </td><td><a class="el" href="classpp_1_1_net_address.html">pp::NetAddress</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_net_address.html#a9ff9ad19269af1c00ff02542397e92cc">DescribeAsString</a>(bool include_port) const </td><td><a class="el" href="classpp_1_1_net_address.html">pp::NetAddress</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_net_address.html#a271533da67cd5c6f536c6595b439bd9b">GetFamily</a>() const </td><td><a class="el" href="classpp_1_1_net_address.html">pp::NetAddress</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_net_address.html#a15547416a0b50b6ebd271ca421a91068">IsAvailable</a>()</td><td><a class="el" href="classpp_1_1_net_address.html">pp::NetAddress</a></td><td><code> [static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_net_address.html#abe4887a33342dac27318079f07bb012d">NetAddress</a>()</td><td><a class="el" href="classpp_1_1_net_address.html">pp::NetAddress</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_net_address.html#ade2ad27841d2ccedbb202ee2c1eade14">NetAddress</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_net_address.html">pp::NetAddress</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_net_address.html#ae54044b80f97d259cb23b924a877ce53">NetAddress</a>(const InstanceHandle &instance, const PP_NetAddress_IPv4 &ipv4_addr)</td><td><a class="el" href="classpp_1_1_net_address.html">pp::NetAddress</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_net_address.html#a76442610ed533079115a5150b7a9c98c">NetAddress</a>(const InstanceHandle &instance, const PP_NetAddress_IPv6 &ipv6_addr)</td><td><a class="el" href="classpp_1_1_net_address.html">pp::NetAddress</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_net_address.html#a8c0b559bd205387c199aba688c356298">NetAddress</a>(const NetAddress &other)</td><td><a class="el" href="classpp_1_1_net_address.html">pp::NetAddress</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_net_address.html#ab12bb266c9714d818aedc9cce7a209cf">operator=</a>(const NetAddress &other)</td><td><a class="el" href="classpp_1_1_net_address.html">pp::NetAddress</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">pp::Resource::operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_net_address.html#a06b05fdecaf0b32ee74e7ebbb85a0674">~NetAddress</a>()</td><td><a class="el" href="classpp_1_1_net_address.html">pp::NetAddress</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_net_address.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_net_address.html
new file mode 100644
index 0000000..c6e3bfda
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_net_address.html
@@ -0,0 +1,334 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::NetAddress Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::NetAddress" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::NetAddress:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_net_address__inherit__graph.png" border="0" usemap="#pp_1_1_net_address_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_net_address_inherit__map" id="pp_1_1_net_address_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="13,5,117,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_net_address-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_net_address.html#abe4887a33342dac27318079f07bb012d">NetAddress</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_net_address.html#ade2ad27841d2ccedbb202ee2c1eade14">NetAddress</a> (<a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a>, PP_Resource resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_net_address.html#ae54044b80f97d259cb23b924a877ce53">NetAddress</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, const PP_NetAddress_IPv4 &ipv4_addr)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_net_address.html#a76442610ed533079115a5150b7a9c98c">NetAddress</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, const PP_NetAddress_IPv6 &ipv6_addr)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_net_address.html#a8c0b559bd205387c199aba688c356298">NetAddress</a> (const <a class="el" href="classpp_1_1_net_address.html">NetAddress</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_net_address.html#a06b05fdecaf0b32ee74e7ebbb85a0674">~NetAddress</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_net_address.html">NetAddress</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_net_address.html#ab12bb266c9714d818aedc9cce7a209cf">operator=</a> (const <a class="el" href="classpp_1_1_net_address.html">NetAddress</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_NetAddress_Family </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_net_address.html#a271533da67cd5c6f536c6595b439bd9b">GetFamily</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_net_address.html#a9ff9ad19269af1c00ff02542397e92cc">DescribeAsString</a> (bool include_port) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_net_address.html#a3fdbd86db0384bf334dabcefa5e46237">DescribeAsIPv4Address</a> (PP_NetAddress_IPv4 *ipv4_addr) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_net_address.html#a81991279a52f8d38d9b75e1e607a81a5">DescribeAsIPv6Address</a> (PP_NetAddress_IPv6 *ipv6_addr) const </td></tr>
+</table><h2>
+Static Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_net_address.html#a15547416a0b50b6ebd271ca421a91068">IsAvailable</a> ()</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code> class represents a network address. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="abe4887a33342dac27318079f07bb012d"></a><!-- doxytag: member="pp::NetAddress::NetAddress" ref="abe4887a33342dac27318079f07bb012d" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_net_address.html#abe4887a33342dac27318079f07bb012d">pp::NetAddress::NetAddress</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor for creating an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code> object. </p>
+</div>
+</div>
+<a class="anchor" id="ade2ad27841d2ccedbb202ee2c1eade14"></a><!-- doxytag: member="pp::NetAddress::NetAddress" ref="ade2ad27841d2ccedbb202ee2c1eade14" args="(PassRef, PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_net_address.html#abe4887a33342dac27318079f07bb012d">pp::NetAddress::NetAddress</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a> </td>
+<td class="paramname">, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>resource</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used when you have received a <code>PP_Resource</code> as a return value that has had 1 ref added for you. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PPB_NetAddress</code> resource. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ae54044b80f97d259cb23b924a877ce53"></a><!-- doxytag: member="pp::NetAddress::NetAddress" ref="ae54044b80f97d259cb23b924a877ce53" args="(const InstanceHandle &instance, const PP_NetAddress_IPv4 &ipv4_addr)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_net_address.html#abe4887a33342dac27318079f07bb012d">pp::NetAddress::NetAddress</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const PP_NetAddress_IPv4 & </td>
+<td class="paramname"><em>ipv4_addr</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used to create a <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code> object with the specified IPv4 address. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">ipv4_addr</td><td>An IPv4 address. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a76442610ed533079115a5150b7a9c98c"></a><!-- doxytag: member="pp::NetAddress::NetAddress" ref="a76442610ed533079115a5150b7a9c98c" args="(const InstanceHandle &instance, const PP_NetAddress_IPv6 &ipv6_addr)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_net_address.html#abe4887a33342dac27318079f07bb012d">pp::NetAddress::NetAddress</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const PP_NetAddress_IPv6 & </td>
+<td class="paramname"><em>ipv6_addr</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used to create a <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code> object with the specified IPv6 address. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">ipv6_addr</td><td>An IPv6 address. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a8c0b559bd205387c199aba688c356298"></a><!-- doxytag: member="pp::NetAddress::NetAddress" ref="a8c0b559bd205387c199aba688c356298" args="(const NetAddress &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_net_address.html#abe4887a33342dac27318079f07bb012d">pp::NetAddress::NetAddress</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_net_address.html">NetAddress</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The copy constructor for <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A reference to another <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a06b05fdecaf0b32ee74e7ebbb85a0674"></a><!-- doxytag: member="pp::NetAddress::~NetAddress" ref="a06b05fdecaf0b32ee74e7ebbb85a0674" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_net_address.html#a06b05fdecaf0b32ee74e7ebbb85a0674">pp::NetAddress::~NetAddress</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The destructor. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a3fdbd86db0384bf334dabcefa5e46237"></a><!-- doxytag: member="pp::NetAddress::DescribeAsIPv4Address" ref="a3fdbd86db0384bf334dabcefa5e46237" args="(PP_NetAddress_IPv4 *ipv4_addr) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_net_address.html#a3fdbd86db0384bf334dabcefa5e46237">pp::NetAddress::DescribeAsIPv4Address</a> </td>
+<td>(</td>
+<td class="paramtype">PP_NetAddress_IPv4 * </td>
+<td class="paramname"><em>ipv4_addr</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Fills a <code>PP_NetAddress_IPv4</code> structure if the network address is of <code>PP_NETADDRESS_FAMILY_IPV4</code> address family. </p>
+<p>Note that passing a network address of <code>PP_NETADDRESS_FAMILY_IPV6</code> address family will fail even if the address is an IPv4-mapped IPv6 address.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[out]</td><td class="paramname">ipv4_addr</td><td>A <code>PP_NetAddress_IPv4</code> structure to store the result.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A boolean value indicating whether the operation succeeded. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a81991279a52f8d38d9b75e1e607a81a5"></a><!-- doxytag: member="pp::NetAddress::DescribeAsIPv6Address" ref="a81991279a52f8d38d9b75e1e607a81a5" args="(PP_NetAddress_IPv6 *ipv6_addr) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_net_address.html#a81991279a52f8d38d9b75e1e607a81a5">pp::NetAddress::DescribeAsIPv6Address</a> </td>
+<td>(</td>
+<td class="paramtype">PP_NetAddress_IPv6 * </td>
+<td class="paramname"><em>ipv6_addr</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Fills a <code>PP_NetAddress_IPv6</code> structure if the network address is of <code>PP_NETADDRESS_FAMILY_IPV6</code> address family. </p>
+<p>Note that passing a network address of <code>PP_NETADDRESS_FAMILY_IPV4</code> address family will fail - this method doesn't map it to an IPv6 address.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[out]</td><td class="paramname">ipv6_addr</td><td>A <code>PP_NetAddress_IPv6</code> structure to store the result.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A boolean value indicating whether the operation succeeded. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a9ff9ad19269af1c00ff02542397e92cc"></a><!-- doxytag: member="pp::NetAddress::DescribeAsString" ref="a9ff9ad19269af1c00ff02542397e92cc" args="(bool include_port) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_net_address.html#a9ff9ad19269af1c00ff02542397e92cc">pp::NetAddress::DescribeAsString</a> </td>
+<td>(</td>
+<td class="paramtype">bool </td>
+<td class="paramname"><em>include_port</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns a human-readable description of the network address. </p>
+<p>The description is in the form of host [ ":" port ] and conforms to <a href="http://tools.ietf.org/html/rfc3986#section-3.2">http://tools.ietf.org/html/rfc3986#section-3.2</a> for IPv4 and IPv6 addresses (e.g., "192.168.0.1", "192.168.0.1:99", or "[::1]:80").</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">include_port</td><td>Whether to include the port number in the description.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A string <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> on success; an undefined <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a271533da67cd5c6f536c6595b439bd9b"></a><!-- doxytag: member="pp::NetAddress::GetFamily" ref="a271533da67cd5c6f536c6595b439bd9b" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_NetAddress_Family <a class="el" href="classpp_1_1_net_address.html#a271533da67cd5c6f536c6595b439bd9b">pp::NetAddress::GetFamily</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the address family. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The address family on success; <code>PP_NETADDRESS_FAMILY_UNSPECIFIED</code> on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a15547416a0b50b6ebd271ca421a91068"></a><!-- doxytag: member="pp::NetAddress::IsAvailable" ref="a15547416a0b50b6ebd271ca421a91068" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static bool <a class="el" href="classpp_1_1_net_address.html#a15547416a0b50b6ebd271ca421a91068">pp::NetAddress::IsAvailable</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Static function for determining whether the browser supports the <code>PPB_NetAddress</code> interface. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the interface is available, false otherwise. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab12bb266c9714d818aedc9cce7a209cf"></a><!-- doxytag: member="pp::NetAddress::operator=" ref="ab12bb266c9714d818aedc9cce7a209cf" args="(const NetAddress &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_net_address.html">NetAddress</a>& pp::NetAddress::operator= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_net_address.html">NetAddress</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The assignment operator for <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A reference to another <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A reference to this <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code> object. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="net__address_8h.html">net_address.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_net_address__inherit__graph.png b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_net_address__inherit__graph.png
new file mode 100644
index 0000000..96ea0c8
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_net_address__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_network_list-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_network_list-members.html
new file mode 100644
index 0000000..48b7cf4
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_network_list-members.html
@@ -0,0 +1,34 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_network_list.html">pp::NetworkList</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_network_list.html#a4dd51a7af2b0af6c6b962e975131c3e2">GetCount</a>() const </td><td><a class="el" href="classpp_1_1_network_list.html">pp::NetworkList</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_network_list.html#a5a9aff0b4b03205a35ba0298fb9d383f">GetDisplayName</a>(uint32_t index) const </td><td><a class="el" href="classpp_1_1_network_list.html">pp::NetworkList</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_network_list.html#ab2dee43ce3ac787852438210b80361d8">GetIpAddresses</a>(uint32_t index, std::vector< NetAddress > *addresses) const </td><td><a class="el" href="classpp_1_1_network_list.html">pp::NetworkList</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_network_list.html#aebbb32231a87568e7fbe29e50e16fc58">GetMTU</a>(uint32_t index) const </td><td><a class="el" href="classpp_1_1_network_list.html">pp::NetworkList</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_network_list.html#acb253aedb772fc42bdfbb5d05331d8b1">GetName</a>(uint32_t index) const </td><td><a class="el" href="classpp_1_1_network_list.html">pp::NetworkList</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_network_list.html#a9c4a05d5bc5d0d23aac52f59f1718e32">GetState</a>(uint32_t index) const </td><td><a class="el" href="classpp_1_1_network_list.html">pp::NetworkList</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_network_list.html#a61d4a2421294e176d749115cbf5fb91b">GetType</a>(uint32_t index) const </td><td><a class="el" href="classpp_1_1_network_list.html">pp::NetworkList</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_network_list.html#ab059a90bb9e2aced3f0e709853d0e61f">IsAvailable</a>()</td><td><a class="el" href="classpp_1_1_network_list.html">pp::NetworkList</a></td><td><code> [static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_network_list.html#a2f79e2f0c884db428a4e1df63b64e2c0">NetworkList</a>()</td><td><a class="el" href="classpp_1_1_network_list.html">pp::NetworkList</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_network_list.html#a3d91fdce92976477be4a131fdd5c21e1">NetworkList</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_network_list.html">pp::NetworkList</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_network_list.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_network_list.html
new file mode 100644
index 0000000..070e6e8a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_network_list.html
@@ -0,0 +1,226 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::NetworkList Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::NetworkList" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::NetworkList:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_network_list__inherit__graph.png" border="0" usemap="#pp_1_1_network_list_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_network_list_inherit__map" id="pp_1_1_network_list_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="13,5,117,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_network_list-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_list.html#a2f79e2f0c884db428a4e1df63b64e2c0">NetworkList</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_list.html#a3d91fdce92976477be4a131fdd5c21e1">NetworkList</a> (<a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a>, PP_Resource resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_list.html#a4dd51a7af2b0af6c6b962e975131c3e2">GetCount</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_list.html#acb253aedb772fc42bdfbb5d05331d8b1">GetName</a> (uint32_t index) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_NetworkList_Type </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_list.html#a61d4a2421294e176d749115cbf5fb91b">GetType</a> (uint32_t index) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_NetworkList_State </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_list.html#a9c4a05d5bc5d0d23aac52f59f1718e32">GetState</a> (uint32_t index) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_list.html#ab2dee43ce3ac787852438210b80361d8">GetIpAddresses</a> (uint32_t index, std::vector< <a class="el" href="classpp_1_1_net_address.html">NetAddress</a> > *addresses) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_list.html#a5a9aff0b4b03205a35ba0298fb9d383f">GetDisplayName</a> (uint32_t index) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_list.html#aebbb32231a87568e7fbe29e50e16fc58">GetMTU</a> (uint32_t index) const </td></tr>
+</table><h2>
+Static Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_list.html#ab059a90bb9e2aced3f0e709853d0e61f">IsAvailable</a> ()</td></tr>
+</table>
+<hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a2f79e2f0c884db428a4e1df63b64e2c0"></a><!-- doxytag: member="pp::NetworkList::NetworkList" ref="a2f79e2f0c884db428a4e1df63b64e2c0" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_network_list.html#a2f79e2f0c884db428a4e1df63b64e2c0">pp::NetworkList::NetworkList</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a3d91fdce92976477be4a131fdd5c21e1"></a><!-- doxytag: member="pp::NetworkList::NetworkList" ref="a3d91fdce92976477be4a131fdd5c21e1" args="(PassRef, PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_network_list.html#a2f79e2f0c884db428a4e1df63b64e2c0">pp::NetworkList::NetworkList</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a> </td>
+<td class="paramname">, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>resource</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a4dd51a7af2b0af6c6b962e975131c3e2"></a><!-- doxytag: member="pp::NetworkList::GetCount" ref="a4dd51a7af2b0af6c6b962e975131c3e2" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="classpp_1_1_network_list.html#a4dd51a7af2b0af6c6b962e975131c3e2">pp::NetworkList::GetCount</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the number of available network interfaces or 0 if the list has never been updated. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a5a9aff0b4b03205a35ba0298fb9d383f"></a><!-- doxytag: member="pp::NetworkList::GetDisplayName" ref="a5a9aff0b4b03205a35ba0298fb9d383f" args="(uint32_t index) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">std::string <a class="el" href="classpp_1_1_network_list.html#a5a9aff0b4b03205a35ba0298fb9d383f">pp::NetworkList::GetDisplayName</a> </td>
+<td>(</td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>index</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the display name for the network interface with the specified <code>index</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab2dee43ce3ac787852438210b80361d8"></a><!-- doxytag: member="pp::NetworkList::GetIpAddresses" ref="ab2dee43ce3ac787852438210b80361d8" args="(uint32_t index, std::vector< NetAddress > *addresses) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_network_list.html#ab2dee43ce3ac787852438210b80361d8">pp::NetworkList::GetIpAddresses</a> </td>
+<td>(</td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>index</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">std::vector< <a class="el" href="classpp_1_1_net_address.html">NetAddress</a> > * </td>
+<td class="paramname"><em>addresses</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the list of IP addresses for the network interface with the specified <code>index</code> and stores them in <code>addresses</code>. </p>
+</div>
+</div>
+<a class="anchor" id="aebbb32231a87568e7fbe29e50e16fc58"></a><!-- doxytag: member="pp::NetworkList::GetMTU" ref="aebbb32231a87568e7fbe29e50e16fc58" args="(uint32_t index) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="classpp_1_1_network_list.html#aebbb32231a87568e7fbe29e50e16fc58">pp::NetworkList::GetMTU</a> </td>
+<td>(</td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>index</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the MTU for the network interface with the specified <code>index</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="acb253aedb772fc42bdfbb5d05331d8b1"></a><!-- doxytag: member="pp::NetworkList::GetName" ref="acb253aedb772fc42bdfbb5d05331d8b1" args="(uint32_t index) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">std::string <a class="el" href="classpp_1_1_network_list.html#acb253aedb772fc42bdfbb5d05331d8b1">pp::NetworkList::GetName</a> </td>
+<td>(</td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>index</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the name for the network interface with the specified <code>index</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a9c4a05d5bc5d0d23aac52f59f1718e32"></a><!-- doxytag: member="pp::NetworkList::GetState" ref="a9c4a05d5bc5d0d23aac52f59f1718e32" args="(uint32_t index) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_NetworkList_State <a class="el" href="classpp_1_1_network_list.html#a9c4a05d5bc5d0d23aac52f59f1718e32">pp::NetworkList::GetState</a> </td>
+<td>(</td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>index</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the current state of the network interface with the specified <code>index</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a61d4a2421294e176d749115cbf5fb91b"></a><!-- doxytag: member="pp::NetworkList::GetType" ref="a61d4a2421294e176d749115cbf5fb91b" args="(uint32_t index) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_NetworkList_Type <a class="el" href="classpp_1_1_network_list.html#a61d4a2421294e176d749115cbf5fb91b">pp::NetworkList::GetType</a> </td>
+<td>(</td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>index</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the type of the network interface with the specified <code>index</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab059a90bb9e2aced3f0e709853d0e61f"></a><!-- doxytag: member="pp::NetworkList::IsAvailable" ref="ab059a90bb9e2aced3f0e709853d0e61f" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static bool <a class="el" href="classpp_1_1_network_list.html#ab059a90bb9e2aced3f0e709853d0e61f">pp::NetworkList::IsAvailable</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns true if the required interface is available. </p>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="network__list_8h.html">network_list.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_network_list__inherit__graph.png b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_network_list__inherit__graph.png
new file mode 100644
index 0000000..8f698b7
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_network_list__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_network_monitor-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_network_monitor-members.html
new file mode 100644
index 0000000..8606ba7
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_network_monitor-members.html
@@ -0,0 +1,27 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_network_monitor.html">pp::NetworkMonitor</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_network_monitor.html#a951ffd9408df8ad2d0372d7d20a82c18">IsAvailable</a>()</td><td><a class="el" href="classpp_1_1_network_monitor.html">pp::NetworkMonitor</a></td><td><code> [static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_network_monitor.html#adb2a70430cea008097334e7986cd2cad">NetworkMonitor</a>(const InstanceHandle &instance)</td><td><a class="el" href="classpp_1_1_network_monitor.html">pp::NetworkMonitor</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_network_monitor.html#a1eb2853161f04d36ec6f7260518b7408">UpdateNetworkList</a>(const CompletionCallbackWithOutput< NetworkList > &callback)</td><td><a class="el" href="classpp_1_1_network_monitor.html">pp::NetworkMonitor</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_network_monitor.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_network_monitor.html
new file mode 100644
index 0000000..47ea151
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_network_monitor.html
@@ -0,0 +1,81 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::NetworkMonitor Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::NetworkMonitor" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::NetworkMonitor:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_network_monitor__inherit__graph.png" border="0" usemap="#pp_1_1_network_monitor_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_network_monitor_inherit__map" id="pp_1_1_network_monitor_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="27,5,131,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_network_monitor-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_monitor.html#adb2a70430cea008097334e7986cd2cad">NetworkMonitor</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_monitor.html#a1eb2853161f04d36ec6f7260518b7408">UpdateNetworkList</a> (const <a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a>< <a class="el" href="classpp_1_1_network_list.html">NetworkList</a> > &callback)</td></tr>
+</table><h2>
+Static Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_monitor.html#a951ffd9408df8ad2d0372d7d20a82c18">IsAvailable</a> ()</td></tr>
+</table>
+<hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="adb2a70430cea008097334e7986cd2cad"></a><!-- doxytag: member="pp::NetworkMonitor::NetworkMonitor" ref="adb2a70430cea008097334e7986cd2cad" args="(const InstanceHandle &instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_network_monitor.html#adb2a70430cea008097334e7986cd2cad">pp::NetworkMonitor::NetworkMonitor</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a951ffd9408df8ad2d0372d7d20a82c18"></a><!-- doxytag: member="pp::NetworkMonitor::IsAvailable" ref="a951ffd9408df8ad2d0372d7d20a82c18" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static bool <a class="el" href="classpp_1_1_network_monitor.html#a951ffd9408df8ad2d0372d7d20a82c18">pp::NetworkMonitor::IsAvailable</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a1eb2853161f04d36ec6f7260518b7408"></a><!-- doxytag: member="pp::NetworkMonitor::UpdateNetworkList" ref="a1eb2853161f04d36ec6f7260518b7408" args="(const CompletionCallbackWithOutput< NetworkList > &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_network_monitor.html#a1eb2853161f04d36ec6f7260518b7408">pp::NetworkMonitor::UpdateNetworkList</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a>< <a class="el" href="classpp_1_1_network_list.html">NetworkList</a> > & </td>
+<td class="paramname"><em>callback</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="network__monitor_8h.html">network_monitor.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_network_monitor__inherit__graph.png b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_network_monitor__inherit__graph.png
new file mode 100644
index 0000000..dc7826c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_network_monitor__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_network_proxy-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_network_proxy-members.html
new file mode 100644
index 0000000..3e0d713
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_network_proxy-members.html
@@ -0,0 +1,15 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_network_proxy.html">pp::NetworkProxy</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_network_proxy.html#a03ae12454a920710272c15431039b6fd">GetProxyForURL</a>(const InstanceHandle &instance, const Var &url, const pp::CompletionCallbackWithOutput< Var > &callback)</td><td><a class="el" href="classpp_1_1_network_proxy.html">pp::NetworkProxy</a></td><td><code> [static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_network_proxy.html#a864362732834af39e12f699ff5e1888d">IsAvailable</a>()</td><td><a class="el" href="classpp_1_1_network_proxy.html">pp::NetworkProxy</a></td><td><code> [static]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_network_proxy.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_network_proxy.html
new file mode 100644
index 0000000..26cd65b
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_network_proxy.html
@@ -0,0 +1,86 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::NetworkProxy Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::NetworkProxy" -->
+<p><a href="classpp_1_1_network_proxy-members.html">List of all members.</a></p>
+<h2>
+Static Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_proxy.html#a864362732834af39e12f699ff5e1888d">IsAvailable</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_proxy.html#a03ae12454a920710272c15431039b6fd">GetProxyForURL</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, const <a class="el" href="classpp_1_1_var.html">Var</a> &url, const <a class="el" href="classpp_1_1_completion_callback_with_output.html">pp::CompletionCallbackWithOutput</a>< <a class="el" href="classpp_1_1_var.html">Var</a> > &callback)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This class provides a way to determine the appropriate proxy settings for for a given URL. </p>
+<p>Permissions: Apps permission <code>socket</code> with subrule <code>resolve-proxy</code> is required for using this API. For more details about network communication permissions, please see: <a href="http://developer.chrome.com/apps/app_network.html">http://developer.chrome.com/apps/app_network.html</a> </p>
+</div><hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a03ae12454a920710272c15431039b6fd"></a><!-- doxytag: member="pp::NetworkProxy::GetProxyForURL" ref="a03ae12454a920710272c15431039b6fd" args="(const InstanceHandle &instance, const Var &url, const pp::CompletionCallbackWithOutput< Var > &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static int32_t <a class="el" href="classpp_1_1_network_proxy.html#a03ae12454a920710272c15431039b6fd">pp::NetworkProxy::GetProxyForURL</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>url</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback_with_output.html">pp::CompletionCallbackWithOutput</a>< <a class="el" href="classpp_1_1_var.html">Var</a> > & </td>
+<td class="paramname"><em>callback</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Retrieves the proxy that will be used for the given URL. </p>
+<p>The result will be a string in PAC format. For more details about PAC format, please see <a href="http://en.wikipedia.org/wiki/Proxy_auto-config">http://en.wikipedia.org/wiki/Proxy_auto-config</a></p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>An <code><a class="el" href="classpp_1_1_instance_handle.html" title="An instance handle identifies an instance in a constructor for a resource.">InstanceHandle</a></code> identifying one instance of a module.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">url</td><td>A string <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing a URL.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a></code> to be called upon completion. It will be passed a string <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing the appropriate PAC string for <code>url</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a864362732834af39e12f699ff5e1888d"></a><!-- doxytag: member="pp::NetworkProxy::IsAvailable" ref="a864362732834af39e12f699ff5e1888d" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static bool <a class="el" href="classpp_1_1_network_proxy.html#a864362732834af39e12f699ff5e1888d">pp::NetworkProxy::IsAvailable</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns true if the browser supports this API, false otherwise. </p>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="network__proxy_8h.html">network_proxy.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_point-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_point-members.html
new file mode 100644
index 0000000..d151438
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_point-members.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_point.html">pp::Point</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_point.html#a2d5803331cba5ef9f6fea1dca3fb0773">operator PP_Point</a>() const </td><td><a class="el" href="classpp_1_1_point.html">pp::Point</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_point.html#a7f2e778a029a9c6303f9606c165bcd73">operator+</a>(const Point &other) const </td><td><a class="el" href="classpp_1_1_point.html">pp::Point</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_point.html#a560a8ea46bd77f995f201437e78c26a9">operator+=</a>(const Point &other)</td><td><a class="el" href="classpp_1_1_point.html">pp::Point</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_point.html#a098ba0a739056bec9da6706e7be28f2b">operator-</a>(const Point &other) const </td><td><a class="el" href="classpp_1_1_point.html">pp::Point</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_point.html#a94cb2c93b7ab92c441bb4fc49a4223a3">operator-=</a>(const Point &other)</td><td><a class="el" href="classpp_1_1_point.html">pp::Point</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_point.html#a0175483c538fdf65c7bd056f0dc25b90">Point</a>()</td><td><a class="el" href="classpp_1_1_point.html">pp::Point</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_point.html#a18c7d4691920879ed45bde20b79c8d76">Point</a>(int32_t in_x, int32_t in_y)</td><td><a class="el" href="classpp_1_1_point.html">pp::Point</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_point.html#a3d572a358d2f3ce860bc7d0406e1c1da">Point</a>(const PP_Point &point)</td><td><a class="el" href="classpp_1_1_point.html">pp::Point</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_point.html#a1e25e160421a213924a4956a1d8da8b8">pp_point</a>() const </td><td><a class="el" href="classpp_1_1_point.html">pp::Point</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_point.html#afff81b0164d11767c03a49e8e6ee3509">pp_point</a>()</td><td><a class="el" href="classpp_1_1_point.html">pp::Point</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_point.html#a1282f3331d3565beafd7e939d6ffcac7">set_x</a>(int32_t in_x)</td><td><a class="el" href="classpp_1_1_point.html">pp::Point</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_point.html#af3e1a26a8dd635d8c77c5f86d81deb3c">set_y</a>(int32_t in_y)</td><td><a class="el" href="classpp_1_1_point.html">pp::Point</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_point.html#a197414e35cbd23b762fb04cb39bb2296">swap</a>(Point &other)</td><td><a class="el" href="classpp_1_1_point.html">pp::Point</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_point.html#a802963acd6223e5520c4e93a0ae7c1ab">x</a>() const </td><td><a class="el" href="classpp_1_1_point.html">pp::Point</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_point.html#a870a9bfcf7a54c18f4e5f382f69fc60d">y</a>() const </td><td><a class="el" href="classpp_1_1_point.html">pp::Point</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_point.html#abd093db1c01b63642cf8a8b73620626e">~Point</a>()</td><td><a class="el" href="classpp_1_1_point.html">pp::Point</a></td><td><code> [inline]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_point.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_point.html
new file mode 100644
index 0000000..6e88771
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_point.html
@@ -0,0 +1,384 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::Point Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::Point" -->
+<p><a href="classpp_1_1_point-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_point.html#a0175483c538fdf65c7bd056f0dc25b90">Point</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_point.html#a18c7d4691920879ed45bde20b79c8d76">Point</a> (int32_t in_x, int32_t in_y)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_point.html#a3d572a358d2f3ce860bc7d0406e1c1da">Point</a> (const PP_Point &point)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_point.html#abd093db1c01b63642cf8a8b73620626e">~Point</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_point.html#a2d5803331cba5ef9f6fea1dca3fb0773">operator PP_Point</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const PP_Point & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_point.html#a1e25e160421a213924a4956a1d8da8b8">pp_point</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_Point & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_point.html#afff81b0164d11767c03a49e8e6ee3509">pp_point</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_point.html#a802963acd6223e5520c4e93a0ae7c1ab">x</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_point.html#a1282f3331d3565beafd7e939d6ffcac7">set_x</a> (int32_t in_x)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_point.html#a870a9bfcf7a54c18f4e5f382f69fc60d">y</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_point.html#af3e1a26a8dd635d8c77c5f86d81deb3c">set_y</a> (int32_t in_y)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_point.html">Point</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_point.html#a7f2e778a029a9c6303f9606c165bcd73">operator+</a> (const <a class="el" href="classpp_1_1_point.html">Point</a> &other) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_point.html">Point</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_point.html#a098ba0a739056bec9da6706e7be28f2b">operator-</a> (const <a class="el" href="classpp_1_1_point.html">Point</a> &other) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_point.html">Point</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_point.html#a560a8ea46bd77f995f201437e78c26a9">operator+=</a> (const <a class="el" href="classpp_1_1_point.html">Point</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_point.html">Point</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_point.html#a94cb2c93b7ab92c441bb4fc49a4223a3">operator-=</a> (const <a class="el" href="classpp_1_1_point.html">Point</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_point.html#a197414e35cbd23b762fb04cb39bb2296">swap</a> (<a class="el" href="classpp_1_1_point.html">Point</a> &other)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>A 2 dimensional point with 0,0 being the upper-left starting coordinate. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a0175483c538fdf65c7bd056f0dc25b90"></a><!-- doxytag: member="pp::Point::Point" ref="a0175483c538fdf65c7bd056f0dc25b90" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_point.html#a0175483c538fdf65c7bd056f0dc25b90">pp::Point::Point</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The default constructor for a point at 0,0. </p>
+</div>
+</div>
+<a class="anchor" id="a18c7d4691920879ed45bde20b79c8d76"></a><!-- doxytag: member="pp::Point::Point" ref="a18c7d4691920879ed45bde20b79c8d76" args="(int32_t in_x, int32_t in_y)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_point.html#a0175483c538fdf65c7bd056f0dc25b90">pp::Point::Point</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>in_x</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>in_y</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor accepting two int32_t values for x and y and converting them to a <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">in_x</td><td>An int32_t value representing a horizontal coordinate of a point, starting with 0 as the left-most coordinate. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">in_y</td><td>An int32_t value representing a vertical coordinate of a point, starting with 0 as the top-most coordinate. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a3d572a358d2f3ce860bc7d0406e1c1da"></a><!-- doxytag: member="pp::Point::Point" ref="a3d572a358d2f3ce860bc7d0406e1c1da" args="(const PP_Point &point)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_point.html#a0175483c538fdf65c7bd056f0dc25b90">pp::Point::Point</a> </td>
+<td>(</td>
+<td class="paramtype">const PP_Point & </td>
+<td class="paramname"><em>point</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor accepting a pointer to a PP_Point and converting the PP_Point to a <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a>. </p>
+<p>This is an implicit conversion constructor.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">point</td><td>A pointer to a PP_Point. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="abd093db1c01b63642cf8a8b73620626e"></a><!-- doxytag: member="pp::Point::~Point" ref="abd093db1c01b63642cf8a8b73620626e" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_point.html#abd093db1c01b63642cf8a8b73620626e">pp::Point::~Point</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Destructor. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a2d5803331cba5ef9f6fea1dca3fb0773"></a><!-- doxytag: member="pp::Point::operator PP_Point" ref="a2d5803331cba5ef9f6fea1dca3fb0773" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">pp::Point::operator PP_Point </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A function allowing implicit conversion of a <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> to a PP_Point. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a7f2e778a029a9c6303f9606c165bcd73"></a><!-- doxytag: member="pp::Point::operator+" ref="a7f2e778a029a9c6303f9606c165bcd73" args="(const Point &other) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_point.html">Point</a> pp::Point::operator+ </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">Point</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Adds two Points (this and other) together by adding their x values and y values. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A new <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> containing the result. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a560a8ea46bd77f995f201437e78c26a9"></a><!-- doxytag: member="pp::Point::operator+=" ref="a560a8ea46bd77f995f201437e78c26a9" args="(const Point &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_point.html">Point</a>& pp::Point::operator+= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">Point</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Adds two Points (this and other) together by adding their x and y values. </p>
+<p>Returns this point as the result.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>This <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> containing the result. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a098ba0a739056bec9da6706e7be28f2b"></a><!-- doxytag: member="pp::Point::operator-" ref="a098ba0a739056bec9da6706e7be28f2b" args="(const Point &other) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_point.html">Point</a> pp::Point::operator- </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">Point</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Subtracts one <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> from another <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> by subtracting their x values and y values. </p>
+<p>Returns a new point with the result.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A new <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> containing the result. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a94cb2c93b7ab92c441bb4fc49a4223a3"></a><!-- doxytag: member="pp::Point::operator-=" ref="a94cb2c93b7ab92c441bb4fc49a4223a3" args="(const Point &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_point.html">Point</a>& pp::Point::operator-= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">Point</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Subtracts one <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> from another <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> by subtracting their x values and y values. </p>
+<p>Returns this point as the result.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>This <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> containing the result. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a1e25e160421a213924a4956a1d8da8b8"></a><!-- doxytag: member="pp::Point::pp_point" ref="a1e25e160421a213924a4956a1d8da8b8" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">const PP_Point& <a class="el" href="classpp_1_1_point.html#a1e25e160421a213924a4956a1d8da8b8">pp::Point::pp_point</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the internal PP_Point struct. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A const reference to the internal PP_Point struct. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="afff81b0164d11767c03a49e8e6ee3509"></a><!-- doxytag: member="pp::Point::pp_point" ref="afff81b0164d11767c03a49e8e6ee3509" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_Point& <a class="el" href="classpp_1_1_point.html#a1e25e160421a213924a4956a1d8da8b8">pp::Point::pp_point</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the internal PP_Point struct. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A mutable reference to the PP_Point struct. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a1282f3331d3565beafd7e939d6ffcac7"></a><!-- doxytag: member="pp::Point::set_x" ref="a1282f3331d3565beafd7e939d6ffcac7" args="(int32_t in_x)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_point.html#a1282f3331d3565beafd7e939d6ffcac7">pp::Point::set_x</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>in_x</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Setter function for setting the value of x. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">in_x</td><td>A new x value. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="af3e1a26a8dd635d8c77c5f86d81deb3c"></a><!-- doxytag: member="pp::Point::set_y" ref="af3e1a26a8dd635d8c77c5f86d81deb3c" args="(int32_t in_y)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_point.html#af3e1a26a8dd635d8c77c5f86d81deb3c">pp::Point::set_y</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>in_y</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Setter function for setting the value of y. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">in_y</td><td>A new y value. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a197414e35cbd23b762fb04cb39bb2296"></a><!-- doxytag: member="pp::Point::swap" ref="a197414e35cbd23b762fb04cb39bb2296" args="(Point &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_point.html#a197414e35cbd23b762fb04cb39bb2296">pp::Point::swap</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="classpp_1_1_point.html">Point</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Swaps the coordinates of two Points. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a802963acd6223e5520c4e93a0ae7c1ab"></a><!-- doxytag: member="pp::Point::x" ref="a802963acd6223e5520c4e93a0ae7c1ab" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_point.html#a802963acd6223e5520c4e93a0ae7c1ab">pp::Point::x</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the value of x. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The value of x for this <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a870a9bfcf7a54c18f4e5f382f69fc60d"></a><!-- doxytag: member="pp::Point::y" ref="a870a9bfcf7a54c18f4e5f382f69fc60d" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_point.html#a870a9bfcf7a54c18f4e5f382f69fc60d">pp::Point::y</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the value of y. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The value of y for this <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="point_8h.html">point.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_rect-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_rect-members.html
new file mode 100644
index 0000000..07b5f9e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_rect-members.html
@@ -0,0 +1,54 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_rect.html">pp::Rect</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#aa6d25f1179956e0ee13467e10d169bbc">AdjustToFit</a>(const Rect &rect) const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a2554e9d4a85d5741dd3cc4e121a15643">bottom</a>() const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a86ceef39ee91844a877554a2e72bf49f">CenterPoint</a>() const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#aae5394eb09b76d2ef7c9251b1e738a3f">Contains</a>(int32_t point_x, int32_t point_y) const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a9386508708c88be8820bd19eedbd1862">Contains</a>(const Point &point) const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a419d8b63aafcb6626538969abcc7573a">Contains</a>(const Rect &rect) const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#ab7e196b0fba7f34246bf8106f562ff34">height</a>() const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a83e4d334a41b6d612f1f18ea958767f7">Inset</a>(int32_t horizontal, int32_t vertical)</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a17d964545980ac3ae785ef4484c5315a">Inset</a>(int32_t left, int32_t top, int32_t right, int32_t bottom)</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#af903bf60faa68544372f5a58b00144aa">Intersect</a>(const Rect &rect) const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a32a682a28a1de0b7fa5793a3660514b0">Intersects</a>(const Rect &rect) const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a8092af1866d23f91f517058b4f612eb5">IsEmpty</a>() const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a3c39cdfe70b05c4cb172848daf4cd093">Offset</a>(int32_t horizontal, int32_t vertical)</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a8fdc680fc8d23ca24f5a10ec93db3414">Offset</a>(const Point &point)</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a02e46c92ffedee393caff7ae0f7aca2f">operator PP_Rect</a>() const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#ad4d6b9c43472620d8363cbe091f8c5b3">point</a>() const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#adf531599805a31e63098782c3108c0e0">pp_rect</a>() const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#af278a4ae7b2a1af26a7cc8d4f0b629e6">pp_rect</a>()</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a839431b4022e2ebdba8472444035401a">Rect</a>()</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a1625c1989e873e231cac08fe0877df4a">Rect</a>(const PP_Rect &rect)</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a46617cae1905a1793ecc9ea0d2dd64e6">Rect</a>(int32_t w, int32_t h)</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a0d444f7609de3ba609a80c232aa7c857">Rect</a>(int32_t x, int32_t y, int32_t w, int32_t h)</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#ac2a745a2ef59463bf9f17814035f27dd">Rect</a>(const Size &s)</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline, explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a8c4b37a52ccf96670b6ca1f732af07fe">Rect</a>(const Point &origin, const Size &size)</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a83ecc36b001f2c24d99e3088d1cc45a2">right</a>() const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a7f816974533715510bfbe1a77bf09e98">set_height</a>(int32_t h)</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#aa099aad16ade23466364968d1cfbb68e">set_point</a>(const Point &origin)</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a484a54bc72ce43eae283dd04d5258a42">set_size</a>(const Size &s)</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#ad8b7a557c0a3b7b09a71cc7da3b8cac3">set_width</a>(int32_t w)</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#ac5e698050a5de8bcb57847ac876279cc">set_x</a>(int32_t in_x)</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a99d75f24b47d11e05aadde0bcf11b128">set_y</a>(int32_t in_y)</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#aff9442d9ee78ad390129625379b2103f">SetRect</a>(int32_t x, int32_t y, int32_t w, int32_t h)</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#ad19e517179cc55db2a16d317d2e8904a">SetRect</a>(const PP_Rect &rect)</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a2471b9960ecbbb006330cd1bb6d51701">SharesEdgeWith</a>(const Rect &rect) const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#ae545e94421d1384fb292b270222b812e">size</a>() const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#acb5c5d3c44facb488723c609f95b3d72">Subtract</a>(const Rect &rect) const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#ab7f3bfc56fddca606125f806f8752880">Union</a>(const Rect &rect) const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a102299d70d5cd970298c6de5b8ec260d">width</a>() const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#acf8feb9af84a42d30917e2c590eafb33">x</a>() const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#af84b03d10a656af3bbdabae6e0f37972">y</a>() const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#af8bb88a4f39237b78ff8ebf5f3a429e2">~Rect</a>()</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_rect.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_rect.html
new file mode 100644
index 0000000..79e425f
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_rect.html
@@ -0,0 +1,1066 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::Rect Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::Rect" -->
+<p><a href="classpp_1_1_rect-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a839431b4022e2ebdba8472444035401a">Rect</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a1625c1989e873e231cac08fe0877df4a">Rect</a> (const PP_Rect &rect)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a46617cae1905a1793ecc9ea0d2dd64e6">Rect</a> (int32_t w, int32_t h)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a0d444f7609de3ba609a80c232aa7c857">Rect</a> (int32_t <a class="el" href="classpp_1_1_rect.html#acf8feb9af84a42d30917e2c590eafb33">x</a>, int32_t <a class="el" href="classpp_1_1_rect.html#af84b03d10a656af3bbdabae6e0f37972">y</a>, int32_t w, int32_t h)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#ac2a745a2ef59463bf9f17814035f27dd">Rect</a> (const <a class="el" href="classpp_1_1_size.html">Size</a> &s)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a8c4b37a52ccf96670b6ca1f732af07fe">Rect</a> (const <a class="el" href="classpp_1_1_point.html">Point</a> &origin, const <a class="el" href="classpp_1_1_size.html">Size</a> &<a class="el" href="classpp_1_1_rect.html#ae545e94421d1384fb292b270222b812e">size</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#af8bb88a4f39237b78ff8ebf5f3a429e2">~Rect</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a02e46c92ffedee393caff7ae0f7aca2f">operator PP_Rect</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const PP_Rect & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#adf531599805a31e63098782c3108c0e0">pp_rect</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_Rect & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#af278a4ae7b2a1af26a7cc8d4f0b629e6">pp_rect</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#acf8feb9af84a42d30917e2c590eafb33">x</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#ac5e698050a5de8bcb57847ac876279cc">set_x</a> (int32_t in_x)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#af84b03d10a656af3bbdabae6e0f37972">y</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a99d75f24b47d11e05aadde0bcf11b128">set_y</a> (int32_t in_y)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a102299d70d5cd970298c6de5b8ec260d">width</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#ad8b7a557c0a3b7b09a71cc7da3b8cac3">set_width</a> (int32_t w)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#ab7e196b0fba7f34246bf8106f562ff34">height</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a7f816974533715510bfbe1a77bf09e98">set_height</a> (int32_t h)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_point.html">Point</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#ad4d6b9c43472620d8363cbe091f8c5b3">point</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#aa099aad16ade23466364968d1cfbb68e">set_point</a> (const <a class="el" href="classpp_1_1_point.html">Point</a> &origin)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_size.html">Size</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#ae545e94421d1384fb292b270222b812e">size</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a484a54bc72ce43eae283dd04d5258a42">set_size</a> (const <a class="el" href="classpp_1_1_size.html">Size</a> &s)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a83ecc36b001f2c24d99e3088d1cc45a2">right</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a2554e9d4a85d5741dd3cc4e121a15643">bottom</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#aff9442d9ee78ad390129625379b2103f">SetRect</a> (int32_t <a class="el" href="classpp_1_1_rect.html#acf8feb9af84a42d30917e2c590eafb33">x</a>, int32_t <a class="el" href="classpp_1_1_rect.html#af84b03d10a656af3bbdabae6e0f37972">y</a>, int32_t w, int32_t h)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#ad19e517179cc55db2a16d317d2e8904a">SetRect</a> (const PP_Rect &rect)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a83e4d334a41b6d612f1f18ea958767f7">Inset</a> (int32_t horizontal, int32_t vertical)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a17d964545980ac3ae785ef4484c5315a">Inset</a> (int32_t left, int32_t top, int32_t <a class="el" href="classpp_1_1_rect.html#a83ecc36b001f2c24d99e3088d1cc45a2">right</a>, int32_t <a class="el" href="classpp_1_1_rect.html#a2554e9d4a85d5741dd3cc4e121a15643">bottom</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a3c39cdfe70b05c4cb172848daf4cd093">Offset</a> (int32_t horizontal, int32_t vertical)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a8fdc680fc8d23ca24f5a10ec93db3414">Offset</a> (const <a class="el" href="classpp_1_1_point.html">Point</a> &<a class="el" href="classpp_1_1_rect.html#ad4d6b9c43472620d8363cbe091f8c5b3">point</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a8092af1866d23f91f517058b4f612eb5">IsEmpty</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#aae5394eb09b76d2ef7c9251b1e738a3f">Contains</a> (int32_t point_x, int32_t point_y) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a9386508708c88be8820bd19eedbd1862">Contains</a> (const <a class="el" href="classpp_1_1_point.html">Point</a> &<a class="el" href="classpp_1_1_rect.html#ad4d6b9c43472620d8363cbe091f8c5b3">point</a>) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a419d8b63aafcb6626538969abcc7573a">Contains</a> (const <a class="el" href="classpp_1_1_rect.html">Rect</a> &rect) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a32a682a28a1de0b7fa5793a3660514b0">Intersects</a> (const <a class="el" href="classpp_1_1_rect.html">Rect</a> &rect) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_rect.html">Rect</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#af903bf60faa68544372f5a58b00144aa">Intersect</a> (const <a class="el" href="classpp_1_1_rect.html">Rect</a> &rect) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_rect.html">Rect</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#ab7f3bfc56fddca606125f806f8752880">Union</a> (const <a class="el" href="classpp_1_1_rect.html">Rect</a> &rect) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_rect.html">Rect</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#acb5c5d3c44facb488723c609f95b3d72">Subtract</a> (const <a class="el" href="classpp_1_1_rect.html">Rect</a> &rect) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_rect.html">Rect</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#aa6d25f1179956e0ee13467e10d169bbc">AdjustToFit</a> (const <a class="el" href="classpp_1_1_rect.html">Rect</a> &rect) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_point.html">Point</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a86ceef39ee91844a877554a2e72bf49f">CenterPoint</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a2471b9960ecbbb006330cd1bb6d51701">SharesEdgeWith</a> (const <a class="el" href="classpp_1_1_rect.html">Rect</a> &rect) const </td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>A 2 dimensional rectangle. </p>
+<p>A rectangle is represented by x and y (which identifies the upper-left corner of the rectangle), width, and height. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a839431b4022e2ebdba8472444035401a"></a><!-- doxytag: member="pp::Rect::Rect" ref="a839431b4022e2ebdba8472444035401a" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_rect.html#a839431b4022e2ebdba8472444035401a">pp::Rect::Rect</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The default constructor. </p>
+<p>Creates a <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code> in the upper-left at 0,0 with height and width of 0. </p>
+</div>
+</div>
+<a class="anchor" id="a1625c1989e873e231cac08fe0877df4a"></a><!-- doxytag: member="pp::Rect::Rect" ref="a1625c1989e873e231cac08fe0877df4a" args="(const PP_Rect &rect)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_rect.html#a839431b4022e2ebdba8472444035401a">pp::Rect::Rect</a> </td>
+<td>(</td>
+<td class="paramtype">const PP_Rect & </td>
+<td class="paramname"><em>rect</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor accepting a reference to a <code>PP_Rect and</code> converting the <code>PP_Rect</code> to a <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code>. </p>
+<p>This is an implicit conversion constructor.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">rect</td><td>A <code>PP_Rect</code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a46617cae1905a1793ecc9ea0d2dd64e6"></a><!-- doxytag: member="pp::Rect::Rect" ref="a46617cae1905a1793ecc9ea0d2dd64e6" args="(int32_t w, int32_t h)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_rect.html#a839431b4022e2ebdba8472444035401a">pp::Rect::Rect</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>w</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>h</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor accepting two int32_t values for width and height and converting them to a <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code> in the upper-left starting coordinate of 0,0. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">w</td><td>An int32_t value representing a width. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>An int32_t value representing a height. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a0d444f7609de3ba609a80c232aa7c857"></a><!-- doxytag: member="pp::Rect::Rect" ref="a0d444f7609de3ba609a80c232aa7c857" args="(int32_t x, int32_t y, int32_t w, int32_t h)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_rect.html#a839431b4022e2ebdba8472444035401a">pp::Rect::Rect</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>x</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>y</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>w</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>h</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor accepting four int32_t values for width, height, x, and y. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>An int32_t value representing a horizontal coordinate of a point, starting with 0 as the left-most coordinate. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>An int32_t value representing a vertical coordinate of a point, starting with 0 as the top-most coordinate. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">w</td><td>An int32_t value representing a width. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>An int32_t value representing a height. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ac2a745a2ef59463bf9f17814035f27dd"></a><!-- doxytag: member="pp::Rect::Rect" ref="ac2a745a2ef59463bf9f17814035f27dd" args="(const Size &s)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_rect.html#a839431b4022e2ebdba8472444035401a">pp::Rect::Rect</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_size.html">Size</a> & </td>
+<td class="paramname"><em>s</em></td><td>)</td>
+<td><code> [inline, explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor accepting a pointer to a <a class="el" href="classpp_1_1_size.html" title="A size of an object based on width and height.">Size</a> and converting the <code><a class="el" href="classpp_1_1_size.html" title="A size of an object based on width and height.">Size</a></code> to a <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code> in the upper-left starting coordinate of 0,0. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>A pointer to a <code><a class="el" href="classpp_1_1_size.html" title="A size of an object based on width and height.">Size</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a8c4b37a52ccf96670b6ca1f732af07fe"></a><!-- doxytag: member="pp::Rect::Rect" ref="a8c4b37a52ccf96670b6ca1f732af07fe" args="(const Point &origin, const Size &size)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_rect.html#a839431b4022e2ebdba8472444035401a">pp::Rect::Rect</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">Point</a> & </td>
+<td class="paramname"><em>origin</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_size.html">Size</a> & </td>
+<td class="paramname"><em>size</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor accepting a pointer to a <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code> representing the origin of the rectangle and a pointer to a <code><a class="el" href="classpp_1_1_size.html" title="A size of an object based on width and height.">Size</a></code> representing the height and width. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">origin</td><td>A pointer to a <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code> representing the upper-left starting coordinate. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>A pointer to a <code><a class="el" href="classpp_1_1_size.html" title="A size of an object based on width and height.">Size</a></code> representing the height and width. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="af8bb88a4f39237b78ff8ebf5f3a429e2"></a><!-- doxytag: member="pp::Rect::~Rect" ref="af8bb88a4f39237b78ff8ebf5f3a429e2" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_rect.html#af8bb88a4f39237b78ff8ebf5f3a429e2">pp::Rect::~Rect</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Destructor. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="aa6d25f1179956e0ee13467e10d169bbc"></a><!-- doxytag: member="pp::Rect::AdjustToFit" ref="aa6d25f1179956e0ee13467e10d169bbc" args="(const Rect &rect) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_rect.html">Rect</a> <a class="el" href="classpp_1_1_rect.html#aa6d25f1179956e0ee13467e10d169bbc">pp::Rect::AdjustToFit</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">Rect</a> & </td>
+<td class="paramname"><em>rect</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_rect.html#aa6d25f1179956e0ee13467e10d169bbc" title="AdjustToFit() fits as much of the receiving rectangle within the supplied rectangle as possible...">AdjustToFit()</a> fits as much of the receiving rectangle within the supplied rectangle as possible, returning the result. </p>
+<p>For example, if the receiver had a x-location of 2 and a width of 4, and the supplied rectangle had an x-location of 0 with a width of 5, the returned rectangle would have an x-location of 1 with a width of 4.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">rect</td><td>A pointer to a <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code> representing the difference between this rectangle and the receiving rectangle. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2554e9d4a85d5741dd3cc4e121a15643"></a><!-- doxytag: member="pp::Rect::bottom" ref="a2554e9d4a85d5741dd3cc4e121a15643" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_rect.html#a2554e9d4a85d5741dd3cc4e121a15643">pp::Rect::bottom</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function to get the upper-bound for the y-coordinates of the rectangle. </p>
+<p>Note that this coordinate value is one past the highest xy value of pixels in the rectangle. This loop will access all the pixels in a horizontal line in the rectangle: <code>for (int32_t y = rect.y(); y < rect.bottom(); ++y) {}</code></p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The value of y + height for this point. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a86ceef39ee91844a877554a2e72bf49f"></a><!-- doxytag: member="pp::Rect::CenterPoint" ref="a86ceef39ee91844a877554a2e72bf49f" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_point.html">Point</a> <a class="el" href="classpp_1_1_rect.html#a86ceef39ee91844a877554a2e72bf49f">pp::Rect::CenterPoint</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_rect.html#a86ceef39ee91844a877554a2e72bf49f" title="CenterPoint() determines the center of this rectangle.">CenterPoint()</a> determines the center of this rectangle. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code> representing the center of this rectangle. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aae5394eb09b76d2ef7c9251b1e738a3f"></a><!-- doxytag: member="pp::Rect::Contains" ref="aae5394eb09b76d2ef7c9251b1e738a3f" args="(int32_t point_x, int32_t point_y) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_rect.html#aae5394eb09b76d2ef7c9251b1e738a3f">pp::Rect::Contains</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>point_x</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>point_y</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_rect.html#aae5394eb09b76d2ef7c9251b1e738a3f" title="Contains() determines if the point identified by point_x and point_y falls inside this rectangle...">Contains()</a> determines if the point identified by point_x and point_y falls inside this rectangle. </p>
+<p>The point (x, y) is inside the rectangle, but the point (x + width, y + height) is not.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">point_x</td><td>An int32_t value representing a x value. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">point_y</td><td>An int32_t value representing a y value.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the point_x and point_y fall inside the rectangle. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a9386508708c88be8820bd19eedbd1862"></a><!-- doxytag: member="pp::Rect::Contains" ref="a9386508708c88be8820bd19eedbd1862" args="(const Point &point) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_rect.html#aae5394eb09b76d2ef7c9251b1e738a3f">pp::Rect::Contains</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">Point</a> & </td>
+<td class="paramname"><em>point</em></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_rect.html#aae5394eb09b76d2ef7c9251b1e738a3f" title="Contains() determines if the point identified by point_x and point_y falls inside this rectangle...">Contains()</a> determines if the specified point is contained by this rectangle. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">point</td><td>A pointer to a <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> representing a 2D coordinate.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the point_x and point_y fall inside the rectangle. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a419d8b63aafcb6626538969abcc7573a"></a><!-- doxytag: member="pp::Rect::Contains" ref="a419d8b63aafcb6626538969abcc7573a" args="(const Rect &rect) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_rect.html#aae5394eb09b76d2ef7c9251b1e738a3f">pp::Rect::Contains</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">Rect</a> & </td>
+<td class="paramname"><em>rect</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_rect.html#aae5394eb09b76d2ef7c9251b1e738a3f" title="Contains() determines if the point identified by point_x and point_y falls inside this rectangle...">Contains()</a> determines if this rectangle contains the specified rectangle. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">rect</td><td>A pointer to a <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the rectangle fall inside this rectangle. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab7e196b0fba7f34246bf8106f562ff34"></a><!-- doxytag: member="pp::Rect::height" ref="ab7e196b0fba7f34246bf8106f562ff34" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_rect.html#ab7e196b0fba7f34246bf8106f562ff34">pp::Rect::height</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the value of height. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The value of height for this <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a83e4d334a41b6d612f1f18ea958767f7"></a><!-- doxytag: member="pp::Rect::Inset" ref="a83e4d334a41b6d612f1f18ea958767f7" args="(int32_t horizontal, int32_t vertical)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_rect.html#a83e4d334a41b6d612f1f18ea958767f7">pp::Rect::Inset</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>horizontal</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>vertical</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_rect.html#a83e4d334a41b6d612f1f18ea958767f7" title="Inset() shrinks the rectangle by a horizontal and vertical distance on all sides.">Inset()</a> shrinks the rectangle by a horizontal and vertical distance on all sides. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">horizontal</td><td>An int32_t value representing a horizontal shrinking distance. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">vertical</td><td>An int32_t value representing a vertical shrinking distance. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a17d964545980ac3ae785ef4484c5315a"></a><!-- doxytag: member="pp::Rect::Inset" ref="a17d964545980ac3ae785ef4484c5315a" args="(int32_t left, int32_t top, int32_t right, int32_t bottom)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_rect.html#a83e4d334a41b6d612f1f18ea958767f7">pp::Rect::Inset</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>left</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>top</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>right</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>bottom</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_rect.html#a83e4d334a41b6d612f1f18ea958767f7" title="Inset() shrinks the rectangle by a horizontal and vertical distance on all sides.">Inset()</a> shrinks the rectangle by the specified amount on each side. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">left</td><td>An int32_t value representing a left shrinking distance. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">top</td><td>An int32_t value representing a top shrinking distance. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">right</td><td>An int32_t value representing a right shrinking distance. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">bottom</td><td>An int32_t value representing a bottom shrinking distance. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="af903bf60faa68544372f5a58b00144aa"></a><!-- doxytag: member="pp::Rect::Intersect" ref="af903bf60faa68544372f5a58b00144aa" args="(const Rect &rect) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_rect.html">Rect</a> <a class="el" href="classpp_1_1_rect.html#af903bf60faa68544372f5a58b00144aa">pp::Rect::Intersect</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">Rect</a> & </td>
+<td class="paramname"><em>rect</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_rect.html#af903bf60faa68544372f5a58b00144aa" title="Intersect() computes the intersection of this rectangle with the given rectangle.">Intersect()</a> computes the intersection of this rectangle with the given rectangle. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">rect</td><td>A pointer to a <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code> representing the intersection. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a32a682a28a1de0b7fa5793a3660514b0"></a><!-- doxytag: member="pp::Rect::Intersects" ref="a32a682a28a1de0b7fa5793a3660514b0" args="(const Rect &rect) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_rect.html#a32a682a28a1de0b7fa5793a3660514b0">pp::Rect::Intersects</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">Rect</a> & </td>
+<td class="paramname"><em>rect</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_rect.html#a32a682a28a1de0b7fa5793a3660514b0" title="Intersects() determines if this rectangle intersects the specified rectangle.">Intersects()</a> determines if this rectangle intersects the specified rectangle. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">rect</td><td>A pointer to a <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the rectangle intersects this rectangle. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a8092af1866d23f91f517058b4f612eb5"></a><!-- doxytag: member="pp::Rect::IsEmpty" ref="a8092af1866d23f91f517058b4f612eb5" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_rect.html#a8092af1866d23f91f517058b4f612eb5">pp::Rect::IsEmpty</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_rect.html#a8092af1866d23f91f517058b4f612eb5" title="IsEmpty() determines if the area of a rectangle is zero.">IsEmpty()</a> determines if the area of a rectangle is zero. </p>
+<p>Returns true if the area of the rectangle is zero.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the area of the rectangle is zero. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a3c39cdfe70b05c4cb172848daf4cd093"></a><!-- doxytag: member="pp::Rect::Offset" ref="a3c39cdfe70b05c4cb172848daf4cd093" args="(int32_t horizontal, int32_t vertical)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_rect.html#a3c39cdfe70b05c4cb172848daf4cd093">pp::Rect::Offset</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>horizontal</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>vertical</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_rect.html#a3c39cdfe70b05c4cb172848daf4cd093" title="Offset() moves the rectangle by a horizontal and vertical distance.">Offset()</a> moves the rectangle by a horizontal and vertical distance. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">horizontal</td><td>An int32_t value representing a horizontal move distance. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">vertical</td><td>An int32_t value representing a vertical move distance. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a8fdc680fc8d23ca24f5a10ec93db3414"></a><!-- doxytag: member="pp::Rect::Offset" ref="a8fdc680fc8d23ca24f5a10ec93db3414" args="(const Point &point)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_rect.html#a3c39cdfe70b05c4cb172848daf4cd093">pp::Rect::Offset</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">Point</a> & </td>
+<td class="paramname"><em>point</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_rect.html#a3c39cdfe70b05c4cb172848daf4cd093" title="Offset() moves the rectangle by a horizontal and vertical distance.">Offset()</a> moves the rectangle by a horizontal and vertical distance. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">point</td><td>A pointer to a <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code> representing the horizontal and vertical move distances. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a02e46c92ffedee393caff7ae0f7aca2f"></a><!-- doxytag: member="pp::Rect::operator PP_Rect" ref="a02e46c92ffedee393caff7ae0f7aca2f" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">pp::Rect::operator PP_Rect </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>PP_Rect() allows implicit conversion of a <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code> to a <code>PP_Rect</code>. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ad4d6b9c43472620d8363cbe091f8c5b3"></a><!-- doxytag: member="pp::Rect::point" ref="ad4d6b9c43472620d8363cbe091f8c5b3" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_point.html">Point</a> <a class="el" href="classpp_1_1_rect.html#ad4d6b9c43472620d8363cbe091f8c5b3">pp::Rect::point</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code>. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="adf531599805a31e63098782c3108c0e0"></a><!-- doxytag: member="pp::Rect::pp_rect" ref="adf531599805a31e63098782c3108c0e0" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">const PP_Rect& <a class="el" href="classpp_1_1_rect.html#adf531599805a31e63098782c3108c0e0">pp::Rect::pp_rect</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the internal <code>PP_Rect</code> struct. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A const reference to the internal <code>PP_Rect</code> struct. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="af278a4ae7b2a1af26a7cc8d4f0b629e6"></a><!-- doxytag: member="pp::Rect::pp_rect" ref="af278a4ae7b2a1af26a7cc8d4f0b629e6" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_Rect& <a class="el" href="classpp_1_1_rect.html#adf531599805a31e63098782c3108c0e0">pp::Rect::pp_rect</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the internal <code>PP_Rect</code> struct. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A mutable reference to the <code>PP_Rect</code> struct. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a83ecc36b001f2c24d99e3088d1cc45a2"></a><!-- doxytag: member="pp::Rect::right" ref="a83ecc36b001f2c24d99e3088d1cc45a2" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_rect.html#a83ecc36b001f2c24d99e3088d1cc45a2">pp::Rect::right</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function to get the upper-bound for the x-coordinates of the rectangle. </p>
+<p>Note that this coordinate value is one past the highest x value of pixels in the rectangle. This loop will access all the pixels in a horizontal line in the rectangle: <code>for (int32_t x = rect.x(); x < rect.right(); ++x) {}</code></p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The value of x + width for this point. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a7f816974533715510bfbe1a77bf09e98"></a><!-- doxytag: member="pp::Rect::set_height" ref="a7f816974533715510bfbe1a77bf09e98" args="(int32_t h)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_rect.html#a7f816974533715510bfbe1a77bf09e98">pp::Rect::set_height</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>h</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Setter function for setting the value of height. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>A new width height. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="aa099aad16ade23466364968d1cfbb68e"></a><!-- doxytag: member="pp::Rect::set_point" ref="aa099aad16ade23466364968d1cfbb68e" args="(const Point &origin)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_rect.html#aa099aad16ade23466364968d1cfbb68e">pp::Rect::set_point</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">Point</a> & </td>
+<td class="paramname"><em>origin</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Setter function for setting the value of the <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">origin</td><td>A <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code> representing the upper-left starting coordinate. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a484a54bc72ce43eae283dd04d5258a42"></a><!-- doxytag: member="pp::Rect::set_size" ref="a484a54bc72ce43eae283dd04d5258a42" args="(const Size &s)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_rect.html#a484a54bc72ce43eae283dd04d5258a42">pp::Rect::set_size</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_size.html">Size</a> & </td>
+<td class="paramname"><em>s</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Setter function for setting the <code><a class="el" href="classpp_1_1_size.html" title="A size of an object based on width and height.">Size</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>A pointer to a <code><a class="el" href="classpp_1_1_size.html" title="A size of an object based on width and height.">Size</a></code> representing the height and width. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ad8b7a557c0a3b7b09a71cc7da3b8cac3"></a><!-- doxytag: member="pp::Rect::set_width" ref="ad8b7a557c0a3b7b09a71cc7da3b8cac3" args="(int32_t w)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_rect.html#ad8b7a557c0a3b7b09a71cc7da3b8cac3">pp::Rect::set_width</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>w</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Setter function for setting the value of width. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">w</td><td>A new width value. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ac5e698050a5de8bcb57847ac876279cc"></a><!-- doxytag: member="pp::Rect::set_x" ref="ac5e698050a5de8bcb57847ac876279cc" args="(int32_t in_x)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_rect.html#ac5e698050a5de8bcb57847ac876279cc">pp::Rect::set_x</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>in_x</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Setter function for setting the value of x. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">in_x</td><td>A new x value. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a99d75f24b47d11e05aadde0bcf11b128"></a><!-- doxytag: member="pp::Rect::set_y" ref="a99d75f24b47d11e05aadde0bcf11b128" args="(int32_t in_y)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_rect.html#a99d75f24b47d11e05aadde0bcf11b128">pp::Rect::set_y</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>in_y</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Setter function for setting the value of y. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">in_y</td><td>A new y value. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="aff9442d9ee78ad390129625379b2103f"></a><!-- doxytag: member="pp::Rect::SetRect" ref="aff9442d9ee78ad390129625379b2103f" args="(int32_t x, int32_t y, int32_t w, int32_t h)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_rect.html#aff9442d9ee78ad390129625379b2103f">pp::Rect::SetRect</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>x</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>y</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>w</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>h</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Setter function for setting the value of the <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>A new x value. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>A new y value. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">w</td><td>A new width value. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>A new height value. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ad19e517179cc55db2a16d317d2e8904a"></a><!-- doxytag: member="pp::Rect::SetRect" ref="ad19e517179cc55db2a16d317d2e8904a" args="(const PP_Rect &rect)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_rect.html#aff9442d9ee78ad390129625379b2103f">pp::Rect::SetRect</a> </td>
+<td>(</td>
+<td class="paramtype">const PP_Rect & </td>
+<td class="paramname"><em>rect</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Setter function for setting the value of the <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">rect</td><td>A pointer to a <code>PP_Rect</code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a2471b9960ecbbb006330cd1bb6d51701"></a><!-- doxytag: member="pp::Rect::SharesEdgeWith" ref="a2471b9960ecbbb006330cd1bb6d51701" args="(const Rect &rect) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_rect.html#a2471b9960ecbbb006330cd1bb6d51701">pp::Rect::SharesEdgeWith</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">Rect</a> & </td>
+<td class="paramname"><em>rect</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_rect.html#a2471b9960ecbbb006330cd1bb6d51701" title="SharesEdgeWith() determines if this rectangle shares an entire edge (same width or same height) with ...">SharesEdgeWith()</a> determines if this rectangle shares an entire edge (same width or same height) with the given rectangle, and the rectangles do not overlap. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">rect</td><td>A pointer to a <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if this rectangle and supplied rectangle share an edge. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ae545e94421d1384fb292b270222b812e"></a><!-- doxytag: member="pp::Rect::size" ref="ae545e94421d1384fb292b270222b812e" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_size.html">Size</a> <a class="el" href="classpp_1_1_rect.html#ae545e94421d1384fb292b270222b812e">pp::Rect::size</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the <code><a class="el" href="classpp_1_1_size.html" title="A size of an object based on width and height.">Size</a></code>. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The size of the rectangle. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="acb5c5d3c44facb488723c609f95b3d72"></a><!-- doxytag: member="pp::Rect::Subtract" ref="acb5c5d3c44facb488723c609f95b3d72" args="(const Rect &rect) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_rect.html">Rect</a> <a class="el" href="classpp_1_1_rect.html#acb5c5d3c44facb488723c609f95b3d72">pp::Rect::Subtract</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">Rect</a> & </td>
+<td class="paramname"><em>rect</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_rect.html#acb5c5d3c44facb488723c609f95b3d72" title="Subtract() computes the rectangle resulting from subtracting rect from this Rect.">Subtract()</a> computes the rectangle resulting from subtracting <code>rect</code> from this <a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a>. </p>
+<p>If <code>rect</code>does not intersect completely in either the x or y direction, then <code>*this</code> is returned. If <code>rect</code> contains <code>this</code>, then an empty <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code> is returned.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">rect</td><td>A pointer to a <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code> representing the subtraction. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab7f3bfc56fddca606125f806f8752880"></a><!-- doxytag: member="pp::Rect::Union" ref="ab7f3bfc56fddca606125f806f8752880" args="(const Rect &rect) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_rect.html">Rect</a> <a class="el" href="classpp_1_1_rect.html#ab7f3bfc56fddca606125f806f8752880">pp::Rect::Union</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">Rect</a> & </td>
+<td class="paramname"><em>rect</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_rect.html#ab7f3bfc56fddca606125f806f8752880" title="Union() computes the union of this rectangle with the given rectangle.">Union()</a> computes the union of this rectangle with the given rectangle. </p>
+<p>The union is the smallest rectangle containing both rectangles.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">rect</td><td>A pointer to a <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code> representing the union. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a102299d70d5cd970298c6de5b8ec260d"></a><!-- doxytag: member="pp::Rect::width" ref="a102299d70d5cd970298c6de5b8ec260d" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_rect.html#a102299d70d5cd970298c6de5b8ec260d">pp::Rect::width</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the value of width. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The value of width for this <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="acf8feb9af84a42d30917e2c590eafb33"></a><!-- doxytag: member="pp::Rect::x" ref="acf8feb9af84a42d30917e2c590eafb33" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_rect.html#acf8feb9af84a42d30917e2c590eafb33">pp::Rect::x</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the value of x. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The value of x for this <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="af84b03d10a656af3bbdabae6e0f37972"></a><!-- doxytag: member="pp::Rect::y" ref="af84b03d10a656af3bbdabae6e0f37972" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_rect.html#af84b03d10a656af3bbdabae6e0f37972">pp::Rect::y</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the value of y. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The value of y for this <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="rect_8h.html">rect.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_resource-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_resource-members.html
new file mode 100644
index 0000000..efb3b02
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_resource-members.html
@@ -0,0 +1,25 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_resource.html">pp::Resource</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aef268205011788a4a9f05ed201384ace">VarResource_Dev</a> class</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [friend]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_resource.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_resource.html
new file mode 100644
index 0000000..b2e94938
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_resource.html
@@ -0,0 +1,281 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::Resource Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::Resource:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_resource__inherit__graph.png" border="0" usemap="#pp_1_1_resource_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_resource_inherit__map" id="pp_1_1_resource_inherit__map">
+<area shape="rect" id="node3" href="classpp_1_1_audio.html" title="An audio resource." alt="" coords="216,5,299,35"></area><area shape="rect" id="node5" href="classpp_1_1_audio_config.html" title="A 16 bit stereo AudioConfig resource." alt="" coords="196,59,319,88"></area><area shape="rect" id="node7" href="classpp_1_1_audio_frame.html" title="pp::AudioFrame" alt="" coords="196,112,319,141"></area><area shape="rect" id="node9" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file." alt="" coords="219,165,296,195"></area><area shape="rect" id="node11" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.' alt="" coords="215,219,300,248"></area><area shape="rect" id="node13" href="classpp_1_1_file_system.html" title="The FileSystem class identifies the file system type associated with a file." alt="" coords="200,272,315,301"></area><area shape="rect" id="node15" href="classpp_1_1_graphics2_d.html" title="pp::Graphics2D" alt="" coords="197,325,317,355"></area><area shape="rect" id="node17" href="classpp_1_1_graphics3_d.html" title="This class represents a 3D rendering context in the browser." alt="" coords="197,379,317,408"></area><area shape="rect" id="node19" href="classpp_1_1_host_resolver.html" title="The HostResolver class supports host name resolution." alt="" coords="193,432,321,461"></area><area shape="rect" id="node21" href="classpp_1_1_image_data.html" title="pp::ImageData" alt="" coords="199,485,316,515"></area><area shape="rect" id="node23" href="classpp_1_1_input_event.html" title="This class represents an input event resource." alt="" coords="200,539,315,568"></area><area shape="rect" id="node35" href="classpp_1_1_media_stream_audio_track.html" title="The MediaStreamAudioTrack class contains methods for receiving audio frames from a MediaStream audio ..." alt="" coords="157,592,357,621"></area><area shape="rect" id="node37" href="classpp_1_1_media_stream_video_track.html" title="The MediaStreamVideoTrack class contains methods for receiving video frames from a MediaStream video ..." alt="" coords="157,645,357,675"></area><area shape="rect" id="node39" href="classpp_1_1_message_loop.html" title="A message loop allows PPAPI calls to be issued on a thread." alt="" coords="191,699,324,728"></area><area shape="rect" id="node41" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address." alt="" coords="197,752,317,781"></area><area shape="rect" id="node43" href="classpp_1_1_network_list.html" title="pp::NetworkList" alt="" coords="197,805,317,835"></area><area shape="rect" id="node45" href="classpp_1_1_network_monitor.html" title="pp::NetworkMonitor" alt="" coords="184,859,331,888"></area><area shape="rect" id="node47" href="classpp_1_1_t_c_p_socket.html" title="The TCPSocket class provides TCP socket operations." alt="" coords="201,912,313,941"></area><area shape="rect" id="node49" href="classpp_1_1_u_d_p_socket.html" title="The UDPSocket class provides UDP socket operations." alt="" coords="199,965,316,995"></area><area shape="rect" id="node51" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs." alt="" coords="200,1019,315,1048"></area><area shape="rect" id="node53" href="classpp_1_1_u_r_l_request_info.html" title="URLRequestInfo provides an API for creating and manipulating URL requests." alt="" coords="185,1072,329,1101"></area><area shape="rect" id="node55" href="classpp_1_1_u_r_l_response_info.html" title="URLResponseInfo provides an API for examining URL responses." alt="" coords="180,1125,335,1155"></area><area shape="rect" id="node57" href="classpp_1_1_video_frame.html" title="pp::VideoFrame" alt="" coords="196,1179,319,1208"></area><area shape="rect" id="node59" href="classpp_1_1_view.html" title="This class represents the state of the view for an instance and contains functions for retrieving the..." alt="" coords="220,1232,295,1261"></area><area shape="rect" id="node61" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket..." alt="" coords="200,1285,315,1315"></area><area shape="rect" id="node25" href="classpp_1_1_i_m_e_input_event.html" title="pp::IMEInputEvent" alt="" coords="424,432,560,461"></area><area shape="rect" id="node27" href="classpp_1_1_keyboard_input_event.html" title="pp::KeyboardInputEvent" alt="" coords="405,485,579,515"></area><area shape="rect" id="node29" href="classpp_1_1_mouse_input_event.html" title="This class handles mouse events." alt="" coords="415,539,569,568"></area><area shape="rect" id="node31" href="classpp_1_1_touch_input_event.html" title="pp::TouchInputEvent" alt="" coords="417,592,567,621"></area><area shape="rect" id="node33" href="classpp_1_1_wheel_input_event.html" title="pp::WheelInputEvent" alt="" coords="416,645,568,675"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_resource-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a> (const <a class="el" href="classpp_1_1_resource.html">Resource</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_resource.html">Resource</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a> (const <a class="el" href="classpp_1_1_resource.html">Resource</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_Resource </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_Resource </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a> ()</td></tr>
+</table><h2>
+Protected Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a> (PP_Resource resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a> (<a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a>, PP_Resource resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a> (PP_Resource resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a> ()</td></tr>
+</table><h2>
+Friends</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_resource.html#aef268205011788a4a9f05ed201384ace">VarResource_Dev</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>A reference counted module resource. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a56679e93a58101c8dce5dc510811a094"></a><!-- doxytag: member="pp::Resource::Resource" ref="a56679e93a58101c8dce5dc510811a094" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">pp::Resource::Resource</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The default constructor. </p>
+</div>
+</div>
+<a class="anchor" id="ab0f664099ca06367180f220ea7e0b831"></a><!-- doxytag: member="pp::Resource::Resource" ref="ab0f664099ca06367180f220ea7e0b831" args="(const Resource &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">pp::Resource::Resource</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_resource.html">Resource</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor for copying a resource. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A <code><a class="el" href="classpp_1_1_resource.html" title="A reference counted module resource.">Resource</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a081165265e2bd8217eaa2be2aeeb3aa3"></a><!-- doxytag: member="pp::Resource::~Resource" ref="a081165265e2bd8217eaa2be2aeeb3aa3" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">pp::Resource::~Resource</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Destructor. </p>
+</div>
+</div>
+<a class="anchor" id="a555de93fdf4793f7db1183bf71d20580"></a><!-- doxytag: member="pp::Resource::Resource" ref="a555de93fdf4793f7db1183bf71d20580" args="(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">pp::Resource::Resource</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>resource</em></td><td>)</td>
+<td><code> [explicit, protected]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used when a <code>PP_Resource</code> is provided as a return value whose reference count we need to increment. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a resource. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a907d3d6b7e292587c8cb9ff30d0a418d"></a><!-- doxytag: member="pp::Resource::Resource" ref="a907d3d6b7e292587c8cb9ff30d0a418d" args="(PassRef, PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">pp::Resource::Resource</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a> </td>
+<td class="paramname">, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>resource</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [protected]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructor used when a <code>PP_Resource</code> already has a ref count assigned. </p>
+<p>Add additional refcount is not taken. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="ad4016f37d3022863ca0188acb26ac9c4"></a><!-- doxytag: member="pp::Resource::Clear" ref="ad4016f37d3022863ca0188acb26ac9c4" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">pp::Resource::Clear</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [protected]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sets this resource to null. This releases ownership of the resource. </p>
+</div>
+</div>
+<a class="anchor" id="a81b9246381bdddacca3ac25f6ded2bfd"></a><!-- doxytag: member="pp::Resource::detach" ref="a81b9246381bdddacca3ac25f6ded2bfd" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_Resource <a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">pp::Resource::detach</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function releases ownership of this resource and returns it to the caller. </p>
+<p>Note that the reference count on the resource is unchanged and the caller needs to release the resource.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The detached <code>PP_Resource</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a859068e34cdc2dc0b78754c255323aa9"></a><!-- doxytag: member="pp::Resource::is_null" ref="a859068e34cdc2dc0b78754c255323aa9" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">pp::Resource::is_null</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This functions determines if this resource is invalid or uninitialized. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if this resource is invalid or uninitialized. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aaf808a98bdaa7998d82e19514aa87423"></a><!-- doxytag: member="pp::Resource::operator=" ref="aaf808a98bdaa7998d82e19514aa87423" args="(const Resource &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_resource.html">Resource</a>& pp::Resource::operator= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_resource.html">Resource</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function assigns one <code><a class="el" href="classpp_1_1_resource.html" title="A reference counted module resource.">Resource</a></code> to another <code><a class="el" href="classpp_1_1_resource.html" title="A reference counted module resource.">Resource</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A <a class="el" href="classpp_1_1_resource.html" title="A reference counted module resource.">Resource</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <a class="el" href="classpp_1_1_resource.html" title="A reference counted module resource.">Resource</a> containing the assigned <a class="el" href="classpp_1_1_resource.html" title="A reference counted module resource.">Resource</a>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a3eda014529127a818df8d5bb5ec2fdf0"></a><!-- doxytag: member="pp::Resource::PassRefFromConstructor" ref="a3eda014529127a818df8d5bb5ec2fdf0" args="(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">pp::Resource::PassRefFromConstructor</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>resource</em></td><td>)</td>
+<td><code> [protected]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>PassRefFromConstructor is called by derived class' constructors to initialize this <code><a class="el" href="classpp_1_1_resource.html" title="A reference counted module resource.">Resource</a></code> with a <code>PP_Resource</code> that has already had its reference count incremented by <code><a class="el" href="classpp_1_1_core.html#a09c663df7fcb527b3e5e71ea07531899" title="AddRefResource() increments the reference count for the provided resource.">Core::AddRefResource</a></code>. </p>
+<p>It also assumes this object has no current resource.</p>
+<p>The intended usage of this function that the derived class constructor will call the default <code><a class="el" href="classpp_1_1_resource.html" title="A reference counted module resource.">Resource</a></code> constructor, then make a call to create a resource. It then wants to assign the new resource (which, since it was returned by the browser, already had its reference count increased).</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a resource. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a46a6123de0b007ad3fcb6f666534ccb4"></a><!-- doxytag: member="pp::Resource::pp_resource" ref="a46a6123de0b007ad3fcb6f666534ccb4" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_Resource <a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp::Resource::pp_resource</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Friends And Related Function Documentation</h2>
+<a class="anchor" id="aef268205011788a4a9f05ed201384ace"></a><!-- doxytag: member="pp::Resource::VarResource_Dev" ref="aef268205011788a4a9f05ed201384ace" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">friend class <a class="el" href="classpp_1_1_resource.html#aef268205011788a4a9f05ed201384ace">VarResource_Dev</a><code> [friend]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="resource_8h.html">resource.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_resource__inherit__graph.png b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_resource__inherit__graph.png
new file mode 100644
index 0000000..ffd4d75
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_resource__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_size-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_size-members.html
new file mode 100644
index 0000000..727c213
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_size-members.html
@@ -0,0 +1,28 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_size.html">pp::Size</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_size.html#a51a74964f27e139003b82aad55dd63f5">Enlarge</a>(int w, int h)</td><td><a class="el" href="classpp_1_1_size.html">pp::Size</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_size.html#ac056add4f1e8b1f90a6e3c65afa4ba3b">GetArea</a>() const </td><td><a class="el" href="classpp_1_1_size.html">pp::Size</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_size.html#a61a68178eefa2589ead95491ac079139">height</a>() const </td><td><a class="el" href="classpp_1_1_size.html">pp::Size</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_size.html#a11e791714686761966773adcc94218bb">IsEmpty</a>() const </td><td><a class="el" href="classpp_1_1_size.html">pp::Size</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_size.html#a72cbb6066dd37615daaa3d3c1a0c595a">operator PP_Size</a>()</td><td><a class="el" href="classpp_1_1_size.html">pp::Size</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_size.html#ad61947a5f2a3bbe90dc62c62cc799174">pp_size</a>() const </td><td><a class="el" href="classpp_1_1_size.html">pp::Size</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_size.html#ae20ce070c015adec8b5411b047db5917">pp_size</a>()</td><td><a class="el" href="classpp_1_1_size.html">pp::Size</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_size.html#a2805413bf372ad033fcf505c8d3cce34">set_height</a>(int h)</td><td><a class="el" href="classpp_1_1_size.html">pp::Size</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_size.html#a104cf1f6a95c1430f7cd15a26815e82a">set_width</a>(int w)</td><td><a class="el" href="classpp_1_1_size.html">pp::Size</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_size.html#a25d85979d55798a9b672ca73c1d48222">SetSize</a>(int w, int h)</td><td><a class="el" href="classpp_1_1_size.html">pp::Size</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_size.html#a5ffffc4488c677716baed27752b6a6c1">Size</a>()</td><td><a class="el" href="classpp_1_1_size.html">pp::Size</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_size.html#aa050f55ab1775d0ee1b0ae174e1495df">Size</a>(const PP_Size &s)</td><td><a class="el" href="classpp_1_1_size.html">pp::Size</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_size.html#a14a1c612454596e43a94c01da338bc1e">Size</a>(int w, int h)</td><td><a class="el" href="classpp_1_1_size.html">pp::Size</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_size.html#af043a504c701e32c504c63b9e91ac500">width</a>() const </td><td><a class="el" href="classpp_1_1_size.html">pp::Size</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_size.html#aff4a88df9882be410ca78d338d2d87dc">~Size</a>()</td><td><a class="el" href="classpp_1_1_size.html">pp::Size</a></td><td><code> [inline]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_size.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_size.html
new file mode 100644
index 0000000..16434f5
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_size.html
@@ -0,0 +1,363 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::Size Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::Size" -->
+<p><a href="classpp_1_1_size-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_size.html#a5ffffc4488c677716baed27752b6a6c1">Size</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_size.html#aa050f55ab1775d0ee1b0ae174e1495df">Size</a> (const PP_Size &s)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_size.html#a14a1c612454596e43a94c01da338bc1e">Size</a> (int w, int h)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_size.html#aff4a88df9882be410ca78d338d2d87dc">~Size</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_size.html#a72cbb6066dd37615daaa3d3c1a0c595a">operator PP_Size</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const PP_Size & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_size.html#ad61947a5f2a3bbe90dc62c62cc799174">pp_size</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_Size & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_size.html#ae20ce070c015adec8b5411b047db5917">pp_size</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_size.html#af043a504c701e32c504c63b9e91ac500">width</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_size.html#a104cf1f6a95c1430f7cd15a26815e82a">set_width</a> (int w)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_size.html#a61a68178eefa2589ead95491ac079139">height</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_size.html#a2805413bf372ad033fcf505c8d3cce34">set_height</a> (int h)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_size.html#ac056add4f1e8b1f90a6e3c65afa4ba3b">GetArea</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_size.html#a25d85979d55798a9b672ca73c1d48222">SetSize</a> (int w, int h)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_size.html#a51a74964f27e139003b82aad55dd63f5">Enlarge</a> (int w, int h)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_size.html#a11e791714686761966773adcc94218bb">IsEmpty</a> () const </td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>A size of an object based on width and height. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a5ffffc4488c677716baed27752b6a6c1"></a><!-- doxytag: member="pp::Size::Size" ref="a5ffffc4488c677716baed27752b6a6c1" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_size.html#a5ffffc4488c677716baed27752b6a6c1">pp::Size::Size</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The default constructor. Initializes the width and height to 0. </p>
+</div>
+</div>
+<a class="anchor" id="aa050f55ab1775d0ee1b0ae174e1495df"></a><!-- doxytag: member="pp::Size::Size" ref="aa050f55ab1775d0ee1b0ae174e1495df" args="(const PP_Size &s)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_size.html#a5ffffc4488c677716baed27752b6a6c1">pp::Size::Size</a> </td>
+<td>(</td>
+<td class="paramtype">const PP_Size & </td>
+<td class="paramname"><em>s</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor accepting a pointer to a <code>PP_Size</code> and converting the <code>PP_Size</code> to a <code><a class="el" href="classpp_1_1_size.html" title="A size of an object based on width and height.">Size</a></code>. </p>
+<p>This is an implicit conversion constructor.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>A pointer to a <code>PP_Size</code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a14a1c612454596e43a94c01da338bc1e"></a><!-- doxytag: member="pp::Size::Size" ref="a14a1c612454596e43a94c01da338bc1e" args="(int w, int h)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_size.html#a5ffffc4488c677716baed27752b6a6c1">pp::Size::Size</a> </td>
+<td>(</td>
+<td class="paramtype">int </td>
+<td class="paramname"><em>w</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int </td>
+<td class="paramname"><em>h</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor accepting two int values for width and height and converting them to a <code><a class="el" href="classpp_1_1_size.html" title="A size of an object based on width and height.">Size</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">w</td><td>An int value representing a width. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>An int value representing a height. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="aff4a88df9882be410ca78d338d2d87dc"></a><!-- doxytag: member="pp::Size::~Size" ref="aff4a88df9882be410ca78d338d2d87dc" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_size.html#aff4a88df9882be410ca78d338d2d87dc">pp::Size::~Size</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Destructor. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a51a74964f27e139003b82aad55dd63f5"></a><!-- doxytag: member="pp::Size::Enlarge" ref="a51a74964f27e139003b82aad55dd63f5" args="(int w, int h)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_size.html#a51a74964f27e139003b82aad55dd63f5">pp::Size::Enlarge</a> </td>
+<td>(</td>
+<td class="paramtype">int </td>
+<td class="paramname"><em>w</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int </td>
+<td class="paramname"><em>h</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_size.html#a51a74964f27e139003b82aad55dd63f5" title="Enlarge() enlarges the size of an object.">Enlarge()</a> enlarges the size of an object. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">w</td><td>A width to add the current width. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>A height to add to the current height. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ac056add4f1e8b1f90a6e3c65afa4ba3b"></a><!-- doxytag: member="pp::Size::GetArea" ref="ac056add4f1e8b1f90a6e3c65afa4ba3b" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int <a class="el" href="classpp_1_1_size.html#ac056add4f1e8b1f90a6e3c65afa4ba3b">pp::Size::GetArea</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_size.html#ac056add4f1e8b1f90a6e3c65afa4ba3b" title="GetArea() determines the area (width * height).">GetArea()</a> determines the area (width * height). </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The area. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a61a68178eefa2589ead95491ac079139"></a><!-- doxytag: member="pp::Size::height" ref="a61a68178eefa2589ead95491ac079139" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int <a class="el" href="classpp_1_1_size.html#a61a68178eefa2589ead95491ac079139">pp::Size::height</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the value of height. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The value of height for this <code><a class="el" href="classpp_1_1_size.html" title="A size of an object based on width and height.">Size</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a11e791714686761966773adcc94218bb"></a><!-- doxytag: member="pp::Size::IsEmpty" ref="a11e791714686761966773adcc94218bb" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_size.html#a11e791714686761966773adcc94218bb">pp::Size::IsEmpty</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_size.html#a11e791714686761966773adcc94218bb" title="IsEmpty() determines if the size is zero.">IsEmpty()</a> determines if the size is zero. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the size is zero. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a72cbb6066dd37615daaa3d3c1a0c595a"></a><!-- doxytag: member="pp::Size::operator PP_Size" ref="a72cbb6066dd37615daaa3d3c1a0c595a" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">pp::Size::operator PP_Size </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>PP_Size() allows implicit conversion of a <code><a class="el" href="classpp_1_1_size.html" title="A size of an object based on width and height.">Size</a></code> to a <code>PP_Size</code>. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <a class="el" href="classpp_1_1_size.html" title="A size of an object based on width and height.">Size</a>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ad61947a5f2a3bbe90dc62c62cc799174"></a><!-- doxytag: member="pp::Size::pp_size" ref="ad61947a5f2a3bbe90dc62c62cc799174" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">const PP_Size& <a class="el" href="classpp_1_1_size.html#ad61947a5f2a3bbe90dc62c62cc799174">pp::Size::pp_size</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the internal <code>PP_Size</code> struct. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A const reference to the internal <code>PP_Size</code> struct. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ae20ce070c015adec8b5411b047db5917"></a><!-- doxytag: member="pp::Size::pp_size" ref="ae20ce070c015adec8b5411b047db5917" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_Size& <a class="el" href="classpp_1_1_size.html#ad61947a5f2a3bbe90dc62c62cc799174">pp::Size::pp_size</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the internal <code>PP_Size</code> struct. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A mutable reference to the <code>PP_Size</code> struct. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2805413bf372ad033fcf505c8d3cce34"></a><!-- doxytag: member="pp::Size::set_height" ref="a2805413bf372ad033fcf505c8d3cce34" args="(int h)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_size.html#a2805413bf372ad033fcf505c8d3cce34">pp::Size::set_height</a> </td>
+<td>(</td>
+<td class="paramtype">int </td>
+<td class="paramname"><em>h</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Setter function for setting the value of height. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>A new height value. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a104cf1f6a95c1430f7cd15a26815e82a"></a><!-- doxytag: member="pp::Size::set_width" ref="a104cf1f6a95c1430f7cd15a26815e82a" args="(int w)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_size.html#a104cf1f6a95c1430f7cd15a26815e82a">pp::Size::set_width</a> </td>
+<td>(</td>
+<td class="paramtype">int </td>
+<td class="paramname"><em>w</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Setter function for setting the value of width. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">w</td><td>A new width value. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a25d85979d55798a9b672ca73c1d48222"></a><!-- doxytag: member="pp::Size::SetSize" ref="a25d85979d55798a9b672ca73c1d48222" args="(int w, int h)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_size.html#a25d85979d55798a9b672ca73c1d48222">pp::Size::SetSize</a> </td>
+<td>(</td>
+<td class="paramtype">int </td>
+<td class="paramname"><em>w</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int </td>
+<td class="paramname"><em>h</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_size.html#a25d85979d55798a9b672ca73c1d48222" title="SetSize() sets the value of width and height.">SetSize()</a> sets the value of width and height. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">w</td><td>A new width value. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>A new height value. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="af043a504c701e32c504c63b9e91ac500"></a><!-- doxytag: member="pp::Size::width" ref="af043a504c701e32c504c63b9e91ac500" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int <a class="el" href="classpp_1_1_size.html#af043a504c701e32c504c63b9e91ac500">pp::Size::width</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the value of width. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The value of width for this <code><a class="el" href="classpp_1_1_size.html" title="A size of an object based on width and height.">Size</a></code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="size_8h.html">size.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_t_c_p_socket-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_t_c_p_socket-members.html
new file mode 100644
index 0000000..d4a6931d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_t_c_p_socket-members.html
@@ -0,0 +1,41 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_t_c_p_socket.html#aef5daadffa0cf98464d30c418f1eceb1">Accept</a>(const CompletionCallbackWithOutput< TCPSocket > &callback)</td><td><a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_t_c_p_socket.html#a266c28928c7524fa8bad8bca513c8f2b">Bind</a>(const NetAddress &addr, const CompletionCallback &callback)</td><td><a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_t_c_p_socket.html#abc186103df13872795525a65ab48a478">Close</a>()</td><td><a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_t_c_p_socket.html#a939f7d319a58c60afcb71f6356223aac">Connect</a>(const NetAddress &addr, const CompletionCallback &callback)</td><td><a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_t_c_p_socket.html#ad35bf6762cac2eceb4469eba0275ed7f">GetLocalAddress</a>() const </td><td><a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_t_c_p_socket.html#a6d8c7d3ab135c58f0cd92202946c1ea8">GetRemoteAddress</a>() const </td><td><a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_t_c_p_socket.html#addc35d01f8547e3128358c401a2a8e47">IsAvailable</a>()</td><td><a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a></td><td><code> [static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_t_c_p_socket.html#afed8c462e80b265b132a53e8cbd87fbb">Listen</a>(int32_t backlog, const CompletionCallback &callback)</td><td><a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_t_c_p_socket.html#ae7c8888a8f6ef5187547de8b8db3bb98">operator=</a>(const TCPSocket &other)</td><td><a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">pp::Resource::operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_t_c_p_socket.html#a598efe777f0ef2eb9117b11437e1bedb">Read</a>(char *buffer, int32_t bytes_to_read, const CompletionCallback &callback)</td><td><a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_t_c_p_socket.html#a71fdfb61f8ab4fbc805bb66b34a77484">SetOption</a>(PP_TCPSocket_Option name, const Var &value, const CompletionCallback &callback)</td><td><a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_t_c_p_socket.html#a8752f9c331ea25e01bf4a80be95117ef">TCPSocket</a>()</td><td><a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_t_c_p_socket.html#af33619315cc5eeff15174a78b0fff44d">TCPSocket</a>(const InstanceHandle &instance)</td><td><a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_t_c_p_socket.html#aa7af4b57237e461a79ba33e044d688fe">TCPSocket</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_t_c_p_socket.html#a528305852766af8c12284e6ef7e94058">TCPSocket</a>(const TCPSocket &other)</td><td><a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_t_c_p_socket.html#aef066de742e7271ca72fa8e4e177f63b">Write</a>(const char *buffer, int32_t bytes_to_write, const CompletionCallback &callback)</td><td><a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_t_c_p_socket.html#a32547904059796aa6def4c9ab6107c80">~TCPSocket</a>()</td><td><a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_t_c_p_socket.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_t_c_p_socket.html
new file mode 100644
index 0000000..817b991cd
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_t_c_p_socket.html
@@ -0,0 +1,537 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::TCPSocket Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::TCPSocket" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::TCPSocket:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_t_c_p_socket__inherit__graph.png" border="0" usemap="#pp_1_1_t_c_p_socket_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_t_c_p_socket_inherit__map" id="pp_1_1_t_c_p_socket_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="9,5,113,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_t_c_p_socket-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html#a8752f9c331ea25e01bf4a80be95117ef">TCPSocket</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html#af33619315cc5eeff15174a78b0fff44d">TCPSocket</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html#aa7af4b57237e461a79ba33e044d688fe">TCPSocket</a> (<a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a>, PP_Resource resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html#a528305852766af8c12284e6ef7e94058">TCPSocket</a> (const <a class="el" href="classpp_1_1_t_c_p_socket.html">TCPSocket</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html#a32547904059796aa6def4c9ab6107c80">~TCPSocket</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_t_c_p_socket.html">TCPSocket</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html#ae7c8888a8f6ef5187547de8b8db3bb98">operator=</a> (const <a class="el" href="classpp_1_1_t_c_p_socket.html">TCPSocket</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html#a266c28928c7524fa8bad8bca513c8f2b">Bind</a> (const <a class="el" href="classpp_1_1_net_address.html">NetAddress</a> &addr, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html#a939f7d319a58c60afcb71f6356223aac">Connect</a> (const <a class="el" href="classpp_1_1_net_address.html">NetAddress</a> &addr, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_net_address.html">NetAddress</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html#ad35bf6762cac2eceb4469eba0275ed7f">GetLocalAddress</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_net_address.html">NetAddress</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html#a6d8c7d3ab135c58f0cd92202946c1ea8">GetRemoteAddress</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html#a598efe777f0ef2eb9117b11437e1bedb">Read</a> (char *buffer, int32_t bytes_to_read, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html#aef066de742e7271ca72fa8e4e177f63b">Write</a> (const char *buffer, int32_t bytes_to_write, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html#afed8c462e80b265b132a53e8cbd87fbb">Listen</a> (int32_t backlog, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html#aef5daadffa0cf98464d30c418f1eceb1">Accept</a> (const <a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a>< <a class="el" href="classpp_1_1_t_c_p_socket.html">TCPSocket</a> > &callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html#abc186103df13872795525a65ab48a478">Close</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html#a71fdfb61f8ab4fbc805bb66b34a77484">SetOption</a> (PP_TCPSocket_Option name, const <a class="el" href="classpp_1_1_var.html">Var</a> &value, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &callback)</td></tr>
+</table><h2>
+Static Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html#addc35d01f8547e3128358c401a2a8e47">IsAvailable</a> ()</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="classpp_1_1_t_c_p_socket.html" title="The TCPSocket class provides TCP socket operations.">TCPSocket</a></code> class provides TCP socket operations. </p>
+<p>Permissions: Apps permission <code>socket</code> with subrule <code>tcp-connect</code> is required for <code><a class="el" href="classpp_1_1_t_c_p_socket.html#a939f7d319a58c60afcb71f6356223aac" title="Connects the socket to the given address.">Connect()</a></code>; subrule <code>tcp-listen</code> is required for <code><a class="el" href="classpp_1_1_t_c_p_socket.html#afed8c462e80b265b132a53e8cbd87fbb" title="Starts listening.">Listen()</a></code>. For more details about network communication permissions, please see: <a href="http://developer.chrome.com/apps/app_network.html">http://developer.chrome.com/apps/app_network.html</a> </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a8752f9c331ea25e01bf4a80be95117ef"></a><!-- doxytag: member="pp::TCPSocket::TCPSocket" ref="a8752f9c331ea25e01bf4a80be95117ef" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_t_c_p_socket.html#a8752f9c331ea25e01bf4a80be95117ef">pp::TCPSocket::TCPSocket</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor for creating an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> <code><a class="el" href="classpp_1_1_t_c_p_socket.html" title="The TCPSocket class provides TCP socket operations.">TCPSocket</a></code> object. </p>
+</div>
+</div>
+<a class="anchor" id="af33619315cc5eeff15174a78b0fff44d"></a><!-- doxytag: member="pp::TCPSocket::TCPSocket" ref="af33619315cc5eeff15174a78b0fff44d" args="(const InstanceHandle &instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_t_c_p_socket.html#a8752f9c331ea25e01bf4a80be95117ef">pp::TCPSocket::TCPSocket</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used to create a <code><a class="el" href="classpp_1_1_t_c_p_socket.html" title="The TCPSocket class provides TCP socket operations.">TCPSocket</a></code> object. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="aa7af4b57237e461a79ba33e044d688fe"></a><!-- doxytag: member="pp::TCPSocket::TCPSocket" ref="aa7af4b57237e461a79ba33e044d688fe" args="(PassRef, PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_t_c_p_socket.html#a8752f9c331ea25e01bf4a80be95117ef">pp::TCPSocket::TCPSocket</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a> </td>
+<td class="paramname">, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>resource</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used when you have received a <code>PP_Resource</code> as a return value that has had 1 ref added for you. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PPB_TCPSocket</code> resource. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a528305852766af8c12284e6ef7e94058"></a><!-- doxytag: member="pp::TCPSocket::TCPSocket" ref="a528305852766af8c12284e6ef7e94058" args="(const TCPSocket &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_t_c_p_socket.html#a8752f9c331ea25e01bf4a80be95117ef">pp::TCPSocket::TCPSocket</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_t_c_p_socket.html">TCPSocket</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The copy constructor for <code><a class="el" href="classpp_1_1_t_c_p_socket.html" title="The TCPSocket class provides TCP socket operations.">TCPSocket</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A reference to another <code><a class="el" href="classpp_1_1_t_c_p_socket.html" title="The TCPSocket class provides TCP socket operations.">TCPSocket</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a32547904059796aa6def4c9ab6107c80"></a><!-- doxytag: member="pp::TCPSocket::~TCPSocket" ref="a32547904059796aa6def4c9ab6107c80" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_t_c_p_socket.html#a32547904059796aa6def4c9ab6107c80">pp::TCPSocket::~TCPSocket</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The destructor. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="aef5daadffa0cf98464d30c418f1eceb1"></a><!-- doxytag: member="pp::TCPSocket::Accept" ref="aef5daadffa0cf98464d30c418f1eceb1" args="(const CompletionCallbackWithOutput< TCPSocket > &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_t_c_p_socket.html#aef5daadffa0cf98464d30c418f1eceb1">pp::TCPSocket::Accept</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a>< <a class="el" href="classpp_1_1_t_c_p_socket.html">TCPSocket</a> > & </td>
+<td class="paramname"><em>callback</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Accepts a connection. </p>
+<p>The socket must be listening.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>, including (but not limited to):<ul>
+<li><code>PP_ERROR_CONNECTION_ABORTED</code>: A connection has been aborted. </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<a class="anchor" id="a266c28928c7524fa8bad8bca513c8f2b"></a><!-- doxytag: member="pp::TCPSocket::Bind" ref="a266c28928c7524fa8bad8bca513c8f2b" args="(const NetAddress &addr, const CompletionCallback &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_t_c_p_socket.html#a266c28928c7524fa8bad8bca513c8f2b">pp::TCPSocket::Bind</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_net_address.html">NetAddress</a> & </td>
+<td class="paramname"><em>addr</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>callback</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Binds the socket to the given address. </p>
+<p>The socket must not be bound.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>A <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code> object. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>, including (but not limited to):<ul>
+<li><code>PP_ERROR_ADDRESS_IN_USE</code>: the address is already in use.</li>
+<li><code>PP_ERROR_ADDRESS_INVALID</code>: the address is invalid. </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<a class="anchor" id="abc186103df13872795525a65ab48a478"></a><!-- doxytag: member="pp::TCPSocket::Close" ref="abc186103df13872795525a65ab48a478" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_t_c_p_socket.html#abc186103df13872795525a65ab48a478">pp::TCPSocket::Close</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Cancels all pending operations and closes the socket. </p>
+<p>Any pending callbacks will still run, reporting <code>PP_ERROR_ABORTED</code> if pending IO was interrupted. After a call to this method, no output buffer pointers passed into previous <code><a class="el" href="classpp_1_1_t_c_p_socket.html#a598efe777f0ef2eb9117b11437e1bedb" title="Reads data from the socket.">Read()</a></code> or <code><a class="el" href="classpp_1_1_t_c_p_socket.html#aef5daadffa0cf98464d30c418f1eceb1" title="Accepts a connection.">Accept()</a></code> calls will be accessed. It is not valid to call <code><a class="el" href="classpp_1_1_t_c_p_socket.html#a939f7d319a58c60afcb71f6356223aac" title="Connects the socket to the given address.">Connect()</a></code> or <code><a class="el" href="classpp_1_1_t_c_p_socket.html#afed8c462e80b265b132a53e8cbd87fbb" title="Starts listening.">Listen()</a></code> again.</p>
+<p>The socket is implicitly closed if it is destroyed, so you are not required to call this method. </p>
+</div>
+</div>
+<a class="anchor" id="a939f7d319a58c60afcb71f6356223aac"></a><!-- doxytag: member="pp::TCPSocket::Connect" ref="a939f7d319a58c60afcb71f6356223aac" args="(const NetAddress &addr, const CompletionCallback &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_t_c_p_socket.html#a939f7d319a58c60afcb71f6356223aac">pp::TCPSocket::Connect</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_net_address.html">NetAddress</a> & </td>
+<td class="paramname"><em>addr</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>callback</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Connects the socket to the given address. </p>
+<p>The socket must not be listening. Binding the socket beforehand is optional.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>A <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code> object. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>, including (but not limited to):<ul>
+<li><code>PP_ERROR_NOACCESS</code>: the caller doesn't have required permissions.</li>
+<li><code>PP_ERROR_ADDRESS_UNREACHABLE</code>: <code>addr</code> is unreachable.</li>
+<li><code>PP_ERROR_CONNECTION_REFUSED</code>: the connection attempt was refused.</li>
+<li><code>PP_ERROR_CONNECTION_FAILED</code>: the connection attempt failed.</li>
+<li><code>PP_ERROR_CONNECTION_TIMEDOUT</code>: the connection attempt timed out.</li>
+</ul>
+</dd></dl>
+<p>Since version 1.1, if the socket is listening/connected or has a pending listen/connect request, <code><a class="el" href="classpp_1_1_t_c_p_socket.html#a939f7d319a58c60afcb71f6356223aac" title="Connects the socket to the given address.">Connect()</a></code> will fail without starting a connection attempt. Otherwise, any failure during the connection attempt will cause the socket to be closed. </p>
+</div>
+</div>
+<a class="anchor" id="ad35bf6762cac2eceb4469eba0275ed7f"></a><!-- doxytag: member="pp::TCPSocket::GetLocalAddress" ref="ad35bf6762cac2eceb4469eba0275ed7f" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_net_address.html">NetAddress</a> <a class="el" href="classpp_1_1_t_c_p_socket.html#ad35bf6762cac2eceb4469eba0275ed7f">pp::TCPSocket::GetLocalAddress</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the local address of the socket, if it is bound. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code> object. The object will be null (i.e., <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> returns true) on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a6d8c7d3ab135c58f0cd92202946c1ea8"></a><!-- doxytag: member="pp::TCPSocket::GetRemoteAddress" ref="a6d8c7d3ab135c58f0cd92202946c1ea8" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_net_address.html">NetAddress</a> <a class="el" href="classpp_1_1_t_c_p_socket.html#a6d8c7d3ab135c58f0cd92202946c1ea8">pp::TCPSocket::GetRemoteAddress</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the remote address of the socket, if it is connected. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code> object. The object will be null (i.e., <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> returns true) on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="addc35d01f8547e3128358c401a2a8e47"></a><!-- doxytag: member="pp::TCPSocket::IsAvailable" ref="addc35d01f8547e3128358c401a2a8e47" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static bool <a class="el" href="classpp_1_1_t_c_p_socket.html#addc35d01f8547e3128358c401a2a8e47">pp::TCPSocket::IsAvailable</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Static function for determining whether the browser supports the <code>PPB_TCPSocket</code> interface. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the interface is available, false otherwise. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="afed8c462e80b265b132a53e8cbd87fbb"></a><!-- doxytag: member="pp::TCPSocket::Listen" ref="afed8c462e80b265b132a53e8cbd87fbb" args="(int32_t backlog, const CompletionCallback &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_t_c_p_socket.html#afed8c462e80b265b132a53e8cbd87fbb">pp::TCPSocket::Listen</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>backlog</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>callback</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Starts listening. </p>
+<p>The socket must be bound and not connected.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">backlog</td><td>A hint to determine the maximum length to which the queue of pending connections may grow. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>, including (but not limited to):<ul>
+<li><code>PP_ERROR_NOACCESS</code>: the caller doesn't have required permissions.</li>
+<li><code>PP_ERROR_ADDRESS_IN_USE</code>: Another socket is already listening on the same port. </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<a class="anchor" id="ae7c8888a8f6ef5187547de8b8db3bb98"></a><!-- doxytag: member="pp::TCPSocket::operator=" ref="ae7c8888a8f6ef5187547de8b8db3bb98" args="(const TCPSocket &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_t_c_p_socket.html">TCPSocket</a>& pp::TCPSocket::operator= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_t_c_p_socket.html">TCPSocket</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The assignment operator for <code><a class="el" href="classpp_1_1_t_c_p_socket.html" title="The TCPSocket class provides TCP socket operations.">TCPSocket</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A reference to another <code><a class="el" href="classpp_1_1_t_c_p_socket.html" title="The TCPSocket class provides TCP socket operations.">TCPSocket</a></code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A reference to this <code><a class="el" href="classpp_1_1_t_c_p_socket.html" title="The TCPSocket class provides TCP socket operations.">TCPSocket</a></code> object. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a598efe777f0ef2eb9117b11437e1bedb"></a><!-- doxytag: member="pp::TCPSocket::Read" ref="a598efe777f0ef2eb9117b11437e1bedb" args="(char *buffer, int32_t bytes_to_read, const CompletionCallback &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_t_c_p_socket.html#a598efe777f0ef2eb9117b11437e1bedb">pp::TCPSocket::Read</a> </td>
+<td>(</td>
+<td class="paramtype">char * </td>
+<td class="paramname"><em>buffer</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>bytes_to_read</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>callback</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Reads data from the socket. </p>
+<p>The socket must be connected. It may perform a partial read.</p>
+<p><b>Caveat:</b> You should be careful about the lifetime of <code>buffer</code>. Typically you will use a <code><a class="el" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe...">CompletionCallbackFactory</a></code> to scope callbacks to the lifetime of your class. When your class goes out of scope, the callback factory will not actually cancel the operation, but will rather just skip issuing the callback on your class. This means that if the underlying <code>PPB_TCPSocket</code> resource outlives your class, the browser will still try to write into your buffer when the operation completes. The buffer must be kept valid until then to avoid memory corruption. If you want to release the buffer while the <code><a class="el" href="classpp_1_1_t_c_p_socket.html#a598efe777f0ef2eb9117b11437e1bedb" title="Reads data from the socket.">Read()</a></code> call is still pending, you should call <code><a class="el" href="classpp_1_1_t_c_p_socket.html#abc186103df13872795525a65ab48a478" title="Cancels all pending operations and closes the socket.">Close()</a></code> to ensure that the buffer won't be accessed in the future.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[out]</td><td class="paramname">buffer</td><td>The buffer to store the received data on success. It must be at least as large as <code>bytes_to_read</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">bytes_to_read</td><td>The number of bytes to read. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A non-negative number on success to indicate how many bytes have been read, 0 means that end-of-file was reached; otherwise, an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a71fdfb61f8ab4fbc805bb66b34a77484"></a><!-- doxytag: member="pp::TCPSocket::SetOption" ref="a71fdfb61f8ab4fbc805bb66b34a77484" args="(PP_TCPSocket_Option name, const Var &value, const CompletionCallback &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_t_c_p_socket.html#a71fdfb61f8ab4fbc805bb66b34a77484">pp::TCPSocket::SetOption</a> </td>
+<td>(</td>
+<td class="paramtype">PP_TCPSocket_Option </td>
+<td class="paramname"><em>name</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>value</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>callback</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sets a socket option on the TCP socket. </p>
+<p>Please see the <code>PP_TCPSocket_Option</code> description for option names, value types and allowed values.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>The option to set. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The option value to set. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aef066de742e7271ca72fa8e4e177f63b"></a><!-- doxytag: member="pp::TCPSocket::Write" ref="aef066de742e7271ca72fa8e4e177f63b" args="(const char *buffer, int32_t bytes_to_write, const CompletionCallback &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_t_c_p_socket.html#aef066de742e7271ca72fa8e4e177f63b">pp::TCPSocket::Write</a> </td>
+<td>(</td>
+<td class="paramtype">const char * </td>
+<td class="paramname"><em>buffer</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>bytes_to_write</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>callback</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Writes data to the socket. </p>
+<p>The socket must be connected. It may perform a partial write.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">buffer</td><td>The buffer containing the data to write. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">bytes_to_write</td><td>The number of bytes to write. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A non-negative number on success to indicate how many bytes have been written; otherwise, an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="tcp__socket_8h.html">tcp_socket.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_t_c_p_socket__inherit__graph.png b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_t_c_p_socket__inherit__graph.png
new file mode 100644
index 0000000..d0827c6
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_t_c_p_socket__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_text_input_controller-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_text_input_controller-members.html
new file mode 100644
index 0000000..1186ccf2
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_text_input_controller-members.html
@@ -0,0 +1,19 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_text_input_controller.html">pp::TextInputController</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_text_input_controller.html#a19329ad0e0ca3e7a7d31cf51462643cb">CancelCompositionText</a>()</td><td><a class="el" href="classpp_1_1_text_input_controller.html">pp::TextInputController</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_text_input_controller.html#acef9638552ba5254401ea3330140e67f">SetTextInputType</a>(PP_TextInput_Type type)</td><td><a class="el" href="classpp_1_1_text_input_controller.html">pp::TextInputController</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_text_input_controller.html#a6fe3648b0322ad724f0d103b61cbaee9">TextInputController</a>(const InstanceHandle &instance)</td><td><a class="el" href="classpp_1_1_text_input_controller.html">pp::TextInputController</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_text_input_controller.html#a884a00a9d265d812424874542c2ee34c">UpdateCaretPosition</a>(const Rect &caret)</td><td><a class="el" href="classpp_1_1_text_input_controller.html">pp::TextInputController</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_text_input_controller.html#a59fc139f69ed425f632c16313e69ceca">UpdateSurroundingText</a>(const Var &text, uint32_t caret, uint32_t anchor)</td><td><a class="el" href="classpp_1_1_text_input_controller.html">pp::TextInputController</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_text_input_controller.html#a19e3cd5588f61113d4037cbf15069a96">~TextInputController</a>()</td><td><a class="el" href="classpp_1_1_text_input_controller.html">pp::TextInputController</a></td><td></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_text_input_controller.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_text_input_controller.html
new file mode 100644
index 0000000..f198e721
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_text_input_controller.html
@@ -0,0 +1,173 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::TextInputController Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::TextInputController" -->
+<p><a href="classpp_1_1_text_input_controller-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_text_input_controller.html#a6fe3648b0322ad724f0d103b61cbaee9">TextInputController</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_text_input_controller.html#a19e3cd5588f61113d4037cbf15069a96">~TextInputController</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_text_input_controller.html#acef9638552ba5254401ea3330140e67f">SetTextInputType</a> (PP_TextInput_Type type)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_text_input_controller.html#a884a00a9d265d812424874542c2ee34c">UpdateCaretPosition</a> (const <a class="el" href="classpp_1_1_rect.html">Rect</a> &caret)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_text_input_controller.html#a19329ad0e0ca3e7a7d31cf51462643cb">CancelCompositionText</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_text_input_controller.html#a59fc139f69ed425f632c16313e69ceca">UpdateSurroundingText</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &text, uint32_t caret, uint32_t anchor)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This class can be used for giving hints to the browser about the text input status of plugins. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a6fe3648b0322ad724f0d103b61cbaee9"></a><!-- doxytag: member="pp::TextInputController::TextInputController" ref="a6fe3648b0322ad724f0d103b61cbaee9" args="(const InstanceHandle &instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_text_input_controller.html#a6fe3648b0322ad724f0d103b61cbaee9">pp::TextInputController::TextInputController</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor for creating a <code><a class="el" href="classpp_1_1_text_input_controller.html" title="This class can be used for giving hints to the browser about the text input status of plugins...">TextInputController</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a19e3cd5588f61113d4037cbf15069a96"></a><!-- doxytag: member="pp::TextInputController::~TextInputController" ref="a19e3cd5588f61113d4037cbf15069a96" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_text_input_controller.html#a19e3cd5588f61113d4037cbf15069a96">pp::TextInputController::~TextInputController</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Destructor. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a19329ad0e0ca3e7a7d31cf51462643cb"></a><!-- doxytag: member="pp::TextInputController::CancelCompositionText" ref="a19329ad0e0ca3e7a7d31cf51462643cb" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_text_input_controller.html#a19329ad0e0ca3e7a7d31cf51462643cb">pp::TextInputController::CancelCompositionText</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_text_input_controller.html#a19329ad0e0ca3e7a7d31cf51462643cb" title="CancelCompositionText() informs the browser that the current composition text is cancelled by the plu...">CancelCompositionText()</a> informs the browser that the current composition text is cancelled by the plugin. </p>
+</div>
+</div>
+<a class="anchor" id="acef9638552ba5254401ea3330140e67f"></a><!-- doxytag: member="pp::TextInputController::SetTextInputType" ref="acef9638552ba5254401ea3330140e67f" args="(PP_TextInput_Type type)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_text_input_controller.html#acef9638552ba5254401ea3330140e67f">pp::TextInputController::SetTextInputType</a> </td>
+<td>(</td>
+<td class="paramtype">PP_TextInput_Type </td>
+<td class="paramname"><em>type</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_text_input_controller.html#acef9638552ba5254401ea3330140e67f" title="SetTextInputType() informs the browser about the current text input mode of the plugin.">SetTextInputType()</a> informs the browser about the current text input mode of the plugin. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>The type of text input type. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a884a00a9d265d812424874542c2ee34c"></a><!-- doxytag: member="pp::TextInputController::UpdateCaretPosition" ref="a884a00a9d265d812424874542c2ee34c" args="(const Rect &caret)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_text_input_controller.html#a884a00a9d265d812424874542c2ee34c">pp::TextInputController::UpdateCaretPosition</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">Rect</a> & </td>
+<td class="paramname"><em>caret</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_text_input_controller.html#a884a00a9d265d812424874542c2ee34c" title="UpdateCaretPosition() informs the browser about the coordinates of the text input caret area...">UpdateCaretPosition()</a> informs the browser about the coordinates of the text input caret area. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">caret</td><td>A rectangle indicating the caret area. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a59fc139f69ed425f632c16313e69ceca"></a><!-- doxytag: member="pp::TextInputController::UpdateSurroundingText" ref="a59fc139f69ed425f632c16313e69ceca" args="(const Var &text, uint32_t caret, uint32_t anchor)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_text_input_controller.html#a59fc139f69ed425f632c16313e69ceca">pp::TextInputController::UpdateSurroundingText</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>text</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>caret</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>anchor</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_text_input_controller.html#a59fc139f69ed425f632c16313e69ceca" title="UpdateSurroundingText() informs the browser about the current text selection and surrounding text...">UpdateSurroundingText()</a> informs the browser about the current text selection and surrounding text. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">text</td><td>A UTF-8 sting indicating string buffer of current input context.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">caret</td><td>A integer indicating the byte index of caret location in <code>text</code>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">caret</td><td>A integer indicating the byte index of anchor location in <code>text</code>. If there is no selection, this value should be equal to <code>caret</code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="text__input__controller_8h.html">text_input_controller.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_touch_input_event-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_touch_input_event-members.html
new file mode 100644
index 0000000..9d7d43a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_touch_input_event-members.html
@@ -0,0 +1,37 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_touch_input_event.html">pp::TouchInputEvent</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_touch_input_event.html#a0a323b8bd08e02d816b6fffa9b6299c0">AddTouchPoint</a>(PP_TouchListType list, PP_TouchPoint point)</td><td><a class="el" href="classpp_1_1_touch_input_event.html">pp::TouchInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a6f94a5cd8453f1b69e55aadde73354e7">GetModifiers</a>() const </td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#acc79ecdcf19f5b8a8a7268fc8ff51531">GetTimeStamp</a>() const </td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_touch_input_event.html#a66228762dbdfbb3404853a87c37b1736">GetTouchById</a>(PP_TouchListType list, uint32_t id) const </td><td><a class="el" href="classpp_1_1_touch_input_event.html">pp::TouchInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_touch_input_event.html#ac68cc82bbf2fcc88d449c5430cc02505">GetTouchByIndex</a>(PP_TouchListType list, uint32_t index) const </td><td><a class="el" href="classpp_1_1_touch_input_event.html">pp::TouchInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_touch_input_event.html#a5bdc7a4cd409586cab33e509dad43461">GetTouchCount</a>(PP_TouchListType list) const </td><td><a class="el" href="classpp_1_1_touch_input_event.html">pp::TouchInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a73ca79c06ff9a39304e3b390090f03dc">GetType</a>() const </td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#ac7581e4321abe8de6f3b48d70f4aa65d">InputEvent</a>()</td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a1d4f7d3fb88de3cccc60ab26b92ccf23">InputEvent</a>(PP_Resource input_event_resource)</td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_touch_input_event.html#a29020b28f060c5ce45ae5c3fc7512e43">TouchInputEvent</a>()</td><td><a class="el" href="classpp_1_1_touch_input_event.html">pp::TouchInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_touch_input_event.html#a601fab40cbb3e8f2f1824f655192b541">TouchInputEvent</a>(const InputEvent &event)</td><td><a class="el" href="classpp_1_1_touch_input_event.html">pp::TouchInputEvent</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_touch_input_event.html#a4a14ab4999f452f368e61c815c976eb3">TouchInputEvent</a>(const InstanceHandle &instance, PP_InputEvent_Type type, PP_TimeTicks time_stamp, uint32_t modifiers)</td><td><a class="el" href="classpp_1_1_touch_input_event.html">pp::TouchInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a2492183af4fecec44a423a5b7eae6faf">~InputEvent</a>()</td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_touch_input_event.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_touch_input_event.html
new file mode 100644
index 0000000..acacb2b
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_touch_input_event.html
@@ -0,0 +1,216 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::TouchInputEvent Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::TouchInputEvent" --><!-- doxytag: inherits="pp::InputEvent" --><div class="dynheader">
+Inheritance diagram for pp::TouchInputEvent:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_touch_input_event__inherit__graph.png" border="0" usemap="#pp_1_1_touch_input_event_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_touch_input_event_inherit__map" id="pp_1_1_touch_input_event_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_input_event.html" title="This class represents an input event resource." alt="" coords="23,83,137,112"></area><area shape="rect" id="node4" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="28,5,132,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_touch_input_event-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_touch_input_event.html#a29020b28f060c5ce45ae5c3fc7512e43">TouchInputEvent</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_touch_input_event.html#a601fab40cbb3e8f2f1824f655192b541">TouchInputEvent</a> (const <a class="el" href="classpp_1_1_input_event.html">InputEvent</a> &event)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_touch_input_event.html#a4a14ab4999f452f368e61c815c976eb3">TouchInputEvent</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, PP_InputEvent_Type type, PP_TimeTicks time_stamp, uint32_t modifiers)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_touch_input_event.html#a0a323b8bd08e02d816b6fffa9b6299c0">AddTouchPoint</a> (PP_TouchListType list, PP_TouchPoint point)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_touch_input_event.html#a5bdc7a4cd409586cab33e509dad43461">GetTouchCount</a> (PP_TouchListType list) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_touch_point.html">TouchPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_touch_input_event.html#ac68cc82bbf2fcc88d449c5430cc02505">GetTouchByIndex</a> (PP_TouchListType list, uint32_t index) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_touch_point.html">TouchPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_touch_input_event.html#a66228762dbdfbb3404853a87c37b1736">GetTouchById</a> (PP_TouchListType list, uint32_t id) const </td></tr>
+</table>
+<hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a29020b28f060c5ce45ae5c3fc7512e43"></a><!-- doxytag: member="pp::TouchInputEvent::TouchInputEvent" ref="a29020b28f060c5ce45ae5c3fc7512e43" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_touch_input_event.html#a29020b28f060c5ce45ae5c3fc7512e43">pp::TouchInputEvent::TouchInputEvent</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> touch input event object. </p>
+</div>
+</div>
+<a class="anchor" id="a601fab40cbb3e8f2f1824f655192b541"></a><!-- doxytag: member="pp::TouchInputEvent::TouchInputEvent" ref="a601fab40cbb3e8f2f1824f655192b541" args="(const InputEvent &event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_touch_input_event.html#a29020b28f060c5ce45ae5c3fc7512e43">pp::TouchInputEvent::TouchInputEvent</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_input_event.html">InputEvent</a> & </td>
+<td class="paramname"><em>event</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs a touch input event object from the given generic input event. </p>
+<p>If the given event is itself <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> or is not a touch input event, the touch object will be <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a>. </p>
+</div>
+</div>
+<a class="anchor" id="a4a14ab4999f452f368e61c815c976eb3"></a><!-- doxytag: member="pp::TouchInputEvent::TouchInputEvent" ref="a4a14ab4999f452f368e61c815c976eb3" args="(const InstanceHandle &instance, PP_InputEvent_Type type, PP_TimeTicks time_stamp, uint32_t modifiers)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_touch_input_event.html#a29020b28f060c5ce45ae5c3fc7512e43">pp::TouchInputEvent::TouchInputEvent</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_InputEvent_Type </td>
+<td class="paramname"><em>type</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_TimeTicks </td>
+<td class="paramname"><em>time_stamp</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>modifiers</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs a touch input even from the given parameters. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance for which this event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>A <code>PP_InputEvent_Type</code> identifying the type of input event.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">time_stamp</td><td>A <code>PP_TimeTicks</code> indicating the time when the event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">modifiers</td><td>A bit field combination of the <code>PP_InputEvent_Modifier</code> flags. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a0a323b8bd08e02d816b6fffa9b6299c0"></a><!-- doxytag: member="pp::TouchInputEvent::AddTouchPoint" ref="a0a323b8bd08e02d816b6fffa9b6299c0" args="(PP_TouchListType list, PP_TouchPoint point)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_touch_input_event.html#a0a323b8bd08e02d816b6fffa9b6299c0">pp::TouchInputEvent::AddTouchPoint</a> </td>
+<td>(</td>
+<td class="paramtype">PP_TouchListType </td>
+<td class="paramname"><em>list</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_TouchPoint </td>
+<td class="paramname"><em>point</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Adds the touch-point to the specified TouchList. </p>
+</div>
+</div>
+<a class="anchor" id="a66228762dbdfbb3404853a87c37b1736"></a><!-- doxytag: member="pp::TouchInputEvent::GetTouchById" ref="a66228762dbdfbb3404853a87c37b1736" args="(PP_TouchListType list, uint32_t id) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_touch_point.html">TouchPoint</a> <a class="el" href="classpp_1_1_touch_input_event.html#a66228762dbdfbb3404853a87c37b1736">pp::TouchInputEvent::GetTouchById</a> </td>
+<td>(</td>
+<td class="paramtype">PP_TouchListType </td>
+<td class="paramname"><em>list</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>id</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>The <a class="el" href="classpp_1_1_touch_point.html" title="Wrapper class for PP_TouchPoint.">TouchPoint</a> in the given list with the given identifier, or an empty <a class="el" href="classpp_1_1_touch_point.html" title="Wrapper class for PP_TouchPoint.">TouchPoint</a> if the list does not contain a <a class="el" href="classpp_1_1_touch_point.html" title="Wrapper class for PP_TouchPoint.">TouchPoint</a> with that identifier. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ac68cc82bbf2fcc88d449c5430cc02505"></a><!-- doxytag: member="pp::TouchInputEvent::GetTouchByIndex" ref="ac68cc82bbf2fcc88d449c5430cc02505" args="(PP_TouchListType list, uint32_t index) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_touch_point.html">TouchPoint</a> <a class="el" href="classpp_1_1_touch_input_event.html#ac68cc82bbf2fcc88d449c5430cc02505">pp::TouchInputEvent::GetTouchByIndex</a> </td>
+<td>(</td>
+<td class="paramtype">PP_TouchListType </td>
+<td class="paramname"><em>list</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>index</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>The <a class="el" href="classpp_1_1_touch_point.html" title="Wrapper class for PP_TouchPoint.">TouchPoint</a> at the given index of the given list, or an empty <a class="el" href="classpp_1_1_touch_point.html" title="Wrapper class for PP_TouchPoint.">TouchPoint</a> if the index is out of range. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a5bdc7a4cd409586cab33e509dad43461"></a><!-- doxytag: member="pp::TouchInputEvent::GetTouchCount" ref="a5bdc7a4cd409586cab33e509dad43461" args="(PP_TouchListType list) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="classpp_1_1_touch_input_event.html#a5bdc7a4cd409586cab33e509dad43461">pp::TouchInputEvent::GetTouchCount</a> </td>
+<td>(</td>
+<td class="paramtype">PP_TouchListType </td>
+<td class="paramname"><em>list</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>The number of TouchPoints in this TouchList. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="input__event_8h.html">input_event.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_touch_input_event__inherit__graph.png b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_touch_input_event__inherit__graph.png
new file mode 100644
index 0000000..5e6dced
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_touch_input_event__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_touch_point-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_touch_point-members.html
new file mode 100644
index 0000000..da79431
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_touch_point-members.html
@@ -0,0 +1,20 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_touch_point.html">pp::TouchPoint</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_touch_point.html#a9bc0e1ce3579b52927da1104646b994b">id</a>() const </td><td><a class="el" href="classpp_1_1_touch_point.html">pp::TouchPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_touch_point.html#aa4a407b747e9c523844eba4aaf861773">position</a>() const </td><td><a class="el" href="classpp_1_1_touch_point.html">pp::TouchPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_touch_point.html#a4e09d5e4a892da9f6b32c9986a25376c">pressure</a>() const </td><td><a class="el" href="classpp_1_1_touch_point.html">pp::TouchPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_touch_point.html#a92f3376a9db010e20bed4a5fe3e42f0f">radii</a>() const </td><td><a class="el" href="classpp_1_1_touch_point.html">pp::TouchPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_touch_point.html#a82c6f0f579e30d37d0f14cdbb3ca9177">rotation_angle</a>() const </td><td><a class="el" href="classpp_1_1_touch_point.html">pp::TouchPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_touch_point.html#a76b04de6cd756e80d3b039988faed697">TouchPoint</a>()</td><td><a class="el" href="classpp_1_1_touch_point.html">pp::TouchPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_touch_point.html#affadca4389137e288a0a9a53019a2211">TouchPoint</a>(const PP_TouchPoint &point)</td><td><a class="el" href="classpp_1_1_touch_point.html">pp::TouchPoint</a></td><td><code> [inline]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_touch_point.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_touch_point.html
new file mode 100644
index 0000000..4798c6a6
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_touch_point.html
@@ -0,0 +1,143 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::TouchPoint Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::TouchPoint" -->
+<p><a href="classpp_1_1_touch_point-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_touch_point.html#a76b04de6cd756e80d3b039988faed697">TouchPoint</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_touch_point.html#affadca4389137e288a0a9a53019a2211">TouchPoint</a> (const PP_TouchPoint &point)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_touch_point.html#a9bc0e1ce3579b52927da1104646b994b">id</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_touch_point.html#aa4a407b747e9c523844eba4aaf861773">position</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_touch_point.html#a92f3376a9db010e20bed4a5fe3e42f0f">radii</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_touch_point.html#a82c6f0f579e30d37d0f14cdbb3ca9177">rotation_angle</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_touch_point.html#a4e09d5e4a892da9f6b32c9986a25376c">pressure</a> () const </td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Wrapper class for PP_TouchPoint. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a76b04de6cd756e80d3b039988faed697"></a><!-- doxytag: member="pp::TouchPoint::TouchPoint" ref="a76b04de6cd756e80d3b039988faed697" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_touch_point.html#a76b04de6cd756e80d3b039988faed697">pp::TouchPoint::TouchPoint</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="affadca4389137e288a0a9a53019a2211"></a><!-- doxytag: member="pp::TouchPoint::TouchPoint" ref="affadca4389137e288a0a9a53019a2211" args="(const PP_TouchPoint &point)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_touch_point.html#a76b04de6cd756e80d3b039988faed697">pp::TouchPoint::TouchPoint</a> </td>
+<td>(</td>
+<td class="paramtype">const PP_TouchPoint & </td>
+<td class="paramname"><em>point</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a9bc0e1ce3579b52927da1104646b994b"></a><!-- doxytag: member="pp::TouchPoint::id" ref="a9bc0e1ce3579b52927da1104646b994b" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="classpp_1_1_touch_point.html#a9bc0e1ce3579b52927da1104646b994b">pp::TouchPoint::id</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>The identifier for this <a class="el" href="classpp_1_1_touch_point.html" title="Wrapper class for PP_TouchPoint.">TouchPoint</a>. This corresponds to the order in which the points were pressed. For example, the first point to be pressed has an id of 0, the second has an id of 1, and so on. An id can be reused when a touch point is released. For example, if two fingers are down, with id 0 and 1, and finger 0 releases, the next finger to be pressed can be assigned to id 0. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aa4a407b747e9c523844eba4aaf861773"></a><!-- doxytag: member="pp::TouchPoint::position" ref="aa4a407b747e9c523844eba4aaf861773" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> <a class="el" href="classpp_1_1_touch_point.html#aa4a407b747e9c523844eba4aaf861773">pp::TouchPoint::position</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>The x-y coordinates of this <a class="el" href="classpp_1_1_touch_point.html" title="Wrapper class for PP_TouchPoint.">TouchPoint</a>, in DOM coordinate space. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a4e09d5e4a892da9f6b32c9986a25376c"></a><!-- doxytag: member="pp::TouchPoint::pressure" ref="a4e09d5e4a892da9f6b32c9986a25376c" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="classpp_1_1_touch_point.html#a4e09d5e4a892da9f6b32c9986a25376c">pp::TouchPoint::pressure</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>The pressure applied to this <a class="el" href="classpp_1_1_touch_point.html" title="Wrapper class for PP_TouchPoint.">TouchPoint</a>. This is typically a value between 0 and 1, with 0 indicating no pressure and 1 indicating some maximum pressure, but scaling differs depending on the hardware and the value is not guaranteed to stay within that range. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a92f3376a9db010e20bed4a5fe3e42f0f"></a><!-- doxytag: member="pp::TouchPoint::radii" ref="a92f3376a9db010e20bed4a5fe3e42f0f" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> <a class="el" href="classpp_1_1_touch_point.html#a92f3376a9db010e20bed4a5fe3e42f0f">pp::TouchPoint::radii</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>The elliptical radii, in screen pixels, in the x and y direction of this <a class="el" href="classpp_1_1_touch_point.html" title="Wrapper class for PP_TouchPoint.">TouchPoint</a>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a82c6f0f579e30d37d0f14cdbb3ca9177"></a><!-- doxytag: member="pp::TouchPoint::rotation_angle" ref="a82c6f0f579e30d37d0f14cdbb3ca9177" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="classpp_1_1_touch_point.html#a82c6f0f579e30d37d0f14cdbb3ca9177">pp::TouchPoint::rotation_angle</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>The angle of rotation of the elliptical model of this <a class="el" href="classpp_1_1_touch_point.html" title="Wrapper class for PP_TouchPoint.">TouchPoint</a> from the y-axis. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="touch__point_8h.html">touch_point.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_u_d_p_socket-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_u_d_p_socket-members.html
new file mode 100644
index 0000000..e46a9b6
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_u_d_p_socket-members.html
@@ -0,0 +1,37 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_u_d_p_socket.html">pp::UDPSocket</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_d_p_socket.html#a5f9b7edf613c59091eb66dc074d7f7c1">Bind</a>(const NetAddress &addr, const CompletionCallback &callback)</td><td><a class="el" href="classpp_1_1_u_d_p_socket.html">pp::UDPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_d_p_socket.html#aa1f03d8d0e7ef59c40724e2691f165f2">Close</a>()</td><td><a class="el" href="classpp_1_1_u_d_p_socket.html">pp::UDPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_d_p_socket.html#ae98c9decb3c3ea4ba1006943577b684d">GetBoundAddress</a>()</td><td><a class="el" href="classpp_1_1_u_d_p_socket.html">pp::UDPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_d_p_socket.html#a76a2e93f2fa01d0dce8d8216d53b4f44">IsAvailable</a>()</td><td><a class="el" href="classpp_1_1_u_d_p_socket.html">pp::UDPSocket</a></td><td><code> [static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_d_p_socket.html#a72112f67b757bbbfaaf67ae3cfe2f602">operator=</a>(const UDPSocket &other)</td><td><a class="el" href="classpp_1_1_u_d_p_socket.html">pp::UDPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">pp::Resource::operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_d_p_socket.html#a496b1742a9b4ef27d23c9b4b96b9fd0a">RecvFrom</a>(char *buffer, int32_t num_bytes, const CompletionCallbackWithOutput< NetAddress > &callback)</td><td><a class="el" href="classpp_1_1_u_d_p_socket.html">pp::UDPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_d_p_socket.html#a657309cd3bc38cf28e25f4c71190d1a0">SendTo</a>(const char *buffer, int32_t num_bytes, const NetAddress &addr, const CompletionCallback &callback)</td><td><a class="el" href="classpp_1_1_u_d_p_socket.html">pp::UDPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_d_p_socket.html#a5ff91fd2342e534b57980c0c2e414251">SetOption</a>(PP_UDPSocket_Option name, const Var &value, const CompletionCallback &callback)</td><td><a class="el" href="classpp_1_1_u_d_p_socket.html">pp::UDPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_d_p_socket.html#aba8a6c1b62bc3c8883296a9445131da5">UDPSocket</a>()</td><td><a class="el" href="classpp_1_1_u_d_p_socket.html">pp::UDPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_d_p_socket.html#aa2b691e69558b5d7d43a91bd61550b2c">UDPSocket</a>(const InstanceHandle &instance)</td><td><a class="el" href="classpp_1_1_u_d_p_socket.html">pp::UDPSocket</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_d_p_socket.html#ac824fba529205830d0c2c54a21ed449b">UDPSocket</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_u_d_p_socket.html">pp::UDPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_d_p_socket.html#a88fb9b2ed5c7726d0f4bf55948ef5be2">UDPSocket</a>(const UDPSocket &other)</td><td><a class="el" href="classpp_1_1_u_d_p_socket.html">pp::UDPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_d_p_socket.html#a5fe143ce6bcaf1ac67748325acde1c50">~UDPSocket</a>()</td><td><a class="el" href="classpp_1_1_u_d_p_socket.html">pp::UDPSocket</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_u_d_p_socket.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_u_d_p_socket.html
new file mode 100644
index 0000000..59321f07
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_u_d_p_socket.html
@@ -0,0 +1,407 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::UDPSocket Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::UDPSocket" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::UDPSocket:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_u_d_p_socket__inherit__graph.png" border="0" usemap="#pp_1_1_u_d_p_socket_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_u_d_p_socket_inherit__map" id="pp_1_1_u_d_p_socket_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="12,5,116,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_u_d_p_socket-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_d_p_socket.html#aba8a6c1b62bc3c8883296a9445131da5">UDPSocket</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_d_p_socket.html#aa2b691e69558b5d7d43a91bd61550b2c">UDPSocket</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_d_p_socket.html#ac824fba529205830d0c2c54a21ed449b">UDPSocket</a> (<a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a>, PP_Resource resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_d_p_socket.html#a88fb9b2ed5c7726d0f4bf55948ef5be2">UDPSocket</a> (const <a class="el" href="classpp_1_1_u_d_p_socket.html">UDPSocket</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_d_p_socket.html#a5fe143ce6bcaf1ac67748325acde1c50">~UDPSocket</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_u_d_p_socket.html">UDPSocket</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_d_p_socket.html#a72112f67b757bbbfaaf67ae3cfe2f602">operator=</a> (const <a class="el" href="classpp_1_1_u_d_p_socket.html">UDPSocket</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_d_p_socket.html#a5f9b7edf613c59091eb66dc074d7f7c1">Bind</a> (const <a class="el" href="classpp_1_1_net_address.html">NetAddress</a> &addr, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_net_address.html">NetAddress</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_d_p_socket.html#ae98c9decb3c3ea4ba1006943577b684d">GetBoundAddress</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_d_p_socket.html#a496b1742a9b4ef27d23c9b4b96b9fd0a">RecvFrom</a> (char *buffer, int32_t num_bytes, const <a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a>< <a class="el" href="classpp_1_1_net_address.html">NetAddress</a> > &callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_d_p_socket.html#a657309cd3bc38cf28e25f4c71190d1a0">SendTo</a> (const char *buffer, int32_t num_bytes, const <a class="el" href="classpp_1_1_net_address.html">NetAddress</a> &addr, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_d_p_socket.html#aa1f03d8d0e7ef59c40724e2691f165f2">Close</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_d_p_socket.html#a5ff91fd2342e534b57980c0c2e414251">SetOption</a> (PP_UDPSocket_Option name, const <a class="el" href="classpp_1_1_var.html">Var</a> &value, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &callback)</td></tr>
+</table><h2>
+Static Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_d_p_socket.html#a76a2e93f2fa01d0dce8d8216d53b4f44">IsAvailable</a> ()</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="classpp_1_1_u_d_p_socket.html" title="The UDPSocket class provides UDP socket operations.">UDPSocket</a></code> class provides UDP socket operations. </p>
+<p>Permissions: Apps permission <code>socket</code> with subrule <code>udp-bind</code> is required for <code><a class="el" href="classpp_1_1_u_d_p_socket.html#a5f9b7edf613c59091eb66dc074d7f7c1" title="Binds the socket to the given address.">Bind()</a></code>; subrule <code>udp-send-to</code> is required for <code><a class="el" href="classpp_1_1_u_d_p_socket.html#a657309cd3bc38cf28e25f4c71190d1a0" title="Sends data to a specific destination.">SendTo()</a></code>. For more details about network communication permissions, please see: <a href="http://developer.chrome.com/apps/app_network.html">http://developer.chrome.com/apps/app_network.html</a> </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="aba8a6c1b62bc3c8883296a9445131da5"></a><!-- doxytag: member="pp::UDPSocket::UDPSocket" ref="aba8a6c1b62bc3c8883296a9445131da5" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_u_d_p_socket.html#aba8a6c1b62bc3c8883296a9445131da5">pp::UDPSocket::UDPSocket</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor for creating an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> <code><a class="el" href="classpp_1_1_u_d_p_socket.html" title="The UDPSocket class provides UDP socket operations.">UDPSocket</a></code> object. </p>
+</div>
+</div>
+<a class="anchor" id="aa2b691e69558b5d7d43a91bd61550b2c"></a><!-- doxytag: member="pp::UDPSocket::UDPSocket" ref="aa2b691e69558b5d7d43a91bd61550b2c" args="(const InstanceHandle &instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_u_d_p_socket.html#aba8a6c1b62bc3c8883296a9445131da5">pp::UDPSocket::UDPSocket</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used to create a <code><a class="el" href="classpp_1_1_u_d_p_socket.html" title="The UDPSocket class provides UDP socket operations.">UDPSocket</a></code> object. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ac824fba529205830d0c2c54a21ed449b"></a><!-- doxytag: member="pp::UDPSocket::UDPSocket" ref="ac824fba529205830d0c2c54a21ed449b" args="(PassRef, PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_u_d_p_socket.html#aba8a6c1b62bc3c8883296a9445131da5">pp::UDPSocket::UDPSocket</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a> </td>
+<td class="paramname">, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>resource</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used when you have received a <code>PP_Resource</code> as a return value that has had 1 ref added for you. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PPB_UDPSocket</code> resource. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a88fb9b2ed5c7726d0f4bf55948ef5be2"></a><!-- doxytag: member="pp::UDPSocket::UDPSocket" ref="a88fb9b2ed5c7726d0f4bf55948ef5be2" args="(const UDPSocket &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_u_d_p_socket.html#aba8a6c1b62bc3c8883296a9445131da5">pp::UDPSocket::UDPSocket</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_u_d_p_socket.html">UDPSocket</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The copy constructor for <code><a class="el" href="classpp_1_1_u_d_p_socket.html" title="The UDPSocket class provides UDP socket operations.">UDPSocket</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A reference to another <code><a class="el" href="classpp_1_1_u_d_p_socket.html" title="The UDPSocket class provides UDP socket operations.">UDPSocket</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a5fe143ce6bcaf1ac67748325acde1c50"></a><!-- doxytag: member="pp::UDPSocket::~UDPSocket" ref="a5fe143ce6bcaf1ac67748325acde1c50" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_u_d_p_socket.html#a5fe143ce6bcaf1ac67748325acde1c50">pp::UDPSocket::~UDPSocket</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The destructor. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a5f9b7edf613c59091eb66dc074d7f7c1"></a><!-- doxytag: member="pp::UDPSocket::Bind" ref="a5f9b7edf613c59091eb66dc074d7f7c1" args="(const NetAddress &addr, const CompletionCallback &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_u_d_p_socket.html#a5f9b7edf613c59091eb66dc074d7f7c1">pp::UDPSocket::Bind</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_net_address.html">NetAddress</a> & </td>
+<td class="paramname"><em>addr</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>callback</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Binds the socket to the given address. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>A <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code> object. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. <code>PP_ERROR_NOACCESS</code> will be returned if the caller doesn't have required permissions. <code>PP_ERROR_ADDRESS_IN_USE</code> will be returned if the address is already in use. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aa1f03d8d0e7ef59c40724e2691f165f2"></a><!-- doxytag: member="pp::UDPSocket::Close" ref="aa1f03d8d0e7ef59c40724e2691f165f2" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_u_d_p_socket.html#aa1f03d8d0e7ef59c40724e2691f165f2">pp::UDPSocket::Close</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Cancels all pending reads and writes, and closes the socket. </p>
+<p>Any pending callbacks will still run, reporting <code>PP_ERROR_ABORTED</code> if pending IO was interrupted. After a call to this method, no output paramters passed into previous <code><a class="el" href="classpp_1_1_u_d_p_socket.html#a496b1742a9b4ef27d23c9b4b96b9fd0a" title="Receives data from the socket and stores the source address.">RecvFrom()</a></code> calls will be accessed. It is not valid to call <code><a class="el" href="classpp_1_1_u_d_p_socket.html#a5f9b7edf613c59091eb66dc074d7f7c1" title="Binds the socket to the given address.">Bind()</a></code> again.</p>
+<p>The socket is implicitly closed if it is destroyed, so you are not required to call this method. </p>
+</div>
+</div>
+<a class="anchor" id="ae98c9decb3c3ea4ba1006943577b684d"></a><!-- doxytag: member="pp::UDPSocket::GetBoundAddress" ref="ae98c9decb3c3ea4ba1006943577b684d" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_net_address.html">NetAddress</a> <a class="el" href="classpp_1_1_u_d_p_socket.html#ae98c9decb3c3ea4ba1006943577b684d">pp::UDPSocket::GetBoundAddress</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Get the address that the socket is bound to. </p>
+<p>The socket must be bound.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code> object. The object will be null (i.e., <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> returns true) on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a76a2e93f2fa01d0dce8d8216d53b4f44"></a><!-- doxytag: member="pp::UDPSocket::IsAvailable" ref="a76a2e93f2fa01d0dce8d8216d53b4f44" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static bool <a class="el" href="classpp_1_1_u_d_p_socket.html#a76a2e93f2fa01d0dce8d8216d53b4f44">pp::UDPSocket::IsAvailable</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Static function for determining whether the browser supports the <code>PPB_UDPSocket</code> interface. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the interface is available, false otherwise. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a72112f67b757bbbfaaf67ae3cfe2f602"></a><!-- doxytag: member="pp::UDPSocket::operator=" ref="a72112f67b757bbbfaaf67ae3cfe2f602" args="(const UDPSocket &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_u_d_p_socket.html">UDPSocket</a>& pp::UDPSocket::operator= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_u_d_p_socket.html">UDPSocket</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The assignment operator for <code><a class="el" href="classpp_1_1_u_d_p_socket.html" title="The UDPSocket class provides UDP socket operations.">UDPSocket</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A reference to another <code><a class="el" href="classpp_1_1_u_d_p_socket.html" title="The UDPSocket class provides UDP socket operations.">UDPSocket</a></code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A reference to this <code><a class="el" href="classpp_1_1_u_d_p_socket.html" title="The UDPSocket class provides UDP socket operations.">UDPSocket</a></code> object. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a496b1742a9b4ef27d23c9b4b96b9fd0a"></a><!-- doxytag: member="pp::UDPSocket::RecvFrom" ref="a496b1742a9b4ef27d23c9b4b96b9fd0a" args="(char *buffer, int32_t num_bytes, const CompletionCallbackWithOutput< NetAddress > &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_u_d_p_socket.html#a496b1742a9b4ef27d23c9b4b96b9fd0a">pp::UDPSocket::RecvFrom</a> </td>
+<td>(</td>
+<td class="paramtype">char * </td>
+<td class="paramname"><em>buffer</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>num_bytes</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a>< <a class="el" href="classpp_1_1_net_address.html">NetAddress</a> > & </td>
+<td class="paramname"><em>callback</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Receives data from the socket and stores the source address. </p>
+<p>The socket must be bound.</p>
+<p><b>Caveat:</b> You should be careful about the lifetime of <code>buffer</code>. Typically you will use a <code><a class="el" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe...">CompletionCallbackFactory</a></code> to scope callbacks to the lifetime of your class. When your class goes out of scope, the callback factory will not actually cancel the operation, but will rather just skip issuing the callback on your class. This means that if the underlying <code>PPB_UDPSocket</code> resource outlives your class, the browser will still try to write into your buffer when the operation completes. The buffer must be kept valid until then to avoid memory corruption. If you want to release the buffer while the <code><a class="el" href="classpp_1_1_u_d_p_socket.html#a496b1742a9b4ef27d23c9b4b96b9fd0a" title="Receives data from the socket and stores the source address.">RecvFrom()</a></code> call is still pending, you should call <code><a class="el" href="classpp_1_1_u_d_p_socket.html#aa1f03d8d0e7ef59c40724e2691f165f2" title="Cancels all pending reads and writes, and closes the socket.">Close()</a></code> to ensure that the buffer won't be accessed in the future.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[out]</td><td class="paramname">buffer</td><td>The buffer to store the received data on success. It must be at least as large as <code>num_bytes</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">num_bytes</td><td>The number of bytes to receive. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A non-negative number on success to indicate how many bytes have been received; otherwise, an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a657309cd3bc38cf28e25f4c71190d1a0"></a><!-- doxytag: member="pp::UDPSocket::SendTo" ref="a657309cd3bc38cf28e25f4c71190d1a0" args="(const char *buffer, int32_t num_bytes, const NetAddress &addr, const CompletionCallback &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_u_d_p_socket.html#a657309cd3bc38cf28e25f4c71190d1a0">pp::UDPSocket::SendTo</a> </td>
+<td>(</td>
+<td class="paramtype">const char * </td>
+<td class="paramname"><em>buffer</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>num_bytes</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_net_address.html">NetAddress</a> & </td>
+<td class="paramname"><em>addr</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>callback</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sends data to a specific destination. </p>
+<p>The socket must be bound.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">buffer</td><td>The buffer containing the data to send. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">num_bytes</td><td>The number of bytes to send. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>A <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code> object holding the destination address. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A non-negative number on success to indicate how many bytes have been sent; otherwise, an error code from <code>pp_errors.h</code>. <code>PP_ERROR_NOACCESS</code> will be returned if the caller doesn't have required permissions. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a5ff91fd2342e534b57980c0c2e414251"></a><!-- doxytag: member="pp::UDPSocket::SetOption" ref="a5ff91fd2342e534b57980c0c2e414251" args="(PP_UDPSocket_Option name, const Var &value, const CompletionCallback &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_u_d_p_socket.html#a5ff91fd2342e534b57980c0c2e414251">pp::UDPSocket::SetOption</a> </td>
+<td>(</td>
+<td class="paramtype">PP_UDPSocket_Option </td>
+<td class="paramname"><em>name</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>value</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>callback</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sets a socket option on the UDP socket. </p>
+<p>Please see the <code>PP_UDPSocket_Option</code> description for option names, value types and allowed values.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>The option to set. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The option value to set. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="udp__socket_8h.html">udp_socket.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_u_d_p_socket__inherit__graph.png b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_u_d_p_socket__inherit__graph.png
new file mode 100644
index 0000000..50dcf00
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_u_d_p_socket__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_u_r_l_loader-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_u_r_l_loader-members.html
new file mode 100644
index 0000000..a383e22
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_u_r_l_loader-members.html
@@ -0,0 +1,36 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_u_r_l_loader.html">pp::URLLoader</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_loader.html#a43858cb7d3c64dc37128434e18a2ea1c">Close</a>()</td><td><a class="el" href="classpp_1_1_u_r_l_loader.html">pp::URLLoader</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_loader.html#a2e40e91e7a9ffca3f697497abef843f4">FinishStreamingToFile</a>(const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_u_r_l_loader.html">pp::URLLoader</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_loader.html#a411a79d6e9e5335ce31d187d137420af">FollowRedirect</a>(const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_u_r_l_loader.html">pp::URLLoader</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_loader.html#ada4a1757e7883912626e2ece85ec1c53">GetDownloadProgress</a>(int64_t *bytes_received, int64_t *total_bytes_to_be_received) const </td><td><a class="el" href="classpp_1_1_u_r_l_loader.html">pp::URLLoader</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_loader.html#a92757c9e1261280cb4f8fd65e0c8df6f">GetResponseInfo</a>() const </td><td><a class="el" href="classpp_1_1_u_r_l_loader.html">pp::URLLoader</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_loader.html#a5e3723f5c5d10394329899f75121faf1">GetUploadProgress</a>(int64_t *bytes_sent, int64_t *total_bytes_to_be_sent) const </td><td><a class="el" href="classpp_1_1_u_r_l_loader.html">pp::URLLoader</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_loader.html#afb72f38f30b94a2d5494225e364395b8">Open</a>(const URLRequestInfo &request_info, const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_u_r_l_loader.html">pp::URLLoader</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_loader.html#a907697c3c268a68eb3b4ca341aea4812">ReadResponseBody</a>(void *buffer, int32_t bytes_to_read, const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_u_r_l_loader.html">pp::URLLoader</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_loader.html#a22b752c975a9302efa2eceb20ecf92ed">URLLoader</a>()</td><td><a class="el" href="classpp_1_1_u_r_l_loader.html">pp::URLLoader</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_loader.html#a187f5a2c8422c072c2a33bca4de9e39d">URLLoader</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_u_r_l_loader.html">pp::URLLoader</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_loader.html#a806606ad9e924708b69ae124b4c9d97d">URLLoader</a>(const InstanceHandle &instance)</td><td><a class="el" href="classpp_1_1_u_r_l_loader.html">pp::URLLoader</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_loader.html#ac590ce0a1992376bcf154c4e3cce1ab2">URLLoader</a>(const URLLoader &other)</td><td><a class="el" href="classpp_1_1_u_r_l_loader.html">pp::URLLoader</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_u_r_l_loader.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_u_r_l_loader.html
new file mode 100644
index 0000000..2e10891
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_u_r_l_loader.html
@@ -0,0 +1,367 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::URLLoader Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::URLLoader" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::URLLoader:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_u_r_l_loader__inherit__graph.png" border="0" usemap="#pp_1_1_u_r_l_loader_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_u_r_l_loader_inherit__map" id="pp_1_1_u_r_l_loader_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="11,5,115,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_u_r_l_loader-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_loader.html#a22b752c975a9302efa2eceb20ecf92ed">URLLoader</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_loader.html#a187f5a2c8422c072c2a33bca4de9e39d">URLLoader</a> (PP_Resource resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_loader.html#a806606ad9e924708b69ae124b4c9d97d">URLLoader</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_loader.html#ac590ce0a1992376bcf154c4e3cce1ab2">URLLoader</a> (const <a class="el" href="classpp_1_1_u_r_l_loader.html">URLLoader</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_loader.html#afb72f38f30b94a2d5494225e364395b8">Open</a> (const <a class="el" href="classpp_1_1_u_r_l_request_info.html">URLRequestInfo</a> &request_info, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_loader.html#a411a79d6e9e5335ce31d187d137420af">FollowRedirect</a> (const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_loader.html#a5e3723f5c5d10394329899f75121faf1">GetUploadProgress</a> (int64_t *bytes_sent, int64_t *total_bytes_to_be_sent) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_loader.html#ada4a1757e7883912626e2ece85ec1c53">GetDownloadProgress</a> (int64_t *bytes_received, int64_t *total_bytes_to_be_received) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_u_r_l_response_info.html">URLResponseInfo</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_loader.html#a92757c9e1261280cb4f8fd65e0c8df6f">GetResponseInfo</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_loader.html#a907697c3c268a68eb3b4ca341aea4812">ReadResponseBody</a> (void *buffer, int32_t bytes_to_read, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_loader.html#a2e40e91e7a9ffca3f697497abef843f4">FinishStreamingToFile</a> (const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_loader.html#a43858cb7d3c64dc37128434e18a2ea1c">Close</a> ()</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs.">URLLoader</a> provides an API for loading URLs. </p>
+<p>Refer to <code>ppapi/examples/url_loader/streaming.cc</code> for an example of how to use this class. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a22b752c975a9302efa2eceb20ecf92ed"></a><!-- doxytag: member="pp::URLLoader::URLLoader" ref="a22b752c975a9302efa2eceb20ecf92ed" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_u_r_l_loader.html#a22b752c975a9302efa2eceb20ecf92ed">pp::URLLoader::URLLoader</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor for creating an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> <code><a class="el" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs.">URLLoader</a></code> object. </p>
+</div>
+</div>
+<a class="anchor" id="a187f5a2c8422c072c2a33bca4de9e39d"></a><!-- doxytag: member="pp::URLLoader::URLLoader" ref="a187f5a2c8422c072c2a33bca4de9e39d" args="(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_u_r_l_loader.html#a22b752c975a9302efa2eceb20ecf92ed">pp::URLLoader::URLLoader</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>resource</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used when a <code>PP_Resource</code> is provided as a return value whose reference count we need to increment. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a <code><a class="el" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs.">URLLoader</a></code> resource. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a806606ad9e924708b69ae124b4c9d97d"></a><!-- doxytag: member="pp::URLLoader::URLLoader" ref="a806606ad9e924708b69ae124b4c9d97d" args="(const InstanceHandle &instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_u_r_l_loader.html#a22b752c975a9302efa2eceb20ecf92ed">pp::URLLoader::URLLoader</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used to allocate a new <a class="el" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs.">URLLoader</a> in the browser. </p>
+<p>The resulting object will be <code>is_null</code> if the allocation failed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ac590ce0a1992376bcf154c4e3cce1ab2"></a><!-- doxytag: member="pp::URLLoader::URLLoader" ref="ac590ce0a1992376bcf154c4e3cce1ab2" args="(const URLLoader &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_u_r_l_loader.html#a22b752c975a9302efa2eceb20ecf92ed">pp::URLLoader::URLLoader</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_u_r_l_loader.html">URLLoader</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The copy constructor for <code><a class="el" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs.">URLLoader</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramname">other</td><td>A <code><a class="el" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs.">URLLoader</a></code> to be copied. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a43858cb7d3c64dc37128434e18a2ea1c"></a><!-- doxytag: member="pp::URLLoader::Close" ref="a43858cb7d3c64dc37128434e18a2ea1c" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_u_r_l_loader.html#a43858cb7d3c64dc37128434e18a2ea1c">pp::URLLoader::Close</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function is used to cancel any pending IO and close the <a class="el" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs.">URLLoader</a> object. </p>
+<p>Any pending callbacks will still run, reporting <code>PP_ERROR_ABORTED</code> if pending IO was interrupted. It is NOT valid to call <a class="el" href="classpp_1_1_u_r_l_loader.html#afb72f38f30b94a2d5494225e364395b8" title="This function begins loading the URLRequestInfo.">Open()</a> again after a call to this function.</p>
+<p><b>Note:</b> If the <code><a class="el" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs.">URLLoader</a></code> object is destroyed while it is still open, then it will be implicitly closed so you are not required to call <a class="el" href="classpp_1_1_u_r_l_loader.html#a43858cb7d3c64dc37128434e18a2ea1c" title="This function is used to cancel any pending IO and close the URLLoader object.">Close()</a>. </p>
+</div>
+</div>
+<a class="anchor" id="a2e40e91e7a9ffca3f697497abef843f4"></a><!-- doxytag: member="pp::URLLoader::FinishStreamingToFile" ref="a2e40e91e7a9ffca3f697497abef843f4" args="(const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_u_r_l_loader.html#a2e40e91e7a9ffca3f697497abef843f4">pp::URLLoader::FinishStreamingToFile</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function is used to wait for the response body to be completely downloaded to the file provided by the GetBodyAsFileRef() in the current <code><a class="el" href="classpp_1_1_u_r_l_response_info.html" title="URLResponseInfo provides an API for examining URL responses.">URLResponseInfo</a></code>. </p>
+<p>This function is only used if <code>PP_URLREQUESTPROPERTY_STREAMTOFILE</code> was set on the <code><a class="el" href="classpp_1_1_u_r_l_request_info.html" title="URLRequestInfo provides an API for creating and manipulating URL requests.">URLRequestInfo</a></code> passed to <a class="el" href="classpp_1_1_u_r_l_loader.html#afb72f38f30b94a2d5494225e364395b8" title="This function begins loading the URLRequestInfo.">Open()</a>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to run on asynchronous completion. This callback will run when body is downloaded or an error occurs after <a class="el" href="classpp_1_1_u_r_l_loader.html#a2e40e91e7a9ffca3f697497abef843f4" title="This function is used to wait for the response body to be completely downloaded to the file provided ...">FinishStreamingToFile()</a> returns <code>PP_OK_COMPLETIONPENDING</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing the number of bytes read or an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a411a79d6e9e5335ce31d187d137420af"></a><!-- doxytag: member="pp::URLLoader::FollowRedirect" ref="a411a79d6e9e5335ce31d187d137420af" args="(const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_u_r_l_loader.html#a411a79d6e9e5335ce31d187d137420af">pp::URLLoader::FollowRedirect</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function can be invoked to follow a redirect after <a class="el" href="classpp_1_1_u_r_l_loader.html#afb72f38f30b94a2d5494225e364395b8" title="This function begins loading the URLRequestInfo.">Open()</a> completed on receiving redirect headers. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to run on asynchronous completion of <a class="el" href="classpp_1_1_u_r_l_loader.html#a411a79d6e9e5335ce31d187d137420af" title="This function can be invoked to follow a redirect after Open() completed on receiving redirect header...">FollowRedirect()</a>. This callback will run when response headers for the redirect url are received or error occurred. This callback will only run if <a class="el" href="classpp_1_1_u_r_l_loader.html#a411a79d6e9e5335ce31d187d137420af" title="This function can be invoked to follow a redirect after Open() completed on receiving redirect header...">FollowRedirect()</a> returns <code>PP_OK_COMPLETIONPENDING</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ada4a1757e7883912626e2ece85ec1c53"></a><!-- doxytag: member="pp::URLLoader::GetDownloadProgress" ref="ada4a1757e7883912626e2ece85ec1c53" args="(int64_t *bytes_received, int64_t *total_bytes_to_be_received) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_loader.html#ada4a1757e7883912626e2ece85ec1c53">pp::URLLoader::GetDownloadProgress</a> </td>
+<td>(</td>
+<td class="paramtype">int64_t * </td>
+<td class="paramname"><em>bytes_received</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int64_t * </td>
+<td class="paramname"><em>total_bytes_to_be_received</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function returns the current download progress, which is meaningful after <a class="el" href="classpp_1_1_u_r_l_loader.html#afb72f38f30b94a2d5494225e364395b8" title="This function begins loading the URLRequestInfo.">Open()</a> has been called. </p>
+<p>Progress only refers to the response body and does not include the headers.</p>
+<p>This data is only available if the <code><a class="el" href="classpp_1_1_u_r_l_request_info.html" title="URLRequestInfo provides an API for creating and manipulating URL requests.">URLRequestInfo</a></code> passed to <a class="el" href="classpp_1_1_u_r_l_loader.html#afb72f38f30b94a2d5494225e364395b8" title="This function begins loading the URLRequestInfo.">Open()</a> had the <code>PP_URLREQUESTPROPERTY_REPORTDOWNLOADPROGRESS</code> property set to PP_TRUE.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">bytes_received</td><td>The number of bytes received thus far. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">total_bytes_to_be_received</td><td>The total number of bytes to be received. The total bytes to be received may be unknown, in which case <code>total_bytes_to_be_received</code> will be set to -1.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the download progress is available, false if it is not available. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a92757c9e1261280cb4f8fd65e0c8df6f"></a><!-- doxytag: member="pp::URLLoader::GetResponseInfo" ref="a92757c9e1261280cb4f8fd65e0c8df6f" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_u_r_l_response_info.html">URLResponseInfo</a> <a class="el" href="classpp_1_1_u_r_l_loader.html#a92757c9e1261280cb4f8fd65e0c8df6f">pp::URLLoader::GetResponseInfo</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This is a function that returns the current <code><a class="el" href="classpp_1_1_u_r_l_response_info.html" title="URLResponseInfo provides an API for examining URL responses.">URLResponseInfo</a></code> object. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_u_r_l_response_info.html" title="URLResponseInfo provides an API for examining URL responses.">URLResponseInfo</a></code> corresponding to the <code><a class="el" href="classpp_1_1_u_r_l_response_info.html" title="URLResponseInfo provides an API for examining URL responses.">URLResponseInfo</a></code> if successful, an <code>is_null</code> object if the loader is not a valid resource or if <a class="el" href="classpp_1_1_u_r_l_loader.html#afb72f38f30b94a2d5494225e364395b8" title="This function begins loading the URLRequestInfo.">Open()</a> has not been called. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a5e3723f5c5d10394329899f75121faf1"></a><!-- doxytag: member="pp::URLLoader::GetUploadProgress" ref="a5e3723f5c5d10394329899f75121faf1" args="(int64_t *bytes_sent, int64_t *total_bytes_to_be_sent) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_loader.html#a5e3723f5c5d10394329899f75121faf1">pp::URLLoader::GetUploadProgress</a> </td>
+<td>(</td>
+<td class="paramtype">int64_t * </td>
+<td class="paramname"><em>bytes_sent</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int64_t * </td>
+<td class="paramname"><em>total_bytes_to_be_sent</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function returns the current upload progress (which is only meaningful after <a class="el" href="classpp_1_1_u_r_l_loader.html#afb72f38f30b94a2d5494225e364395b8" title="This function begins loading the URLRequestInfo.">Open()</a> has been called). </p>
+<p>Progress only refers to the request body and does not include the headers.</p>
+<p>This data is only available if the <code><a class="el" href="classpp_1_1_u_r_l_request_info.html" title="URLRequestInfo provides an API for creating and manipulating URL requests.">URLRequestInfo</a></code> passed to <a class="el" href="classpp_1_1_u_r_l_loader.html#afb72f38f30b94a2d5494225e364395b8" title="This function begins loading the URLRequestInfo.">Open()</a> had the <code>PP_URLREQUESTPROPERTY_REPORTUPLOADPROGRESS</code> property set to <code>PP_TRUE</code>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">bytes_sent</td><td>The number of bytes sent thus far. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">total_bytes_to_be_sent</td><td>The total number of bytes to be sent.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the upload progress is available, false if it is not available. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="afb72f38f30b94a2d5494225e364395b8"></a><!-- doxytag: member="pp::URLLoader::Open" ref="afb72f38f30b94a2d5494225e364395b8" args="(const URLRequestInfo &request_info, const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_u_r_l_loader.html#afb72f38f30b94a2d5494225e364395b8">pp::URLLoader::Open</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_u_r_l_request_info.html">URLRequestInfo</a> & </td>
+<td class="paramname"><em>request_info</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function begins loading the <code><a class="el" href="classpp_1_1_u_r_l_request_info.html" title="URLRequestInfo provides an API for creating and manipulating URL requests.">URLRequestInfo</a></code>. </p>
+<p>The operation completes when response headers are received or when an error occurs. Use <a class="el" href="classpp_1_1_u_r_l_loader.html#a92757c9e1261280cb4f8fd65e0c8df6f" title="This is a function that returns the current URLResponseInfo object.">GetResponseInfo()</a> to access the response headers.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">request_info</td><td>A <code><a class="el" href="classpp_1_1_u_r_l_request_info.html" title="URLRequestInfo provides an API for creating and manipulating URL requests.">URLRequestInfo</a></code> corresponding to a <a class="el" href="classpp_1_1_u_r_l_request_info.html" title="URLRequestInfo provides an API for creating and manipulating URL requests.">URLRequestInfo</a>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to run on asynchronous completion of <a class="el" href="classpp_1_1_u_r_l_loader.html#afb72f38f30b94a2d5494225e364395b8" title="This function begins loading the URLRequestInfo.">Open()</a>. This callback will run when response headers for the url are received or error occurred. This callback will only run if <a class="el" href="classpp_1_1_u_r_l_loader.html#afb72f38f30b94a2d5494225e364395b8" title="This function begins loading the URLRequestInfo.">Open()</a> returns <code>PP_OK_COMPLETIONPENDING</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a907697c3c268a68eb3b4ca341aea4812"></a><!-- doxytag: member="pp::URLLoader::ReadResponseBody" ref="a907697c3c268a68eb3b4ca341aea4812" args="(void *buffer, int32_t bytes_to_read, const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_u_r_l_loader.html#a907697c3c268a68eb3b4ca341aea4812">pp::URLLoader::ReadResponseBody</a> </td>
+<td>(</td>
+<td class="paramtype">void * </td>
+<td class="paramname"><em>buffer</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>bytes_to_read</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function is used to read the response body. </p>
+<p>The size of the buffer must be large enough to hold the specified number of bytes to read. This function might perform a partial read.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in,out]</td><td class="paramname">buffer</td><td>A pointer to the buffer for the response body. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">bytes_to_read</td><td>The number of bytes to read. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to run on asynchronous completion. The callback will run if the bytes (full or partial) are read or an error occurs asynchronously. This callback will run only if this function returns <code>PP_OK_COMPLETIONPENDING</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing the number of bytes read or an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="url__loader_8h.html">url_loader.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_u_r_l_loader__inherit__graph.png b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_u_r_l_loader__inherit__graph.png
new file mode 100644
index 0000000..49e12dc
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_u_r_l_loader__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_u_r_l_request_info-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_u_r_l_request_info-members.html
new file mode 100644
index 0000000..74f0ff2
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_u_r_l_request_info-members.html
@@ -0,0 +1,45 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#ab16f2efba1f2ddc434e2fc860dcbe900">AppendDataToBody</a>(const void *data, uint32_t len)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#a1ae72c8ac65a6cd6c174c8df238038fd">AppendFileRangeToBody</a>(const FileRef &file_ref, int64_t start_offset, int64_t length, PP_Time expected_last_modified_time=0)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#af19afd7e5849e68497f1e4f4b7400995">AppendFileToBody</a>(const FileRef &file_ref, PP_Time expected_last_modified_time=0)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#afa23501e503ee1787c4663d74f00d0c4">SetAllowCredentials</a>(bool enable)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#a39a5000e734a378d412fbe87e38dabe4">SetAllowCrossOriginRequests</a>(bool enable)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#af25b7f4b3aa00af49140921d28fa09c9">SetCustomContentTransferEncoding</a>(const Var &content_transfer_encoding)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#af6232dbb546c37c5438fadbada30353a">SetCustomReferrerURL</a>(const Var &url)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#aaaf79f763cd4d72c8507c2fa19b7fcaf">SetCustomUserAgent</a>(const Var &user_agent)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#a72dd5d3b335a429af0ffa266e338a110">SetFollowRedirects</a>(bool enable)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#a7105409f66e2eb5595eec0e0ae07c4f6">SetHeaders</a>(const Var &headers_string)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#abf4024d196a5139dbca2e95b9ab9bdb6">SetMethod</a>(const Var &method_string)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#a498fc64ad75ed2d44e33f2fdb3c0cad3">SetPrefetchBufferLowerThreshold</a>(int32_t size)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#aa2c6bb4f07e5372bd4b0ed49f9b67990">SetPrefetchBufferUpperThreshold</a>(int32_t size)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#a679c2c4a7247e0b0985595c24e61cf9c">SetProperty</a>(PP_URLRequestProperty property, const Var &value)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#aca69393ce31673c1cc5407d15774e310">SetRecordDownloadProgress</a>(bool enable)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#a52cfef994077173627a809bdf891e01a">SetRecordUploadProgress</a>(bool enable)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#a7bd36cb47bc0bc3579292f81581359b8">SetStreamToFile</a>(bool enable)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#a97cdeb02a63922704d47c585a4e2baaf">SetURL</a>(const Var &url_string)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#afd2068e004d90104cdc8472756d6131d">URLRequestInfo</a>()</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#a95ae0d638a82bcd18318ae6340735321">URLRequestInfo</a>(const InstanceHandle &instance)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#a6f52f41f98fa5917addd412417b7d5d4">URLRequestInfo</a>(const URLRequestInfo &other)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_u_r_l_request_info.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_u_r_l_request_info.html
new file mode 100644
index 0000000..52f67421
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_u_r_l_request_info.html
@@ -0,0 +1,624 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::URLRequestInfo Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::URLRequestInfo" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::URLRequestInfo:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_u_r_l_request_info__inherit__graph.png" border="0" usemap="#pp_1_1_u_r_l_request_info_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_u_r_l_request_info_inherit__map" id="pp_1_1_u_r_l_request_info_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="25,5,129,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_u_r_l_request_info-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#afd2068e004d90104cdc8472756d6131d">URLRequestInfo</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#a95ae0d638a82bcd18318ae6340735321">URLRequestInfo</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#a6f52f41f98fa5917addd412417b7d5d4">URLRequestInfo</a> (const <a class="el" href="classpp_1_1_u_r_l_request_info.html">URLRequestInfo</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#a679c2c4a7247e0b0985595c24e61cf9c">SetProperty</a> (PP_URLRequestProperty property, const <a class="el" href="classpp_1_1_var.html">Var</a> &value)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#ab16f2efba1f2ddc434e2fc860dcbe900">AppendDataToBody</a> (const void *data, uint32_t len)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#af19afd7e5849e68497f1e4f4b7400995">AppendFileToBody</a> (const <a class="el" href="classpp_1_1_file_ref.html">FileRef</a> &file_ref, PP_Time expected_last_modified_time=0)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#a1ae72c8ac65a6cd6c174c8df238038fd">AppendFileRangeToBody</a> (const <a class="el" href="classpp_1_1_file_ref.html">FileRef</a> &file_ref, int64_t start_offset, int64_t length, PP_Time expected_last_modified_time=0)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#a97cdeb02a63922704d47c585a4e2baaf">SetURL</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &url_string)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#abf4024d196a5139dbca2e95b9ab9bdb6">SetMethod</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &method_string)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#a7105409f66e2eb5595eec0e0ae07c4f6">SetHeaders</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &headers_string)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#a7bd36cb47bc0bc3579292f81581359b8">SetStreamToFile</a> (bool enable)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#a72dd5d3b335a429af0ffa266e338a110">SetFollowRedirects</a> (bool enable)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#aca69393ce31673c1cc5407d15774e310">SetRecordDownloadProgress</a> (bool enable)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#a52cfef994077173627a809bdf891e01a">SetRecordUploadProgress</a> (bool enable)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#af6232dbb546c37c5438fadbada30353a">SetCustomReferrerURL</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &url)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#a39a5000e734a378d412fbe87e38dabe4">SetAllowCrossOriginRequests</a> (bool enable)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#afa23501e503ee1787c4663d74f00d0c4">SetAllowCredentials</a> (bool enable)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#af25b7f4b3aa00af49140921d28fa09c9">SetCustomContentTransferEncoding</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &content_transfer_encoding)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#aa2c6bb4f07e5372bd4b0ed49f9b67990">SetPrefetchBufferUpperThreshold</a> (int32_t size)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#a498fc64ad75ed2d44e33f2fdb3c0cad3">SetPrefetchBufferLowerThreshold</a> (int32_t size)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#aaaf79f763cd4d72c8507c2fa19b7fcaf">SetCustomUserAgent</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &user_agent)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="classpp_1_1_u_r_l_request_info.html" title="URLRequestInfo provides an API for creating and manipulating URL requests.">URLRequestInfo</a> provides an API for creating and manipulating URL requests. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="afd2068e004d90104cdc8472756d6131d"></a><!-- doxytag: member="pp::URLRequestInfo::URLRequestInfo" ref="afd2068e004d90104cdc8472756d6131d" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_u_r_l_request_info.html#afd2068e004d90104cdc8472756d6131d">pp::URLRequestInfo::URLRequestInfo</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor. </p>
+<p>This constructor creates an <code>is_null</code> resource. </p>
+</div>
+</div>
+<a class="anchor" id="a95ae0d638a82bcd18318ae6340735321"></a><!-- doxytag: member="pp::URLRequestInfo::URLRequestInfo" ref="a95ae0d638a82bcd18318ae6340735321" args="(const InstanceHandle &instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_u_r_l_request_info.html#afd2068e004d90104cdc8472756d6131d">pp::URLRequestInfo::URLRequestInfo</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used to allocate a new <code><a class="el" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs.">URLLoader</a></code> in the browser. </p>
+<p>The resulting object will be <code>is_null</code> if the allocation failed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a6f52f41f98fa5917addd412417b7d5d4"></a><!-- doxytag: member="pp::URLRequestInfo::URLRequestInfo" ref="a6f52f41f98fa5917addd412417b7d5d4" args="(const URLRequestInfo &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_u_r_l_request_info.html#afd2068e004d90104cdc8472756d6131d">pp::URLRequestInfo::URLRequestInfo</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_u_r_l_request_info.html">URLRequestInfo</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The copy constructor for <code><a class="el" href="classpp_1_1_u_r_l_request_info.html" title="URLRequestInfo provides an API for creating and manipulating URL requests.">URLRequestInfo</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A <code><a class="el" href="classpp_1_1_u_r_l_request_info.html" title="URLRequestInfo provides an API for creating and manipulating URL requests.">URLRequestInfo</a></code> to be copied. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="ab16f2efba1f2ddc434e2fc860dcbe900"></a><!-- doxytag: member="pp::URLRequestInfo::AppendDataToBody" ref="ab16f2efba1f2ddc434e2fc860dcbe900" args="(const void *data, uint32_t len)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_request_info.html#ab16f2efba1f2ddc434e2fc860dcbe900">pp::URLRequestInfo::AppendDataToBody</a> </td>
+<td>(</td>
+<td class="paramtype">const void * </td>
+<td class="paramname"><em>data</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>len</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_u_r_l_request_info.html#ab16f2efba1f2ddc434e2fc860dcbe900" title="AppendDataToBody() appends data to the request body.">AppendDataToBody()</a> appends data to the request body. </p>
+<p>A content-length request header will be automatically generated.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>A pointer to a buffer holding the data. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>The length, in bytes, of the data.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, false if any of the parameters are invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a1ae72c8ac65a6cd6c174c8df238038fd"></a><!-- doxytag: member="pp::URLRequestInfo::AppendFileRangeToBody" ref="a1ae72c8ac65a6cd6c174c8df238038fd" args="(const FileRef &file_ref, int64_t start_offset, int64_t length, PP_Time expected_last_modified_time=0)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_request_info.html#a1ae72c8ac65a6cd6c174c8df238038fd">pp::URLRequestInfo::AppendFileRangeToBody</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_file_ref.html">FileRef</a> & </td>
+<td class="paramname"><em>file_ref</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int64_t </td>
+<td class="paramname"><em>start_offset</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int64_t </td>
+<td class="paramname"><em>length</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_Time </td>
+<td class="paramname"><em>expected_last_modified_time</em> = <code>0</code> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_u_r_l_request_info.html#a1ae72c8ac65a6cd6c174c8df238038fd" title="AppendFileRangeToBody() is a pointer to a function used to append part or all of a file...">AppendFileRangeToBody()</a> is a pointer to a function used to append part or all of a file, to be uploaded, to the request body. </p>
+<p>A content-length request header will be automatically generated.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_ref</td><td>A <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code> containing the file reference. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">start_offset</td><td>An optional starting point offset within the file. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>An optional number of bytes of the file to be included. If the value is -1, then the sub-range to upload extends to the end of the file. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">expected_last_modified_time</td><td>An optional (non-zero) last modified time stamp used to validate that the file was not modified since the given time before it was uploaded. The upload will fail with an error code of <code>PP_ERROR_FILECHANGED</code> if the file has been modified since the given time. If expected_last_modified_time is 0, then no validation is performed.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, false if any of the parameters are invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="af19afd7e5849e68497f1e4f4b7400995"></a><!-- doxytag: member="pp::URLRequestInfo::AppendFileToBody" ref="af19afd7e5849e68497f1e4f4b7400995" args="(const FileRef &file_ref, PP_Time expected_last_modified_time=0)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_request_info.html#af19afd7e5849e68497f1e4f4b7400995">pp::URLRequestInfo::AppendFileToBody</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_file_ref.html">FileRef</a> & </td>
+<td class="paramname"><em>file_ref</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_Time </td>
+<td class="paramname"><em>expected_last_modified_time</em> = <code>0</code> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_u_r_l_request_info.html#af19afd7e5849e68497f1e4f4b7400995" title="AppendFileToBody() is used to append an entire file, to be uploaded, to the request body...">AppendFileToBody()</a> is used to append an entire file, to be uploaded, to the request body. </p>
+<p>A content-length request header will be automatically generated.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_ref</td><td>A <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code> containing the file reference. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">expected_last_modified_time</td><td>An optional (non-zero) last modified time stamp used to validate that the file was not modified since the given time before it was uploaded. The upload will fail with an error code of <code>PP_ERROR_FILECHANGED</code> if the file has been modified since the given time. If expected_last_modified_time is 0, then no validation is performed.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, false if any of the parameters are invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="afa23501e503ee1787c4663d74f00d0c4"></a><!-- doxytag: member="pp::URLRequestInfo::SetAllowCredentials" ref="afa23501e503ee1787c4663d74f00d0c4" args="(bool enable)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_request_info.html#afa23501e503ee1787c4663d74f00d0c4">pp::URLRequestInfo::SetAllowCredentials</a> </td>
+<td>(</td>
+<td class="paramtype">bool </td>
+<td class="paramname"><em>enable</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_u_r_l_request_info.html#afa23501e503ee1787c4663d74f00d0c4" title="SetAllowCredentials() sets the PP_URLREQUESTPROPERTY_ALLOWCREDENTIALS (corresponding to a bool of typ...">SetAllowCredentials()</a> sets the <code>PP_URLREQUESTPROPERTY_ALLOWCREDENTIALS</code> (corresponding to a bool of type <code>PP_VARTYPE_BOOL</code>). </p>
+<p>The default of the property is false. Whether HTTP credentials are sent with cross-origin requests. If false, no credentials are sent with the request and cookies are ignored in the response. If the request is not cross-origin, this property is ignored.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">enable</td><td>A <code>bool</code> containing the property value.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, false if the parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a39a5000e734a378d412fbe87e38dabe4"></a><!-- doxytag: member="pp::URLRequestInfo::SetAllowCrossOriginRequests" ref="a39a5000e734a378d412fbe87e38dabe4" args="(bool enable)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_request_info.html#a39a5000e734a378d412fbe87e38dabe4">pp::URLRequestInfo::SetAllowCrossOriginRequests</a> </td>
+<td>(</td>
+<td class="paramtype">bool </td>
+<td class="paramname"><em>enable</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_u_r_l_request_info.html#a39a5000e734a378d412fbe87e38dabe4" title="SetAllowCrossOriginRequests() sets the PP_URLREQUESTPROPERTY_ALLOWCROSSORIGINREQUESTS (corresponding ...">SetAllowCrossOriginRequests()</a> sets the <code>PP_URLREQUESTPROPERTY_ALLOWCROSSORIGINREQUESTS</code> (corresponding to a bool of type <code>PP_VARTYPE_BOOL</code>). </p>
+<p>The default of the property is false. Whether cross-origin requests are allowed. Cross-origin requests are made using the CORS (Cross-Origin <a class="el" href="classpp_1_1_resource.html" title="A reference counted module resource.">Resource</a> Sharing) algorithm to check whether the request should be allowed. For the complete CORS algorithm, refer to the <a href="http://www.w3.org/TR/access-control">Cross-Origin Resource Sharing</a> documentation.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">enable</td><td>A <code>bool</code> containing the property value.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, false if the parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="af25b7f4b3aa00af49140921d28fa09c9"></a><!-- doxytag: member="pp::URLRequestInfo::SetCustomContentTransferEncoding" ref="af25b7f4b3aa00af49140921d28fa09c9" args="(const Var &content_transfer_encoding)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_request_info.html#af25b7f4b3aa00af49140921d28fa09c9">pp::URLRequestInfo::SetCustomContentTransferEncoding</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>content_transfer_encoding</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_u_r_l_request_info.html#af25b7f4b3aa00af49140921d28fa09c9" title="SetCustomContentTransferEncoding() sets the PP_URLREQUESTPROPERTY_CUSTOMCONTENTTRANSFERENCODING (corr...">SetCustomContentTransferEncoding()</a> sets the <code>PP_URLREQUESTPROPERTY_CUSTOMCONTENTTRANSFERENCODING</code> (corresponding to a string of type <code>PP_VARTYPE_STRING</code> or might be set to undefined as <code>PP_VARTYPE_UNDEFINED</code>). </p>
+<p>Set it to a string to set a custom content-transfer-encoding header (if empty, that header will be omitted), or to undefined to use the default (if any). Only loaders with universal access (only available on trusted implementations) will accept <code><a class="el" href="classpp_1_1_u_r_l_request_info.html" title="URLRequestInfo provides an API for creating and manipulating URL requests.">URLRequestInfo</a></code> objects that try to set a custom content transfer encoding; if given to a loader without universal access, <code>PP_ERROR_BADARGUMENT</code> will result.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">content_transfer_encoding</td><td>A <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing the property value. To use the default content transfer encoding, set <code>content_transfer_encoding</code> to an undefined <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, false if the parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="af6232dbb546c37c5438fadbada30353a"></a><!-- doxytag: member="pp::URLRequestInfo::SetCustomReferrerURL" ref="af6232dbb546c37c5438fadbada30353a" args="(const Var &url)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_request_info.html#af6232dbb546c37c5438fadbada30353a">pp::URLRequestInfo::SetCustomReferrerURL</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>url</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_u_r_l_request_info.html#af6232dbb546c37c5438fadbada30353a" title="SetCustomReferrerURL() sets the PP_URLREQUESTPROPERTY_CUSTOMREFERRERURL (corresponding to a string of...">SetCustomReferrerURL()</a> sets the <code>PP_URLREQUESTPROPERTY_CUSTOMREFERRERURL</code> (corresponding to a string of type <code>PP_VARTYPE_STRING</code> or might be set to undefined as <code>PP_VARTYPE_UNDEFINED</code>). </p>
+<p>Set it to a string to set a custom referrer (if empty, the referrer header will be omitted), or to undefined to use the default referrer. Only loaders with universal access (only available on trusted implementations) will accept <code><a class="el" href="classpp_1_1_u_r_l_request_info.html" title="URLRequestInfo provides an API for creating and manipulating URL requests.">URLRequestInfo</a></code> objects that try to set a custom referrer; if given to a loader without universal access, <code>PP_ERROR_BADARGUMENT</code> will result.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">url</td><td>A <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing the property value.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, false if the parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aaaf79f763cd4d72c8507c2fa19b7fcaf"></a><!-- doxytag: member="pp::URLRequestInfo::SetCustomUserAgent" ref="aaaf79f763cd4d72c8507c2fa19b7fcaf" args="(const Var &user_agent)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_request_info.html#aaaf79f763cd4d72c8507c2fa19b7fcaf">pp::URLRequestInfo::SetCustomUserAgent</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>user_agent</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_u_r_l_request_info.html#aaaf79f763cd4d72c8507c2fa19b7fcaf" title="SetCustomUserAgent() sets the PP_URLREQUESTPROPERTY_CUSTOMUSERAGENT (corresponding to a string of typ...">SetCustomUserAgent()</a> sets the <code>PP_URLREQUESTPROPERTY_CUSTOMUSERAGENT</code> (corresponding to a string of type <code>PP_VARTYPE_STRING</code> or might be set to undefined as <code>PP_VARTYPE_UNDEFINED</code>). </p>
+<p>Set it to a string to set a custom user-agent header (if empty, that header will be omitted), or to undefined to use the default. Only loaders with universal access (only available on trusted implementations) will accept <code><a class="el" href="classpp_1_1_u_r_l_request_info.html" title="URLRequestInfo provides an API for creating and manipulating URL requests.">URLRequestInfo</a></code> objects that try to set a custom user agent; if given to a loader without universal access, <code>PP_ERROR_BADARGUMENT</code> will result.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">user_agent</td><td>A <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing the property value. To use the default user agent, set <code>user_agent</code> to an undefined <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, false if the parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a72dd5d3b335a429af0ffa266e338a110"></a><!-- doxytag: member="pp::URLRequestInfo::SetFollowRedirects" ref="a72dd5d3b335a429af0ffa266e338a110" args="(bool enable)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_request_info.html#a72dd5d3b335a429af0ffa266e338a110">pp::URLRequestInfo::SetFollowRedirects</a> </td>
+<td>(</td>
+<td class="paramtype">bool </td>
+<td class="paramname"><em>enable</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_u_r_l_request_info.html#a72dd5d3b335a429af0ffa266e338a110" title="SetFollowRedirects() sets the PP_URLREQUESTPROPERTY_FOLLOWREDIRECT (corresponding to a bool of type P...">SetFollowRedirects()</a> sets the <code>PP_URLREQUESTPROPERTY_FOLLOWREDIRECT</code> (corresponding to a bool of type <code>PP_VARTYPE_BOOL</code>). </p>
+<p>The default of the property is true. Set this value to false if you want to use URLLoader::FollowRedirects() to follow the redirects only after examining redirect headers.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">enable</td><td>A <code>bool</code> containing the property value.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, false if the parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a7105409f66e2eb5595eec0e0ae07c4f6"></a><!-- doxytag: member="pp::URLRequestInfo::SetHeaders" ref="a7105409f66e2eb5595eec0e0ae07c4f6" args="(const Var &headers_string)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_request_info.html#a7105409f66e2eb5595eec0e0ae07c4f6">pp::URLRequestInfo::SetHeaders</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>headers_string</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_u_r_l_request_info.html#a7105409f66e2eb5595eec0e0ae07c4f6" title="SetHeaders() sets the PP_URLREQUESTPROPERTY_HEADERS (corresponding to a delimited string of type PP...">SetHeaders()</a> sets the <code>PP_URLREQUESTPROPERTY_HEADERS</code> (corresponding to a <code><br />
+</code> delimited string of type <code>PP_VARTYPE_STRING</code>) property for the request. </p>
+<p>Refer to the <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html"Header Field Definitions documentation for further information.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">headers_string</td><td>A <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing the property value.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, false if the parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="abf4024d196a5139dbca2e95b9ab9bdb6"></a><!-- doxytag: member="pp::URLRequestInfo::SetMethod" ref="abf4024d196a5139dbca2e95b9ab9bdb6" args="(const Var &method_string)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_request_info.html#abf4024d196a5139dbca2e95b9ab9bdb6">pp::URLRequestInfo::SetMethod</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>method_string</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_u_r_l_request_info.html#abf4024d196a5139dbca2e95b9ab9bdb6" title="SetMethod() sets the PP_URLREQUESTPROPERTY_METHOD (corresponding to a string of type PP_VARTYPE_STRIN...">SetMethod()</a> sets the <code>PP_URLREQUESTPROPERTY_METHOD</code> (corresponding to a string of type <code>PP_VARTYPE_STRING</code>) property for the request. </p>
+<p>This string is either a POST or GET. Refer to the <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html">HTTP Methods</a> documentation for further information.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">method_string</td><td>A <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing the property value.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, false if the parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a498fc64ad75ed2d44e33f2fdb3c0cad3"></a><!-- doxytag: member="pp::URLRequestInfo::SetPrefetchBufferLowerThreshold" ref="a498fc64ad75ed2d44e33f2fdb3c0cad3" args="(int32_t size)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_request_info.html#a498fc64ad75ed2d44e33f2fdb3c0cad3">pp::URLRequestInfo::SetPrefetchBufferLowerThreshold</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>size</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_u_r_l_request_info.html#a498fc64ad75ed2d44e33f2fdb3c0cad3" title="SetPrefetchBufferLowerThreshold() sets the PP_URLREQUESTPROPERTY_PREFETCHBUFFERLOWERTHRESHOLD (corres...">SetPrefetchBufferLowerThreshold()</a> sets the <code>PP_URLREQUESTPROPERTY_PREFETCHBUFFERLOWERTHRESHOLD</code> (corresponding to a integer of type <code>PP_VARTYPE_INT32</code>). </p>
+<p>The default is not defined and is set by the browser to a value appropriate for the default <code>PP_URLREQUESTPROPERTY_PREFETCHBUFFERUPPERTHRESHOLD</code>. Set it to an integer to set a lower threshold for the prefetched buffer of an asynchronous load. When reached, the browser will resume loading if If <code>PP_URLREQUESTPROPERTY_PREFETCHBUFFERLOWERERTHRESHOLD</code> had previously been reached. When setting this property, <code>PP_URLREQUESTPROPERTY_PREFETCHBUFFERUPPERTHRESHOLD</code> must also be set. Behavior is undefined if the former is >= the latter.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>An int32_t containing the property value.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, false if the parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aa2c6bb4f07e5372bd4b0ed49f9b67990"></a><!-- doxytag: member="pp::URLRequestInfo::SetPrefetchBufferUpperThreshold" ref="aa2c6bb4f07e5372bd4b0ed49f9b67990" args="(int32_t size)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_request_info.html#aa2c6bb4f07e5372bd4b0ed49f9b67990">pp::URLRequestInfo::SetPrefetchBufferUpperThreshold</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>size</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_u_r_l_request_info.html#aa2c6bb4f07e5372bd4b0ed49f9b67990" title="SetPrefetchBufferUpperThreshold() sets the PP_URLREQUESTPROPERTY_PREFETCHBUFFERUPPERTHRESHOLD (corres...">SetPrefetchBufferUpperThreshold()</a> sets the <code>PP_URLREQUESTPROPERTY_PREFETCHBUFFERUPPERTHRESHOLD</code> (corresponding to a integer of type <code>PP_VARTYPE_INT32</code>). </p>
+<p>The default is not defined and is set by the browser possibly depending on system capabilities. Set it to an integer to set an upper threshold for the prefetched buffer of an asynchronous load. When exceeded, the browser will defer loading until <code>PP_URLREQUESTPROPERTY_PREFETCHBUFFERLOWERERTHRESHOLD</code> is hit, at which time it will begin prefetching again. When setting this property, <code>PP_URLREQUESTPROPERTY_PREFETCHBUFFERLOWERERTHRESHOLD</code> must also be set. Behavior is undefined if the former is <= the latter.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>An int32_t containing the property value.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, false if the parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a679c2c4a7247e0b0985595c24e61cf9c"></a><!-- doxytag: member="pp::URLRequestInfo::SetProperty" ref="a679c2c4a7247e0b0985595c24e61cf9c" args="(PP_URLRequestProperty property, const Var &value)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_request_info.html#a679c2c4a7247e0b0985595c24e61cf9c">pp::URLRequestInfo::SetProperty</a> </td>
+<td>(</td>
+<td class="paramtype">PP_URLRequestProperty </td>
+<td class="paramname"><em>property</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>value</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_u_r_l_request_info.html#a679c2c4a7247e0b0985595c24e61cf9c" title="SetProperty() sets a request property.">SetProperty()</a> sets a request property. </p>
+<p>The value of the property must be the correct type according to the property being set.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">property</td><td>A <code>PP_URLRequestProperty</code> identifying the property to set. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>A <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing the property value.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, false if any of the parameters are invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aca69393ce31673c1cc5407d15774e310"></a><!-- doxytag: member="pp::URLRequestInfo::SetRecordDownloadProgress" ref="aca69393ce31673c1cc5407d15774e310" args="(bool enable)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_request_info.html#aca69393ce31673c1cc5407d15774e310">pp::URLRequestInfo::SetRecordDownloadProgress</a> </td>
+<td>(</td>
+<td class="paramtype">bool </td>
+<td class="paramname"><em>enable</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_u_r_l_request_info.html#aca69393ce31673c1cc5407d15774e310" title="SetRecordDownloadProgress() sets the PP_URLREQUESTPROPERTY_RECORDDOWNLOADPROGESS (corresponding to a ...">SetRecordDownloadProgress()</a> sets the <code>PP_URLREQUESTPROPERTY_RECORDDOWNLOADPROGESS</code> (corresponding to a bool of type <code>PP_VARTYPE_BOOL</code>). </p>
+<p>The default of the property is false. Set this value to true if you want to be able to poll the download progress using <a class="el" href="classpp_1_1_u_r_l_loader.html#ada4a1757e7883912626e2ece85ec1c53" title="This function returns the current download progress, which is meaningful after Open() has been called...">URLLoader::GetDownloadProgress()</a>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">enable</td><td>A <code>bool</code> containing the property value.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, false if the parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a52cfef994077173627a809bdf891e01a"></a><!-- doxytag: member="pp::URLRequestInfo::SetRecordUploadProgress" ref="a52cfef994077173627a809bdf891e01a" args="(bool enable)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_request_info.html#a52cfef994077173627a809bdf891e01a">pp::URLRequestInfo::SetRecordUploadProgress</a> </td>
+<td>(</td>
+<td class="paramtype">bool </td>
+<td class="paramname"><em>enable</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_u_r_l_request_info.html#a52cfef994077173627a809bdf891e01a" title="SetRecordUploadProgress() sets the PP_URLREQUESTPROPERTY_RECORDUPLOADPROGRESS (corresponding to a boo...">SetRecordUploadProgress()</a> sets the <code>PP_URLREQUESTPROPERTY_RECORDUPLOADPROGRESS</code> (corresponding to a bool of type <code>PP_VARTYPE_BOOL</code>). </p>
+<p>The default of the property is false. Set this value to true if you want to be able to poll the upload progress using <a class="el" href="classpp_1_1_u_r_l_loader.html#a5e3723f5c5d10394329899f75121faf1" title="This function returns the current upload progress (which is only meaningful after Open() has been cal...">URLLoader::GetUploadProgress()</a>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">enable</td><td>A <code>bool</code> containing the property value.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, false if the parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a7bd36cb47bc0bc3579292f81581359b8"></a><!-- doxytag: member="pp::URLRequestInfo::SetStreamToFile" ref="a7bd36cb47bc0bc3579292f81581359b8" args="(bool enable)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_request_info.html#a7bd36cb47bc0bc3579292f81581359b8">pp::URLRequestInfo::SetStreamToFile</a> </td>
+<td>(</td>
+<td class="paramtype">bool </td>
+<td class="paramname"><em>enable</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_u_r_l_request_info.html#a7bd36cb47bc0bc3579292f81581359b8" title="SetStreamToFile() sets the PP_URLREQUESTPROPERTY_STREAMTOFILE (corresponding to a bool of type PP_VAR...">SetStreamToFile()</a> sets the <code>PP_URLREQUESTPROPERTY_STREAMTOFILE</code> (corresponding to a bool of type <code>PP_VARTYPE_BOOL</code>). </p>
+<p>The default of the property is false. Set this value to true if you want to download the data to a file. Use URL_Loader::FinishStreamingToFile() to complete the download.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">enable</td><td>A <code>bool</code> containing the property value.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, false if the parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a97cdeb02a63922704d47c585a4e2baaf"></a><!-- doxytag: member="pp::URLRequestInfo::SetURL" ref="a97cdeb02a63922704d47c585a4e2baaf" args="(const Var &url_string)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_request_info.html#a97cdeb02a63922704d47c585a4e2baaf">pp::URLRequestInfo::SetURL</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>url_string</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_u_r_l_request_info.html#a97cdeb02a63922704d47c585a4e2baaf" title="SetURL() sets the PP_URLREQUESTPROPERTY_URL property for the request.">SetURL()</a> sets the <code>PP_URLREQUESTPROPERTY_URL</code> property for the request. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">url_string</td><td>A <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing the property value.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, false if the parameter is invalid. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="url__request__info_8h.html">url_request_info.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_u_r_l_request_info__inherit__graph.png b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_u_r_l_request_info__inherit__graph.png
new file mode 100644
index 0000000..d1a4f77e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_u_r_l_request_info__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_u_r_l_response_info-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_u_r_l_response_info-members.html
new file mode 100644
index 0000000..8befbd9b
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_u_r_l_response_info-members.html
@@ -0,0 +1,35 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_u_r_l_response_info.html">pp::URLResponseInfo</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_response_info.html#a77debd316d7b575b6cae43cb1bb14cbc">GetBodyAsFileRef</a>() const </td><td><a class="el" href="classpp_1_1_u_r_l_response_info.html">pp::URLResponseInfo</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_response_info.html#ae1fbc3ec4025534fbbf7e152af8308c7">GetHeaders</a>() const </td><td><a class="el" href="classpp_1_1_u_r_l_response_info.html">pp::URLResponseInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_response_info.html#ac30d83aa38148e6d90f3c22ab01b10dc">GetProperty</a>(PP_URLResponseProperty property) const </td><td><a class="el" href="classpp_1_1_u_r_l_response_info.html">pp::URLResponseInfo</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_response_info.html#a3ae355f52b46a6d2e65fed19bfcec323">GetRedirectMethod</a>() const </td><td><a class="el" href="classpp_1_1_u_r_l_response_info.html">pp::URLResponseInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_response_info.html#a6c25ffe56f7d9da0817fd84346bbaf10">GetRedirectURL</a>() const </td><td><a class="el" href="classpp_1_1_u_r_l_response_info.html">pp::URLResponseInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_response_info.html#aa7d27c0d6af582dc374461c8d0f868b3">GetStatusCode</a>() const </td><td><a class="el" href="classpp_1_1_u_r_l_response_info.html">pp::URLResponseInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_response_info.html#aa6b506dff751344d0b85f596ab1a41a8">GetStatusLine</a>() const </td><td><a class="el" href="classpp_1_1_u_r_l_response_info.html">pp::URLResponseInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_response_info.html#ad53acecc41062e0b60167b78c268a0bb">GetURL</a>() const </td><td><a class="el" href="classpp_1_1_u_r_l_response_info.html">pp::URLResponseInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_response_info.html#a239b1eb1076f2da6c75af416c8f02e6b">URLResponseInfo</a>()</td><td><a class="el" href="classpp_1_1_u_r_l_response_info.html">pp::URLResponseInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_response_info.html#a157bf323368bc4b7e63ce604ecc272c1">URLResponseInfo</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_u_r_l_response_info.html">pp::URLResponseInfo</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_response_info.html#aa2fb382084c248e56dffb09e1191a6f1">URLResponseInfo</a>(const URLResponseInfo &other)</td><td><a class="el" href="classpp_1_1_u_r_l_response_info.html">pp::URLResponseInfo</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_u_r_l_response_info.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_u_r_l_response_info.html
new file mode 100644
index 0000000..77c5bb6
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_u_r_l_response_info.html
@@ -0,0 +1,253 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::URLResponseInfo Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::URLResponseInfo" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::URLResponseInfo:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_u_r_l_response_info__inherit__graph.png" border="0" usemap="#pp_1_1_u_r_l_response_info_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_u_r_l_response_info_inherit__map" id="pp_1_1_u_r_l_response_info_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="31,5,135,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_u_r_l_response_info-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_response_info.html#a239b1eb1076f2da6c75af416c8f02e6b">URLResponseInfo</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_response_info.html#a157bf323368bc4b7e63ce604ecc272c1">URLResponseInfo</a> (<a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a>, PP_Resource resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_response_info.html#aa2fb382084c248e56dffb09e1191a6f1">URLResponseInfo</a> (const <a class="el" href="classpp_1_1_u_r_l_response_info.html">URLResponseInfo</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_response_info.html#ac30d83aa38148e6d90f3c22ab01b10dc">GetProperty</a> (PP_URLResponseProperty property) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_file_ref.html">FileRef</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_response_info.html#a77debd316d7b575b6cae43cb1bb14cbc">GetBodyAsFileRef</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_response_info.html#ad53acecc41062e0b60167b78c268a0bb">GetURL</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_response_info.html#a6c25ffe56f7d9da0817fd84346bbaf10">GetRedirectURL</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_response_info.html#a3ae355f52b46a6d2e65fed19bfcec323">GetRedirectMethod</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_response_info.html#aa7d27c0d6af582dc374461c8d0f868b3">GetStatusCode</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_response_info.html#aa6b506dff751344d0b85f596ab1a41a8">GetStatusLine</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_response_info.html#ae1fbc3ec4025534fbbf7e152af8308c7">GetHeaders</a> () const </td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="classpp_1_1_u_r_l_response_info.html" title="URLResponseInfo provides an API for examining URL responses.">URLResponseInfo</a> provides an API for examining URL responses. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a239b1eb1076f2da6c75af416c8f02e6b"></a><!-- doxytag: member="pp::URLResponseInfo::URLResponseInfo" ref="a239b1eb1076f2da6c75af416c8f02e6b" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_u_r_l_response_info.html#a239b1eb1076f2da6c75af416c8f02e6b">pp::URLResponseInfo::URLResponseInfo</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor. </p>
+<p>This constructor creates an <code>is_null</code> resource. </p>
+</div>
+</div>
+<a class="anchor" id="a157bf323368bc4b7e63ce604ecc272c1"></a><!-- doxytag: member="pp::URLResponseInfo::URLResponseInfo" ref="a157bf323368bc4b7e63ce604ecc272c1" args="(PassRef, PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_u_r_l_response_info.html#a239b1eb1076f2da6c75af416c8f02e6b">pp::URLResponseInfo::URLResponseInfo</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a> </td>
+<td class="paramname">, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>resource</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used when you have received a <code>PP_Resource</code> as a return value that has already been reference counted. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a resource. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="aa2fb382084c248e56dffb09e1191a6f1"></a><!-- doxytag: member="pp::URLResponseInfo::URLResponseInfo" ref="aa2fb382084c248e56dffb09e1191a6f1" args="(const URLResponseInfo &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_u_r_l_response_info.html#a239b1eb1076f2da6c75af416c8f02e6b">pp::URLResponseInfo::URLResponseInfo</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_u_r_l_response_info.html">URLResponseInfo</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The copy constructor for <code><a class="el" href="classpp_1_1_u_r_l_response_info.html" title="URLResponseInfo provides an API for examining URL responses.">URLResponseInfo</a></code>. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a77debd316d7b575b6cae43cb1bb14cbc"></a><!-- doxytag: member="pp::URLResponseInfo::GetBodyAsFileRef" ref="a77debd316d7b575b6cae43cb1bb14cbc" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_file_ref.html">FileRef</a> <a class="el" href="classpp_1_1_u_r_l_response_info.html#a77debd316d7b575b6cae43cb1bb14cbc">pp::URLResponseInfo::GetBodyAsFileRef</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function returns a <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code> pointing to the file containing the response body. </p>
+<p>This is only valid if <code>PP_URLREQUESTPROPERTY_STREAMTOFILE</code> was set on the <code><a class="el" href="classpp_1_1_u_r_l_request_info.html" title="URLRequestInfo provides an API for creating and manipulating URL requests.">URLRequestInfo</a></code> used to produce this response. This file remains valid until the <code><a class="el" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs.">URLLoader</a></code> associated with this <code><a class="el" href="classpp_1_1_u_r_l_response_info.html" title="URLResponseInfo provides an API for examining URL responses.">URLResponseInfo</a></code> is closed or destroyed.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code> corresponding to a <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code> if successful, an <code>is_null</code> object if <code>PP_URLREQUESTPROPERTY_STREAMTOFILE</code> was not requested or if the <code><a class="el" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs.">URLLoader</a></code> has not been opened yet. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ae1fbc3ec4025534fbbf7e152af8308c7"></a><!-- doxytag: member="pp::URLResponseInfo::GetHeaders" ref="ae1fbc3ec4025534fbbf7e152af8308c7" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_u_r_l_response_info.html#ae1fbc3ec4025534fbbf7e152af8308c7">pp::URLResponseInfo::GetHeaders</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function gets the <code>PP_URLRESPONSEPROPERTY_HEADERS</code> property for the response. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An <code>is_string <a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing the response property value if successful, <code>is_undefined <a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> if an input parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ac30d83aa38148e6d90f3c22ab01b10dc"></a><!-- doxytag: member="pp::URLResponseInfo::GetProperty" ref="ac30d83aa38148e6d90f3c22ab01b10dc" args="(PP_URLResponseProperty property) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_u_r_l_response_info.html#ac30d83aa38148e6d90f3c22ab01b10dc">pp::URLResponseInfo::GetProperty</a> </td>
+<td>(</td>
+<td class="paramtype">PP_URLResponseProperty </td>
+<td class="paramname"><em>property</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function gets a response property. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">property</td><td>A <code>PP_URLResponseProperty</code> identifying the type of property in the response.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing the response property value if successful, <code>is_undefined <a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> if an input parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a3ae355f52b46a6d2e65fed19bfcec323"></a><!-- doxytag: member="pp::URLResponseInfo::GetRedirectMethod" ref="a3ae355f52b46a6d2e65fed19bfcec323" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_u_r_l_response_info.html#a3ae355f52b46a6d2e65fed19bfcec323">pp::URLResponseInfo::GetRedirectMethod</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function gets the <code>PP_URLRESPONSEPROPERTY_REDIRECTMETHOD</code> property for the response. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An <code>is_string <a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing the response property value if successful, <code>is_undefined <a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> if an input parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a6c25ffe56f7d9da0817fd84346bbaf10"></a><!-- doxytag: member="pp::URLResponseInfo::GetRedirectURL" ref="a6c25ffe56f7d9da0817fd84346bbaf10" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_u_r_l_response_info.html#a6c25ffe56f7d9da0817fd84346bbaf10">pp::URLResponseInfo::GetRedirectURL</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function gets the <code>PP_URLRESPONSEPROPERTY_REDIRECTURL</code> property for the response. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An <code>is_string <a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing the response property value if successful, <code>is_undefined <a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> if an input parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aa7d27c0d6af582dc374461c8d0f868b3"></a><!-- doxytag: member="pp::URLResponseInfo::GetStatusCode" ref="aa7d27c0d6af582dc374461c8d0f868b3" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_u_r_l_response_info.html#aa7d27c0d6af582dc374461c8d0f868b3">pp::URLResponseInfo::GetStatusCode</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function gets the <code>PP_URLRESPONSEPROPERTY_STATUSCODE</code> property for the response. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A int32_t containing the response property value if successful, <code>is_undefined <a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> if an input parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aa6b506dff751344d0b85f596ab1a41a8"></a><!-- doxytag: member="pp::URLResponseInfo::GetStatusLine" ref="aa6b506dff751344d0b85f596ab1a41a8" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_u_r_l_response_info.html#aa6b506dff751344d0b85f596ab1a41a8">pp::URLResponseInfo::GetStatusLine</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function gets the <code>PP_URLRESPONSEPROPERTY_STATUSLINE</code> property for the response. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An <code>is_string <a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing the response property value if successful, <code>is_undefined <a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> if an input parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ad53acecc41062e0b60167b78c268a0bb"></a><!-- doxytag: member="pp::URLResponseInfo::GetURL" ref="ad53acecc41062e0b60167b78c268a0bb" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_u_r_l_response_info.html#ad53acecc41062e0b60167b78c268a0bb">pp::URLResponseInfo::GetURL</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function gets the <code>PP_URLRESPONSEPROPERTY_URL</code> property for the response. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An <code>is_string <a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing the response property value if successful, <code>is_undefined <a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> if an input parameter is invalid. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="url__response__info_8h.html">url_response_info.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_u_r_l_response_info__inherit__graph.png b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_u_r_l_response_info__inherit__graph.png
new file mode 100644
index 0000000..512a045c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_u_r_l_response_info__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_var-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_var-members.html
new file mode 100644
index 0000000..f847823e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_var-members.html
@@ -0,0 +1,48 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_var.html">pp::Var</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a07e7a4ea38b990e6c230109823347e70">AsBool</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a8a798b08e197948c161737fc7b745af6">AsDouble</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ad31cdb379b6ceaae967125e358c81d16">AsInt</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a22a1e3b2a0783b949bedcdae49c07c97">AsString</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a835b1e5a601d6e5ceb9a7d1b5fb7a66f">DebugString</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a84a725a42640a63747f7f6bc252b65d4">Detach</a>()</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a7a28894a77f9d69d1a4b0272bf80d657">is_array</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ac0fd1d153203f8fe6c23b88618a5ef65">is_array_buffer</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a83773e6f9e2ac3723e33b6a1586d5c1e">is_bool</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ae061050e5deaac345eb089b9cd8796ea">is_dictionary</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a4a9e093ddf1475542bf0b3231e03d631">is_double</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ae7dd6f7e851c81ee259095f3e826f3fd">is_int</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a94bec264c03634f7ba66fb46ed4fda0b">is_managed_</a></td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#aa4a9d8309d3390aa56a4f2966daf6533">is_null</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ae803a32764804c873dd16c48bd4fdc83">is_number</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a79ed26c49d64b536619a1ee574848a36">is_object</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a8ed51b6cd4e1b6fee46d8fdf27c98ef1">is_resource</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a57ce2eb7f023f383194155b25b53d297">is_string</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#afe677b5834bfb5f1364d212a52f1879e">is_undefined</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a65601024610f1625c9945acb8725d7c4">operator=</a>(const Var &other)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ad689c287e64f984eb951c57af303a444">operator==</a>(const Var &other) const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ad828439641c93930ff188b45b45b4261">pp_var</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">Var</a>()</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a8dc13cf4d873293e06e6d23325ab2544">Var</a>(Null)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a6eba29ce9f635feb4ffbdfba1014ff99">Var</a>(bool b)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a6de6c1f791f105b70d0cf815f63c2304">Var</a>(int32_t i)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a9bbdfd7d1aa2bd6c8d526ff5f6a2c035">Var</a>(double d)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a24ae309e6e0335d2b16aab6039c231fa">Var</a>(const char *utf8_str)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a4b0c8c5ef714c9444cfd8f1dd4a9fb25">Var</a>(const std::string &utf8_str)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a64a857e38d59b1e012a02d7b8f98680f">Var</a>(PassRef, const PP_Var &var)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a52415e7de337c97b08eb70b06e0cda4b">Var</a>(const PP_Var &var)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a2356640f40527226f295cc15ec01f302">Var</a>(DontManage, const PP_Var &var)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#aa87cbd4cc4bc47b6f1f8a749f60aa062">Var</a>(const Var &other)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a7c1225564a0e3ab910823fc20d2611ab">var_</a></td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a148a5009f2f445edfec0a5f83ed94cf4">~Var</a>()</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_var.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_var.html
new file mode 100644
index 0000000..83015ee
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_var.html
@@ -0,0 +1,729 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::Var Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::Var" --><div class="dynheader">
+Inheritance diagram for pp::Var:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_var__inherit__graph.png" border="0" usemap="#pp_1_1_var_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_var_inherit__map" id="pp_1_1_var_inherit__map">
+<area shape="rect" id="node3" href="classpp_1_1_var_array.html" title="pp::VarArray" alt="" coords="5,83,107,112"></area><area shape="rect" id="node5" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ..." alt="" coords="131,83,269,112"></area><area shape="rect" id="node7" href="classpp_1_1_var_dictionary.html" title="pp::VarDictionary" alt="" coords="293,83,424,112"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_var-members.html">List of all members.</a></p>
+<h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1_var_1_1_dont_manage.html">DontManage</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1_var_1_1_null.html">Null</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Special value passed to constructor to make <code>NULL</code>. <a href="structpp_1_1_var_1_1_null.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_1_1_out_exception.html">OutException</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This class is used when calling the raw C PPAPI when using the C++ <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> as a possible NULL exception. <a href="classpp_1_1_var_1_1_out_exception.html#details">More...</a><br /></td></tr>
+</table><h2>
+Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">Var</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a8dc13cf4d873293e06e6d23325ab2544">Var</a> (<a class="el" href="structpp_1_1_var_1_1_null.html">Null</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a6eba29ce9f635feb4ffbdfba1014ff99">Var</a> (bool b)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a6de6c1f791f105b70d0cf815f63c2304">Var</a> (int32_t i)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a9bbdfd7d1aa2bd6c8d526ff5f6a2c035">Var</a> (double d)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a24ae309e6e0335d2b16aab6039c231fa">Var</a> (const char *utf8_str)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a4b0c8c5ef714c9444cfd8f1dd4a9fb25">Var</a> (const std::string &utf8_str)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a64a857e38d59b1e012a02d7b8f98680f">Var</a> (<a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a>, const PP_Var &var)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a52415e7de337c97b08eb70b06e0cda4b">Var</a> (const PP_Var &var)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a2356640f40527226f295cc15ec01f302">Var</a> (<a class="el" href="structpp_1_1_var_1_1_dont_manage.html">DontManage</a>, const PP_Var &var)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#aa87cbd4cc4bc47b6f1f8a749f60aa062">Var</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a148a5009f2f445edfec0a5f83ed94cf4">~Var</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classpp_1_1_var.html">Var</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a65601024610f1625c9945acb8725d7c4">operator=</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#ad689c287e64f984eb951c57af303a444">operator==</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &other) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#afe677b5834bfb5f1364d212a52f1879e">is_undefined</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#aa4a9d8309d3390aa56a4f2966daf6533">is_null</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a83773e6f9e2ac3723e33b6a1586d5c1e">is_bool</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a57ce2eb7f023f383194155b25b53d297">is_string</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a79ed26c49d64b536619a1ee574848a36">is_object</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a7a28894a77f9d69d1a4b0272bf80d657">is_array</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#ae061050e5deaac345eb089b9cd8796ea">is_dictionary</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a8ed51b6cd4e1b6fee46d8fdf27c98ef1">is_resource</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#ae7dd6f7e851c81ee259095f3e826f3fd">is_int</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a4a9e093ddf1475542bf0b3231e03d631">is_double</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#ae803a32764804c873dd16c48bd4fdc83">is_number</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#ac0fd1d153203f8fe6c23b88618a5ef65">is_array_buffer</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a07e7a4ea38b990e6c230109823347e70">AsBool</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#ad31cdb379b6ceaae967125e358c81d16">AsInt</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a8a798b08e197948c161737fc7b745af6">AsDouble</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a22a1e3b2a0783b949bedcdae49c07c97">AsString</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const PP_Var & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#ad828439641c93930ff188b45b45b4261">pp_var</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_Var </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a84a725a42640a63747f7f6bc252b65d4">Detach</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a835b1e5a601d6e5ceb9a7d1b5fb7a66f">DebugString</a> () const </td></tr>
+</table><h2>
+Protected Attributes</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">PP_Var </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a7c1225564a0e3ab910823fc20d2611ab">var_</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a94bec264c03634f7ba66fb46ed4fda0b">is_managed_</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>A generic type used for passing data types between the module and the page. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="af571fae55754a20ae95ffd140726d04c"></a><!-- doxytag: member="pp::Var::Var" ref="af571fae55754a20ae95ffd140726d04c" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">pp::Var::Var</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor. </p>
+<p>Creates a <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> of type <code>Undefined</code>. </p>
+</div>
+</div>
+<a class="anchor" id="a8dc13cf4d873293e06e6d23325ab2544"></a><!-- doxytag: member="pp::Var::Var" ref="a8dc13cf4d873293e06e6d23325ab2544" args="(Null)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">pp::Var::Var</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="structpp_1_1_var_1_1_null.html">Null</a> </td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used to create a <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> of type <code><a class="el" href="structpp_1_1_var_1_1_null.html" title="Special value passed to constructor to make NULL.">Null</a></code>. </p>
+</div>
+</div>
+<a class="anchor" id="a6eba29ce9f635feb4ffbdfba1014ff99"></a><!-- doxytag: member="pp::Var::Var" ref="a6eba29ce9f635feb4ffbdfba1014ff99" args="(bool b)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">pp::Var::Var</a> </td>
+<td>(</td>
+<td class="paramtype">bool </td>
+<td class="paramname"><em>b</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used to create a <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> of type <code>Bool</code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>A boolean value. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a6de6c1f791f105b70d0cf815f63c2304"></a><!-- doxytag: member="pp::Var::Var" ref="a6de6c1f791f105b70d0cf815f63c2304" args="(int32_t i)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">pp::Var::Var</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>i</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used to create a 32 bit integer <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">i</td><td>A 32 bit integer value. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a9bbdfd7d1aa2bd6c8d526ff5f6a2c035"></a><!-- doxytag: member="pp::Var::Var" ref="a9bbdfd7d1aa2bd6c8d526ff5f6a2c035" args="(double d)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">pp::Var::Var</a> </td>
+<td>(</td>
+<td class="paramtype">double </td>
+<td class="paramname"><em>d</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used to create a double value <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">d</td><td>A double value. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a24ae309e6e0335d2b16aab6039c231fa"></a><!-- doxytag: member="pp::Var::Var" ref="a24ae309e6e0335d2b16aab6039c231fa" args="(const char *utf8_str)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">pp::Var::Var</a> </td>
+<td>(</td>
+<td class="paramtype">const char * </td>
+<td class="paramname"><em>utf8_str</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used to create a UTF-8 character <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>. </p>
+</div>
+</div>
+<a class="anchor" id="a4b0c8c5ef714c9444cfd8f1dd4a9fb25"></a><!-- doxytag: member="pp::Var::Var" ref="a4b0c8c5ef714c9444cfd8f1dd4a9fb25" args="(const std::string &utf8_str)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">pp::Var::Var</a> </td>
+<td>(</td>
+<td class="paramtype">const std::string & </td>
+<td class="paramname"><em>utf8_str</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used to create a UTF-8 character <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>. </p>
+</div>
+</div>
+<a class="anchor" id="a64a857e38d59b1e012a02d7b8f98680f"></a><!-- doxytag: member="pp::Var::Var" ref="a64a857e38d59b1e012a02d7b8f98680f" args="(PassRef, const PP_Var &var)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">pp::Var::Var</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a> </td>
+<td class="paramname">, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const PP_Var & </td>
+<td class="paramname"><em>var</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used when you have received a <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> as a return value that has had its reference count incremented for you. </p>
+<p>You will not normally need to use this constructor because the reference count will not normally be incremented for you. </p>
+</div>
+</div>
+<a class="anchor" id="a52415e7de337c97b08eb70b06e0cda4b"></a><!-- doxytag: member="pp::Var::Var" ref="a52415e7de337c97b08eb70b06e0cda4b" args="(const PP_Var &var)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">pp::Var::Var</a> </td>
+<td>(</td>
+<td class="paramtype">const PP_Var & </td>
+<td class="paramname"><em>var</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor that increments the reference count. </p>
+</div>
+</div>
+<a class="anchor" id="a2356640f40527226f295cc15ec01f302"></a><!-- doxytag: member="pp::Var::Var" ref="a2356640f40527226f295cc15ec01f302" args="(DontManage, const PP_Var &var)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">pp::Var::Var</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="structpp_1_1_var_1_1_dont_manage.html">DontManage</a> </td>
+<td class="paramname">, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const PP_Var & </td>
+<td class="paramname"><em>var</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This constructor is used when we've given a <code>PP_Var</code> as an input argument from somewhere and that reference is managing the reference count for us. </p>
+<p>The object will not have its reference count increased or decreased by this class instance.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">var</td><td>A <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="aa87cbd4cc4bc47b6f1f8a749f60aa062"></a><!-- doxytag: member="pp::Var::Var" ref="aa87cbd4cc4bc47b6f1f8a749f60aa062" args="(const Var &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">pp::Var::Var</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor for copying a <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>. </p>
+</div>
+</div>
+<a class="anchor" id="a148a5009f2f445edfec0a5f83ed94cf4"></a><!-- doxytag: member="pp::Var::~Var" ref="a148a5009f2f445edfec0a5f83ed94cf4" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_var.html#a148a5009f2f445edfec0a5f83ed94cf4">pp::Var::~Var</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Destructor. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a07e7a4ea38b990e6c230109823347e70"></a><!-- doxytag: member="pp::Var::AsBool" ref="a07e7a4ea38b990e6c230109823347e70" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_var.html#a07e7a4ea38b990e6c230109823347e70">pp::Var::AsBool</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_var.html#a07e7a4ea38b990e6c230109823347e70" title="AsBool() converts this Var to a bool.">AsBool()</a> converts this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> to a bool. </p>
+<p>Assumes the internal representation <a class="el" href="classpp_1_1_var.html#a83773e6f9e2ac3723e33b6a1586d5c1e" title="This function determines if this Var is a bool value.">is_bool()</a>. If it's not, it will assert in debug mode, and return false.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A bool version of this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a8a798b08e197948c161737fc7b745af6"></a><!-- doxytag: member="pp::Var::AsDouble" ref="a8a798b08e197948c161737fc7b745af6" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">double <a class="el" href="classpp_1_1_var.html#a8a798b08e197948c161737fc7b745af6">pp::Var::AsDouble</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_var.html#a8a798b08e197948c161737fc7b745af6" title="AsDouble() converts this Var to a double.">AsDouble()</a> converts this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> to a double. </p>
+<p>This function is necessary because JavaScript doesn't have a concept of ints and doubles, only numbers. The distinction between the two is an optimization inside the compiler. Since converting from a double to an int may be lossy, if you care about the distinction, either always work in doubles, or check !is_double() before calling <a class="el" href="classpp_1_1_var.html#ad31cdb379b6ceaae967125e358c81d16" title="AsInt() converts this Var to an int32_t.">AsInt()</a>.</p>
+<p>These functions will assert in debug mode and return 0 if the internal representation is not <a class="el" href="classpp_1_1_var.html#ae803a32764804c873dd16c48bd4fdc83" title="This function determines if this Var is a number.">is_number()</a>.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An double version of this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ad31cdb379b6ceaae967125e358c81d16"></a><!-- doxytag: member="pp::Var::AsInt" ref="ad31cdb379b6ceaae967125e358c81d16" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_var.html#ad31cdb379b6ceaae967125e358c81d16">pp::Var::AsInt</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_var.html#ad31cdb379b6ceaae967125e358c81d16" title="AsInt() converts this Var to an int32_t.">AsInt()</a> converts this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> to an int32_t. </p>
+<p>This function is required because JavaScript doesn't have a concept of ints and doubles, only numbers. The distinction between the two is an optimization inside the compiler. Since converting from a double to an int may be lossy, if you care about the distinction, either always work in doubles, or check !is_double() before calling <a class="el" href="classpp_1_1_var.html#ad31cdb379b6ceaae967125e358c81d16" title="AsInt() converts this Var to an int32_t.">AsInt()</a>.</p>
+<p>These functions will assert in debug mode and return 0 if the internal representation is not <a class="el" href="classpp_1_1_var.html#ae803a32764804c873dd16c48bd4fdc83" title="This function determines if this Var is a number.">is_number()</a>.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t version of this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a22a1e3b2a0783b949bedcdae49c07c97"></a><!-- doxytag: member="pp::Var::AsString" ref="a22a1e3b2a0783b949bedcdae49c07c97" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">std::string <a class="el" href="classpp_1_1_var.html#a22a1e3b2a0783b949bedcdae49c07c97">pp::Var::AsString</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_var.html#a22a1e3b2a0783b949bedcdae49c07c97" title="AsString() converts this Var to a string.">AsString()</a> converts this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> to a string. </p>
+<p>If this object is not a string, it will assert in debug mode, and return an empty string.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A string version of this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a835b1e5a601d6e5ceb9a7d1b5fb7a66f"></a><!-- doxytag: member="pp::Var::DebugString" ref="a835b1e5a601d6e5ceb9a7d1b5fb7a66f" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">std::string <a class="el" href="classpp_1_1_var.html#a835b1e5a601d6e5ceb9a7d1b5fb7a66f">pp::Var::DebugString</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_var.html#a835b1e5a601d6e5ceb9a7d1b5fb7a66f" title='DebugString() returns a short description "Var<X>" that can be used for logging, where "X" is the und...'>DebugString()</a> returns a short description "Var<X>" that can be used for logging, where "X" is the underlying scalar or "UNDEFINED" or "OBJ" as it does not call into the browser to get the object description. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A string displaying the value of this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>. This function is used for debugging. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a84a725a42640a63747f7f6bc252b65d4"></a><!-- doxytag: member="pp::Var::Detach" ref="a84a725a42640a63747f7f6bc252b65d4" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_Var <a class="el" href="classpp_1_1_var.html#a84a725a42640a63747f7f6bc252b65d4">pp::Var::Detach</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_var.html#a84a725a42640a63747f7f6bc252b65d4" title="Detach() detaches from the internal PP_Var of this object, keeping the reference count the same...">Detach()</a> detaches from the internal <code>PP_Var</code> of this object, keeping the reference count the same. </p>
+<p>This is used when returning a <code>PP_Var</code> from an API function where the caller expects the return value to have the reference count incremented for it.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A detached version of this object without affecting the reference count. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a7a28894a77f9d69d1a4b0272bf80d657"></a><!-- doxytag: member="pp::Var::is_array" ref="a7a28894a77f9d69d1a4b0272bf80d657" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_var.html#a7a28894a77f9d69d1a4b0272bf80d657">pp::Var::is_array</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function determines if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is an array. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is an array, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ac0fd1d153203f8fe6c23b88618a5ef65"></a><!-- doxytag: member="pp::Var::is_array_buffer" ref="ac0fd1d153203f8fe6c23b88618a5ef65" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_var.html#ac0fd1d153203f8fe6c23b88618a5ef65">pp::Var::is_array_buffer</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function determines if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is an ArrayBuffer. </p>
+</div>
+</div>
+<a class="anchor" id="a83773e6f9e2ac3723e33b6a1586d5c1e"></a><!-- doxytag: member="pp::Var::is_bool" ref="a83773e6f9e2ac3723e33b6a1586d5c1e" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_var.html#a83773e6f9e2ac3723e33b6a1586d5c1e">pp::Var::is_bool</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function determines if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is a bool value. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is a bool, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ae061050e5deaac345eb089b9cd8796ea"></a><!-- doxytag: member="pp::Var::is_dictionary" ref="ae061050e5deaac345eb089b9cd8796ea" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_var.html#ae061050e5deaac345eb089b9cd8796ea">pp::Var::is_dictionary</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function determines if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is a dictionary. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is a dictionary, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a4a9e093ddf1475542bf0b3231e03d631"></a><!-- doxytag: member="pp::Var::is_double" ref="a4a9e093ddf1475542bf0b3231e03d631" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_var.html#a4a9e093ddf1475542bf0b3231e03d631">pp::Var::is_double</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function determines if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is a double value. </p>
+<p>The <code>is_double</code> function returns the internal representation. The JavaScript runtime may convert between the two as needed, so the distinction may not be relevant in all cases (int is really an optimization inside the runtime). So most of the time, you will want to check <a class="el" href="classpp_1_1_var.html#ae803a32764804c873dd16c48bd4fdc83" title="This function determines if this Var is a number.">is_number()</a>.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is a double, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ae7dd6f7e851c81ee259095f3e826f3fd"></a><!-- doxytag: member="pp::Var::is_int" ref="ae7dd6f7e851c81ee259095f3e826f3fd" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_var.html#ae7dd6f7e851c81ee259095f3e826f3fd">pp::Var::is_int</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function determines if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is an integer value. </p>
+<p>The <code>is_int</code> function returns the internal representation. The JavaScript runtime may convert between the two as needed, so the distinction may not be relevant in all cases (int is really an optimization inside the runtime). So most of the time, you will want to check <a class="el" href="classpp_1_1_var.html#ae803a32764804c873dd16c48bd4fdc83" title="This function determines if this Var is a number.">is_number()</a>.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is an integer, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aa4a9d8309d3390aa56a4f2966daf6533"></a><!-- doxytag: member="pp::Var::is_null" ref="aa4a9d8309d3390aa56a4f2966daf6533" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_var.html#aa4a9d8309d3390aa56a4f2966daf6533">pp::Var::is_null</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function determines if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is a null value. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is null, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ae803a32764804c873dd16c48bd4fdc83"></a><!-- doxytag: member="pp::Var::is_number" ref="ae803a32764804c873dd16c48bd4fdc83" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_var.html#ae803a32764804c873dd16c48bd4fdc83">pp::Var::is_number</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function determines if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is a number. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is an int32 or double number, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a79ed26c49d64b536619a1ee574848a36"></a><!-- doxytag: member="pp::Var::is_object" ref="a79ed26c49d64b536619a1ee574848a36" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_var.html#a79ed26c49d64b536619a1ee574848a36">pp::Var::is_object</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function determines if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is an object. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is an object, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a8ed51b6cd4e1b6fee46d8fdf27c98ef1"></a><!-- doxytag: member="pp::Var::is_resource" ref="a8ed51b6cd4e1b6fee46d8fdf27c98ef1" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_var.html#a8ed51b6cd4e1b6fee46d8fdf27c98ef1">pp::Var::is_resource</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function determines if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is a resource. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is a resource, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a57ce2eb7f023f383194155b25b53d297"></a><!-- doxytag: member="pp::Var::is_string" ref="a57ce2eb7f023f383194155b25b53d297" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_var.html#a57ce2eb7f023f383194155b25b53d297">pp::Var::is_string</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function determines if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is a string value. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is a string, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="afe677b5834bfb5f1364d212a52f1879e"></a><!-- doxytag: member="pp::Var::is_undefined" ref="afe677b5834bfb5f1364d212a52f1879e" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_var.html#afe677b5834bfb5f1364d212a52f1879e">pp::Var::is_undefined</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function determines if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is an undefined value. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is undefined, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a65601024610f1625c9945acb8725d7c4"></a><!-- doxytag: member="pp::Var::operator=" ref="a65601024610f1625c9945acb8725d7c4" args="(const Var &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_var.html">Var</a>& pp::Var::operator= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function assigns one <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> to another <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>The <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> to be assigned.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A resulting <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>. </dd></dl>
+<p>Reimplemented in <a class="el" href="classpp_1_1_var_array_buffer.html#a9cbb8584d8edc5d03875de67dec4086c">pp::VarArrayBuffer</a>, <a class="el" href="classpp_1_1_var_dictionary.html#a689815e0b4e50e2f1e9aaa8b1ef34e00">pp::VarDictionary</a>, and <a class="el" href="classpp_1_1_var_array.html#aeb98c95929dd46d1f64eba13db724154">pp::VarArray</a>.</p>
+</div>
+</div>
+<a class="anchor" id="ad689c287e64f984eb951c57af303a444"></a><!-- doxytag: member="pp::Var::operator==" ref="ad689c287e64f984eb951c57af303a444" args="(const Var &other) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool pp::Var::operator== </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function compares object identity (rather than value identity) for objects, dictionaries, and arrays. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>The <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> to be compared to this <a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the <code>other</code> <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is the same as this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ad828439641c93930ff188b45b45b4261"></a><!-- doxytag: member="pp::Var::pp_var" ref="ad828439641c93930ff188b45b45b4261" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">const PP_Var& <a class="el" href="classpp_1_1_var.html#ad828439641c93930ff188b45b45b4261">pp::Var::pp_var</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function returns the internal <code>PP_Var</code> managed by this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> object. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A const reference to a <code>PP_Var</code>. </dd></dl>
+</div>
+</div>
+<hr /><h2>Member Data Documentation</h2>
+<a class="anchor" id="a94bec264c03634f7ba66fb46ed4fda0b"></a><!-- doxytag: member="pp::Var::is_managed_" ref="a94bec264c03634f7ba66fb46ed4fda0b" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_var.html#a94bec264c03634f7ba66fb46ed4fda0b">pp::Var::is_managed_</a><code> [protected]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a7c1225564a0e3ab910823fc20d2611ab"></a><!-- doxytag: member="pp::Var::var_" ref="a7c1225564a0e3ab910823fc20d2611ab" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_Var <a class="el" href="classpp_1_1_var.html#a7c1225564a0e3ab910823fc20d2611ab">pp::Var::var_</a><code> [protected]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="var_8h.html">var.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_var_1_1_out_exception-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_var_1_1_out_exception-members.html
new file mode 100644
index 0000000..accbc6cd
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_var_1_1_out_exception-members.html
@@ -0,0 +1,16 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_var_1_1_out_exception.html">pp::Var::OutException</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_1_1_out_exception.html#ae27bafd88243e3b2fffc3038a1f31971">get</a>()</td><td><a class="el" href="classpp_1_1_var_1_1_out_exception.html">pp::Var::OutException</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_1_1_out_exception.html#afa4be8888c046a7b4f54be2cec82e4e7">OutException</a>(Var *v)</td><td><a class="el" href="classpp_1_1_var_1_1_out_exception.html">pp::Var::OutException</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_1_1_out_exception.html#af2300053414367146b49f6f71c2eb513">~OutException</a>()</td><td><a class="el" href="classpp_1_1_var_1_1_out_exception.html">pp::Var::OutException</a></td><td><code> [inline]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_var_1_1_out_exception.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_var_1_1_out_exception.html
new file mode 100644
index 0000000..bff6645
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_var_1_1_out_exception.html
@@ -0,0 +1,89 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::Var::OutException Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::Var::OutException" -->
+<p><a href="classpp_1_1_var_1_1_out_exception-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_1_1_out_exception.html#afa4be8888c046a7b4f54be2cec82e4e7">OutException</a> (<a class="el" href="classpp_1_1_var.html">Var</a> *v)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_1_1_out_exception.html#af2300053414367146b49f6f71c2eb513">~OutException</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_Var * </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_1_1_out_exception.html#ae27bafd88243e3b2fffc3038a1f31971">get</a> ()</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This class is used when calling the raw C PPAPI when using the C++ <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> as a possible NULL exception. </p>
+<p>This class will handle getting the address of the internal value out if it's non-NULL and fixing up the reference count.</p>
+<p><b>Warning:</b> this will only work for things with exception semantics, i.e. that the value will not be changed if it's a non-undefined exception. Otherwise, this class will mess up the refcounting.</p>
+<p>This is a bit subtle:</p>
+<ul>
+<li>If NULL is passed, we return NULL from <a class="el" href="classpp_1_1_var_1_1_out_exception.html#ae27bafd88243e3b2fffc3038a1f31971">get()</a> and do nothing.</li>
+</ul>
+<ul>
+<li>If a undefined value is passed, we return the address of a undefined var from get and have the output value take ownership of that var.</li>
+</ul>
+<ul>
+<li>If a non-undefined value is passed, we return the address of that var from get, and nothing else should change.</li>
+</ul>
+<p>Example: void FooBar(a, b, Var* exception = NULL) { foo_interface->Bar(a, b, Var::OutException(exception).<a class="el" href="classpp_1_1_var_1_1_out_exception.html#ae27bafd88243e3b2fffc3038a1f31971">get()</a>); } </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="afa4be8888c046a7b4f54be2cec82e4e7"></a><!-- doxytag: member="pp::Var::OutException::OutException" ref="afa4be8888c046a7b4f54be2cec82e4e7" args="(Var *v)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var_1_1_out_exception.html#afa4be8888c046a7b4f54be2cec82e4e7">pp::Var::OutException::OutException</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="classpp_1_1_var.html">Var</a> * </td>
+<td class="paramname"><em>v</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor. </p>
+</div>
+</div>
+<a class="anchor" id="af2300053414367146b49f6f71c2eb513"></a><!-- doxytag: member="pp::Var::OutException::~OutException" ref="af2300053414367146b49f6f71c2eb513" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var_1_1_out_exception.html#af2300053414367146b49f6f71c2eb513">pp::Var::OutException::~OutException</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Destructor. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="ae27bafd88243e3b2fffc3038a1f31971"></a><!-- doxytag: member="pp::Var::OutException::get" ref="ae27bafd88243e3b2fffc3038a1f31971" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_Var* <a class="el" href="classpp_1_1_var_1_1_out_exception.html#ae27bafd88243e3b2fffc3038a1f31971">pp::Var::OutException::get</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="var_8h.html">var.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_var__inherit__graph.png b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_var__inherit__graph.png
new file mode 100644
index 0000000..7c8c101d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_var__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_var_array-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_var_array-members.html
new file mode 100644
index 0000000..60533a3
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_var_array-members.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_var_array.html">pp::VarArray</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a07e7a4ea38b990e6c230109823347e70">AsBool</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a8a798b08e197948c161737fc7b745af6">AsDouble</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ad31cdb379b6ceaae967125e358c81d16">AsInt</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a22a1e3b2a0783b949bedcdae49c07c97">AsString</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a835b1e5a601d6e5ceb9a7d1b5fb7a66f">DebugString</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a84a725a42640a63747f7f6bc252b65d4">Detach</a>()</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array.html#a61f3bd9357da964824bc3dfbc7715b12">Get</a>(uint32_t index) const </td><td><a class="el" href="classpp_1_1_var_array.html">pp::VarArray</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array.html#afaa8006ed2c7fa4fb99a6d9d96b91f5a">GetLength</a>() const </td><td><a class="el" href="classpp_1_1_var_array.html">pp::VarArray</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a7a28894a77f9d69d1a4b0272bf80d657">is_array</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ac0fd1d153203f8fe6c23b88618a5ef65">is_array_buffer</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a83773e6f9e2ac3723e33b6a1586d5c1e">is_bool</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ae061050e5deaac345eb089b9cd8796ea">is_dictionary</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a4a9e093ddf1475542bf0b3231e03d631">is_double</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ae7dd6f7e851c81ee259095f3e826f3fd">is_int</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a94bec264c03634f7ba66fb46ed4fda0b">is_managed_</a></td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#aa4a9d8309d3390aa56a4f2966daf6533">is_null</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ae803a32764804c873dd16c48bd4fdc83">is_number</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a79ed26c49d64b536619a1ee574848a36">is_object</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a8ed51b6cd4e1b6fee46d8fdf27c98ef1">is_resource</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a57ce2eb7f023f383194155b25b53d297">is_string</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#afe677b5834bfb5f1364d212a52f1879e">is_undefined</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array.html#a5acb01cba7823e5b4096a3d1c1cf31be">operator=</a>(const VarArray &other)</td><td><a class="el" href="classpp_1_1_var_array.html">pp::VarArray</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array.html#aeb98c95929dd46d1f64eba13db724154">operator=</a>(const Var &other)</td><td><a class="el" href="classpp_1_1_var_array.html">pp::VarArray</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ad689c287e64f984eb951c57af303a444">operator==</a>(const Var &other) const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ad828439641c93930ff188b45b45b4261">pp_var</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array.html#a6769d254d64ca6f0e5a5321ad9158d89">Set</a>(uint32_t index, const Var &value)</td><td><a class="el" href="classpp_1_1_var_array.html">pp::VarArray</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array.html#a6d37da10169a4e9f66152d74231694b9">SetLength</a>(uint32_t length)</td><td><a class="el" href="classpp_1_1_var_array.html">pp::VarArray</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">Var</a>()</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a8dc13cf4d873293e06e6d23325ab2544">Var</a>(Null)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a6eba29ce9f635feb4ffbdfba1014ff99">Var</a>(bool b)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a6de6c1f791f105b70d0cf815f63c2304">Var</a>(int32_t i)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a9bbdfd7d1aa2bd6c8d526ff5f6a2c035">Var</a>(double d)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a24ae309e6e0335d2b16aab6039c231fa">Var</a>(const char *utf8_str)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a4b0c8c5ef714c9444cfd8f1dd4a9fb25">Var</a>(const std::string &utf8_str)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a64a857e38d59b1e012a02d7b8f98680f">Var</a>(PassRef, const PP_Var &var)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a52415e7de337c97b08eb70b06e0cda4b">Var</a>(const PP_Var &var)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a2356640f40527226f295cc15ec01f302">Var</a>(DontManage, const PP_Var &var)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#aa87cbd4cc4bc47b6f1f8a749f60aa062">Var</a>(const Var &other)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a7c1225564a0e3ab910823fc20d2611ab">var_</a></td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array.html#a780daccc2dc02eac8a52b3c6acf245ed">VarArray</a>()</td><td><a class="el" href="classpp_1_1_var_array.html">pp::VarArray</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array.html#a3aabef79f9d8af79a4ef5dda73a09c05">VarArray</a>(const Var &var)</td><td><a class="el" href="classpp_1_1_var_array.html">pp::VarArray</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array.html#abb66ecc726d9aca28bd4a430a391a5d3">VarArray</a>(const PP_Var &var)</td><td><a class="el" href="classpp_1_1_var_array.html">pp::VarArray</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array.html#a839cc2aa7b5a4698f3a11214f76e56c0">VarArray</a>(const VarArray &other)</td><td><a class="el" href="classpp_1_1_var_array.html">pp::VarArray</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a148a5009f2f445edfec0a5f83ed94cf4">~Var</a>()</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array.html#a667aca2cad8fd48469dab1228f479284">~VarArray</a>()</td><td><a class="el" href="classpp_1_1_var_array.html">pp::VarArray</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_var_array.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_var_array.html
new file mode 100644
index 0000000..33575ca
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_var_array.html
@@ -0,0 +1,277 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::VarArray Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::VarArray" --><!-- doxytag: inherits="pp::Var" --><div class="dynheader">
+Inheritance diagram for pp::VarArray:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_var_array__inherit__graph.png" border="0" usemap="#pp_1_1_var_array_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_var_array_inherit__map" id="pp_1_1_var_array_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page." alt="" coords="23,5,89,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_var_array-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array.html#a780daccc2dc02eac8a52b3c6acf245ed">VarArray</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array.html#a3aabef79f9d8af79a4ef5dda73a09c05">VarArray</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &var)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array.html#abb66ecc726d9aca28bd4a430a391a5d3">VarArray</a> (const PP_Var &var)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array.html#a839cc2aa7b5a4698f3a11214f76e56c0">VarArray</a> (const <a class="el" href="classpp_1_1_var_array.html">VarArray</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array.html#a667aca2cad8fd48469dab1228f479284">~VarArray</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var_array.html">VarArray</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array.html#a5acb01cba7823e5b4096a3d1c1cf31be">operator=</a> (const <a class="el" href="classpp_1_1_var_array.html">VarArray</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classpp_1_1_var.html">Var</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array.html#aeb98c95929dd46d1f64eba13db724154">operator=</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array.html#a61f3bd9357da964824bc3dfbc7715b12">Get</a> (uint32_t index) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array.html#a6769d254d64ca6f0e5a5321ad9158d89">Set</a> (uint32_t index, const <a class="el" href="classpp_1_1_var.html">Var</a> &value)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array.html#afaa8006ed2c7fa4fb99a6d9d96b91f5a">GetLength</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array.html#a6d37da10169a4e9f66152d74231694b9">SetLength</a> (uint32_t length)</td></tr>
+</table>
+<hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a780daccc2dc02eac8a52b3c6acf245ed"></a><!-- doxytag: member="pp::VarArray::VarArray" ref="a780daccc2dc02eac8a52b3c6acf245ed" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var_array.html#a780daccc2dc02eac8a52b3c6acf245ed">pp::VarArray::VarArray</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs a new array var. </p>
+</div>
+</div>
+<a class="anchor" id="a3aabef79f9d8af79a4ef5dda73a09c05"></a><!-- doxytag: member="pp::VarArray::VarArray" ref="a3aabef79f9d8af79a4ef5dda73a09c05" args="(const Var &var)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var_array.html#a780daccc2dc02eac8a52b3c6acf245ed">pp::VarArray::VarArray</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>var</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs a <code><a class="el" href="classpp_1_1_var_array.html">VarArray</a></code> given a var for which <a class="el" href="classpp_1_1_var.html#a7a28894a77f9d69d1a4b0272bf80d657" title="This function determines if this Var is an array.">is_array()</a> is true. </p>
+<p>This will refer to the same array var, but allow you to access methods specific to arrays.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">var</td><td>An array var. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="abb66ecc726d9aca28bd4a430a391a5d3"></a><!-- doxytag: member="pp::VarArray::VarArray" ref="abb66ecc726d9aca28bd4a430a391a5d3" args="(const PP_Var &var)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var_array.html#a780daccc2dc02eac8a52b3c6acf245ed">pp::VarArray::VarArray</a> </td>
+<td>(</td>
+<td class="paramtype">const PP_Var & </td>
+<td class="paramname"><em>var</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs a <code><a class="el" href="classpp_1_1_var_array.html">VarArray</a></code> given a <code>PP_Var</code> of type PP_VARTYPE_ARRAY. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">var</td><td>A <code>PP_Var</code> of type PP_VARTYPE_ARRAY. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a839cc2aa7b5a4698f3a11214f76e56c0"></a><!-- doxytag: member="pp::VarArray::VarArray" ref="a839cc2aa7b5a4698f3a11214f76e56c0" args="(const VarArray &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var_array.html#a780daccc2dc02eac8a52b3c6acf245ed">pp::VarArray::VarArray</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var_array.html">VarArray</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Copy constructor. </p>
+</div>
+</div>
+<a class="anchor" id="a667aca2cad8fd48469dab1228f479284"></a><!-- doxytag: member="pp::VarArray::~VarArray" ref="a667aca2cad8fd48469dab1228f479284" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_var_array.html#a667aca2cad8fd48469dab1228f479284">pp::VarArray::~VarArray</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a61f3bd9357da964824bc3dfbc7715b12"></a><!-- doxytag: member="pp::VarArray::Get" ref="a61f3bd9357da964824bc3dfbc7715b12" args="(uint32_t index) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_var_array.html#a61f3bd9357da964824bc3dfbc7715b12">pp::VarArray::Get</a> </td>
+<td>(</td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>index</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets an element from the array. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>An index indicating which element to return.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The element at the specified position. If <code>index</code> is larger than or equal to the array length, an undefined var is returned. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="afaa8006ed2c7fa4fb99a6d9d96b91f5a"></a><!-- doxytag: member="pp::VarArray::GetLength" ref="afaa8006ed2c7fa4fb99a6d9d96b91f5a" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="classpp_1_1_var_array.html#afaa8006ed2c7fa4fb99a6d9d96b91f5a">pp::VarArray::GetLength</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the array length. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The array length. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a5acb01cba7823e5b4096a3d1c1cf31be"></a><!-- doxytag: member="pp::VarArray::operator=" ref="a5acb01cba7823e5b4096a3d1c1cf31be" args="(const VarArray &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var_array.html">VarArray</a>& pp::VarArray::operator= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var_array.html">VarArray</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Assignment operator. </p>
+</div>
+</div>
+<a class="anchor" id="aeb98c95929dd46d1f64eba13db724154"></a><!-- doxytag: member="pp::VarArray::operator=" ref="aeb98c95929dd46d1f64eba13db724154" args="(const Var &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_var.html">Var</a>& pp::VarArray::operator= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> assignment operator is overridden here so that we can check for assigning a non-array var to a <code><a class="el" href="classpp_1_1_var_array.html">VarArray</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>The array var to be assigned.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The resulting <code><a class="el" href="classpp_1_1_var_array.html">VarArray</a></code> (as a <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>&). </dd></dl>
+<p>Reimplemented from <a class="el" href="classpp_1_1_var.html#a65601024610f1625c9945acb8725d7c4">pp::Var</a>.</p>
+</div>
+</div>
+<a class="anchor" id="a6769d254d64ca6f0e5a5321ad9158d89"></a><!-- doxytag: member="pp::VarArray::Set" ref="a6769d254d64ca6f0e5a5321ad9158d89" args="(uint32_t index, const Var &value)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_var_array.html#a6769d254d64ca6f0e5a5321ad9158d89">pp::VarArray::Set</a> </td>
+<td>(</td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>index</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>value</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sets the value of an element in the array. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>An index indicating which element to modify. If <code>index</code> is larger than or equal to the array length, the length is updated to be <code>index</code> + 1. Any position in the array that hasn't been set before is set to undefined, i.e., <code>PP_Var</code> of type <code>PP_VARTYPE_UNDEFINED</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The value to set.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>bool</code> indicating whether the operation succeeds. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a6d37da10169a4e9f66152d74231694b9"></a><!-- doxytag: member="pp::VarArray::SetLength" ref="a6d37da10169a4e9f66152d74231694b9" args="(uint32_t length)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_var_array.html#a6d37da10169a4e9f66152d74231694b9">pp::VarArray::SetLength</a> </td>
+<td>(</td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>length</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sets the array length. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>The new array length. If <code>length</code> is smaller than its current value, the array is truncated to the new length; any elements that no longer fit are removed. If <code>length</code> is larger than its current value, undefined vars are appended to increase the array to the specified length.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>bool</code> indicating whether the operation succeeds. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="var__array_8h.html">var_array.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_var_array__inherit__graph.png b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_var_array__inherit__graph.png
new file mode 100644
index 0000000..43343d6b
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_var_array__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_var_array_buffer-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_var_array_buffer-members.html
new file mode 100644
index 0000000..04c6915
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_var_array_buffer-members.html
@@ -0,0 +1,57 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_var_array_buffer.html">pp::VarArrayBuffer</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a07e7a4ea38b990e6c230109823347e70">AsBool</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a8a798b08e197948c161737fc7b745af6">AsDouble</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ad31cdb379b6ceaae967125e358c81d16">AsInt</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a22a1e3b2a0783b949bedcdae49c07c97">AsString</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array_buffer.html#aee1fdb39f8a1ebcd8a78fb5e996e0af2">ByteLength</a>() const </td><td><a class="el" href="classpp_1_1_var_array_buffer.html">pp::VarArrayBuffer</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a835b1e5a601d6e5ceb9a7d1b5fb7a66f">DebugString</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a84a725a42640a63747f7f6bc252b65d4">Detach</a>()</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a7a28894a77f9d69d1a4b0272bf80d657">is_array</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ac0fd1d153203f8fe6c23b88618a5ef65">is_array_buffer</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a83773e6f9e2ac3723e33b6a1586d5c1e">is_bool</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ae061050e5deaac345eb089b9cd8796ea">is_dictionary</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a4a9e093ddf1475542bf0b3231e03d631">is_double</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ae7dd6f7e851c81ee259095f3e826f3fd">is_int</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a94bec264c03634f7ba66fb46ed4fda0b">is_managed_</a></td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#aa4a9d8309d3390aa56a4f2966daf6533">is_null</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ae803a32764804c873dd16c48bd4fdc83">is_number</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a79ed26c49d64b536619a1ee574848a36">is_object</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a8ed51b6cd4e1b6fee46d8fdf27c98ef1">is_resource</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a57ce2eb7f023f383194155b25b53d297">is_string</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#afe677b5834bfb5f1364d212a52f1879e">is_undefined</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array_buffer.html#ab81d9579bcacf5eb927a9638092d2f3b">Map</a>()</td><td><a class="el" href="classpp_1_1_var_array_buffer.html">pp::VarArrayBuffer</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array_buffer.html#afe636bd8a6011c04dce0eaa84af7c1ee">operator=</a>(const VarArrayBuffer &other)</td><td><a class="el" href="classpp_1_1_var_array_buffer.html">pp::VarArrayBuffer</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array_buffer.html#a9cbb8584d8edc5d03875de67dec4086c">operator=</a>(const Var &other)</td><td><a class="el" href="classpp_1_1_var_array_buffer.html">pp::VarArrayBuffer</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ad689c287e64f984eb951c57af303a444">operator==</a>(const Var &other) const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ad828439641c93930ff188b45b45b4261">pp_var</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array_buffer.html#a271e6bb122f313a758b5fce1dc751687">Unmap</a>()</td><td><a class="el" href="classpp_1_1_var_array_buffer.html">pp::VarArrayBuffer</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">Var</a>()</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a8dc13cf4d873293e06e6d23325ab2544">Var</a>(Null)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a6eba29ce9f635feb4ffbdfba1014ff99">Var</a>(bool b)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a6de6c1f791f105b70d0cf815f63c2304">Var</a>(int32_t i)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a9bbdfd7d1aa2bd6c8d526ff5f6a2c035">Var</a>(double d)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a24ae309e6e0335d2b16aab6039c231fa">Var</a>(const char *utf8_str)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a4b0c8c5ef714c9444cfd8f1dd4a9fb25">Var</a>(const std::string &utf8_str)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a64a857e38d59b1e012a02d7b8f98680f">Var</a>(PassRef, const PP_Var &var)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a52415e7de337c97b08eb70b06e0cda4b">Var</a>(const PP_Var &var)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a2356640f40527226f295cc15ec01f302">Var</a>(DontManage, const PP_Var &var)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#aa87cbd4cc4bc47b6f1f8a749f60aa062">Var</a>(const Var &other)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a7c1225564a0e3ab910823fc20d2611ab">var_</a></td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array_buffer.html#a3ce55ddf56dd4fe7bb37cf6cbf10a85a">VarArrayBuffer</a>()</td><td><a class="el" href="classpp_1_1_var_array_buffer.html">pp::VarArrayBuffer</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array_buffer.html#aa933ee36d23a31ae35acacbb10069a6b">VarArrayBuffer</a>(const Var &var)</td><td><a class="el" href="classpp_1_1_var_array_buffer.html">pp::VarArrayBuffer</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array_buffer.html#a7fd29347661fc1539dd474cc3f0e2a72">VarArrayBuffer</a>(uint32_t size_in_bytes)</td><td><a class="el" href="classpp_1_1_var_array_buffer.html">pp::VarArrayBuffer</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array_buffer.html#a9b76b96c7b11a10aa4424c02b4a5511b">VarArrayBuffer</a>(const VarArrayBuffer &buffer)</td><td><a class="el" href="classpp_1_1_var_array_buffer.html">pp::VarArrayBuffer</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a148a5009f2f445edfec0a5f83ed94cf4">~Var</a>()</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array_buffer.html#afc67644105914d333c2266c056c99190">~VarArrayBuffer</a>()</td><td><a class="el" href="classpp_1_1_var_array_buffer.html">pp::VarArrayBuffer</a></td><td><code> [inline, virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_var_array_buffer.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_var_array_buffer.html
new file mode 100644
index 0000000..8349295
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_var_array_buffer.html
@@ -0,0 +1,245 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::VarArrayBuffer Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::VarArrayBuffer" --><!-- doxytag: inherits="pp::Var" --><div class="dynheader">
+Inheritance diagram for pp::VarArrayBuffer:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_var_array_buffer__inherit__graph.png" border="0" usemap="#pp_1_1_var_array_buffer_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_var_array_buffer_inherit__map" id="pp_1_1_var_array_buffer_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page." alt="" coords="41,5,108,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_var_array_buffer-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array_buffer.html#a3ce55ddf56dd4fe7bb37cf6cbf10a85a">VarArrayBuffer</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array_buffer.html#aa933ee36d23a31ae35acacbb10069a6b">VarArrayBuffer</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &var)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array_buffer.html#a7fd29347661fc1539dd474cc3f0e2a72">VarArrayBuffer</a> (uint32_t size_in_bytes)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array_buffer.html#a9b76b96c7b11a10aa4424c02b4a5511b">VarArrayBuffer</a> (const <a class="el" href="classpp_1_1_var_array_buffer.html">VarArrayBuffer</a> &buffer)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array_buffer.html#afc67644105914d333c2266c056c99190">~VarArrayBuffer</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var_array_buffer.html">VarArrayBuffer</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array_buffer.html#afe636bd8a6011c04dce0eaa84af7c1ee">operator=</a> (const <a class="el" href="classpp_1_1_var_array_buffer.html">VarArrayBuffer</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classpp_1_1_var.html">Var</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array_buffer.html#a9cbb8584d8edc5d03875de67dec4086c">operator=</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array_buffer.html#aee1fdb39f8a1ebcd8a78fb5e996e0af2">ByteLength</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array_buffer.html#ab81d9579bcacf5eb927a9638092d2f3b">Map</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array_buffer.html#a271e6bb122f313a758b5fce1dc751687">Unmap</a> ()</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p><code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code> provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous sequence of bytes. </p>
+<p>Note that these vars are not part of the embedding page's DOM, and can only be shared with JavaScript using the <code>PostMessage</code> and <code>HandleMessage</code> functions of <code><a class="el" href="classpp_1_1_instance.html">Instance</a></code>. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a3ce55ddf56dd4fe7bb37cf6cbf10a85a"></a><!-- doxytag: member="pp::VarArrayBuffer::VarArrayBuffer" ref="a3ce55ddf56dd4fe7bb37cf6cbf10a85a" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var_array_buffer.html#a3ce55ddf56dd4fe7bb37cf6cbf10a85a">pp::VarArrayBuffer::VarArrayBuffer</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The default constructor constructs a <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code> which is 0 byte long. </p>
+</div>
+</div>
+<a class="anchor" id="aa933ee36d23a31ae35acacbb10069a6b"></a><!-- doxytag: member="pp::VarArrayBuffer::VarArrayBuffer" ref="aa933ee36d23a31ae35acacbb10069a6b" args="(const Var &var)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var_array_buffer.html#a3ce55ddf56dd4fe7bb37cf6cbf10a85a">pp::VarArrayBuffer::VarArrayBuffer</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>var</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Construct a <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code> given a var for which <a class="el" href="classpp_1_1_var.html#ac0fd1d153203f8fe6c23b88618a5ef65" title="This function determines if this Var is an ArrayBuffer.">is_array_buffer()</a> is true. </p>
+<p>This will refer to the same <code>ArrayBuffer</code> as var, but allows you to access methods specific to <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">var</td><td>An <code>ArrayBuffer</code> var. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a7fd29347661fc1539dd474cc3f0e2a72"></a><!-- doxytag: member="pp::VarArrayBuffer::VarArrayBuffer" ref="a7fd29347661fc1539dd474cc3f0e2a72" args="(uint32_t size_in_bytes)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var_array_buffer.html#a3ce55ddf56dd4fe7bb37cf6cbf10a85a">pp::VarArrayBuffer::VarArrayBuffer</a> </td>
+<td>(</td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>size_in_bytes</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Construct a new <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code> which is <code>size_in_bytes</code> bytes long and initialized to zero. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">size_in_bytes</td><td>The size of the constructed <code>ArrayBuffer</code> in bytes. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a9b76b96c7b11a10aa4424c02b4a5511b"></a><!-- doxytag: member="pp::VarArrayBuffer::VarArrayBuffer" ref="a9b76b96c7b11a10aa4424c02b4a5511b" args="(const VarArrayBuffer &buffer)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var_array_buffer.html#a3ce55ddf56dd4fe7bb37cf6cbf10a85a">pp::VarArrayBuffer::VarArrayBuffer</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var_array_buffer.html">VarArrayBuffer</a> & </td>
+<td class="paramname"><em>buffer</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Copy constructor. </p>
+</div>
+</div>
+<a class="anchor" id="afc67644105914d333c2266c056c99190"></a><!-- doxytag: member="pp::VarArrayBuffer::~VarArrayBuffer" ref="afc67644105914d333c2266c056c99190" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_var_array_buffer.html#afc67644105914d333c2266c056c99190">pp::VarArrayBuffer::~VarArrayBuffer</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline, virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="aee1fdb39f8a1ebcd8a78fb5e996e0af2"></a><!-- doxytag: member="pp::VarArrayBuffer::ByteLength" ref="aee1fdb39f8a1ebcd8a78fb5e996e0af2" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="classpp_1_1_var_array_buffer.html#aee1fdb39f8a1ebcd8a78fb5e996e0af2">pp::VarArrayBuffer::ByteLength</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_var_array_buffer.html#aee1fdb39f8a1ebcd8a78fb5e996e0af2" title="ByteLength() retrieves the length of the VarArrayBuffer in bytes.">ByteLength()</a> retrieves the length of the <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code> in bytes. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The length of the <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code> in bytes. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab81d9579bcacf5eb927a9638092d2f3b"></a><!-- doxytag: member="pp::VarArrayBuffer::Map" ref="ab81d9579bcacf5eb927a9638092d2f3b" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void* <a class="el" href="classpp_1_1_var_array_buffer.html#ab81d9579bcacf5eb927a9638092d2f3b">pp::VarArrayBuffer::Map</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_var_array_buffer.html#ab81d9579bcacf5eb927a9638092d2f3b" title="Map() maps the ArrayBuffer in to the module's address space and returns a pointer to the beginning of...">Map()</a> maps the <code>ArrayBuffer</code> in to the module's address space and returns a pointer to the beginning of the internal buffer for this <code>ArrayBuffer</code>. </p>
+<p>ArrayBuffers are copied when transmitted, so changes to the underlying memory are not automatically available to the embedding page.</p>
+<p>Note that calling <a class="el" href="classpp_1_1_var_array_buffer.html#ab81d9579bcacf5eb927a9638092d2f3b" title="Map() maps the ArrayBuffer in to the module's address space and returns a pointer to the beginning of...">Map()</a> can be a relatively expensive operation. Use care when calling it in performance-critical code. For example, you should call it only once when looping over an <code>ArrayBuffer</code>.</p>
+<p><b>Example:</b></p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">char</span>* data = <span class="keyword">static_cast<</span><span class="keywordtype">char</span>*<span class="keyword">></span>(array_buffer_var.Map());
+ uint32_t byte_length = array_buffer_var.ByteLength();
+ <span class="keywordflow">for</span> (uint32_t i = 0; i < byte_length; ++i)
+ data[i] = <span class="charliteral">'A'</span>;
+</pre></div><dl class="return"><dt><b>Returns:</b></dt><dd>A pointer to the internal buffer for this <code>ArrayBuffer</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="afe636bd8a6011c04dce0eaa84af7c1ee"></a><!-- doxytag: member="pp::VarArrayBuffer::operator=" ref="afe636bd8a6011c04dce0eaa84af7c1ee" args="(const VarArrayBuffer &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var_array_buffer.html">VarArrayBuffer</a>& pp::VarArrayBuffer::operator= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var_array_buffer.html">VarArrayBuffer</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function assigns one <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code> to another <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>The <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code> to be assigned.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The resulting <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a9cbb8584d8edc5d03875de67dec4086c"></a><!-- doxytag: member="pp::VarArrayBuffer::operator=" ref="a9cbb8584d8edc5d03875de67dec4086c" args="(const Var &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_var.html">Var</a>& pp::VarArrayBuffer::operator= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function assigns one <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code> to another <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code>. </p>
+<p>A <a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a>'s assignment operator is overloaded here so that we can check for assigning a non-ArrayBuffer var to a <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>The <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code> to be assigned.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The resulting <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code> (as a <a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a>&). </dd></dl>
+<p>Reimplemented from <a class="el" href="classpp_1_1_var.html#a65601024610f1625c9945acb8725d7c4">pp::Var</a>.</p>
+</div>
+</div>
+<a class="anchor" id="a271e6bb122f313a758b5fce1dc751687"></a><!-- doxytag: member="pp::VarArrayBuffer::Unmap" ref="a271e6bb122f313a758b5fce1dc751687" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_var_array_buffer.html#a271e6bb122f313a758b5fce1dc751687">pp::VarArrayBuffer::Unmap</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_var_array_buffer.html#a271e6bb122f313a758b5fce1dc751687" title="Unmap() unmaps this ArrayBuffer var from the module address space.">Unmap()</a> unmaps this <code>ArrayBuffer</code> var from the module address space. </p>
+<p>Use this if you want to save memory but might want to call <a class="el" href="classpp_1_1_var_array_buffer.html#ab81d9579bcacf5eb927a9638092d2f3b" title="Map() maps the ArrayBuffer in to the module's address space and returns a pointer to the beginning of...">Map()</a> to map the buffer again later. </p>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="var__array__buffer_8h.html">var_array_buffer.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_var_array_buffer__inherit__graph.png b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_var_array_buffer__inherit__graph.png
new file mode 100644
index 0000000..7989af08
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_var_array_buffer__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_var_dictionary-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_var_dictionary-members.html
new file mode 100644
index 0000000..3a501a41
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_var_dictionary-members.html
@@ -0,0 +1,59 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_var_dictionary.html">pp::VarDictionary</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a07e7a4ea38b990e6c230109823347e70">AsBool</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a8a798b08e197948c161737fc7b745af6">AsDouble</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ad31cdb379b6ceaae967125e358c81d16">AsInt</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a22a1e3b2a0783b949bedcdae49c07c97">AsString</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a835b1e5a601d6e5ceb9a7d1b5fb7a66f">DebugString</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_dictionary.html#a1a3c22688159becedcb855fa78619c8c">Delete</a>(const Var &key)</td><td><a class="el" href="classpp_1_1_var_dictionary.html">pp::VarDictionary</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a84a725a42640a63747f7f6bc252b65d4">Detach</a>()</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_dictionary.html#a2221719e6c6f35e4333f426f8366451b">Get</a>(const Var &key) const </td><td><a class="el" href="classpp_1_1_var_dictionary.html">pp::VarDictionary</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_dictionary.html#a90073effa08ca9664e357027ba4c8c48">GetKeys</a>() const </td><td><a class="el" href="classpp_1_1_var_dictionary.html">pp::VarDictionary</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_dictionary.html#a3fd937b874ff4c5361e5b0e21829bd6a">HasKey</a>(const Var &key) const </td><td><a class="el" href="classpp_1_1_var_dictionary.html">pp::VarDictionary</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a7a28894a77f9d69d1a4b0272bf80d657">is_array</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ac0fd1d153203f8fe6c23b88618a5ef65">is_array_buffer</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a83773e6f9e2ac3723e33b6a1586d5c1e">is_bool</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ae061050e5deaac345eb089b9cd8796ea">is_dictionary</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a4a9e093ddf1475542bf0b3231e03d631">is_double</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ae7dd6f7e851c81ee259095f3e826f3fd">is_int</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a94bec264c03634f7ba66fb46ed4fda0b">is_managed_</a></td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#aa4a9d8309d3390aa56a4f2966daf6533">is_null</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ae803a32764804c873dd16c48bd4fdc83">is_number</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a79ed26c49d64b536619a1ee574848a36">is_object</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a8ed51b6cd4e1b6fee46d8fdf27c98ef1">is_resource</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a57ce2eb7f023f383194155b25b53d297">is_string</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#afe677b5834bfb5f1364d212a52f1879e">is_undefined</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_dictionary.html#a0fc59e6a9751d35815e0bfa4a0d06217">operator=</a>(const VarDictionary &other)</td><td><a class="el" href="classpp_1_1_var_dictionary.html">pp::VarDictionary</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_dictionary.html#a689815e0b4e50e2f1e9aaa8b1ef34e00">operator=</a>(const Var &other)</td><td><a class="el" href="classpp_1_1_var_dictionary.html">pp::VarDictionary</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ad689c287e64f984eb951c57af303a444">operator==</a>(const Var &other) const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ad828439641c93930ff188b45b45b4261">pp_var</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_dictionary.html#a5655feba6620abf7654d008e245971d8">Set</a>(const Var &key, const Var &value)</td><td><a class="el" href="classpp_1_1_var_dictionary.html">pp::VarDictionary</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">Var</a>()</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a8dc13cf4d873293e06e6d23325ab2544">Var</a>(Null)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a6eba29ce9f635feb4ffbdfba1014ff99">Var</a>(bool b)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a6de6c1f791f105b70d0cf815f63c2304">Var</a>(int32_t i)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a9bbdfd7d1aa2bd6c8d526ff5f6a2c035">Var</a>(double d)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a24ae309e6e0335d2b16aab6039c231fa">Var</a>(const char *utf8_str)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a4b0c8c5ef714c9444cfd8f1dd4a9fb25">Var</a>(const std::string &utf8_str)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a64a857e38d59b1e012a02d7b8f98680f">Var</a>(PassRef, const PP_Var &var)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a52415e7de337c97b08eb70b06e0cda4b">Var</a>(const PP_Var &var)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a2356640f40527226f295cc15ec01f302">Var</a>(DontManage, const PP_Var &var)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#aa87cbd4cc4bc47b6f1f8a749f60aa062">Var</a>(const Var &other)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a7c1225564a0e3ab910823fc20d2611ab">var_</a></td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_dictionary.html#a8687ca12c7d53653e7ea164ca13c86f8">VarDictionary</a>()</td><td><a class="el" href="classpp_1_1_var_dictionary.html">pp::VarDictionary</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_dictionary.html#ae90f19faf752428dce18ab319a421aa7">VarDictionary</a>(const Var &var)</td><td><a class="el" href="classpp_1_1_var_dictionary.html">pp::VarDictionary</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_dictionary.html#aaca1887754d80b56503cd0c329397f74">VarDictionary</a>(const PP_Var &var)</td><td><a class="el" href="classpp_1_1_var_dictionary.html">pp::VarDictionary</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_dictionary.html#a42546bb501a2e5d74f1092e88cf162ac">VarDictionary</a>(const VarDictionary &other)</td><td><a class="el" href="classpp_1_1_var_dictionary.html">pp::VarDictionary</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a148a5009f2f445edfec0a5f83ed94cf4">~Var</a>()</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_dictionary.html#adc8bdb1aee0e5deaee3b88a755cbc9ff">~VarDictionary</a>()</td><td><a class="el" href="classpp_1_1_var_dictionary.html">pp::VarDictionary</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_var_dictionary.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_var_dictionary.html
new file mode 100644
index 0000000..b9fce3d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_var_dictionary.html
@@ -0,0 +1,301 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::VarDictionary Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::VarDictionary" --><!-- doxytag: inherits="pp::Var" --><div class="dynheader">
+Inheritance diagram for pp::VarDictionary:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_var_dictionary__inherit__graph.png" border="0" usemap="#pp_1_1_var_dictionary_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_var_dictionary_inherit__map" id="pp_1_1_var_dictionary_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page." alt="" coords="37,5,104,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_var_dictionary-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_dictionary.html#a8687ca12c7d53653e7ea164ca13c86f8">VarDictionary</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_dictionary.html#ae90f19faf752428dce18ab319a421aa7">VarDictionary</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &var)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_dictionary.html#aaca1887754d80b56503cd0c329397f74">VarDictionary</a> (const PP_Var &var)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_dictionary.html#a42546bb501a2e5d74f1092e88cf162ac">VarDictionary</a> (const <a class="el" href="classpp_1_1_var_dictionary.html">VarDictionary</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_dictionary.html#adc8bdb1aee0e5deaee3b88a755cbc9ff">~VarDictionary</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var_dictionary.html">VarDictionary</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_dictionary.html#a0fc59e6a9751d35815e0bfa4a0d06217">operator=</a> (const <a class="el" href="classpp_1_1_var_dictionary.html">VarDictionary</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classpp_1_1_var.html">Var</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_dictionary.html#a689815e0b4e50e2f1e9aaa8b1ef34e00">operator=</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_dictionary.html#a2221719e6c6f35e4333f426f8366451b">Get</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &key) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_dictionary.html#a5655feba6620abf7654d008e245971d8">Set</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &key, const <a class="el" href="classpp_1_1_var.html">Var</a> &value)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_dictionary.html#a1a3c22688159becedcb855fa78619c8c">Delete</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &key)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_dictionary.html#a3fd937b874ff4c5361e5b0e21829bd6a">HasKey</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &key) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var_array.html">VarArray</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_dictionary.html#a90073effa08ca9664e357027ba4c8c48">GetKeys</a> () const </td></tr>
+</table>
+<hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a8687ca12c7d53653e7ea164ca13c86f8"></a><!-- doxytag: member="pp::VarDictionary::VarDictionary" ref="a8687ca12c7d53653e7ea164ca13c86f8" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var_dictionary.html#a8687ca12c7d53653e7ea164ca13c86f8">pp::VarDictionary::VarDictionary</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs a new dictionary var. </p>
+</div>
+</div>
+<a class="anchor" id="ae90f19faf752428dce18ab319a421aa7"></a><!-- doxytag: member="pp::VarDictionary::VarDictionary" ref="ae90f19faf752428dce18ab319a421aa7" args="(const Var &var)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var_dictionary.html#a8687ca12c7d53653e7ea164ca13c86f8">pp::VarDictionary::VarDictionary</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>var</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs a <code><a class="el" href="classpp_1_1_var_dictionary.html">VarDictionary</a></code> given a var for which <a class="el" href="classpp_1_1_var.html#ae061050e5deaac345eb089b9cd8796ea" title="This function determines if this Var is a dictionary.">is_dictionary()</a> is true. </p>
+<p>This will refer to the same dictionary var, but allow you to access methods specific to dictionary.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">var</td><td>A dictionary var. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="aaca1887754d80b56503cd0c329397f74"></a><!-- doxytag: member="pp::VarDictionary::VarDictionary" ref="aaca1887754d80b56503cd0c329397f74" args="(const PP_Var &var)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var_dictionary.html#a8687ca12c7d53653e7ea164ca13c86f8">pp::VarDictionary::VarDictionary</a> </td>
+<td>(</td>
+<td class="paramtype">const PP_Var & </td>
+<td class="paramname"><em>var</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs a <code><a class="el" href="classpp_1_1_var_dictionary.html">VarDictionary</a></code> given a <code>PP_Var</code> of type PP_VARTYPE_DICTIONARY. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">var</td><td>A <code>PP_Var</code> of type PP_VARTYPE_DICTIONARY. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a42546bb501a2e5d74f1092e88cf162ac"></a><!-- doxytag: member="pp::VarDictionary::VarDictionary" ref="a42546bb501a2e5d74f1092e88cf162ac" args="(const VarDictionary &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var_dictionary.html#a8687ca12c7d53653e7ea164ca13c86f8">pp::VarDictionary::VarDictionary</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var_dictionary.html">VarDictionary</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Copy constructor. </p>
+</div>
+</div>
+<a class="anchor" id="adc8bdb1aee0e5deaee3b88a755cbc9ff"></a><!-- doxytag: member="pp::VarDictionary::~VarDictionary" ref="adc8bdb1aee0e5deaee3b88a755cbc9ff" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_var_dictionary.html#adc8bdb1aee0e5deaee3b88a755cbc9ff">pp::VarDictionary::~VarDictionary</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a1a3c22688159becedcb855fa78619c8c"></a><!-- doxytag: member="pp::VarDictionary::Delete" ref="a1a3c22688159becedcb855fa78619c8c" args="(const Var &key)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_var_dictionary.html#a1a3c22688159becedcb855fa78619c8c">pp::VarDictionary::Delete</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>key</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Deletes the specified key and its associated value, if the key exists. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>A string var. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a2221719e6c6f35e4333f426f8366451b"></a><!-- doxytag: member="pp::VarDictionary::Get" ref="a2221719e6c6f35e4333f426f8366451b" args="(const Var &key) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_var_dictionary.html#a2221719e6c6f35e4333f426f8366451b">pp::VarDictionary::Get</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>key</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the value associated with the specified key. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>A string var.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The value that is associated with <code>key</code>. If <code>key</code> is not a string var, or it doesn't exist in the dictionary, an undefined var is returned. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a90073effa08ca9664e357027ba4c8c48"></a><!-- doxytag: member="pp::VarDictionary::GetKeys" ref="a90073effa08ca9664e357027ba4c8c48" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var_array.html">VarArray</a> <a class="el" href="classpp_1_1_var_dictionary.html#a90073effa08ca9664e357027ba4c8c48">pp::VarDictionary::GetKeys</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets all the keys in the dictionary. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An array var which contains all the keys of the dictionary. The elements are string vars. Returns an empty array var if failed. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a3fd937b874ff4c5361e5b0e21829bd6a"></a><!-- doxytag: member="pp::VarDictionary::HasKey" ref="a3fd937b874ff4c5361e5b0e21829bd6a" args="(const Var &key) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_var_dictionary.html#a3fd937b874ff4c5361e5b0e21829bd6a">pp::VarDictionary::HasKey</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>key</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Checks whether a key exists. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>A string var.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>bool</code> indicating whether the key exists. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a0fc59e6a9751d35815e0bfa4a0d06217"></a><!-- doxytag: member="pp::VarDictionary::operator=" ref="a0fc59e6a9751d35815e0bfa4a0d06217" args="(const VarDictionary &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var_dictionary.html">VarDictionary</a>& pp::VarDictionary::operator= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var_dictionary.html">VarDictionary</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Assignment operator. </p>
+</div>
+</div>
+<a class="anchor" id="a689815e0b4e50e2f1e9aaa8b1ef34e00"></a><!-- doxytag: member="pp::VarDictionary::operator=" ref="a689815e0b4e50e2f1e9aaa8b1ef34e00" args="(const Var &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_var.html">Var</a>& pp::VarDictionary::operator= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> assignment operator is overridden here so that we can check for assigning a non-dictionary var to a <code><a class="el" href="classpp_1_1_var_dictionary.html">VarDictionary</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>The dictionary var to be assigned.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The resulting <code><a class="el" href="classpp_1_1_var_dictionary.html">VarDictionary</a></code> (as a <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>&). </dd></dl>
+<p>Reimplemented from <a class="el" href="classpp_1_1_var.html#a65601024610f1625c9945acb8725d7c4">pp::Var</a>.</p>
+</div>
+</div>
+<a class="anchor" id="a5655feba6620abf7654d008e245971d8"></a><!-- doxytag: member="pp::VarDictionary::Set" ref="a5655feba6620abf7654d008e245971d8" args="(const Var &key, const Var &value)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_var_dictionary.html#a5655feba6620abf7654d008e245971d8">pp::VarDictionary::Set</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>key</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>value</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sets the value associated with the specified key. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>A string var. If this key hasn't existed in the dictionary, it is added and associated with <code>value</code>; otherwise, the previous value is replaced with <code>value</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The value to set.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>bool</code> indicating whether the operation succeeds. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="var__dictionary_8h.html">var_dictionary.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_var_dictionary__inherit__graph.png b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_var_dictionary__inherit__graph.png
new file mode 100644
index 0000000..da6715e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_var_dictionary__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_video_frame-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_video_frame-members.html
new file mode 100644
index 0000000..7564c29
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_video_frame-members.html
@@ -0,0 +1,35 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_video_frame.html">pp::VideoFrame</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_video_frame.html#abc019dddc8f073fb5ebb72e51a400f5e">GetDataBuffer</a>()</td><td><a class="el" href="classpp_1_1_video_frame.html">pp::VideoFrame</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_video_frame.html#a9e993de4bf5349f3420a9e7dde2dd89f">GetDataBufferSize</a>() const </td><td><a class="el" href="classpp_1_1_video_frame.html">pp::VideoFrame</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_video_frame.html#ad03a1634ce404649f2f484159fd73be8">GetFormat</a>() const </td><td><a class="el" href="classpp_1_1_video_frame.html">pp::VideoFrame</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_video_frame.html#a7d4026c03a06f519175406a55d254e60">GetSize</a>(Size *size) const </td><td><a class="el" href="classpp_1_1_video_frame.html">pp::VideoFrame</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_video_frame.html#ab2cfae58a6d08410ca7351bd123a6a66">GetTimestamp</a>() const </td><td><a class="el" href="classpp_1_1_video_frame.html">pp::VideoFrame</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_video_frame.html#a1c77d15f28b8252dd711f2fc39448b41">SetTimestamp</a>(PP_TimeDelta timestamp)</td><td><a class="el" href="classpp_1_1_video_frame.html">pp::VideoFrame</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_video_frame.html#a2875cb170789aa00c3e9d5b3e96daa51">VideoFrame</a>()</td><td><a class="el" href="classpp_1_1_video_frame.html">pp::VideoFrame</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_video_frame.html#a00e462115cc543192cf8736373e72d51">VideoFrame</a>(const VideoFrame &other)</td><td><a class="el" href="classpp_1_1_video_frame.html">pp::VideoFrame</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_video_frame.html#aa3f0c75b3e71a5aa450bb59db405d7f2">VideoFrame</a>(const Resource &resource)</td><td><a class="el" href="classpp_1_1_video_frame.html">pp::VideoFrame</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_video_frame.html#a9174464e29af68a4b701469ad3ad8cba">VideoFrame</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_video_frame.html">pp::VideoFrame</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_video_frame.html#af4f974572030ac92546b75a93a9e2b09">~VideoFrame</a>()</td><td><a class="el" href="classpp_1_1_video_frame.html">pp::VideoFrame</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_video_frame.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_video_frame.html
new file mode 100644
index 0000000..cb35087
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_video_frame.html
@@ -0,0 +1,265 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::VideoFrame Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::VideoFrame" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::VideoFrame:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_video_frame__inherit__graph.png" border="0" usemap="#pp_1_1_video_frame_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_video_frame_inherit__map" id="pp_1_1_video_frame_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="15,5,119,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_video_frame-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_video_frame.html#a2875cb170789aa00c3e9d5b3e96daa51">VideoFrame</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_video_frame.html#a00e462115cc543192cf8736373e72d51">VideoFrame</a> (const <a class="el" href="classpp_1_1_video_frame.html">VideoFrame</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_video_frame.html#aa3f0c75b3e71a5aa450bb59db405d7f2">VideoFrame</a> (const <a class="el" href="classpp_1_1_resource.html">Resource</a> &resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_video_frame.html#a9174464e29af68a4b701469ad3ad8cba">VideoFrame</a> (<a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a>, PP_Resource resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_video_frame.html#af4f974572030ac92546b75a93a9e2b09">~VideoFrame</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_TimeDelta </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_video_frame.html#ab2cfae58a6d08410ca7351bd123a6a66">GetTimestamp</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_video_frame.html#a1c77d15f28b8252dd711f2fc39448b41">SetTimestamp</a> (PP_TimeDelta timestamp)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_VideoFrame_Format </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_video_frame.html#ad03a1634ce404649f2f484159fd73be8">GetFormat</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_video_frame.html#a7d4026c03a06f519175406a55d254e60">GetSize</a> (<a class="el" href="classpp_1_1_size.html">Size</a> *size) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_video_frame.html#abc019dddc8f073fb5ebb72e51a400f5e">GetDataBuffer</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_video_frame.html#a9e993de4bf5349f3420a9e7dde2dd89f">GetDataBufferSize</a> () const </td></tr>
+</table>
+<hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a2875cb170789aa00c3e9d5b3e96daa51"></a><!-- doxytag: member="pp::VideoFrame::VideoFrame" ref="a2875cb170789aa00c3e9d5b3e96daa51" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_video_frame.html#a2875cb170789aa00c3e9d5b3e96daa51">pp::VideoFrame::VideoFrame</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor for creating an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> <code><a class="el" href="classpp_1_1_video_frame.html">VideoFrame</a></code> object. </p>
+</div>
+</div>
+<a class="anchor" id="a00e462115cc543192cf8736373e72d51"></a><!-- doxytag: member="pp::VideoFrame::VideoFrame" ref="a00e462115cc543192cf8736373e72d51" args="(const VideoFrame &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_video_frame.html#a2875cb170789aa00c3e9d5b3e96daa51">pp::VideoFrame::VideoFrame</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_video_frame.html">VideoFrame</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The copy constructor for <code><a class="el" href="classpp_1_1_video_frame.html">VideoFrame</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A reference to a <code><a class="el" href="classpp_1_1_video_frame.html">VideoFrame</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="aa3f0c75b3e71a5aa450bb59db405d7f2"></a><!-- doxytag: member="pp::VideoFrame::VideoFrame" ref="aa3f0c75b3e71a5aa450bb59db405d7f2" args="(const Resource &resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_video_frame.html#a2875cb170789aa00c3e9d5b3e96daa51">pp::VideoFrame::VideoFrame</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_resource.html">Resource</a> & </td>
+<td class="paramname"><em>resource</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs a <code><a class="el" href="classpp_1_1_video_frame.html">VideoFrame</a></code> from a <code><a class="el" href="classpp_1_1_resource.html" title="A reference counted module resource.">Resource</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PPB_VideoFrame</code> resource. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a9174464e29af68a4b701469ad3ad8cba"></a><!-- doxytag: member="pp::VideoFrame::VideoFrame" ref="a9174464e29af68a4b701469ad3ad8cba" args="(PassRef, PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_video_frame.html#a2875cb170789aa00c3e9d5b3e96daa51">pp::VideoFrame::VideoFrame</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a> </td>
+<td class="paramname">, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>resource</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used when you have received a <code>PP_Resource</code> as a return value that has had 1 ref added for you. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PPB_VideoFrame</code> resource. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="af4f974572030ac92546b75a93a9e2b09"></a><!-- doxytag: member="pp::VideoFrame::~VideoFrame" ref="af4f974572030ac92546b75a93a9e2b09" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_video_frame.html#af4f974572030ac92546b75a93a9e2b09">pp::VideoFrame::~VideoFrame</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="abc019dddc8f073fb5ebb72e51a400f5e"></a><!-- doxytag: member="pp::VideoFrame::GetDataBuffer" ref="abc019dddc8f073fb5ebb72e51a400f5e" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void* <a class="el" href="classpp_1_1_video_frame.html#abc019dddc8f073fb5ebb72e51a400f5e">pp::VideoFrame::GetDataBuffer</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the data buffer for video frame pixels. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A pointer to the beginning of the data buffer. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a9e993de4bf5349f3420a9e7dde2dd89f"></a><!-- doxytag: member="pp::VideoFrame::GetDataBufferSize" ref="a9e993de4bf5349f3420a9e7dde2dd89f" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="classpp_1_1_video_frame.html#a9e993de4bf5349f3420a9e7dde2dd89f">pp::VideoFrame::GetDataBufferSize</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the size of data buffer in bytes. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The size of the data buffer in bytes. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ad03a1634ce404649f2f484159fd73be8"></a><!-- doxytag: member="pp::VideoFrame::GetFormat" ref="ad03a1634ce404649f2f484159fd73be8" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_VideoFrame_Format <a class="el" href="classpp_1_1_video_frame.html#ad03a1634ce404649f2f484159fd73be8">pp::VideoFrame::GetFormat</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the format of the video frame. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_VideoFrame_Format</code> containing the format of the video frame. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a7d4026c03a06f519175406a55d254e60"></a><!-- doxytag: member="pp::VideoFrame::GetSize" ref="a7d4026c03a06f519175406a55d254e60" args="(Size *size) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_video_frame.html#a7d4026c03a06f519175406a55d254e60">pp::VideoFrame::GetSize</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="classpp_1_1_size.html">Size</a> * </td>
+<td class="paramname"><em>size</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the size of the video frame. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[out]</td><td class="paramname">size</td><td>A <code><a class="el" href="classpp_1_1_size.html" title="A size of an object based on width and height.">Size</a></code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>True on success or false on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab2cfae58a6d08410ca7351bd123a6a66"></a><!-- doxytag: member="pp::VideoFrame::GetTimestamp" ref="ab2cfae58a6d08410ca7351bd123a6a66" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_TimeDelta <a class="el" href="classpp_1_1_video_frame.html#ab2cfae58a6d08410ca7351bd123a6a66">pp::VideoFrame::GetTimestamp</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the timestamp of the video frame. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_TimeDelta</code> containing the timestamp of the video frame. Given in seconds since the start of the containing video stream. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a1c77d15f28b8252dd711f2fc39448b41"></a><!-- doxytag: member="pp::VideoFrame::SetTimestamp" ref="a1c77d15f28b8252dd711f2fc39448b41" args="(PP_TimeDelta timestamp)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_video_frame.html#a1c77d15f28b8252dd711f2fc39448b41">pp::VideoFrame::SetTimestamp</a> </td>
+<td>(</td>
+<td class="paramtype">PP_TimeDelta </td>
+<td class="paramname"><em>timestamp</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sets the timestamp of the video frame. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">timestamp</td><td>A <code>PP_TimeDelta</code> containing the timestamp of the video frame. Given in seconds since the start of the containing video stream. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="video__frame_8h.html">video_frame.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_video_frame__inherit__graph.png b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_video_frame__inherit__graph.png
new file mode 100644
index 0000000..f8da1d6
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_video_frame__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_view-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_view-members.html
new file mode 100644
index 0000000..798b615
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_view-members.html
@@ -0,0 +1,33 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_view.html">pp::View</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_view.html#aff9a53367325d9138ab7d9cd39e40ce2">GetClipRect</a>() const </td><td><a class="el" href="classpp_1_1_view.html">pp::View</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_view.html#a42d5b4ab4ffed3f020d3fd303a14a9dd">GetCSSScale</a>() const </td><td><a class="el" href="classpp_1_1_view.html">pp::View</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_view.html#a52759c57da28a6c06a5da23d28519287">GetDeviceScale</a>() const </td><td><a class="el" href="classpp_1_1_view.html">pp::View</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_view.html#a37996c51fa6cc2dc25783461ecde0bb9">GetRect</a>() const </td><td><a class="el" href="classpp_1_1_view.html">pp::View</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_view.html#a2ae3a19ade644199982a2d09c6dd5c11">IsFullscreen</a>() const </td><td><a class="el" href="classpp_1_1_view.html">pp::View</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_view.html#a30a0919ba5e4209ef52207375c5fc5f6">IsPageVisible</a>() const </td><td><a class="el" href="classpp_1_1_view.html">pp::View</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_view.html#aff1f9900e594167a276a624e52e5ac4c">IsVisible</a>() const </td><td><a class="el" href="classpp_1_1_view.html">pp::View</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_view.html#aebcd4ab8818a6e1dfe68e2c435823ad9">View</a>()</td><td><a class="el" href="classpp_1_1_view.html">pp::View</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_view.html#a89cc79b6731f0e67d0821fe83b3e64fb">View</a>(PP_Resource view_resource)</td><td><a class="el" href="classpp_1_1_view.html">pp::View</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_view.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_view.html
new file mode 100644
index 0000000..344f71bf
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_view.html
@@ -0,0 +1,208 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::View Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::View" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::View:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_view__inherit__graph.png" border="0" usemap="#pp_1_1_view_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_view_inherit__map" id="pp_1_1_view_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="5,5,109,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_view-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_view.html#aebcd4ab8818a6e1dfe68e2c435823ad9">View</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_view.html#a89cc79b6731f0e67d0821fe83b3e64fb">View</a> (PP_Resource view_resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_rect.html">Rect</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_view.html#a37996c51fa6cc2dc25783461ecde0bb9">GetRect</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_view.html#a2ae3a19ade644199982a2d09c6dd5c11">IsFullscreen</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_view.html#aff1f9900e594167a276a624e52e5ac4c">IsVisible</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_view.html#a30a0919ba5e4209ef52207375c5fc5f6">IsPageVisible</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_rect.html">Rect</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_view.html#aff9a53367325d9138ab7d9cd39e40ce2">GetClipRect</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_view.html#a52759c57da28a6c06a5da23d28519287">GetDeviceScale</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_view.html#a42d5b4ab4ffed3f020d3fd303a14a9dd">GetCSSScale</a> () const </td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This class represents the state of the view for an instance and contains functions for retrieving the current state of that view. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="aebcd4ab8818a6e1dfe68e2c435823ad9"></a><!-- doxytag: member="pp::View::View" ref="aebcd4ab8818a6e1dfe68e2c435823ad9" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_view.html#aebcd4ab8818a6e1dfe68e2c435823ad9">pp::View::View</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor for creating an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> <code><a class="el" href="classpp_1_1_view.html" title="This class represents the state of the view for an instance and contains functions for retrieving the...">View</a></code> object. </p>
+</div>
+</div>
+<a class="anchor" id="a89cc79b6731f0e67d0821fe83b3e64fb"></a><!-- doxytag: member="pp::View::View" ref="a89cc79b6731f0e67d0821fe83b3e64fb" args="(PP_Resource view_resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_view.html#aebcd4ab8818a6e1dfe68e2c435823ad9">pp::View::View</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>view_resource</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Creates a <a class="el" href="classpp_1_1_view.html" title="This class represents the state of the view for an instance and contains functions for retrieving the...">View</a> resource, taking and holding an additional reference to the given resource handle. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="aff9a53367325d9138ab7d9cd39e40ce2"></a><!-- doxytag: member="pp::View::GetClipRect" ref="aff9a53367325d9138ab7d9cd39e40ce2" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_rect.html">Rect</a> <a class="el" href="classpp_1_1_view.html#aff9a53367325d9138ab7d9cd39e40ce2">pp::View::GetClipRect</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_view.html#aff9a53367325d9138ab7d9cd39e40ce2" title="GetClipRect() returns the clip rectangle relative to the upper-left corner of the module instance...">GetClipRect()</a> returns the clip rectangle relative to the upper-left corner of the module instance. </p>
+<p>This rectangle indicates the portions of the module instance that are scrolled into view.</p>
+<p>If the module instance is scrolled off the view, the return value will be (0, 0, 0, 0). This clip rectangle does <em>not</em> take into account page visibility. Therefore, if the module instance is scrolled into view, but the page itself is on a tab that is not visible, the return rectangle will contain the visible rectangle as though the page were visible. Refer to <a class="el" href="classpp_1_1_view.html#a30a0919ba5e4209ef52207375c5fc5f6" title="IsPageVisible() determines if the page that contains the module instance is visible.">IsPageVisible()</a> and <a class="el" href="classpp_1_1_view.html#aff1f9900e594167a276a624e52e5ac4c" title="IsVisible() determines whether the module instance might be visible to the user.">IsVisible()</a> if you want to account for page visibility.</p>
+<p>Most applications will not need to worry about the clip rectangle. The recommended behavior is to do full updates if the module instance is visible, as determined by <a class="el" href="classpp_1_1_view.html#aff1f9900e594167a276a624e52e5ac4c" title="IsVisible() determines whether the module instance might be visible to the user.">IsVisible()</a>, and do no updates if it is not visible.</p>
+<p>However, if the cost for computing pixels is very high for your application, or the pages you're targeting frequently have very large module instances with small visible portions, you may wish to optimize further. In this case, the clip rectangle will tell you which parts of the module to update.</p>
+<p>Note that painting of the page and sending of view changed updates happens asynchronously. This means when the user scrolls, for example, it is likely that the previous backing store of the module instance will be used for the first paint, and will be updated later when your application generates new content with the new clip. This may cause flickering at the boundaries when scrolling. If you do choose to do partial updates, you may want to think about what color the invisible portions of your backing store contain (be it transparent or some background color) or to paint a certain region outside the clip to reduce the visual distraction when this happens.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The rectangle representing the visible part of the module instance. If the resource is invalid, the empty rectangle is returned. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a42d5b4ab4ffed3f020d3fd303a14a9dd"></a><!-- doxytag: member="pp::View::GetCSSScale" ref="a42d5b4ab4ffed3f020d3fd303a14a9dd" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="classpp_1_1_view.html#a42d5b4ab4ffed3f020d3fd303a14a9dd">pp::View::GetCSSScale</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>GetCSSScale returns the scale factor between DIPs and CSS pixels. </p>
+<p>This allows proper scaling between DIPs - as sent via the Pepper API - and CSS pixel coordinates used for Web content.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>float</code> value representing the number of DIPs per CSS pixel. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a52759c57da28a6c06a5da23d28519287"></a><!-- doxytag: member="pp::View::GetDeviceScale" ref="a52759c57da28a6c06a5da23d28519287" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="classpp_1_1_view.html#a52759c57da28a6c06a5da23d28519287">pp::View::GetDeviceScale</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>GetDeviceScale returns the scale factor between device pixels and DIPs (also known as logical pixels or UI pixels on some platforms). </p>
+<p>This allows the developer to render their contents at device resolution, even as coordinates / sizes are given in DIPs through the API.</p>
+<p>Note that the coordinate system for Pepper APIs is DIPs. Also note that one DIP might not equal one CSS pixel - when page scale/zoom is in effect.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>float</code> value representing the number of device pixels per DIP. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a37996c51fa6cc2dc25783461ecde0bb9"></a><!-- doxytag: member="pp::View::GetRect" ref="a37996c51fa6cc2dc25783461ecde0bb9" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_rect.html">Rect</a> <a class="el" href="classpp_1_1_view.html#a37996c51fa6cc2dc25783461ecde0bb9">pp::View::GetRect</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_view.html#a37996c51fa6cc2dc25783461ecde0bb9" title="GetRect() retrieves the rectangle of the module instance associated with a view changed notification ...">GetRect()</a> retrieves the rectangle of the module instance associated with a view changed notification relative to the upper-left of the browser viewport. </p>
+<p>This position changes when the page is scrolled.</p>
+<p>The returned rectangle may not be inside the visible portion of the viewport if the module instance is scrolled off the page. Therefore, the position may be negative or larger than the size of the page. The size will always reflect the size of the module were it to be scrolled entirely into view.</p>
+<p>In general, most modules will not need to worry about the position of the module instance in the viewport, and only need to use the size.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The rectangle of the instance. The default return value for an invalid <a class="el" href="classpp_1_1_view.html" title="This class represents the state of the view for an instance and contains functions for retrieving the...">View</a> is the empty rectangle. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2ae3a19ade644199982a2d09c6dd5c11"></a><!-- doxytag: member="pp::View::IsFullscreen" ref="a2ae3a19ade644199982a2d09c6dd5c11" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_view.html#a2ae3a19ade644199982a2d09c6dd5c11">pp::View::IsFullscreen</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_view.html#a2ae3a19ade644199982a2d09c6dd5c11" title="IsFullscreen() returns whether the instance is currently displaying in fullscreen mode...">IsFullscreen()</a> returns whether the instance is currently displaying in fullscreen mode. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if the instance is in full screen mode, or <code>false</code> if it's not or the resource is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a30a0919ba5e4209ef52207375c5fc5f6"></a><!-- doxytag: member="pp::View::IsPageVisible" ref="a30a0919ba5e4209ef52207375c5fc5f6" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_view.html#a30a0919ba5e4209ef52207375c5fc5f6">pp::View::IsPageVisible</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_view.html#a30a0919ba5e4209ef52207375c5fc5f6" title="IsPageVisible() determines if the page that contains the module instance is visible.">IsPageVisible()</a> determines if the page that contains the module instance is visible. </p>
+<p>The most common cause of invisible pages is that the page is in a background tab in the browser.</p>
+<p>Most applications should use <a class="el" href="classpp_1_1_view.html#aff1f9900e594167a276a624e52e5ac4c" title="IsVisible() determines whether the module instance might be visible to the user.">IsVisible()</a> instead of this function since the module instance could be scrolled off of a visible page, and this function will still return true. However, depending on how your module interacts with the page, there may be certain updates that you may want to perform when the page is visible even if your specific module instance is not visible.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if the instance might be visible to the user, <code>false</code> if it is definitely not visible. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aff1f9900e594167a276a624e52e5ac4c"></a><!-- doxytag: member="pp::View::IsVisible" ref="aff1f9900e594167a276a624e52e5ac4c" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_view.html#aff1f9900e594167a276a624e52e5ac4c">pp::View::IsVisible</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_view.html#aff1f9900e594167a276a624e52e5ac4c" title="IsVisible() determines whether the module instance might be visible to the user.">IsVisible()</a> determines whether the module instance might be visible to the user. </p>
+<p>For example, the Chrome window could be minimized or another window could be over it. In both of these cases, the module instance would not be visible to the user, but <a class="el" href="classpp_1_1_view.html#aff1f9900e594167a276a624e52e5ac4c" title="IsVisible() determines whether the module instance might be visible to the user.">IsVisible()</a> will return true.</p>
+<p>Use the result to speed up or stop updates for invisible module instances.</p>
+<p>This function performs the duties of <a class="el" href="classpp_1_1_view.html#a37996c51fa6cc2dc25783461ecde0bb9" title="GetRect() retrieves the rectangle of the module instance associated with a view changed notification ...">GetRect()</a> (determining whether the module instance is scrolled into view and the clip rectangle is nonempty) and <a class="el" href="classpp_1_1_view.html#a30a0919ba5e4209ef52207375c5fc5f6" title="IsPageVisible() determines if the page that contains the module instance is visible.">IsPageVisible()</a> (whether the page is visible to the user).</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if the instance might be visible to the user, <code>false</code> if it is definitely not visible. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="view_8h.html">view.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_view__inherit__graph.png b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_view__inherit__graph.png
new file mode 100644
index 0000000..671ba11
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_view__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_web_socket-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_web_socket-members.html
new file mode 100644
index 0000000..8f817321
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_web_socket-members.html
@@ -0,0 +1,38 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_web_socket.html">pp::WebSocket</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_web_socket.html#ae7913ea4019cc2a10c9a0390c5959071">Close</a>(uint16_t code, const Var &reason, const CompletionCallback &callback)</td><td><a class="el" href="classpp_1_1_web_socket.html">pp::WebSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_web_socket.html#ad8471399bfca7df23b87ded733d53141">Connect</a>(const Var &url, const Var protocols[], uint32_t protocol_count, const CompletionCallback &callback)</td><td><a class="el" href="classpp_1_1_web_socket.html">pp::WebSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_web_socket.html#aee920e33ef266c51ffdaeba8d6924e19">GetBufferedAmount</a>()</td><td><a class="el" href="classpp_1_1_web_socket.html">pp::WebSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_web_socket.html#ab1bb565b7800fd3c147177e4e3a3466f">GetCloseCode</a>()</td><td><a class="el" href="classpp_1_1_web_socket.html">pp::WebSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_web_socket.html#a27c9cf6d130706fcc5e6fe2f9ed51a7b">GetCloseReason</a>()</td><td><a class="el" href="classpp_1_1_web_socket.html">pp::WebSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_web_socket.html#a092b63f716b3e02fc8ec0696ac58df84">GetCloseWasClean</a>()</td><td><a class="el" href="classpp_1_1_web_socket.html">pp::WebSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_web_socket.html#ab22093b22b7ceea6957047e1cb5967d2">GetExtensions</a>()</td><td><a class="el" href="classpp_1_1_web_socket.html">pp::WebSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_web_socket.html#a1c4b81bb05d30fdef67a07ac904abf0f">GetProtocol</a>()</td><td><a class="el" href="classpp_1_1_web_socket.html">pp::WebSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_web_socket.html#afa09ce5acb5f7f168f17b8b3f5939317">GetReadyState</a>()</td><td><a class="el" href="classpp_1_1_web_socket.html">pp::WebSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_web_socket.html#ab76ccebfe20facff03464e71f4af7719">GetURL</a>()</td><td><a class="el" href="classpp_1_1_web_socket.html">pp::WebSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_web_socket.html#a1eb972115700589ebf6998db4f411c56">ReceiveMessage</a>(Var *message, const CompletionCallback &callback)</td><td><a class="el" href="classpp_1_1_web_socket.html">pp::WebSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_web_socket.html#a276b1aae76ba9d899475aaf9c2cd4f28">SendMessage</a>(const Var &message)</td><td><a class="el" href="classpp_1_1_web_socket.html">pp::WebSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_web_socket.html#aeaac3a412a9015a9378beec9f42d5809">WebSocket</a>(const InstanceHandle &instance)</td><td><a class="el" href="classpp_1_1_web_socket.html">pp::WebSocket</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_web_socket.html#aa4810e4b945c1fc92493dc206eb35c09">~WebSocket</a>()</td><td><a class="el" href="classpp_1_1_web_socket.html">pp::WebSocket</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_web_socket.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_web_socket.html
new file mode 100644
index 0000000..1f54753
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_web_socket.html
@@ -0,0 +1,372 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::WebSocket Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::WebSocket" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::WebSocket:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_web_socket__inherit__graph.png" border="0" usemap="#pp_1_1_web_socket_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_web_socket_inherit__map" id="pp_1_1_web_socket_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="11,5,115,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_web_socket-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_web_socket.html#aeaac3a412a9015a9378beec9f42d5809">WebSocket</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_web_socket.html#aa4810e4b945c1fc92493dc206eb35c09">~WebSocket</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_web_socket.html#ad8471399bfca7df23b87ded733d53141">Connect</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &url, const <a class="el" href="classpp_1_1_var.html">Var</a> protocols[], uint32_t protocol_count, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_web_socket.html#ae7913ea4019cc2a10c9a0390c5959071">Close</a> (uint16_t code, const <a class="el" href="classpp_1_1_var.html">Var</a> &reason, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_web_socket.html#a1eb972115700589ebf6998db4f411c56">ReceiveMessage</a> (<a class="el" href="classpp_1_1_var.html">Var</a> *message, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_web_socket.html#a276b1aae76ba9d899475aaf9c2cd4f28">SendMessage</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &message)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_web_socket.html#aee920e33ef266c51ffdaeba8d6924e19">GetBufferedAmount</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_web_socket.html#ab1bb565b7800fd3c147177e4e3a3466f">GetCloseCode</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_web_socket.html#a27c9cf6d130706fcc5e6fe2f9ed51a7b">GetCloseReason</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_web_socket.html#a092b63f716b3e02fc8ec0696ac58df84">GetCloseWasClean</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_web_socket.html#ab22093b22b7ceea6957047e1cb5967d2">GetExtensions</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_web_socket.html#a1c4b81bb05d30fdef67a07ac904abf0f">GetProtocol</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_WebSocketReadyState </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_web_socket.html#afa09ce5acb5f7f168f17b8b3f5939317">GetReadyState</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_web_socket.html#ab76ccebfe20facff03464e71f4af7719">GetURL</a> ()</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a></code> class providing bi-directional, full-duplex, communications over a single TCP socket. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="aeaac3a412a9015a9378beec9f42d5809"></a><!-- doxytag: member="pp::WebSocket::WebSocket" ref="aeaac3a412a9015a9378beec9f42d5809" args="(const InstanceHandle &instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_web_socket.html#aeaac3a412a9015a9378beec9f42d5809">pp::WebSocket::WebSocket</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs a <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> object. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="aa4810e4b945c1fc92493dc206eb35c09"></a><!-- doxytag: member="pp::WebSocket::~WebSocket" ref="aa4810e4b945c1fc92493dc206eb35c09" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_web_socket.html#aa4810e4b945c1fc92493dc206eb35c09">pp::WebSocket::~WebSocket</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Destructs a <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> object. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="ae7913ea4019cc2a10c9a0390c5959071"></a><!-- doxytag: member="pp::WebSocket::Close" ref="ae7913ea4019cc2a10c9a0390c5959071" args="(uint16_t code, const Var &reason, const CompletionCallback &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_web_socket.html#ae7913ea4019cc2a10c9a0390c5959071">pp::WebSocket::Close</a> </td>
+<td>(</td>
+<td class="paramtype">uint16_t </td>
+<td class="paramname"><em>code</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>reason</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>callback</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_web_socket.html#ae7913ea4019cc2a10c9a0390c5959071" title="Close() closes the specified WebSocket connection by specifying code and reason.">Close()</a> closes the specified <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> connection by specifying <code>code</code> and <code>reason</code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">code</td><td>The <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> close code. This is ignored if it is 0. <code>PP_WEBSOCKETSTATUSCODE_NORMAL_CLOSURE</code> must be used for the usual case. To indicate some specific error cases, codes in the range <code>PP_WEBSOCKETSTATUSCODE_USER_REGISTERED_MIN</code> to <code>PP_WEBSOCKETSTATUSCODE_USER_REGISTERED_MAX</code>, and in the range <code>PP_WEBSOCKETSTATUSCODE_USER_PRIVATE_MIN</code> to <code>PP_WEBSOCKETSTATUSCODE_USER_PRIVATE_MAX</code> are available.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">reason</td><td>A <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> of string type representing the close reason. This is ignored if it is an undefined type.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> called when the connection is closed or an error occurs in closing the connection.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. Returns <code>PP_ERROR_BADARGUMENT</code> if <code>reason</code> contains an invalid character as a UTF-8 string, or is longer than 123 bytes. <code>PP_ERROR_BADARGUMENT</code> corresponds to a JavaScript SyntaxError in the <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> API specification. Returns <code>PP_ERROR_NOACCESS</code> if the code is not an integer equal to 1000 or in the range 3000 to 4999. <code>PP_ERROR_NOACCESS</code> corresponds to an InvalidAccessError in the <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> API specification. Returns <code>PP_ERROR_INPROGRESS</code> if a previous call to <a class="el" href="classpp_1_1_web_socket.html#ae7913ea4019cc2a10c9a0390c5959071" title="Close() closes the specified WebSocket connection by specifying code and reason.">Close()</a> is not finished. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ad8471399bfca7df23b87ded733d53141"></a><!-- doxytag: member="pp::WebSocket::Connect" ref="ad8471399bfca7df23b87ded733d53141" args="(const Var &url, const Var protocols[], uint32_t protocol_count, const CompletionCallback &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_web_socket.html#ad8471399bfca7df23b87ded733d53141">pp::WebSocket::Connect</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>url</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> </td>
+<td class="paramname"><em>protocols</em>[], </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>protocol_count</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>callback</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_web_socket.html#ad8471399bfca7df23b87ded733d53141" title="Connect() connects to the specified WebSocket server.">Connect()</a> connects to the specified <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> server. </p>
+<p>You can call this function once for an object.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">url</td><td>A <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> of string type representing a <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> server URL.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">protocols</td><td>A pointer to an array of <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> of string type specifying sub-protocols. Each <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> represents one sub-protocol. This argument can be null only if <code>protocol_count</code> is 0.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">protocol_count</td><td>The number of sub-protocols in <code>protocols</code>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> called when a connection is established or an error occurs in establishing connection.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. Returns <code>PP_ERROR_BADARGUMENT</code> if specified <code>url</code>, or <code>protocols</code> contains invalid string as defined in the <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> API specification. <code>PP_ERROR_BADARGUMENT</code> corresponds to a SyntaxError in the <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> API specification. Returns <code>PP_ERROR_NOACCESS</code> if the protocol specified in the <code>url</code> is not a secure protocol, but the origin of the caller has a secure scheme. Also returns <code>PP_ERROR_NOACCESS</code> if the port specified in the <code>url</code> is a port that the user agent is configured to block access to because it is a well-known port like SMTP. <code>PP_ERROR_NOACCESS</code> corresponds to a SecurityError of the specification. Returns <code>PP_ERROR_INPROGRESS</code> if this is not the first call to <a class="el" href="classpp_1_1_web_socket.html#ad8471399bfca7df23b87ded733d53141" title="Connect() connects to the specified WebSocket server.">Connect()</a>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aee920e33ef266c51ffdaeba8d6924e19"></a><!-- doxytag: member="pp::WebSocket::GetBufferedAmount" ref="aee920e33ef266c51ffdaeba8d6924e19" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint64_t <a class="el" href="classpp_1_1_web_socket.html#aee920e33ef266c51ffdaeba8d6924e19">pp::WebSocket::GetBufferedAmount</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_web_socket.html#aee920e33ef266c51ffdaeba8d6924e19" title="GetBufferedAmount() returns the number of bytes of text and binary messages that have been queued for...">GetBufferedAmount()</a> returns the number of bytes of text and binary messages that have been queued for the <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> connection to send, but have not been transmitted to the network yet. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the number of bytes. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab1bb565b7800fd3c147177e4e3a3466f"></a><!-- doxytag: member="pp::WebSocket::GetCloseCode" ref="ab1bb565b7800fd3c147177e4e3a3466f" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint16_t <a class="el" href="classpp_1_1_web_socket.html#ab1bb565b7800fd3c147177e4e3a3466f">pp::WebSocket::GetCloseCode</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_web_socket.html#ab1bb565b7800fd3c147177e4e3a3466f" title="GetCloseCode() returns the connection close code for the WebSocket connection.">GetCloseCode()</a> returns the connection close code for the <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> connection. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns 0 if called before the close code is set. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a27c9cf6d130706fcc5e6fe2f9ed51a7b"></a><!-- doxytag: member="pp::WebSocket::GetCloseReason" ref="a27c9cf6d130706fcc5e6fe2f9ed51a7b" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_web_socket.html#a27c9cf6d130706fcc5e6fe2f9ed51a7b">pp::WebSocket::GetCloseReason</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_web_socket.html#a27c9cf6d130706fcc5e6fe2f9ed51a7b" title="GetCloseReason() returns the connection close reason for the WebSocket connection.">GetCloseReason()</a> returns the connection close reason for the <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> connection. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns a <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> of string type. If called before the close reason is set, the return value contains an empty string. Returns a <code>PP_VARTYPE_UNDEFINED</code> if called on an invalid resource. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a092b63f716b3e02fc8ec0696ac58df84"></a><!-- doxytag: member="pp::WebSocket::GetCloseWasClean" ref="a092b63f716b3e02fc8ec0696ac58df84" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_web_socket.html#a092b63f716b3e02fc8ec0696ac58df84">pp::WebSocket::GetCloseWasClean</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_web_socket.html#a092b63f716b3e02fc8ec0696ac58df84" title="GetCloseWasClean() returns if the connection was closed cleanly for the specified WebSocket connectio...">GetCloseWasClean()</a> returns if the connection was closed cleanly for the specified <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> connection. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>false</code> if called before the connection is closed, called on an invalid resource, or closed for abnormal reasons. Otherwise, returns <code>true</code> if the connection was closed cleanly. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab22093b22b7ceea6957047e1cb5967d2"></a><!-- doxytag: member="pp::WebSocket::GetExtensions" ref="ab22093b22b7ceea6957047e1cb5967d2" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_web_socket.html#ab22093b22b7ceea6957047e1cb5967d2">pp::WebSocket::GetExtensions</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_web_socket.html#ab22093b22b7ceea6957047e1cb5967d2" title="GetExtensions() returns the extensions selected by the server for the specified WebSocket connection...">GetExtensions()</a> returns the extensions selected by the server for the specified <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> connection. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns a <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> of string type. If called before the connection is established, the <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>'s data is an empty string. Returns a <code>PP_VARTYPE_UNDEFINED</code> if called on an invalid resource. Currently the <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>'s data for valid resources are always an empty string. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a1c4b81bb05d30fdef67a07ac904abf0f"></a><!-- doxytag: member="pp::WebSocket::GetProtocol" ref="a1c4b81bb05d30fdef67a07ac904abf0f" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_web_socket.html#a1c4b81bb05d30fdef67a07ac904abf0f">pp::WebSocket::GetProtocol</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_web_socket.html#a1c4b81bb05d30fdef67a07ac904abf0f" title="GetProtocol() returns the sub-protocol chosen by the server for the specified WebSocket connection...">GetProtocol()</a> returns the sub-protocol chosen by the server for the specified <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> connection. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns a <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> of string type. If called before the connection is established, the <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> contains the empty string. Returns a code>PP_VARTYPE_UNDEFINED if called on an invalid resource. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="afa09ce5acb5f7f168f17b8b3f5939317"></a><!-- doxytag: member="pp::WebSocket::GetReadyState" ref="afa09ce5acb5f7f168f17b8b3f5939317" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_WebSocketReadyState <a class="el" href="classpp_1_1_web_socket.html#afa09ce5acb5f7f168f17b8b3f5939317">pp::WebSocket::GetReadyState</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_web_socket.html#afa09ce5acb5f7f168f17b8b3f5939317" title="GetReadyState() returns the ready state of the specified WebSocket connection.">GetReadyState()</a> returns the ready state of the specified <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> connection. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>PP_WEBSOCKETREADYSTATE_INVALID</code> if called before <a class="el" href="classpp_1_1_web_socket.html#ad8471399bfca7df23b87ded733d53141" title="Connect() connects to the specified WebSocket server.">Connect()</a> is called, or if this function is called on an invalid resource. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab76ccebfe20facff03464e71f4af7719"></a><!-- doxytag: member="pp::WebSocket::GetURL" ref="ab76ccebfe20facff03464e71f4af7719" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_web_socket.html#ab76ccebfe20facff03464e71f4af7719">pp::WebSocket::GetURL</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_web_socket.html#ab76ccebfe20facff03464e71f4af7719" title="GetURL() returns the URL associated with specified WebSocket connection.">GetURL()</a> returns the URL associated with specified <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> connection. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns a <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> of string type. If called before the connection is established, the <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> contains the empty string. Returns a <code>PP_VARTYPE_UNDEFINED</code> if this function is called on an invalid resource. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a1eb972115700589ebf6998db4f411c56"></a><!-- doxytag: member="pp::WebSocket::ReceiveMessage" ref="a1eb972115700589ebf6998db4f411c56" args="(Var *message, const CompletionCallback &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_web_socket.html#a1eb972115700589ebf6998db4f411c56">pp::WebSocket::ReceiveMessage</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="classpp_1_1_var.html">Var</a> * </td>
+<td class="paramname"><em>message</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>callback</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_web_socket.html#a1eb972115700589ebf6998db4f411c56" title="ReceiveMessage() receives a message from the WebSocket server.">ReceiveMessage()</a> receives a message from the <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> server. </p>
+<p>This interface only returns a single message. That is, this interface must be called at least N times to receive N messages, no matter the size of each message.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[out]</td><td class="paramname">message</td><td>The received message is copied to provided <code>message</code>. The <code>message</code> must remain valid until <a class="el" href="classpp_1_1_web_socket.html#a1eb972115700589ebf6998db4f411c56" title="ReceiveMessage() receives a message from the WebSocket server.">ReceiveMessage()</a> completes. Its received <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> will be of string or ArrayBuffer type.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> called when <a class="el" href="classpp_1_1_web_socket.html#a1eb972115700589ebf6998db4f411c56" title="ReceiveMessage() receives a message from the WebSocket server.">ReceiveMessage()</a> completes. This callback is ignored if <a class="el" href="classpp_1_1_web_socket.html#a1eb972115700589ebf6998db4f411c56" title="ReceiveMessage() receives a message from the WebSocket server.">ReceiveMessage()</a> completes synchronously and returns <code>PP_OK</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. If an error is detected or connection is closed, <a class="el" href="classpp_1_1_web_socket.html#a1eb972115700589ebf6998db4f411c56" title="ReceiveMessage() receives a message from the WebSocket server.">ReceiveMessage()</a> returns <code>PP_ERROR_FAILED</code> after all buffered messages are received. Until buffered message become empty, <a class="el" href="classpp_1_1_web_socket.html#a1eb972115700589ebf6998db4f411c56" title="ReceiveMessage() receives a message from the WebSocket server.">ReceiveMessage()</a> continues to return <code>PP_OK</code> as if connection is still established without errors. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a276b1aae76ba9d899475aaf9c2cd4f28"></a><!-- doxytag: member="pp::WebSocket::SendMessage" ref="a276b1aae76ba9d899475aaf9c2cd4f28" args="(const Var &message)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_web_socket.html#a276b1aae76ba9d899475aaf9c2cd4f28">pp::WebSocket::SendMessage</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>message</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_web_socket.html#a276b1aae76ba9d899475aaf9c2cd4f28" title="SendMessage() sends a message to the WebSocket server.">SendMessage()</a> sends a message to the <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> server. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">message</td><td>A message to send. The message is copied to an internal buffer, so the caller can free <code>message</code> safely after returning from the function. This <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> must be of string or ArrayBuffer types.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. Returns <code>PP_ERROR_FAILED</code> if the ReadyState is <code>PP_WEBSOCKETREADYSTATE_CONNECTING</code>. <code>PP_ERROR_FAILED</code> corresponds to a JavaScript InvalidStateError in the <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> API specification. Returns <code>PP_ERROR_BADARGUMENT</code> if the provided <code>message</code> contains an invalid character as a UTF-8 string. <code>PP_ERROR_BADARGUMENT</code> corresponds to a JavaScript SyntaxError in the <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> API specification. Otherwise, returns <code>PP_OK</code>, but it doesn't necessarily mean that the server received the message. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="websocket_8h.html">websocket.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_web_socket__inherit__graph.png b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_web_socket__inherit__graph.png
new file mode 100644
index 0000000..9ab88e75
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_web_socket__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_wheel_input_event-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_wheel_input_event-members.html
new file mode 100644
index 0000000..7c263d40
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_wheel_input_event-members.html
@@ -0,0 +1,36 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_wheel_input_event.html">pp::WheelInputEvent</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_wheel_input_event.html#ac9cfe394244f9ea55a842a0cd5ee7ab8">GetDelta</a>() const </td><td><a class="el" href="classpp_1_1_wheel_input_event.html">pp::WheelInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a6f94a5cd8453f1b69e55aadde73354e7">GetModifiers</a>() const </td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_wheel_input_event.html#a8082fa4d12d5b66aa0364825d1549ca6">GetScrollByPage</a>() const </td><td><a class="el" href="classpp_1_1_wheel_input_event.html">pp::WheelInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_wheel_input_event.html#a6c841300d5c71d9cf83eec7da8bbf084">GetTicks</a>() const </td><td><a class="el" href="classpp_1_1_wheel_input_event.html">pp::WheelInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#acc79ecdcf19f5b8a8a7268fc8ff51531">GetTimeStamp</a>() const </td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a73ca79c06ff9a39304e3b390090f03dc">GetType</a>() const </td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#ac7581e4321abe8de6f3b48d70f4aa65d">InputEvent</a>()</td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a1d4f7d3fb88de3cccc60ab26b92ccf23">InputEvent</a>(PP_Resource input_event_resource)</td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_wheel_input_event.html#a85e0f60e68512da2339d61158371fa59">WheelInputEvent</a>()</td><td><a class="el" href="classpp_1_1_wheel_input_event.html">pp::WheelInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_wheel_input_event.html#ab933e1f6aac0f96cdb2d84153bf957ca">WheelInputEvent</a>(const InputEvent &event)</td><td><a class="el" href="classpp_1_1_wheel_input_event.html">pp::WheelInputEvent</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_wheel_input_event.html#a5b9fc5bc86d59a7a5f7703511e41fb33">WheelInputEvent</a>(const InstanceHandle &instance, PP_TimeTicks time_stamp, uint32_t modifiers, const FloatPoint &wheel_delta, const FloatPoint &wheel_ticks, bool scroll_by_page)</td><td><a class="el" href="classpp_1_1_wheel_input_event.html">pp::WheelInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a2492183af4fecec44a423a5b7eae6faf">~InputEvent</a>()</td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_wheel_input_event.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_wheel_input_event.html
new file mode 100644
index 0000000..fff07765
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_wheel_input_event.html
@@ -0,0 +1,193 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::WheelInputEvent Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::WheelInputEvent" --><!-- doxytag: inherits="pp::InputEvent" --><div class="dynheader">
+Inheritance diagram for pp::WheelInputEvent:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_wheel_input_event__inherit__graph.png" border="0" usemap="#pp_1_1_wheel_input_event_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_wheel_input_event_inherit__map" id="pp_1_1_wheel_input_event_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_input_event.html" title="This class represents an input event resource." alt="" coords="24,83,139,112"></area><area shape="rect" id="node4" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="29,5,133,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_wheel_input_event-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_wheel_input_event.html#a85e0f60e68512da2339d61158371fa59">WheelInputEvent</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_wheel_input_event.html#ab933e1f6aac0f96cdb2d84153bf957ca">WheelInputEvent</a> (const <a class="el" href="classpp_1_1_input_event.html">InputEvent</a> &event)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_wheel_input_event.html#a5b9fc5bc86d59a7a5f7703511e41fb33">WheelInputEvent</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, PP_TimeTicks time_stamp, uint32_t modifiers, const <a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> &wheel_delta, const <a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> &wheel_ticks, bool scroll_by_page)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_wheel_input_event.html#ac9cfe394244f9ea55a842a0cd5ee7ab8">GetDelta</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_wheel_input_event.html#a6c841300d5c71d9cf83eec7da8bbf084">GetTicks</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_wheel_input_event.html#a8082fa4d12d5b66aa0364825d1549ca6">GetScrollByPage</a> () const </td></tr>
+</table>
+<hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a85e0f60e68512da2339d61158371fa59"></a><!-- doxytag: member="pp::WheelInputEvent::WheelInputEvent" ref="a85e0f60e68512da2339d61158371fa59" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_wheel_input_event.html#a85e0f60e68512da2339d61158371fa59">pp::WheelInputEvent::WheelInputEvent</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> wheel input event object. </p>
+</div>
+</div>
+<a class="anchor" id="ab933e1f6aac0f96cdb2d84153bf957ca"></a><!-- doxytag: member="pp::WheelInputEvent::WheelInputEvent" ref="ab933e1f6aac0f96cdb2d84153bf957ca" args="(const InputEvent &event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_wheel_input_event.html#a85e0f60e68512da2339d61158371fa59">pp::WheelInputEvent::WheelInputEvent</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_input_event.html">InputEvent</a> & </td>
+<td class="paramname"><em>event</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This constructor constructs a wheel input event object from the provided generic input event. </p>
+<p>If the given event is itself <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> or is not a wheel input event, the wheel object will be <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">event</td><td>A generic input event. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a5b9fc5bc86d59a7a5f7703511e41fb33"></a><!-- doxytag: member="pp::WheelInputEvent::WheelInputEvent" ref="a5b9fc5bc86d59a7a5f7703511e41fb33" args="(const InstanceHandle &instance, PP_TimeTicks time_stamp, uint32_t modifiers, const FloatPoint &wheel_delta, const FloatPoint &wheel_ticks, bool scroll_by_page)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_wheel_input_event.html#a85e0f60e68512da2339d61158371fa59">pp::WheelInputEvent::WheelInputEvent</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_TimeTicks </td>
+<td class="paramname"><em>time_stamp</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>modifiers</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> & </td>
+<td class="paramname"><em>wheel_delta</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> & </td>
+<td class="paramname"><em>wheel_ticks</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">bool </td>
+<td class="paramname"><em>scroll_by_page</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs a wheel input even from the given parameters. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance for which this event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">time_stamp</td><td>A <code>PP_TimeTicks</code> indicating the time when the event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">modifiers</td><td>A bit field combination of the <code>PP_InputEvent_Modifier</code> flags.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">wheel_delta</td><td>The scroll wheel's horizontal and vertical scroll amounts.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">wheel_ticks</td><td>The number of "clicks" of the scroll wheel that have produced the event.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">scroll_by_page</td><td>When true, the user is requesting to scroll by pages. When false, the user is requesting to scroll by lines. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="ac9cfe394244f9ea55a842a0cd5ee7ab8"></a><!-- doxytag: member="pp::WheelInputEvent::GetDelta" ref="ac9cfe394244f9ea55a842a0cd5ee7ab8" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> <a class="el" href="classpp_1_1_wheel_input_event.html#ac9cfe394244f9ea55a842a0cd5ee7ab8">pp::WheelInputEvent::GetDelta</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_wheel_input_event.html#ac9cfe394244f9ea55a842a0cd5ee7ab8" title="GetDelta() returns the amount vertically and horizontally the user has requested to scroll by with th...">GetDelta()</a> returns the amount vertically and horizontally the user has requested to scroll by with their mouse wheel. </p>
+<p>A scroll down or to the right (where the content moves up or left) is represented as positive values, and a scroll up or to the left (where the content moves down or right) is represented as negative values.</p>
+<p>This amount is system dependent and will take into account the user's preferred scroll sensitivity and potentially also nonlinear acceleration based on the speed of the scrolling.</p>
+<p>Devices will be of varying resolution. Some mice with large detents will only generate integer scroll amounts. But fractional values are also possible, for example, on some trackpads and newer mice that don't have "clicks".</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The vertical and horizontal scroll values. The units are either in pixels (when scroll_by_page is false) or pages (when scroll_by_page is true). For example, y = -3 means scroll up 3 pixels when scroll_by_page is false, and scroll up 3 pages when scroll_by_page is true. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a8082fa4d12d5b66aa0364825d1549ca6"></a><!-- doxytag: member="pp::WheelInputEvent::GetScrollByPage" ref="a8082fa4d12d5b66aa0364825d1549ca6" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_wheel_input_event.html#a8082fa4d12d5b66aa0364825d1549ca6">pp::WheelInputEvent::GetScrollByPage</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_wheel_input_event.html#a8082fa4d12d5b66aa0364825d1549ca6" title="GetScrollByPage() indicates if the scroll delta x/y indicates pages or lines to scroll by...">GetScrollByPage()</a> indicates if the scroll delta x/y indicates pages or lines to scroll by. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the event is a wheel event and the user is scrolling by pages, false if not or if the resource is not a wheel event. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a6c841300d5c71d9cf83eec7da8bbf084"></a><!-- doxytag: member="pp::WheelInputEvent::GetTicks" ref="a6c841300d5c71d9cf83eec7da8bbf084" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> <a class="el" href="classpp_1_1_wheel_input_event.html#a6c841300d5c71d9cf83eec7da8bbf084">pp::WheelInputEvent::GetTicks</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_wheel_input_event.html#a6c841300d5c71d9cf83eec7da8bbf084" title='GetTicks() returns the number of "clicks" of the scroll wheel that have produced the event...'>GetTicks()</a> returns the number of "clicks" of the scroll wheel that have produced the event. </p>
+<p>The value may have system-specific acceleration applied to it, depending on the device. The positive and negative meanings are the same as for <a class="el" href="classpp_1_1_wheel_input_event.html#ac9cfe394244f9ea55a842a0cd5ee7ab8" title="GetDelta() returns the amount vertically and horizontally the user has requested to scroll by with th...">GetDelta()</a>.</p>
+<p>If you are scrolling, you probably want to use the delta values. These tick events can be useful if you aren't doing actual scrolling and don't want or pixel values. An example may be cycling between different items in a game.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The number of "clicks" of the scroll wheel. You may receive fractional values for the wheel ticks if the mouse wheel is high resolution or doesn't have "clicks". If your program wants discrete events (as in the "picking items" example) you should accumulate fractional click values from multiple messages until the total value reaches positive or negative one. This should represent a similar amount of scrolling as for a mouse that has a discrete mouse wheel. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="input__event_8h.html">input_event.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_wheel_input_event__inherit__graph.png b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_wheel_input_event__inherit__graph.png
new file mode 100644
index 0000000..7585736
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1_wheel_input_event__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1ext_1_1_ext_completion_callback_with_output-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1ext_1_1_ext_completion_callback_with_output-members.html
new file mode 100644
index 0000000..58be4144
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1ext_1_1_ext_completion_callback_with_output-members.html
@@ -0,0 +1,35 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">pp::ext::ExtCompletionCallbackWithOutput< T ></a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a90888e6422225fb8e3d310c6ee51ac04">APIArgType</a> typedef</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, internal::ExtCallbackOutputTraits< T > ></a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html#a481b5fb925f7e78ebe1d4d45e8c2680e">BaseType</a> typedef</td><td><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">pp::ext::ExtCompletionCallbackWithOutput< T ></a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#af071c756ff3eb007dfbea3f50df74111">cc_</a></td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a2dae27f9f015c3b9342a4a65f05bd356">CompletionCallback</a>()</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#afe88416d324795a748d5112e197b0131">CompletionCallback</a>(PP_CompletionCallback_Func func, void *user_data)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a14fd9478ff007a91a3cdfa397c8e6e56">CompletionCallback</a>(PP_CompletionCallback_Func func, void *user_data, int32_t flags)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a12536d4027ba401e4009404eeeaeeb97">CompletionCallbackWithOutputBase</a>(OutputStorageType *output)</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, internal::ExtCallbackOutputTraits< T > ></a></td><td><code> [inline, explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a00d091474d398b2b3a14c2dbe05b74a2">CompletionCallbackWithOutputBase</a>(PP_CompletionCallback_Func func, void *user_data, OutputStorageType *output)</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, internal::ExtCallbackOutputTraits< T > ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a19a3960c8990f8000a34062cc4534098">CompletionCallbackWithOutputBase</a>(PP_CompletionCallback_Func func, void *user_data, int32_t flags, OutputStorageType *output)</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, internal::ExtCallbackOutputTraits< T > ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html#aa87c7b22e765a86493282ae962d70808">ExtCompletionCallbackWithOutput</a>(typename BaseType::OutputStorageType *output)</td><td><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">pp::ext::ExtCompletionCallbackWithOutput< T ></a></td><td><code> [inline, explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html#abb7a1ffe2592a4fe66941a6c9cb3113d">ExtCompletionCallbackWithOutput</a>(PP_CompletionCallback_Func func, void *user_data, typename BaseType::OutputStorageType *output)</td><td><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">pp::ext::ExtCompletionCallbackWithOutput< T ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html#a8e28a5fbcd848df3e34178ac29d1ae60">ExtCompletionCallbackWithOutput</a>(PP_CompletionCallback_Func func, void *user_data, int32_t flags, typename BaseType::OutputStorageType *output)</td><td><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">pp::ext::ExtCompletionCallbackWithOutput< T ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a60e466572fe7de362969dd41179c971f">flags</a>() const </td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a6ce66ec2655c9157cab494f248551b5f">IsOptional</a>() const </td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a24d1648d1a92a5c36894ce081457e603">MayForce</a>(int32_t result) const </td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a23ceea58754e1d1b6570a268f6b669b8">output</a>() const</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, internal::ExtCallbackOutputTraits< T > ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">OutputStorageType</a> typedef</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, internal::ExtCallbackOutputTraits< T > ></a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#ada943a747c94eebb1e32dbd6914c2526">pp_completion_callback</a>() const </td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a7795404cc15a4f96523c28db21d364c4">Run</a>(int32_t result)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a2996ca2f2b640c7da6da9016a5b0cd16">RunAndClear</a>(int32_t result)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a89fb884e8af572e9bf38fb880e132438">set_flags</a>(int32_t flags)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6dea62f34b316631f576d61959693775">TraitsType</a> typedef</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, internal::ExtCallbackOutputTraits< T > ></a></td><td></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1ext_1_1_ext_completion_callback_with_output.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1ext_1_1_ext_completion_callback_with_output.html
new file mode 100644
index 0000000..7ef7f1c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1ext_1_1_ext_completion_callback_with_output.html
@@ -0,0 +1,177 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::ext::ExtCompletionCallbackWithOutput< T > Class Template Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::ext::ExtCompletionCallbackWithOutput" --><!-- doxytag: inherits="CompletionCallbackWithOutputBase< T, internal::ExtCallbackOutputTraits< T > >" --><div class="dynheader">
+Inheritance diagram for pp::ext::ExtCompletionCallbackWithOutput< T >:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1ext_1_1_ext_completion_callback_with_output__inherit__graph.png" border="0" usemap="#pp_1_1ext_1_1_ext_completion_callback_with_output_3_01_t_01_4_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1ext_1_1_ext_completion_callback_with_output_3_01_t_01_4_inherit__map" id="pp_1_1ext_1_1_ext_completion_callback_with_output_3_01_t_01_4_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html" title="pp::internal::CompletionCallbackWithOutputBase\< T, internal::ExtCallbackOutputTraits\< T \> \>" alt="" coords="227,5,845,35"></area><area shape="rect" id="node4" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl..." alt="" coords="7,5,177,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1ext_1_1_ext_completion_callback_with_output-members.html">List of all members.</a></p>
+<h2>
+Public Types</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">typedef <br class="typebreak" />
+::<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase</a><br class="typebreak" />
+< T, <br class="typebreak" />
+internal::ExtCallbackOutputTraits<br class="typebreak" />
+< T > > </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html#a481b5fb925f7e78ebe1d4d45e8c2680e">BaseType</a></td></tr>
+</table><h2>
+Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html#aa87c7b22e765a86493282ae962d70808">ExtCompletionCallbackWithOutput</a> (typename <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">BaseType::OutputStorageType</a> *<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a23ceea58754e1d1b6570a268f6b669b8">output</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html#abb7a1ffe2592a4fe66941a6c9cb3113d">ExtCompletionCallbackWithOutput</a> (PP_CompletionCallback_Func func, void *user_data, typename <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">BaseType::OutputStorageType</a> *<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a23ceea58754e1d1b6570a268f6b669b8">output</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html#a8e28a5fbcd848df3e34178ac29d1ae60">ExtCompletionCallbackWithOutput</a> (PP_CompletionCallback_Func func, void *user_data, int32_t <a class="el" href="classpp_1_1_completion_callback.html#a60e466572fe7de362969dd41179c971f">flags</a>, typename <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">BaseType::OutputStorageType</a> *<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a23ceea58754e1d1b6570a268f6b669b8">output</a>)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><h3>template<typename T><br />
+class pp::ext::ExtCompletionCallbackWithOutput< T ></h3>
+<p><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html" title="ExtCompletionCallbackWithOutput is similar to CompletionCallbackWithOutput, but used by APIs within t...">ExtCompletionCallbackWithOutput</a> is similar to <a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a>, but used by APIs within the <a class="el" href="namespacepp_1_1ext.html">pp::ext</a> namespace. </p>
+<p>Usually it is used with the <a class="el" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe...">CompletionCallbackFactory</a>'s NewExtCallbackWithOutput. </p>
+</div><hr /><h2>Member Typedef Documentation</h2>
+<a class="anchor" id="a481b5fb925f7e78ebe1d4d45e8c2680e"></a><!-- doxytag: member="pp::ext::ExtCompletionCallbackWithOutput::BaseType" ref="a481b5fb925f7e78ebe1d4d45e8c2680e" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T > </div>
+<table class="memname">
+<tr>
+<td class="memname">typedef ::<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase</a>< T, internal::ExtCallbackOutputTraits<T> > <a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">pp::ext::ExtCompletionCallbackWithOutput</a>< T >::<a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html#a481b5fb925f7e78ebe1d4d45e8c2680e">BaseType</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="aa87c7b22e765a86493282ae962d70808"></a><!-- doxytag: member="pp::ext::ExtCompletionCallbackWithOutput::ExtCompletionCallbackWithOutput" ref="aa87c7b22e765a86493282ae962d70808" args="(typename BaseType::OutputStorageType *output)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">pp::ext::ExtCompletionCallbackWithOutput</a>< T >::<a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">ExtCompletionCallbackWithOutput</a> </td>
+<td>(</td>
+<td class="paramtype">typename <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">BaseType::OutputStorageType</a> * </td>
+<td class="paramname"><em>output</em></td><td>)</td>
+<td><code> [inline, explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The default constructor will create a blocking <code><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html" title="ExtCompletionCallbackWithOutput is similar to CompletionCallbackWithOutput, but used by APIs within t...">ExtCompletionCallbackWithOutput</a></code> that references the given output data. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">output</td><td>A pointer to the data associated with the callback. The caller must ensure that this pointer outlives the completion callback. <code>OutputStorageType</code> is either <code>ext::internal::ArrayVarOutputAdapterWithStorage<U></code> (if the template parameter T is of the form std::vector<U>) or <code>ext::internal::VarOutputAdapterWithStorage<T></code> (otherwise).</td></tr>
+</table>
+</dd>
+</dl>
+<p><b>Note:</b> Blocking completion callbacks are only allowed from background threads. </p>
+</div>
+</div>
+<a class="anchor" id="abb7a1ffe2592a4fe66941a6c9cb3113d"></a><!-- doxytag: member="pp::ext::ExtCompletionCallbackWithOutput::ExtCompletionCallbackWithOutput" ref="abb7a1ffe2592a4fe66941a6c9cb3113d" args="(PP_CompletionCallback_Func func, void *user_data, typename BaseType::OutputStorageType *output)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">pp::ext::ExtCompletionCallbackWithOutput</a>< T >::<a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">ExtCompletionCallbackWithOutput</a> </td>
+<td>(</td>
+<td class="paramtype">PP_CompletionCallback_Func </td>
+<td class="paramname"><em>func</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">void * </td>
+<td class="paramname"><em>user_data</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">typename <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">BaseType::OutputStorageType</a> * </td>
+<td class="paramname"><em>output</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor for creating an <code><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html" title="ExtCompletionCallbackWithOutput is similar to CompletionCallbackWithOutput, but used by APIs within t...">ExtCompletionCallbackWithOutput</a></code> that references the given output data. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">func</td><td>The function to be called on completion. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">user_data</td><td>The user data to be passed to the callback function. This is optional and is typically used to help track state in case of multiple pending callbacks. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">output</td><td>A pointer to the data associated with the callback. The caller must ensure that this pointer outlives the completion callback. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a8e28a5fbcd848df3e34178ac29d1ae60"></a><!-- doxytag: member="pp::ext::ExtCompletionCallbackWithOutput::ExtCompletionCallbackWithOutput" ref="a8e28a5fbcd848df3e34178ac29d1ae60" args="(PP_CompletionCallback_Func func, void *user_data, int32_t flags, typename BaseType::OutputStorageType *output)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">pp::ext::ExtCompletionCallbackWithOutput</a>< T >::<a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">ExtCompletionCallbackWithOutput</a> </td>
+<td>(</td>
+<td class="paramtype">PP_CompletionCallback_Func </td>
+<td class="paramname"><em>func</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">void * </td>
+<td class="paramname"><em>user_data</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>flags</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">typename <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">BaseType::OutputStorageType</a> * </td>
+<td class="paramname"><em>output</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor for creating an <code><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html" title="ExtCompletionCallbackWithOutput is similar to CompletionCallbackWithOutput, but used by APIs within t...">ExtCompletionCallbackWithOutput</a></code> that references the given output data. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">func</td><td>The function to be called on completion.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">user_data</td><td>The user data to be passed to the callback function. This is optional and is typically used to help track state in case of multiple pending callbacks.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>Bit field combination of <code>PP_CompletionCallback_Flag</code> flags used to control how non-NULL callbacks are scheduled by asynchronous methods.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">output</td><td>A pointer to the data associated with the callback. The caller must ensure that this pointer outlives the completion callback. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="completion__callback_8h.html">completion_callback.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1ext_1_1_ext_completion_callback_with_output__inherit__graph.png b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1ext_1_1_ext_completion_callback_with_output__inherit__graph.png
new file mode 100644
index 0000000..a8fcf5d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1ext_1_1_ext_completion_callback_with_output__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1internal_1_1_completion_callback_with_output_base-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1internal_1_1_completion_callback_with_output_base-members.html
new file mode 100644
index 0000000..2da28d6
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1internal_1_1_completion_callback_with_output_base-members.html
@@ -0,0 +1,31 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, Traits ></a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a90888e6422225fb8e3d310c6ee51ac04">APIArgType</a> typedef</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, Traits ></a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#af071c756ff3eb007dfbea3f50df74111">cc_</a></td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a2dae27f9f015c3b9342a4a65f05bd356">CompletionCallback</a>()</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#afe88416d324795a748d5112e197b0131">CompletionCallback</a>(PP_CompletionCallback_Func func, void *user_data)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a14fd9478ff007a91a3cdfa397c8e6e56">CompletionCallback</a>(PP_CompletionCallback_Func func, void *user_data, int32_t flags)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a12536d4027ba401e4009404eeeaeeb97">CompletionCallbackWithOutputBase</a>(OutputStorageType *output)</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, Traits ></a></td><td><code> [inline, explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a00d091474d398b2b3a14c2dbe05b74a2">CompletionCallbackWithOutputBase</a>(PP_CompletionCallback_Func func, void *user_data, OutputStorageType *output)</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, Traits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a19a3960c8990f8000a34062cc4534098">CompletionCallbackWithOutputBase</a>(PP_CompletionCallback_Func func, void *user_data, int32_t flags, OutputStorageType *output)</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, Traits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a60e466572fe7de362969dd41179c971f">flags</a>() const </td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a6ce66ec2655c9157cab494f248551b5f">IsOptional</a>() const </td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a24d1648d1a92a5c36894ce081457e603">MayForce</a>(int32_t result) const </td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a23ceea58754e1d1b6570a268f6b669b8">output</a>() const </td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, Traits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">OutputStorageType</a> typedef</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, Traits ></a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#ada943a747c94eebb1e32dbd6914c2526">pp_completion_callback</a>() const </td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a7795404cc15a4f96523c28db21d364c4">Run</a>(int32_t result)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a2996ca2f2b640c7da6da9016a5b0cd16">RunAndClear</a>(int32_t result)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a89fb884e8af572e9bf38fb880e132438">set_flags</a>(int32_t flags)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6dea62f34b316631f576d61959693775">TraitsType</a> typedef</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, Traits ></a></td><td></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1internal_1_1_completion_callback_with_output_base.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1internal_1_1_completion_callback_with_output_base.html
new file mode 100644
index 0000000..61485be
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1internal_1_1_completion_callback_with_output_base.html
@@ -0,0 +1,195 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::internal::CompletionCallbackWithOutputBase< T, Traits > Class Template Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::internal::CompletionCallbackWithOutputBase" --><!-- doxytag: inherits="pp::CompletionCallback" --><div class="dynheader">
+Inheritance diagram for pp::internal::CompletionCallbackWithOutputBase< T, Traits >:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1internal_1_1_completion_callback_with_output_base__inherit__graph.png" border="0" usemap="#pp_1_1internal_1_1_completion_callback_with_output_base_3_01_t_00_01_traits_01_4_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1internal_1_1_completion_callback_with_output_base_3_01_t_00_01_traits_01_4_inherit__map" id="pp_1_1internal_1_1_completion_callback_with_output_base_3_01_t_00_01_traits_01_4_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl..." alt="" coords="124,5,295,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1internal_1_1_completion_callback_with_output_base-members.html">List of all members.</a></p>
+<h2>
+Public Types</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">typedef Traits::StorageType </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">OutputStorageType</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef Traits::APIArgType </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a90888e6422225fb8e3d310c6ee51ac04">APIArgType</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef Traits </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6dea62f34b316631f576d61959693775">TraitsType</a></td></tr>
+</table><h2>
+Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a12536d4027ba401e4009404eeeaeeb97">CompletionCallbackWithOutputBase</a> (<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">OutputStorageType</a> *<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a23ceea58754e1d1b6570a268f6b669b8">output</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a00d091474d398b2b3a14c2dbe05b74a2">CompletionCallbackWithOutputBase</a> (PP_CompletionCallback_Func func, void *user_data, <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">OutputStorageType</a> *<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a23ceea58754e1d1b6570a268f6b669b8">output</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a19a3960c8990f8000a34062cc4534098">CompletionCallbackWithOutputBase</a> (PP_CompletionCallback_Func func, void *user_data, int32_t <a class="el" href="classpp_1_1_completion_callback.html#a60e466572fe7de362969dd41179c971f">flags</a>, <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">OutputStorageType</a> *<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a23ceea58754e1d1b6570a268f6b669b8">output</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a90888e6422225fb8e3d310c6ee51ac04">APIArgType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a23ceea58754e1d1b6570a268f6b669b8">output</a> () const </td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><h3>template<typename T, typename Traits><br />
+class pp::internal::CompletionCallbackWithOutputBase< T, Traits ></h3>
+<p>The base class of [Ext]<a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a>. </p>
+<p>The template parameter Traits determines the storage type (OutputStorageType), the output parameter type used by the browser (APIArgType), and how to map OutputStorageType to APIArgType. </p>
+</div><hr /><h2>Member Typedef Documentation</h2>
+<a class="anchor" id="a90888e6422225fb8e3d310c6ee51ac04"></a><!-- doxytag: member="pp::internal::CompletionCallbackWithOutputBase::APIArgType" ref="a90888e6422225fb8e3d310c6ee51ac04" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T, typename Traits> </div>
+<table class="memname">
+<tr>
+<td class="memname">typedef Traits::APIArgType <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase</a>< T, Traits >::<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a90888e6422225fb8e3d310c6ee51ac04">APIArgType</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a6b6f033dd376edc4507951d82bd1ea18"></a><!-- doxytag: member="pp::internal::CompletionCallbackWithOutputBase::OutputStorageType" ref="a6b6f033dd376edc4507951d82bd1ea18" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T, typename Traits> </div>
+<table class="memname">
+<tr>
+<td class="memname">typedef Traits::StorageType <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase</a>< T, Traits >::<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">OutputStorageType</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a6dea62f34b316631f576d61959693775"></a><!-- doxytag: member="pp::internal::CompletionCallbackWithOutputBase::TraitsType" ref="a6dea62f34b316631f576d61959693775" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T, typename Traits> </div>
+<table class="memname">
+<tr>
+<td class="memname">typedef Traits <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase</a>< T, Traits >::<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6dea62f34b316631f576d61959693775">TraitsType</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a12536d4027ba401e4009404eeeaeeb97"></a><!-- doxytag: member="pp::internal::CompletionCallbackWithOutputBase::CompletionCallbackWithOutputBase" ref="a12536d4027ba401e4009404eeeaeeb97" args="(OutputStorageType *output)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T, typename Traits> </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase</a>< T, Traits >::<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">CompletionCallbackWithOutputBase</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">OutputStorageType</a> * </td>
+<td class="paramname"><em>output</em></td><td>)</td>
+<td><code> [inline, explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a00d091474d398b2b3a14c2dbe05b74a2"></a><!-- doxytag: member="pp::internal::CompletionCallbackWithOutputBase::CompletionCallbackWithOutputBase" ref="a00d091474d398b2b3a14c2dbe05b74a2" args="(PP_CompletionCallback_Func func, void *user_data, OutputStorageType *output)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T, typename Traits> </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase</a>< T, Traits >::<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">CompletionCallbackWithOutputBase</a> </td>
+<td>(</td>
+<td class="paramtype">PP_CompletionCallback_Func </td>
+<td class="paramname"><em>func</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">void * </td>
+<td class="paramname"><em>user_data</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype"><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">OutputStorageType</a> * </td>
+<td class="paramname"><em>output</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a19a3960c8990f8000a34062cc4534098"></a><!-- doxytag: member="pp::internal::CompletionCallbackWithOutputBase::CompletionCallbackWithOutputBase" ref="a19a3960c8990f8000a34062cc4534098" args="(PP_CompletionCallback_Func func, void *user_data, int32_t flags, OutputStorageType *output)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T, typename Traits> </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase</a>< T, Traits >::<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">CompletionCallbackWithOutputBase</a> </td>
+<td>(</td>
+<td class="paramtype">PP_CompletionCallback_Func </td>
+<td class="paramname"><em>func</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">void * </td>
+<td class="paramname"><em>user_data</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>flags</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype"><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">OutputStorageType</a> * </td>
+<td class="paramname"><em>output</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a23ceea58754e1d1b6570a268f6b669b8"></a><!-- doxytag: member="pp::internal::CompletionCallbackWithOutputBase::output" ref="a23ceea58754e1d1b6570a268f6b669b8" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T, typename Traits> </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a90888e6422225fb8e3d310c6ee51ac04">APIArgType</a> <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase</a>< T, Traits >::<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a23ceea58754e1d1b6570a268f6b669b8">output</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="completion__callback_8h.html">completion_callback.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1internal_1_1_completion_callback_with_output_base__inherit__graph.png b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1internal_1_1_completion_callback_with_output_base__inherit__graph.png
new file mode 100644
index 0000000..35a94e3
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1internal_1_1_completion_callback_with_output_base__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage-members.html
new file mode 100644
index 0000000..121763e7
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage-members.html
@@ -0,0 +1,16 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html">pp::internal::DirectoryEntryArrayOutputAdapterWithStorage</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html#a731d90a8b1511d95720095234bc85519">DirectoryEntryArrayOutputAdapterWithStorage</a>()</td><td><a class="el" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html">pp::internal::DirectoryEntryArrayOutputAdapterWithStorage</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html#ad178a94b0ffee2dcc7e5ad2525f2863e">output</a>()</td><td><a class="el" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html">pp::internal::DirectoryEntryArrayOutputAdapterWithStorage</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html#a7ba11c106f03fc7c42048775acc0e2e3">~DirectoryEntryArrayOutputAdapterWithStorage</a>()</td><td><a class="el" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html">pp::internal::DirectoryEntryArrayOutputAdapterWithStorage</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html
new file mode 100644
index 0000000..13b9d304b
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html
@@ -0,0 +1,71 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::internal::DirectoryEntryArrayOutputAdapterWithStorage Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::internal::DirectoryEntryArrayOutputAdapterWithStorage" -->
+<p><a href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html#a731d90a8b1511d95720095234bc85519">DirectoryEntryArrayOutputAdapterWithStorage</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html#a7ba11c106f03fc7c42048775acc0e2e3">~DirectoryEntryArrayOutputAdapterWithStorage</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">std::vector< <a class="el" href="classpp_1_1_directory_entry.html">DirectoryEntry</a> > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html#ad178a94b0ffee2dcc7e5ad2525f2863e">output</a> ()</td></tr>
+</table>
+<hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a731d90a8b1511d95720095234bc85519"></a><!-- doxytag: member="pp::internal::DirectoryEntryArrayOutputAdapterWithStorage::DirectoryEntryArrayOutputAdapterWithStorage" ref="a731d90a8b1511d95720095234bc85519" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html#a731d90a8b1511d95720095234bc85519">pp::internal::DirectoryEntryArrayOutputAdapterWithStorage::DirectoryEntryArrayOutputAdapterWithStorage</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a7ba11c106f03fc7c42048775acc0e2e3"></a><!-- doxytag: member="pp::internal::DirectoryEntryArrayOutputAdapterWithStorage::~DirectoryEntryArrayOutputAdapterWithStorage" ref="a7ba11c106f03fc7c42048775acc0e2e3" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html#a7ba11c106f03fc7c42048775acc0e2e3">pp::internal::DirectoryEntryArrayOutputAdapterWithStorage::~DirectoryEntryArrayOutputAdapterWithStorage</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="ad178a94b0ffee2dcc7e5ad2525f2863e"></a><!-- doxytag: member="pp::internal::DirectoryEntryArrayOutputAdapterWithStorage::output" ref="ad178a94b0ffee2dcc7e5ad2525f2863e" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">std::vector<<a class="el" href="classpp_1_1_directory_entry.html">DirectoryEntry</a>>& <a class="el" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html#ad178a94b0ffee2dcc7e5ad2525f2863e">pp::internal::DirectoryEntryArrayOutputAdapterWithStorage::output</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="directory__entry_8h.html">directory_entry.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/completion__callback_8h.html b/native_client_sdk/doc_generated/pepper_dev/cpp/completion__callback_8h.html
new file mode 100644
index 0000000..253bb2e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/completion__callback_8h.html
@@ -0,0 +1,40 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/cpp/completion_callback.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for completion_callback.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="completion__callback_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2cpp_2completion__callback_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2cpp_2completion__callback_8h" id="_2tmp_2pepper__devp_gd_j_g4_2cpp_2completion__callback_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This API enables you to implement and receive callbacks when Pepper operations complete asynchronously. <a href="classpp_1_1_completion_callback.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, Traits ></a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The base class of [Ext]<a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a>. <a href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_with_output.html">pp::CompletionCallbackWithOutput< T ></a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A <a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a> defines a completion callback that additionally stores a pointer to some output data. <a href="classpp_1_1_completion_callback_with_output.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">pp::ext::ExtCompletionCallbackWithOutput< T ></a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html" title="ExtCompletionCallbackWithOutput is similar to CompletionCallbackWithOutput, but used by APIs within t...">ExtCompletionCallbackWithOutput</a> is similar to <a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a>, but used by APIs within the <a class="el" href="namespacepp_1_1ext.html">pp::ext</a> namespace. <a href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp_1_1internal.html">pp::internal</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp_1_1ext.html">pp::ext</a></td></tr>
+</table><h2>
+Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">CompletionCallback </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html#a720b2df07621eabf59bdbae84ab80f47">pp::BlockUntilComplete</a> ()</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API to create and run a callback. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/completion__callback_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/cpp/completion__callback_8h__incl.png
new file mode 100644
index 0000000..2c46401d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/completion__callback_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/completion__callback__factory_8h.html b/native_client_sdk/doc_generated/pepper_dev/cpp/completion__callback__factory_8h.html
new file mode 100644
index 0000000..1b53a2d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/completion__callback__factory_8h.html
@@ -0,0 +1,43 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/utility/completion_callback_factory.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for completion_callback_factory.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="completion__callback__factory_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2utility_2completion__callback__factory_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2utility_2completion__callback__factory_8h" id="_2tmp_2pepper__devp_gd_j_g4_2utility_2completion__callback__factory_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">pp::internal::TypeUnwrapper< T ></a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1internal_1_1_type_unwrapper_3_01_t_01_6_01_4.html">pp::internal::TypeUnwrapper< T & ></a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1internal_1_1_type_unwrapper_3_01const_01_t_01_6_01_4.html">pp::internal::TypeUnwrapper< const T & ></a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">CompletionCallbackFactory<T> may be used to create <a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a> objects that are bound to member functions. <a href="classpp_1_1_completion_callback_factory.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>pp::CompletionCallbackFactory< T, ThreadTraits >::BackPointer</b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>pp::CompletionCallbackFactory< T, ThreadTraits >::CallbackData< Dispatcher ></b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>pp::CompletionCallbackFactory< T, ThreadTraits >::Dispatcher0< Method ></b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>pp::CompletionCallbackFactory< T, ThreadTraits >::DispatcherWithOutput0< Traits, Output, Method ></b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>pp::CompletionCallbackFactory< T, ThreadTraits >::Dispatcher1< Method, A ></b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>pp::CompletionCallbackFactory< T, ThreadTraits >::DispatcherWithOutput1< Traits, Output, Method, A ></b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>pp::CompletionCallbackFactory< T, ThreadTraits >::Dispatcher2< Method, A, B ></b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>pp::CompletionCallbackFactory< T, ThreadTraits >::DispatcherWithOutput2< Traits, Output, Method, A, B ></b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>pp::CompletionCallbackFactory< T, ThreadTraits >::Dispatcher3< Method, A, B, C ></b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>pp::CompletionCallbackFactory< T, ThreadTraits >::DispatcherWithOutput3< Traits, Output, Method, A, B, C ></b></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp_1_1internal.html">pp::internal</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API to create CompletionCallback objects that are bound to member functions. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/completion__callback__factory_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/cpp/completion__callback__factory_8h__incl.png
new file mode 100644
index 0000000..df8a78ff
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/completion__callback__factory_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/core_8h.html b/native_client_sdk/doc_generated/pepper_dev/cpp/core_8h.html
new file mode 100644
index 0000000..febca19
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/core_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/cpp/core.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for core.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="core_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2cpp_2core_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2cpp_2core_8h" id="_2tmp_2pepper__devp_gd_j_g4_2cpp_2core_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_core.html">pp::Core</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">APIs related to memory management, time, and threads. <a href="classpp_1_1_core.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines APIs related to memory management, time, and threads. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/core_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/cpp/core_8h__incl.png
new file mode 100644
index 0000000..950ffdd
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/core_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/directory__entry_8h.html b/native_client_sdk/doc_generated/pepper_dev/cpp/directory__entry_8h.html
new file mode 100644
index 0000000..f3573287
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/directory__entry_8h.html
@@ -0,0 +1,32 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/cpp/directory_entry.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for directory_entry.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="directory__entry_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2cpp_2directory__entry_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2cpp_2directory__entry_8h" id="_2tmp_2pepper__devp_gd_j_g4_2cpp_2directory__entry_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_directory_entry.html">pp::DirectoryEntry</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry.">DirectoryEntry</a></code> class represents information about a directory entry. <a href="classpp_1_1_directory_entry.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html">pp::internal::DirectoryEntryArrayOutputAdapterWithStorage</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html">pp::internal::CallbackOutputTraits< std::vector< DirectoryEntry > ></a></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp_1_1internal.html">pp::internal</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API used to handle a directory entry. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/directory__entry_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/cpp/directory__entry_8h__incl.png
new file mode 100644
index 0000000..14f565e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/directory__entry_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/file__io_8h.html b/native_client_sdk/doc_generated/pepper_dev/cpp/file__io_8h.html
new file mode 100644
index 0000000..35e7fe7
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/file__io_8h.html
@@ -0,0 +1,30 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/cpp/file_io.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for file_io.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="file__io_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2cpp_2file__io_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2cpp_2file__io_8h" id="_2tmp_2pepper__devp_gd_j_g4_2cpp_2file__io_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_i_o.html">pp::FileIO</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a></code> class represents a regular file. <a href="classpp_1_1_file_i_o.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><b>pp::FileIO::CallbackData1_0</b></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API to create a file i/o object. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/file__io_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/cpp/file__io_8h__incl.png
new file mode 100644
index 0000000..18b8dfe6
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/file__io_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/file__ref_8h.html b/native_client_sdk/doc_generated/pepper_dev/cpp/file__ref_8h.html
new file mode 100644
index 0000000..b536766
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/file__ref_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/cpp/file_ref.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for file_ref.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="file__ref_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2cpp_2file__ref_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2cpp_2file__ref_8h" id="_2tmp_2pepper__devp_gd_j_g4_2cpp_2file__ref_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_ref.html">pp::FileRef</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code> class represents a "weak pointer" to a file in a file system. <a href="classpp_1_1_file_ref.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API to create a file reference or "weak pointer" to a file in a file system. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/file__ref_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/cpp/file__ref_8h__incl.png
new file mode 100644
index 0000000..38eb7ec
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/file__ref_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/file__system_8h.html b/native_client_sdk/doc_generated/pepper_dev/cpp/file__system_8h.html
new file mode 100644
index 0000000..cae63a8
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/file__system_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/cpp/file_system.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for file_system.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="file__system_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2cpp_2file__system_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2cpp_2file__system_8h" id="_2tmp_2pepper__devp_gd_j_g4_2cpp_2file__system_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_system.html">pp::FileSystem</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_file_system.html" title="The FileSystem class identifies the file system type associated with a file.">FileSystem</a></code> class identifies the file system type associated with a file. <a href="classpp_1_1_file_system.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API to create a file system associated with a file. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/file__system_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/cpp/file__system_8h__incl.png
new file mode 100644
index 0000000..31a9672
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/file__system_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/fullscreen_8h.html b/native_client_sdk/doc_generated/pepper_dev/cpp/fullscreen_8h.html
new file mode 100644
index 0000000..d10aa2892
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/fullscreen_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/cpp/fullscreen.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for fullscreen.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="fullscreen_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2cpp_2fullscreen_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2cpp_2fullscreen_8h" id="_2tmp_2pepper__devp_gd_j_g4_2cpp_2fullscreen_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_fullscreen.html">pp::Fullscreen</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="classpp_1_1_fullscreen.html" title="The Fullscreen class allowing you to check and toggle fullscreen mode.">Fullscreen</a> class allowing you to check and toggle fullscreen mode. <a href="classpp_1_1_fullscreen.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API for handling transitions of a module instance to and from fullscreen mode. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/fullscreen_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/cpp/fullscreen_8h__incl.png
new file mode 100644
index 0000000..435dc1c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/fullscreen_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/globals_defs.html b/native_client_sdk/doc_generated/pepper_dev/cpp/globals_defs.html
new file mode 100644
index 0000000..84074e4
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/globals_defs.html
@@ -0,0 +1,19 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>File Members</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<div class="contents">
+ <ul>
+<li>PP_DCHECK
+: <a class="el" href="logging_8h.html#a5cb259e0fd1a8c0c64fbc891bc273417">logging.h</a>
+</li>
+<li>PP_NOTREACHED
+: <a class="el" href="logging_8h.html#a1c536418e751c9bda850cd2bc919e0ca">logging.h</a>
+</li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/graphics__2d_8h.html b/native_client_sdk/doc_generated/pepper_dev/cpp/graphics__2d_8h.html
new file mode 100644
index 0000000..dd0ad9f8
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/graphics__2d_8h.html
@@ -0,0 +1,28 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/cpp/graphics_2d.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for graphics_2d.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="graphics__2d_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2cpp_2graphics__2d_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2cpp_2graphics__2d_8h" id="_2tmp_2pepper__devp_gd_j_g4_2cpp_2graphics__2d_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics2_d.html">pp::Graphics2D</a></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API to create a 2D graphics context in the browser. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/graphics__2d_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/cpp/graphics__2d_8h__incl.png
new file mode 100644
index 0000000..113db9c5
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/graphics__2d_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/graphics__3d_8h.html b/native_client_sdk/doc_generated/pepper_dev/cpp/graphics__3d_8h.html
new file mode 100644
index 0000000..16eba5b8
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/graphics__3d_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/cpp/graphics_3d.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for graphics_3d.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="graphics__3d_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2cpp_2graphics__3d_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2cpp_2graphics__3d_8h" id="_2tmp_2pepper__devp_gd_j_g4_2cpp_2graphics__3d_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics3_d.html">pp::Graphics3D</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This class represents a 3D rendering context in the browser. <a href="classpp_1_1_graphics3_d.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API to create a 3D rendering context in the browser. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/graphics__3d_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/cpp/graphics__3d_8h__incl.png
new file mode 100644
index 0000000..0c098e3
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/graphics__3d_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/graphics__3d__client_8h.html b/native_client_sdk/doc_generated/pepper_dev/cpp/graphics__3d__client_8h.html
new file mode 100644
index 0000000..662ba78
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/graphics__3d__client_8h.html
@@ -0,0 +1,28 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/cpp/graphics_3d_client.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for graphics_3d_client.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="graphics__3d__client_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2cpp_2graphics__3d__client_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2cpp_2graphics__3d__client_8h" id="_2tmp_2pepper__devp_gd_j_g4_2cpp_2graphics__3d__client_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics3_d_client.html">pp::Graphics3DClient</a></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API for callbacks related to 3D. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/graphics__3d__client_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/cpp/graphics__3d__client_8h__incl.png
new file mode 100644
index 0000000..6a82e88
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/graphics__3d__client_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/host__resolver_8h.html b/native_client_sdk/doc_generated/pepper_dev/cpp/host__resolver_8h.html
new file mode 100644
index 0000000..8c69c0f
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/host__resolver_8h.html
@@ -0,0 +1,27 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/cpp/host_resolver.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for host_resolver.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="host__resolver_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2cpp_2host__resolver_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2cpp_2host__resolver_8h" id="_2tmp_2pepper__devp_gd_j_g4_2cpp_2host__resolver_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_host_resolver.html">pp::HostResolver</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_host_resolver.html" title="The HostResolver class supports host name resolution.">HostResolver</a></code> class supports host name resolution. <a href="classpp_1_1_host_resolver.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/host__resolver_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/cpp/host__resolver_8h__incl.png
new file mode 100644
index 0000000..5460d84
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/host__resolver_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/image__data_8h.html b/native_client_sdk/doc_generated/pepper_dev/cpp/image__data_8h.html
new file mode 100644
index 0000000..5f1ae18
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/image__data_8h.html
@@ -0,0 +1,28 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/cpp/image_data.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for image_data.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="image__data_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2cpp_2image__data_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2cpp_2image__data_8h" id="_2tmp_2pepper__devp_gd_j_g4_2cpp_2image__data_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_image_data.html">pp::ImageData</a></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the APIs for determining how a browser handles image data. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/image__data_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/cpp/image__data_8h__incl.png
new file mode 100644
index 0000000..63afd13
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/image__data_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/index.html b/native_client_sdk/doc_generated/pepper_dev/cpp/index.html
new file mode 100644
index 0000000..8a1e08a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/index.html
@@ -0,0 +1,130 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<span class="target" id="pepper-dev-cpp-index"></span><section id="pepper-c-api-reference-dev">
+<h1 id="pepper-c-api-reference-dev">Pepper C++ API Reference (Dev)</h1>
+<p>This page lists the C++ API for Pepper 34. Apps that use this API can
+run in Chrome 34 or higher.</p>
+<section id="id1">
+<h2 id="id1"><a class="reference external" href="inherits.html">Classes</a></h2>
+<blockquote>
+<div><ul class="small-gap">
+<li><a class="reference external" href="classpp_1_1_audio.html">Audio</a></li>
+<li><a class="reference external" href="classpp_1_1_audio_config.html">AudioConfig</a></li>
+<li><a class="reference external" href="classpp_1_1_audio_frame.html">AudioFrame</a></li>
+<li><a class="reference external" href="classpp_1_1_completion_callback.html">CompletionCallback</a></li>
+<li><a class="reference external" href="classpp_1_1_completion_callback_factory.html">CompletionCallbackFactory</a></li>
+<li><a class="reference external" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a></li>
+<li><a class="reference external" href="classpp_1_1_core.html">Core</a></li>
+<li><a class="reference external" href="classpp_1_1_directory_entry.html">DirectoryEntry</a></li>
+<li><a class="reference external" href="classpp_1_1_file_i_o.html">FileIO</a></li>
+<li><a class="reference external" href="classpp_1_1_file_ref.html">FileRef</a></li>
+<li><a class="reference external" href="classpp_1_1_file_system.html">FileSystem</a></li>
+<li><a class="reference external" href="classpp_1_1_float_point.html">FloatPoint</a></li>
+<li><a class="reference external" href="classpp_1_1_fullscreen.html">Fullscreen</a></li>
+<li><a class="reference external" href="classpp_1_1_graphics2_d.html">Graphics2D</a></li>
+<li><a class="reference external" href="classpp_1_1_graphics3_d.html">Graphics3D</a></li>
+<li><a class="reference external" href="classpp_1_1_graphics3_d_client.html">Graphics3DClient</a></li>
+<li><a class="reference external" href="classpp_1_1_host_resolver.html">HostResolver</a></li>
+<li><a class="reference external" href="classpp_1_1_i_m_e_input_event.html">IMEInputEvent</a></li>
+<li><a class="reference external" href="classpp_1_1_image_data.html">ImageData</a></li>
+<li><a class="reference external" href="classpp_1_1_input_event.html">InputEvent</a></li>
+<li><a class="reference external" href="classpp_1_1_instance.html">Instance</a></li>
+<li><a class="reference external" href="classpp_1_1_instance_handle.html">InstanceHandle</a></li>
+<li><a class="reference external" href="classpp_1_1_keyboard_input_event.html">KeyboardInputEvent</a></li>
+<li><a class="reference external" href="classpp_1_1_media_stream_audio_track.html">MediaStreamAudioTrack</a></li>
+<li><a class="reference external" href="classpp_1_1_media_stream_video_track.html">MediaStreamVideoTrack</a></li>
+<li><a class="reference external" href="classpp_1_1_message_loop.html">MessageLoop</a></li>
+<li><a class="reference external" href="classpp_1_1_module.html">Module</a></li>
+<li><a class="reference external" href="classpp_1_1_mouse_cursor.html">MouseCursor</a></li>
+<li><a class="reference external" href="classpp_1_1_mouse_input_event.html">MouseInputEvent</a></li>
+<li><a class="reference external" href="classpp_1_1_mouse_lock.html">MouseLock</a></li>
+<li><a class="reference external" href="classpp_1_1_net_address.html">NetAddress</a></li>
+<li><a class="reference external" href="classpp_1_1_network_list.html">NetworkList</a></li>
+<li><a class="reference external" href="classpp_1_1_network_monitor.html">NetworkMonitor</a></li>
+<li><a class="reference external" href="classpp_1_1_network_proxy.html">NetworkProxy</a></li>
+<li><a class="reference external" href="classpp_1_1_point.html">Point</a></li>
+<li><a class="reference external" href="classpp_1_1_rect.html">Rect</a></li>
+<li><a class="reference external" href="classpp_1_1_resource.html">Resource</a></li>
+<li><a class="reference external" href="classpp_1_1_size.html">Size</a></li>
+<li><a class="reference external" href="classpp_1_1_t_c_p_socket.html">TCPSocket</a></li>
+<li><a class="reference external" href="classpp_1_1_text_input_controller.html">TextInputController</a></li>
+<li><a class="reference external" href="classpp_1_1_touch_input_event.html">TouchInputEvent</a></li>
+<li><a class="reference external" href="classpp_1_1_touch_point.html">TouchPoint</a></li>
+<li><a class="reference external" href="classpp_1_1_u_d_p_socket.html">UDPSocket</a></li>
+<li><a class="reference external" href="classpp_1_1_u_r_l_loader.html">URLLoader</a></li>
+<li><a class="reference external" href="classpp_1_1_u_r_l_request_info.html">URLRequestInfo</a></li>
+<li><a class="reference external" href="classpp_1_1_u_r_l_response_info.html">URLResponseInfo</a></li>
+<li><a class="reference external" href="classpp_1_1_var.html">Var</a></li>
+<li><a class="reference external" href="classpp_1_1_var_1_1_out_exception.html">Var11OutException</a></li>
+<li><a class="reference external" href="classpp_1_1_var_array.html">VarArray</a></li>
+<li><a class="reference external" href="classpp_1_1_var_array_buffer.html">VarArrayBuffer</a></li>
+<li><a class="reference external" href="classpp_1_1_var_dictionary.html">VarDictionary</a></li>
+<li><a class="reference external" href="classpp_1_1_video_frame.html">VideoFrame</a></li>
+<li><a class="reference external" href="classpp_1_1_view.html">View</a></li>
+<li><a class="reference external" href="classpp_1_1_web_socket.html">WebSocket</a></li>
+<li><a class="reference external" href="classpp_1_1_wheel_input_event.html">WheelInputEvent</a></li>
+<li><a class="reference external" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">Ext::ExtCompletionCallbackWithOutput</a></li>
+<li><a class="reference external" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">Internal::CompletionCallbackWithOutputBase</a></li>
+<li><a class="reference external" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html">Internal::DirectoryEntryArrayOutputAdapterWithStorage</a></li>
+</ul>
+</div></blockquote>
+</section><section id="files">
+<h2 id="files">Files</h2>
+<blockquote>
+<div><ul class="small-gap">
+<li><a class="reference external" href="audio_8h.html">audio.h</a></li>
+<li><a class="reference external" href="audio__config_8h.html">audio_config.h</a></li>
+<li><a class="reference external" href="audio__frame_8h.html">audio_frame.h</a></li>
+<li><a class="reference external" href="completion__callback_8h.html">completion_callback.h</a></li>
+<li><a class="reference external" href="completion__callback__factory_8h.html">completion_callback_factory.h</a></li>
+<li><a class="reference external" href="core_8h.html">core.h</a></li>
+<li><a class="reference external" href="directory__entry_8h.html">directory_entry.h</a></li>
+<li><a class="reference external" href="file__io_8h.html">file_io.h</a></li>
+<li><a class="reference external" href="file__ref_8h.html">file_ref.h</a></li>
+<li><a class="reference external" href="file__system_8h.html">file_system.h</a></li>
+<li><a class="reference external" href="fullscreen_8h.html">fullscreen.h</a></li>
+<li><a class="reference external" href="graphics__2d_8h.html">graphics_2d.h</a></li>
+<li><a class="reference external" href="graphics__3d_8h.html">graphics_3d.h</a></li>
+<li><a class="reference external" href="graphics__3d__client_8h.html">graphics_3d_client.h</a></li>
+<li><a class="reference external" href="host__resolver_8h.html">host_resolver.h</a></li>
+<li><a class="reference external" href="image__data_8h.html">image_data.h</a></li>
+<li><a class="reference external" href="input__event_8h.html">input_event.h</a></li>
+<li><a class="reference external" href="instance_8h.html">instance.h</a></li>
+<li><a class="reference external" href="instance__handle_8h.html">instance_handle.h</a></li>
+<li><a class="reference external" href="logging_8h.html">logging.h</a></li>
+<li><a class="reference external" href="media__stream__audio__track_8h.html">media_stream_audio_track.h</a></li>
+<li><a class="reference external" href="media__stream__video__track_8h.html">media_stream_video_track.h</a></li>
+<li><a class="reference external" href="message__loop_8h.html">message_loop.h</a></li>
+<li><a class="reference external" href="module_8h.html">module.h</a></li>
+<li><a class="reference external" href="module__embedder_8h.html">module_embedder.h</a></li>
+<li><a class="reference external" href="module__impl_8h.html">module_impl.h</a></li>
+<li><a class="reference external" href="mouse__cursor_8h.html">mouse_cursor.h</a></li>
+<li><a class="reference external" href="mouse__lock_8h.html">mouse_lock.h</a></li>
+<li><a class="reference external" href="net__address_8h.html">net_address.h</a></li>
+<li><a class="reference external" href="network__list_8h.html">network_list.h</a></li>
+<li><a class="reference external" href="network__monitor_8h.html">network_monitor.h</a></li>
+<li><a class="reference external" href="network__proxy_8h.html">network_proxy.h</a></li>
+<li><a class="reference external" href="pass__ref_8h.html">pass_ref.h</a></li>
+<li><a class="reference external" href="point_8h.html">point.h</a></li>
+<li><a class="reference external" href="rect_8h.html">rect.h</a></li>
+<li><a class="reference external" href="resource_8h.html">resource.h</a></li>
+<li><a class="reference external" href="size_8h.html">size.h</a></li>
+<li><a class="reference external" href="tcp__socket_8h.html">tcp_socket.h</a></li>
+<li><a class="reference external" href="text__input__controller_8h.html">text_input_controller.h</a></li>
+<li><a class="reference external" href="touch__point_8h.html">touch_point.h</a></li>
+<li><a class="reference external" href="udp__socket_8h.html">udp_socket.h</a></li>
+<li><a class="reference external" href="url__loader_8h.html">url_loader.h</a></li>
+<li><a class="reference external" href="url__request__info_8h.html">url_request_info.h</a></li>
+<li><a class="reference external" href="url__response__info_8h.html">url_response_info.h</a></li>
+<li><a class="reference external" href="var_8h.html">var.h</a></li>
+<li><a class="reference external" href="var__array_8h.html">var_array.h</a></li>
+<li><a class="reference external" href="var__array__buffer_8h.html">var_array_buffer.h</a></li>
+<li><a class="reference external" href="var__dictionary_8h.html">var_dictionary.h</a></li>
+<li><a class="reference external" href="video__frame_8h.html">video_frame.h</a></li>
+<li><a class="reference external" href="view_8h.html">view.h</a></li>
+<li><a class="reference external" href="websocket_8h.html">websocket.h</a></li>
+</ul>
+</div></blockquote>
+</section></section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/index.rst b/native_client_sdk/doc_generated/pepper_dev/cpp/index.rst
new file mode 100644
index 0000000..ae0721671
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/index.rst
@@ -0,0 +1,234 @@
+.. _pepper_dev_cpp_index:
+
+.. DO NOT EDIT! This document is auto-generated by doxygen/rst_index.py.
+
+############################################
+Pepper C++ API Reference (Dev)
+############################################
+
+This page lists the C++ API for Pepper 34. Apps that use this API can
+run in Chrome 34 or higher.
+
+`Classes <inherits.html>`_
+==========================
+ * `Audio <classpp_1_1_audio.html>`_
+
+ * `AudioConfig <classpp_1_1_audio_config.html>`_
+
+ * `AudioFrame <classpp_1_1_audio_frame.html>`_
+
+ * `CompletionCallback <classpp_1_1_completion_callback.html>`_
+
+ * `CompletionCallbackFactory <classpp_1_1_completion_callback_factory.html>`_
+
+ * `CompletionCallbackWithOutput <classpp_1_1_completion_callback_with_output.html>`_
+
+ * `Core <classpp_1_1_core.html>`_
+
+ * `DirectoryEntry <classpp_1_1_directory_entry.html>`_
+
+ * `FileIO <classpp_1_1_file_i_o.html>`_
+
+ * `FileRef <classpp_1_1_file_ref.html>`_
+
+ * `FileSystem <classpp_1_1_file_system.html>`_
+
+ * `FloatPoint <classpp_1_1_float_point.html>`_
+
+ * `Fullscreen <classpp_1_1_fullscreen.html>`_
+
+ * `Graphics2D <classpp_1_1_graphics2_d.html>`_
+
+ * `Graphics3D <classpp_1_1_graphics3_d.html>`_
+
+ * `Graphics3DClient <classpp_1_1_graphics3_d_client.html>`_
+
+ * `HostResolver <classpp_1_1_host_resolver.html>`_
+
+ * `IMEInputEvent <classpp_1_1_i_m_e_input_event.html>`_
+
+ * `ImageData <classpp_1_1_image_data.html>`_
+
+ * `InputEvent <classpp_1_1_input_event.html>`_
+
+ * `Instance <classpp_1_1_instance.html>`_
+
+ * `InstanceHandle <classpp_1_1_instance_handle.html>`_
+
+ * `KeyboardInputEvent <classpp_1_1_keyboard_input_event.html>`_
+
+ * `MediaStreamAudioTrack <classpp_1_1_media_stream_audio_track.html>`_
+
+ * `MediaStreamVideoTrack <classpp_1_1_media_stream_video_track.html>`_
+
+ * `MessageLoop <classpp_1_1_message_loop.html>`_
+
+ * `Module <classpp_1_1_module.html>`_
+
+ * `MouseCursor <classpp_1_1_mouse_cursor.html>`_
+
+ * `MouseInputEvent <classpp_1_1_mouse_input_event.html>`_
+
+ * `MouseLock <classpp_1_1_mouse_lock.html>`_
+
+ * `NetAddress <classpp_1_1_net_address.html>`_
+
+ * `NetworkList <classpp_1_1_network_list.html>`_
+
+ * `NetworkMonitor <classpp_1_1_network_monitor.html>`_
+
+ * `NetworkProxy <classpp_1_1_network_proxy.html>`_
+
+ * `Point <classpp_1_1_point.html>`_
+
+ * `Rect <classpp_1_1_rect.html>`_
+
+ * `Resource <classpp_1_1_resource.html>`_
+
+ * `Size <classpp_1_1_size.html>`_
+
+ * `TCPSocket <classpp_1_1_t_c_p_socket.html>`_
+
+ * `TextInputController <classpp_1_1_text_input_controller.html>`_
+
+ * `TouchInputEvent <classpp_1_1_touch_input_event.html>`_
+
+ * `TouchPoint <classpp_1_1_touch_point.html>`_
+
+ * `UDPSocket <classpp_1_1_u_d_p_socket.html>`_
+
+ * `URLLoader <classpp_1_1_u_r_l_loader.html>`_
+
+ * `URLRequestInfo <classpp_1_1_u_r_l_request_info.html>`_
+
+ * `URLResponseInfo <classpp_1_1_u_r_l_response_info.html>`_
+
+ * `Var <classpp_1_1_var.html>`_
+
+ * `Var11OutException <classpp_1_1_var_1_1_out_exception.html>`_
+
+ * `VarArray <classpp_1_1_var_array.html>`_
+
+ * `VarArrayBuffer <classpp_1_1_var_array_buffer.html>`_
+
+ * `VarDictionary <classpp_1_1_var_dictionary.html>`_
+
+ * `VideoFrame <classpp_1_1_video_frame.html>`_
+
+ * `View <classpp_1_1_view.html>`_
+
+ * `WebSocket <classpp_1_1_web_socket.html>`_
+
+ * `WheelInputEvent <classpp_1_1_wheel_input_event.html>`_
+
+ * `Ext::ExtCompletionCallbackWithOutput <classpp_1_1ext_1_1_ext_completion_callback_with_output.html>`_
+
+ * `Internal::CompletionCallbackWithOutputBase <classpp_1_1internal_1_1_completion_callback_with_output_base.html>`_
+
+ * `Internal::DirectoryEntryArrayOutputAdapterWithStorage <classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html>`_
+
+
+Files
+=====
+ * `audio.h <audio_8h.html>`_
+
+ * `audio_config.h <audio__config_8h.html>`_
+
+ * `audio_frame.h <audio__frame_8h.html>`_
+
+ * `completion_callback.h <completion__callback_8h.html>`_
+
+ * `completion_callback_factory.h <completion__callback__factory_8h.html>`_
+
+ * `core.h <core_8h.html>`_
+
+ * `directory_entry.h <directory__entry_8h.html>`_
+
+ * `file_io.h <file__io_8h.html>`_
+
+ * `file_ref.h <file__ref_8h.html>`_
+
+ * `file_system.h <file__system_8h.html>`_
+
+ * `fullscreen.h <fullscreen_8h.html>`_
+
+ * `graphics_2d.h <graphics__2d_8h.html>`_
+
+ * `graphics_3d.h <graphics__3d_8h.html>`_
+
+ * `graphics_3d_client.h <graphics__3d__client_8h.html>`_
+
+ * `host_resolver.h <host__resolver_8h.html>`_
+
+ * `image_data.h <image__data_8h.html>`_
+
+ * `input_event.h <input__event_8h.html>`_
+
+ * `instance.h <instance_8h.html>`_
+
+ * `instance_handle.h <instance__handle_8h.html>`_
+
+ * `logging.h <logging_8h.html>`_
+
+ * `media_stream_audio_track.h <media__stream__audio__track_8h.html>`_
+
+ * `media_stream_video_track.h <media__stream__video__track_8h.html>`_
+
+ * `message_loop.h <message__loop_8h.html>`_
+
+ * `module.h <module_8h.html>`_
+
+ * `module_embedder.h <module__embedder_8h.html>`_
+
+ * `module_impl.h <module__impl_8h.html>`_
+
+ * `mouse_cursor.h <mouse__cursor_8h.html>`_
+
+ * `mouse_lock.h <mouse__lock_8h.html>`_
+
+ * `net_address.h <net__address_8h.html>`_
+
+ * `network_list.h <network__list_8h.html>`_
+
+ * `network_monitor.h <network__monitor_8h.html>`_
+
+ * `network_proxy.h <network__proxy_8h.html>`_
+
+ * `pass_ref.h <pass__ref_8h.html>`_
+
+ * `point.h <point_8h.html>`_
+
+ * `rect.h <rect_8h.html>`_
+
+ * `resource.h <resource_8h.html>`_
+
+ * `size.h <size_8h.html>`_
+
+ * `tcp_socket.h <tcp__socket_8h.html>`_
+
+ * `text_input_controller.h <text__input__controller_8h.html>`_
+
+ * `touch_point.h <touch__point_8h.html>`_
+
+ * `udp_socket.h <udp__socket_8h.html>`_
+
+ * `url_loader.h <url__loader_8h.html>`_
+
+ * `url_request_info.h <url__request__info_8h.html>`_
+
+ * `url_response_info.h <url__response__info_8h.html>`_
+
+ * `var.h <var_8h.html>`_
+
+ * `var_array.h <var__array_8h.html>`_
+
+ * `var_array_buffer.h <var__array__buffer_8h.html>`_
+
+ * `var_dictionary.h <var__dictionary_8h.html>`_
+
+ * `video_frame.h <video__frame_8h.html>`_
+
+ * `view.h <view_8h.html>`_
+
+ * `websocket.h <websocket_8h.html>`_
+
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_0.png b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_0.png
new file mode 100644
index 0000000..2c3545f
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_0.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_1.png b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_1.png
new file mode 100644
index 0000000..a157216
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_1.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_10.png b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_10.png
new file mode 100644
index 0000000..a76eddc
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_10.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_11.png b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_11.png
new file mode 100644
index 0000000..e0c37da
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_11.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_12.png b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_12.png
new file mode 100644
index 0000000..8658b03
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_12.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_13.png b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_13.png
new file mode 100644
index 0000000..8f845f1
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_13.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_14.png b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_14.png
new file mode 100644
index 0000000..ba6fa6d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_14.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_15.png b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_15.png
new file mode 100644
index 0000000..7afdabe
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_15.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_16.png b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_16.png
new file mode 100644
index 0000000..d377c23
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_16.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_17.png b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_17.png
new file mode 100644
index 0000000..f7a0f5c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_17.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_18.png b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_18.png
new file mode 100644
index 0000000..66f9b78
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_18.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_19.png b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_19.png
new file mode 100644
index 0000000..88c6b738
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_19.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_2.png b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_2.png
new file mode 100644
index 0000000..25c2e8c2
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_2.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_20.png b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_20.png
new file mode 100644
index 0000000..388904e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_20.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_21.png b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_21.png
new file mode 100644
index 0000000..d9dfea6
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_21.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_22.png b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_22.png
new file mode 100644
index 0000000..0f3ba07
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_22.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_23.png b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_23.png
new file mode 100644
index 0000000..c3fe82e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_23.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_24.png b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_24.png
new file mode 100644
index 0000000..ddcb427
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_24.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_25.png b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_25.png
new file mode 100644
index 0000000..6b6b59a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_25.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_26.png b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_26.png
new file mode 100644
index 0000000..cdb693a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_26.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_27.png b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_27.png
new file mode 100644
index 0000000..97e4d07
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_27.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_3.png b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_3.png
new file mode 100644
index 0000000..df1d2ef
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_3.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_4.png b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_4.png
new file mode 100644
index 0000000..b44b0179
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_4.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_5.png b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_5.png
new file mode 100644
index 0000000..4a102be
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_5.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_6.png b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_6.png
new file mode 100644
index 0000000..10ae4be3
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_6.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_7.png b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_7.png
new file mode 100644
index 0000000..aab8abf
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_7.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_8.png b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_8.png
new file mode 100644
index 0000000..24695ea
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_8.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_9.png b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_9.png
new file mode 100644
index 0000000..af41aa5
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/inherit_graph_9.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/inherits.html b/native_client_sdk/doc_generated/pepper_dev/cpp/inherits.html
new file mode 100644
index 0000000..8b4cc088
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/inherits.html
@@ -0,0 +1,127 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Class Hierarchy</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock">
+<p><a href="hierarchy.html">Go to the textual class hierarchy</a></p>
+</div><table border="0" cellspacing="10" cellpadding="0">
+<tr><td><img src="inherit_graph_0.png" border="0" alt="" usemap="#pp_1_1_completion_callback" />
+<map name="pp_1_1_completion_callback" id="pp_1_1_completion_callback">
+<area shape="rect" id="node1" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl..." alt="" coords="7,59,177,88"></area><area shape="rect" id="node3" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html" title="pp::internal::CompletionCallbackWithOutputBase\< T, internal::CallbackOutputTraits\< T \> \>" alt="" coords="237,5,835,35"></area><area shape="rect" id="node7" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html" title="pp::internal::CompletionCallbackWithOutputBase\< T, internal::ExtCallbackOutputTraits\< T \> \>" alt="" coords="227,59,845,88"></area><area shape="rect" id="node11" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html" title="The base class of [Ext]CompletionCallbackWithOutput." alt="" coords="332,112,740,141"></area><area shape="rect" id="node5" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so..." alt="" coords="917,5,1197,35"></area><area shape="rect" id="node9" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html" title="ExtCompletionCallbackWithOutput is similar to CompletionCallbackWithOutput, but used by APIs within t..." alt="" coords="893,59,1221,88"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_1.png" border="0" alt="" usemap="#pp_1_1_completion_callback_factory_3_01_t_00_01_thread_traits_01_4" />
+<map name="pp_1_1_completion_callback_factory_3_01_t_00_01_thread_traits_01_4" id="pp_1_1_completion_callback_factory_3_01_t_00_01_thread_traits_01_4">
+<area shape="rect" id="node1" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe..." alt="" coords="7,5,345,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_2.png" border="0" alt="" usemap="#pp_1_1_core" />
+<map name="pp_1_1_core" id="pp_1_1_core">
+<area shape="rect" id="node1" href="classpp_1_1_core.html" title="APIs related to memory management, time, and threads." alt="" coords="7,5,81,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_3.png" border="0" alt="" usemap="#pp_1_1_directory_entry" />
+<map name="pp_1_1_directory_entry" id="pp_1_1_directory_entry">
+<area shape="rect" id="node1" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry." alt="" coords="7,5,143,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_4.png" border="0" alt="" usemap="#pp_1_1_float_point" />
+<map name="pp_1_1_float_point" id="pp_1_1_float_point">
+<area shape="rect" id="node1" href="classpp_1_1_float_point.html" title="A 2 dimensional floating-point point with 0,0 being the upper-left starting coordinate." alt="" coords="5,5,115,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_5.png" border="0" alt="" usemap="#pp_1_1_fullscreen" />
+<map name="pp_1_1_fullscreen" id="pp_1_1_fullscreen">
+<area shape="rect" id="node1" href="classpp_1_1_fullscreen.html" title="The Fullscreen class allowing you to check and toggle fullscreen mode." alt="" coords="5,5,115,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_6.png" border="0" alt="" usemap="#pp_1_1_graphics3_d_client" />
+<map name="pp_1_1_graphics3_d_client" id="pp_1_1_graphics3_d_client">
+<area shape="rect" id="node1" href="classpp_1_1_graphics3_d_client.html" title="pp::Graphics3DClient" alt="" coords="7,5,161,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_7.png" border="0" alt="" usemap="#pp_1_1_instance" />
+<map name="pp_1_1_instance" id="pp_1_1_instance">
+<area shape="rect" id="node1" href="classpp_1_1_instance.html" title="pp::Instance" alt="" coords="7,5,105,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_8.png" border="0" alt="" usemap="#pp_1_1_instance_handle" />
+<map name="pp_1_1_instance_handle" id="pp_1_1_instance_handle">
+<area shape="rect" id="node1" href="classpp_1_1_instance_handle.html" title="An instance handle identifies an instance in a constructor for a resource." alt="" coords="7,5,151,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_9.png" border="0" alt="" usemap="#pp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4" />
+<map name="pp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4" id="pp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4">
+<area shape="rect" id="node1" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html" title="pp::internal::CallbackOutputTraits\< std::vector\< DirectoryEntry \> \>" alt="" coords="5,5,456,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_10.png" border="0" alt="" usemap="#pp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage" />
+<map name="pp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage" id="pp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage">
+<area shape="rect" id="node1" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html" title="pp::internal::DirectoryEntryArrayOutputAdapterWithStorage" alt="" coords="5,5,405,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_11.png" border="0" alt="" usemap="#pp_1_1internal_1_1_type_unwrapper_3_01const_01_t_01_6_01_4" />
+<map name="pp_1_1internal_1_1_type_unwrapper_3_01const_01_t_01_6_01_4" id="pp_1_1internal_1_1_type_unwrapper_3_01const_01_t_01_6_01_4">
+<area shape="rect" id="node1" href="structpp_1_1internal_1_1_type_unwrapper_3_01const_01_t_01_6_01_4.html" title="pp::internal::TypeUnwrapper\< const T & \>" alt="" coords="5,5,296,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_12.png" border="0" alt="" usemap="#pp_1_1internal_1_1_type_unwrapper_3_01_t_01_6_01_4" />
+<map name="pp_1_1internal_1_1_type_unwrapper_3_01_t_01_6_01_4" id="pp_1_1internal_1_1_type_unwrapper_3_01_t_01_6_01_4">
+<area shape="rect" id="node1" href="structpp_1_1internal_1_1_type_unwrapper_3_01_t_01_6_01_4.html" title="pp::internal::TypeUnwrapper\< T & \>" alt="" coords="5,5,256,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_13.png" border="0" alt="" usemap="#pp_1_1internal_1_1_type_unwrapper_3_01_t_01_4" />
+<map name="pp_1_1internal_1_1_type_unwrapper_3_01_t_01_4" id="pp_1_1internal_1_1_type_unwrapper_3_01_t_01_4">
+<area shape="rect" id="node1" href="structpp_1_1internal_1_1_type_unwrapper.html" title="pp::internal::TypeUnwrapper\< T \>" alt="" coords="7,5,241,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_14.png" border="0" alt="" usemap="#pp_1_1_module" />
+<map name="pp_1_1_module" id="pp_1_1_module">
+<area shape="rect" id="node1" href="classpp_1_1_module.html" title="The Module class." alt="" coords="7,5,97,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_15.png" border="0" alt="" usemap="#pp_1_1_mouse_cursor" />
+<map name="pp_1_1_mouse_cursor" id="pp_1_1_mouse_cursor">
+<area shape="rect" id="node1" href="classpp_1_1_mouse_cursor.html" title="pp::MouseCursor" alt="" coords="5,5,136,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_16.png" border="0" alt="" usemap="#pp_1_1_mouse_lock" />
+<map name="pp_1_1_mouse_lock" id="pp_1_1_mouse_lock">
+<area shape="rect" id="node1" href="classpp_1_1_mouse_lock.html" title="This class allows you to associate the PPP_MouseLock and PPB_MouseLock C-based interfaces with an obj..." alt="" coords="5,5,123,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_17.png" border="0" alt="" usemap="#pp_1_1_network_proxy" />
+<map name="pp_1_1_network_proxy" id="pp_1_1_network_proxy">
+<area shape="rect" id="node1" href="classpp_1_1_network_proxy.html" title="This class provides a way to determine the appropriate proxy settings for for a given URL..." alt="" coords="5,5,139,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_18.png" border="0" alt="" usemap="#pp_1_1_point" />
+<map name="pp_1_1_point" id="pp_1_1_point">
+<area shape="rect" id="node1" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate." alt="" coords="7,5,84,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_19.png" border="0" alt="" usemap="#pp_1_1_rect" />
+<map name="pp_1_1_rect" id="pp_1_1_rect">
+<area shape="rect" id="node1" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle." alt="" coords="7,5,79,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_20.png" border="0" alt="" usemap="#pp_1_1_resource" />
+<map name="pp_1_1_resource" id="pp_1_1_resource">
+<area shape="rect" id="node1" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="5,645,109,675"></area><area shape="rect" id="node3" href="classpp_1_1_audio.html" title="An audio resource." alt="" coords="216,5,299,35"></area><area shape="rect" id="node5" href="classpp_1_1_audio_config.html" title="A 16 bit stereo AudioConfig resource." alt="" coords="196,59,319,88"></area><area shape="rect" id="node7" href="classpp_1_1_audio_frame.html" title="pp::AudioFrame" alt="" coords="196,112,319,141"></area><area shape="rect" id="node9" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file." alt="" coords="219,165,296,195"></area><area shape="rect" id="node11" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.' alt="" coords="215,219,300,248"></area><area shape="rect" id="node13" href="classpp_1_1_file_system.html" title="The FileSystem class identifies the file system type associated with a file." alt="" coords="200,272,315,301"></area><area shape="rect" id="node15" href="classpp_1_1_graphics2_d.html" title="pp::Graphics2D" alt="" coords="197,325,317,355"></area><area shape="rect" id="node17" href="classpp_1_1_graphics3_d.html" title="This class represents a 3D rendering context in the browser." alt="" coords="197,379,317,408"></area><area shape="rect" id="node19" href="classpp_1_1_host_resolver.html" title="The HostResolver class supports host name resolution." alt="" coords="193,432,321,461"></area><area shape="rect" id="node21" href="classpp_1_1_image_data.html" title="pp::ImageData" alt="" coords="199,485,316,515"></area><area shape="rect" id="node23" href="classpp_1_1_input_event.html" title="This class represents an input event resource." alt="" coords="200,539,315,568"></area><area shape="rect" id="node35" href="classpp_1_1_media_stream_audio_track.html" title="The MediaStreamAudioTrack class contains methods for receiving audio frames from a MediaStream audio ..." alt="" coords="157,592,357,621"></area><area shape="rect" id="node37" href="classpp_1_1_media_stream_video_track.html" title="The MediaStreamVideoTrack class contains methods for receiving video frames from a MediaStream video ..." alt="" coords="157,645,357,675"></area><area shape="rect" id="node39" href="classpp_1_1_message_loop.html" title="A message loop allows PPAPI calls to be issued on a thread." alt="" coords="191,699,324,728"></area><area shape="rect" id="node41" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address." alt="" coords="197,752,317,781"></area><area shape="rect" id="node43" href="classpp_1_1_network_list.html" title="pp::NetworkList" alt="" coords="197,805,317,835"></area><area shape="rect" id="node45" href="classpp_1_1_network_monitor.html" title="pp::NetworkMonitor" alt="" coords="184,859,331,888"></area><area shape="rect" id="node47" href="classpp_1_1_t_c_p_socket.html" title="The TCPSocket class provides TCP socket operations." alt="" coords="201,912,313,941"></area><area shape="rect" id="node49" href="classpp_1_1_u_d_p_socket.html" title="The UDPSocket class provides UDP socket operations." alt="" coords="199,965,316,995"></area><area shape="rect" id="node51" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs." alt="" coords="200,1019,315,1048"></area><area shape="rect" id="node53" href="classpp_1_1_u_r_l_request_info.html" title="URLRequestInfo provides an API for creating and manipulating URL requests." alt="" coords="185,1072,329,1101"></area><area shape="rect" id="node55" href="classpp_1_1_u_r_l_response_info.html" title="URLResponseInfo provides an API for examining URL responses." alt="" coords="180,1125,335,1155"></area><area shape="rect" id="node57" href="classpp_1_1_video_frame.html" title="pp::VideoFrame" alt="" coords="196,1179,319,1208"></area><area shape="rect" id="node59" href="classpp_1_1_view.html" title="This class represents the state of the view for an instance and contains functions for retrieving the..." alt="" coords="220,1232,295,1261"></area><area shape="rect" id="node61" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket..." alt="" coords="200,1285,315,1315"></area><area shape="rect" id="node25" href="classpp_1_1_i_m_e_input_event.html" title="pp::IMEInputEvent" alt="" coords="424,432,560,461"></area><area shape="rect" id="node27" href="classpp_1_1_keyboard_input_event.html" title="pp::KeyboardInputEvent" alt="" coords="405,485,579,515"></area><area shape="rect" id="node29" href="classpp_1_1_mouse_input_event.html" title="This class handles mouse events." alt="" coords="415,539,569,568"></area><area shape="rect" id="node31" href="classpp_1_1_touch_input_event.html" title="pp::TouchInputEvent" alt="" coords="417,592,567,621"></area><area shape="rect" id="node33" href="classpp_1_1_wheel_input_event.html" title="pp::WheelInputEvent" alt="" coords="416,645,568,675"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_21.png" border="0" alt="" usemap="#pp_1_1_size" />
+<map name="pp_1_1_size" id="pp_1_1_size">
+<area shape="rect" id="node1" href="classpp_1_1_size.html" title="A size of an object based on width and height." alt="" coords="7,5,79,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_22.png" border="0" alt="" usemap="#pp_1_1_text_input_controller" />
+<map name="pp_1_1_text_input_controller" id="pp_1_1_text_input_controller">
+<area shape="rect" id="node1" href="classpp_1_1_text_input_controller.html" title="This class can be used for giving hints to the browser about the text input status of plugins..." alt="" coords="5,5,171,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_23.png" border="0" alt="" usemap="#pp_1_1_touch_point" />
+<map name="pp_1_1_touch_point" id="pp_1_1_touch_point">
+<area shape="rect" id="node1" href="classpp_1_1_touch_point.html" title="Wrapper class for PP_TouchPoint." alt="" coords="5,5,120,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_24.png" border="0" alt="" usemap="#pp_1_1_var" />
+<map name="pp_1_1_var" id="pp_1_1_var">
+<area shape="rect" id="node1" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page." alt="" coords="5,59,72,88"></area><area shape="rect" id="node3" href="classpp_1_1_var_array.html" title="pp::VarArray" alt="" coords="139,5,240,35"></area><area shape="rect" id="node5" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ..." alt="" coords="120,59,259,88"></area><area shape="rect" id="node7" href="classpp_1_1_var_dictionary.html" title="pp::VarDictionary" alt="" coords="124,112,255,141"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_25.png" border="0" alt="" usemap="#pp_1_1_var_1_1_dont_manage" />
+<map name="pp_1_1_var_1_1_dont_manage" id="pp_1_1_var_1_1_dont_manage">
+<area shape="rect" id="node1" href="structpp_1_1_var_1_1_dont_manage.html" title="pp::Var::DontManage" alt="" coords="5,5,163,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_26.png" border="0" alt="" usemap="#pp_1_1_var_1_1_null" />
+<map name="pp_1_1_var_1_1_null" id="pp_1_1_var_1_1_null">
+<area shape="rect" id="node1" href="structpp_1_1_var_1_1_null.html" title="Special value passed to constructor to make NULL." alt="" coords="5,5,104,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_27.png" border="0" alt="" usemap="#pp_1_1_var_1_1_out_exception" />
+<map name="pp_1_1_var_1_1_out_exception" id="pp_1_1_var_1_1_out_exception">
+<area shape="rect" id="node1" href="classpp_1_1_var_1_1_out_exception.html" title="This class is used when calling the raw C PPAPI when using the C++ Var as a possible NULL exception..." alt="" coords="5,5,165,35"></area></map>
+</td></tr>
+</table>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/input__event_8h.html b/native_client_sdk/doc_generated/pepper_dev/cpp/input__event_8h.html
new file mode 100644
index 0000000..8cbdadb
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/input__event_8h.html
@@ -0,0 +1,35 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/cpp/input_event.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for input_event.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="input__event_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2cpp_2input__event_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2cpp_2input__event_8h" id="_2tmp_2pepper__devp_gd_j_g4_2cpp_2input__event_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This class represents an input event resource. <a href="classpp_1_1_input_event.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_input_event.html">pp::MouseInputEvent</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This class handles mouse events. <a href="classpp_1_1_mouse_input_event.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_wheel_input_event.html">pp::WheelInputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_keyboard_input_event.html">pp::KeyboardInputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_touch_input_event.html">pp::TouchInputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_i_m_e_input_event.html">pp::IMEInputEvent</a></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API used to handle mouse and keyboard input events. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/input__event_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/cpp/input__event_8h__incl.png
new file mode 100644
index 0000000..dcab2cc8
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/input__event_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/instance_8h.html b/native_client_sdk/doc_generated/pepper_dev/cpp/instance_8h.html
new file mode 100644
index 0000000..60f20e1
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/instance_8h.html
@@ -0,0 +1,28 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/cpp/instance.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for instance.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="instance_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2cpp_2instance_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2cpp_2instance_8h" id="_2tmp_2pepper__devp_gd_j_g4_2cpp_2instance_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the C++ wrapper for an instance. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/instance_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/cpp/instance_8h__incl.png
new file mode 100644
index 0000000..7c55da3
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/instance_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/instance__handle_8h.html b/native_client_sdk/doc_generated/pepper_dev/cpp/instance__handle_8h.html
new file mode 100644
index 0000000..b1d7cda
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/instance__handle_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/cpp/instance_handle.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for instance_handle.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="instance__handle_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2cpp_2instance__handle_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2cpp_2instance__handle_8h" id="_2tmp_2pepper__devp_gd_j_g4_2cpp_2instance__handle_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance_handle.html">pp::InstanceHandle</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">An instance handle identifies an instance in a constructor for a resource. <a href="classpp_1_1_instance_handle.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines an instance handle used to identify an instance in a constructor for a resource. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/instance__handle_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/cpp/instance__handle_8h__incl.png
new file mode 100644
index 0000000..025ddb3
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/instance__handle_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/logging_8h.html b/native_client_sdk/doc_generated/pepper_dev/cpp/logging_8h.html
new file mode 100644
index 0000000..70405c59
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/logging_8h.html
@@ -0,0 +1,71 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/cpp/logging.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for logging.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="logging_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2cpp_2logging_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2cpp_2logging_8h" id="_2tmp_2pepper__devp_gd_j_g4_2cpp_2logging_8h">
+</map>
+</div>
+</div><h2>
+Defines</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="logging_8h.html#a5cb259e0fd1a8c0c64fbc891bc273417">PP_DCHECK</a>(a)   assert(a)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="logging_8h.html#a1c536418e751c9bda850cd2bc919e0ca">PP_NOTREACHED</a>()   assert(false)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines two macro asserts. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a5cb259e0fd1a8c0c64fbc891bc273417"></a><!-- doxytag: member="logging.h::PP_DCHECK" ref="a5cb259e0fd1a8c0c64fbc891bc273417" args="(a)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="logging_8h.html#a5cb259e0fd1a8c0c64fbc891bc273417">PP_DCHECK</a></td>
+<td>(</td>
+<td class="paramtype"> </td>
+<td class="paramname">a</td><td>)</td>
+<td>   assert(a)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This macro asserts that 'a' evaluates to true. </p>
+<p>In debug mode, this macro will crash the program if the assertion evaluates to false. It (typically) has no effect in release mode. </p>
+</div>
+</div>
+<a class="anchor" id="a1c536418e751c9bda850cd2bc919e0ca"></a><!-- doxytag: member="logging.h::PP_NOTREACHED" ref="a1c536418e751c9bda850cd2bc919e0ca" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="logging_8h.html#a1c536418e751c9bda850cd2bc919e0ca">PP_NOTREACHED</a></td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td>   assert(false)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This macro asserts false in debug builds. </p>
+<p>It's used in code paths that you don't expect to execute.</p>
+<p><b>Example:</b></p>
+<div class="fragment"><pre class="fragment"> <span class="keywordflow">if</span> (!pointer) {
+ <span class="comment">// Pointer wasn't valid! This shouldn't happen.</span>
+ <a class="code" href="logging_8h.html#a1c536418e751c9bda850cd2bc919e0ca" title="This macro asserts false in debug builds.">PP_NOTREACHED</a>();
+ <span class="keywordflow">return</span>;
+ }
+ <span class="comment">// Do stuff to the pointer, since you know it's valid.</span>
+ pointer->DoSomething();
+</pre></div>
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/logging_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/cpp/logging_8h__incl.png
new file mode 100644
index 0000000..f7caf56c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/logging_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/media__stream__audio__track_8h.html b/native_client_sdk/doc_generated/pepper_dev/cpp/media__stream__audio__track_8h.html
new file mode 100644
index 0000000..7a5f621
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/media__stream__audio__track_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/cpp/media_stream_audio_track.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for media_stream_audio_track.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="media__stream__audio__track_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2cpp_2media__stream__audio__track_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2cpp_2media__stream__audio__track_8h" id="_2tmp_2pepper__devp_gd_j_g4_2cpp_2media__stream__audio__track_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_media_stream_audio_track.html">pp::MediaStreamAudioTrack</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_media_stream_audio_track.html" title="The MediaStreamAudioTrack class contains methods for receiving audio frames from a MediaStream audio ...">MediaStreamAudioTrack</a></code> class contains methods for receiving audio frames from a MediaStream audio track in the browser. <a href="classpp_1_1_media_stream_audio_track.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>MediaStreamAudioTrack</code> interface for an audio source resource, which receives audio frames from a MediaStream audio track in the browser. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/media__stream__audio__track_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/cpp/media__stream__audio__track_8h__incl.png
new file mode 100644
index 0000000..118ee14
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/media__stream__audio__track_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/media__stream__video__track_8h.html b/native_client_sdk/doc_generated/pepper_dev/cpp/media__stream__video__track_8h.html
new file mode 100644
index 0000000..cf847bf
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/media__stream__video__track_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/cpp/media_stream_video_track.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for media_stream_video_track.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="media__stream__video__track_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2cpp_2media__stream__video__track_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2cpp_2media__stream__video__track_8h" id="_2tmp_2pepper__devp_gd_j_g4_2cpp_2media__stream__video__track_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_media_stream_video_track.html">pp::MediaStreamVideoTrack</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_media_stream_video_track.html" title="The MediaStreamVideoTrack class contains methods for receiving video frames from a MediaStream video ...">MediaStreamVideoTrack</a></code> class contains methods for receiving video frames from a MediaStream video track in the browser. <a href="classpp_1_1_media_stream_video_track.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>MediaStreamVideoTrack</code> interface for a video source resource, which receives video frames from a MediaStream video track in the browser. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/media__stream__video__track_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/cpp/media__stream__video__track_8h__incl.png
new file mode 100644
index 0000000..b6990026
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/media__stream__video__track_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/message__loop_8h.html b/native_client_sdk/doc_generated/pepper_dev/cpp/message__loop_8h.html
new file mode 100644
index 0000000..b99596a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/message__loop_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/cpp/message_loop.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for message_loop.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="message__loop_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2cpp_2message__loop_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2cpp_2message__loop_8h" id="_2tmp_2pepper__devp_gd_j_g4_2cpp_2message__loop_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_message_loop.html">pp::MessageLoop</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A message loop allows PPAPI calls to be issued on a thread. <a href="classpp_1_1_message_loop.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the PPB_MessageLoop API. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/message__loop_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/cpp/message__loop_8h__incl.png
new file mode 100644
index 0000000..5a16946
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/message__loop_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/module_8h.html b/native_client_sdk/doc_generated/pepper_dev/cpp/module_8h.html
new file mode 100644
index 0000000..f00743ad
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/module_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/cpp/module.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for module.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="module_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2cpp_2module_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2cpp_2module_8h" id="_2tmp_2pepper__devp_gd_j_g4_2cpp_2module_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html">pp::Module</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="classpp_1_1_module.html" title="The Module class.">Module</a> class. <a href="classpp_1_1_module.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines a Module class. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/module_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/cpp/module_8h__incl.png
new file mode 100644
index 0000000..47776068
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/module_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/module__embedder_8h.html b/native_client_sdk/doc_generated/pepper_dev/cpp/module__embedder_8h.html
new file mode 100644
index 0000000..776c7a3
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/module__embedder_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/cpp/module_embedder.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for module_embedder.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="module__embedder_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2cpp_2module__embedder_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2cpp_2module__embedder_8h" id="_2tmp_2pepper__devp_gd_j_g4_2cpp_2module__embedder_8h">
+</map>
+</div>
+</div><h2>
+Namespaces</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table><h2>
+Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_module.html">pp::Module</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html#ac861e0e00515a40d07a40e0dcc0fd728">pp::CreateModule</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html#a819119da5e9818961e9ab5306f3655d7">pp::SetBrokerGetInterfaceFunc</a> (PP_GetInterface_Func broker_get_interface)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the APIs for creating a Module object. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/module__embedder_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/cpp/module__embedder_8h__incl.png
new file mode 100644
index 0000000..c0d55a3
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/module__embedder_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/module__impl_8h.html b/native_client_sdk/doc_generated/pepper_dev/cpp/module__impl_8h.html
new file mode 100644
index 0000000..c098ff5
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/module__impl_8h.html
@@ -0,0 +1,25 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/cpp/module_impl.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for module_impl.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="module__impl_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2cpp_2module__impl_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2cpp_2module__impl_8h" id="_2tmp_2pepper__devp_gd_j_g4_2cpp_2module__impl_8h">
+</map>
+</div>
+</div><h2>
+Namespaces</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines some simple function templates that help the C++ wrappers (and are not for external developers to use). </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/module__impl_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/cpp/module__impl_8h__incl.png
new file mode 100644
index 0000000..8d4d3fe
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/module__impl_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/mouse__cursor_8h.html b/native_client_sdk/doc_generated/pepper_dev/cpp/mouse__cursor_8h.html
new file mode 100644
index 0000000..853f3486
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/mouse__cursor_8h.html
@@ -0,0 +1,26 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/cpp/mouse_cursor.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for mouse_cursor.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="mouse__cursor_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2cpp_2mouse__cursor_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2cpp_2mouse__cursor_8h" id="_2tmp_2pepper__devp_gd_j_g4_2cpp_2mouse__cursor_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_cursor.html">pp::MouseCursor</a></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/mouse__cursor_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/cpp/mouse__cursor_8h__incl.png
new file mode 100644
index 0000000..865a603
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/mouse__cursor_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/mouse__lock_8h.html b/native_client_sdk/doc_generated/pepper_dev/cpp/mouse__lock_8h.html
new file mode 100644
index 0000000..ad258fde
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/mouse__lock_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/cpp/mouse_lock.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for mouse_lock.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="mouse__lock_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2cpp_2mouse__lock_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2cpp_2mouse__lock_8h" id="_2tmp_2pepper__devp_gd_j_g4_2cpp_2mouse__lock_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_lock.html">pp::MouseLock</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This class allows you to associate the <code>PPP_MouseLock</code> and <code>PPB_MouseLock</code> C-based interfaces with an object. <a href="classpp_1_1_mouse_lock.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API for locking the target of mouse events to a specific module instance. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/mouse__lock_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/cpp/mouse__lock_8h__incl.png
new file mode 100644
index 0000000..4ae09e4c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/mouse__lock_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/namespacemembers_enum.html b/native_client_sdk/doc_generated/pepper_dev/cpp/namespacemembers_enum.html
new file mode 100644
index 0000000..6546fda
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/namespacemembers_enum.html
@@ -0,0 +1,16 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Namespace Members</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<div class="contents">
+ <ul>
+<li>PassRef
+: <a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">pp</a>
+</li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/namespacemembers_eval.html b/native_client_sdk/doc_generated/pepper_dev/cpp/namespacemembers_eval.html
new file mode 100644
index 0000000..76787d9
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/namespacemembers_eval.html
@@ -0,0 +1,16 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Namespace Members</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<div class="contents">
+ <ul>
+<li>PASS_REF
+: <a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5a82ae1b20e3ad488539b9dbc6ab4dd585">pp</a>
+</li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/namespacepp.html b/native_client_sdk/doc_generated/pepper_dev/cpp/namespacepp.html
new file mode 100644
index 0000000..56695a98
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/namespacepp.html
@@ -0,0 +1,199 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp Namespace Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<h2>
+Namespaces</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp_1_1ext.html">ext</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp_1_1internal.html">internal</a></td></tr>
+</table><h2>
+Classes</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio.html">Audio</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">An audio resource. <a href="classpp_1_1_audio.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio_config.html">AudioConfig</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A 16 bit stereo <a class="el" href="classpp_1_1_audio_config.html" title="A 16 bit stereo AudioConfig resource.">AudioConfig</a> resource. <a href="classpp_1_1_audio_config.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio_frame.html">AudioFrame</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This API enables you to implement and receive callbacks when Pepper operations complete asynchronously. <a href="classpp_1_1_completion_callback.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A <a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a> defines a completion callback that additionally stores a pointer to some output data. <a href="classpp_1_1_completion_callback_with_output.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_core.html">Core</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">APIs related to memory management, time, and threads. <a href="classpp_1_1_core.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_directory_entry.html">DirectoryEntry</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry.">DirectoryEntry</a></code> class represents information about a directory entry. <a href="classpp_1_1_directory_entry.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_i_o.html">FileIO</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a></code> class represents a regular file. <a href="classpp_1_1_file_i_o.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_ref.html">FileRef</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code> class represents a "weak pointer" to a file in a file system. <a href="classpp_1_1_file_ref.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_system.html">FileSystem</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_file_system.html" title="The FileSystem class identifies the file system type associated with a file.">FileSystem</a></code> class identifies the file system type associated with a file. <a href="classpp_1_1_file_system.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_fullscreen.html">Fullscreen</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="classpp_1_1_fullscreen.html" title="The Fullscreen class allowing you to check and toggle fullscreen mode.">Fullscreen</a> class allowing you to check and toggle fullscreen mode. <a href="classpp_1_1_fullscreen.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics2_d.html">Graphics2D</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics3_d.html">Graphics3D</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This class represents a 3D rendering context in the browser. <a href="classpp_1_1_graphics3_d.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics3_d_client.html">Graphics3DClient</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_host_resolver.html">HostResolver</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_host_resolver.html" title="The HostResolver class supports host name resolution.">HostResolver</a></code> class supports host name resolution. <a href="classpp_1_1_host_resolver.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_image_data.html">ImageData</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_input_event.html">InputEvent</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This class represents an input event resource. <a href="classpp_1_1_input_event.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_input_event.html">MouseInputEvent</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This class handles mouse events. <a href="classpp_1_1_mouse_input_event.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_wheel_input_event.html">WheelInputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_keyboard_input_event.html">KeyboardInputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_touch_input_event.html">TouchInputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_i_m_e_input_event.html">IMEInputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html">Instance</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">An instance handle identifies an instance in a constructor for a resource. <a href="classpp_1_1_instance_handle.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_media_stream_audio_track.html">MediaStreamAudioTrack</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_media_stream_audio_track.html" title="The MediaStreamAudioTrack class contains methods for receiving audio frames from a MediaStream audio ...">MediaStreamAudioTrack</a></code> class contains methods for receiving audio frames from a MediaStream audio track in the browser. <a href="classpp_1_1_media_stream_audio_track.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_media_stream_video_track.html">MediaStreamVideoTrack</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_media_stream_video_track.html" title="The MediaStreamVideoTrack class contains methods for receiving video frames from a MediaStream video ...">MediaStreamVideoTrack</a></code> class contains methods for receiving video frames from a MediaStream video track in the browser. <a href="classpp_1_1_media_stream_video_track.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_message_loop.html">MessageLoop</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A message loop allows PPAPI calls to be issued on a thread. <a href="classpp_1_1_message_loop.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html">Module</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="classpp_1_1_module.html" title="The Module class.">Module</a> class. <a href="classpp_1_1_module.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_cursor.html">MouseCursor</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_lock.html">MouseLock</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This class allows you to associate the <code>PPP_MouseLock</code> and <code>PPB_MouseLock</code> C-based interfaces with an object. <a href="classpp_1_1_mouse_lock.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_net_address.html">NetAddress</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code> class represents a network address. <a href="classpp_1_1_net_address.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_list.html">NetworkList</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_monitor.html">NetworkMonitor</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_proxy.html">NetworkProxy</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This class provides a way to determine the appropriate proxy settings for for a given URL. <a href="classpp_1_1_network_proxy.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_point.html">Point</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A 2 dimensional point with 0,0 being the upper-left starting coordinate. <a href="classpp_1_1_point.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_float_point.html">FloatPoint</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A 2 dimensional floating-point point with 0,0 being the upper-left starting coordinate. <a href="classpp_1_1_float_point.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html">Rect</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A 2 dimensional rectangle. <a href="classpp_1_1_rect.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_resource.html">Resource</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A reference counted module resource. <a href="classpp_1_1_resource.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_size.html">Size</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A size of an object based on width and height. <a href="classpp_1_1_size.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html">TCPSocket</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_t_c_p_socket.html" title="The TCPSocket class provides TCP socket operations.">TCPSocket</a></code> class provides TCP socket operations. <a href="classpp_1_1_t_c_p_socket.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_text_input_controller.html">TextInputController</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This class can be used for giving hints to the browser about the text input status of plugins. <a href="classpp_1_1_text_input_controller.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_touch_point.html">TouchPoint</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Wrapper class for PP_TouchPoint. <a href="classpp_1_1_touch_point.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_d_p_socket.html">UDPSocket</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_u_d_p_socket.html" title="The UDPSocket class provides UDP socket operations.">UDPSocket</a></code> class provides UDP socket operations. <a href="classpp_1_1_u_d_p_socket.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_loader.html">URLLoader</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs.">URLLoader</a> provides an API for loading URLs. <a href="classpp_1_1_u_r_l_loader.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html">URLRequestInfo</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classpp_1_1_u_r_l_request_info.html" title="URLRequestInfo provides an API for creating and manipulating URL requests.">URLRequestInfo</a> provides an API for creating and manipulating URL requests. <a href="classpp_1_1_u_r_l_request_info.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_response_info.html">URLResponseInfo</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classpp_1_1_u_r_l_response_info.html" title="URLResponseInfo provides an API for examining URL responses.">URLResponseInfo</a> provides an API for examining URL responses. <a href="classpp_1_1_u_r_l_response_info.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html">Var</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A generic type used for passing data types between the module and the page. <a href="classpp_1_1_var.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array.html">VarArray</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array_buffer.html">VarArrayBuffer</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code> provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous sequence of bytes. <a href="classpp_1_1_var_array_buffer.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_dictionary.html">VarDictionary</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_video_frame.html">VideoFrame</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_view.html">View</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This class represents the state of the view for an instance and contains functions for retrieving the current state of that view. <a href="classpp_1_1_view.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_web_socket.html">WebSocket</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a></code> class providing bi-directional, full-duplex, communications over a single TCP socket. <a href="classpp_1_1_web_socket.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html">CompletionCallbackFactory</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">CompletionCallbackFactory<T> may be used to create <a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a> objects that are bound to member functions. <a href="classpp_1_1_completion_callback_factory.html#details">More...</a><br /></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a> { <a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5a82ae1b20e3ad488539b9dbc6ab4dd585">PASS_REF</a>
+ }</td></tr>
+</table><h2>
+Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html#a720b2df07621eabf59bdbae84ab80f47">BlockUntilComplete</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_module.html">pp::Module</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html#ac861e0e00515a40d07a40e0dcc0fd728">CreateModule</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html#a819119da5e9818961e9ab5306f3655d7">SetBrokerGetInterfaceFunc</a> (PP_GetInterface_Func broker_get_interface)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The C++ interface to the Pepper API. </p>
+</div><hr /><h2>Enumeration Type Documentation</h2>
+<a class="anchor" id="a339083c1beec620267bf8b3c55decaa5"></a><!-- doxytag: member="pp::PassRef" ref="a339083c1beec620267bf8b3c55decaa5" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">pp::PassRef</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>An annotation for constructors and other functions that take ownership of a pointer. </p>
+<p>For example, a resource constructor that takes ownership of a provided <code>PP_Resource</code> ref count would take this enumeration to differentiate from the more typical use case of taking its own reference. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="a339083c1beec620267bf8b3c55decaa5a82ae1b20e3ad488539b9dbc6ab4dd585"></a><!-- doxytag: member="PASS_REF" ref="a339083c1beec620267bf8b3c55decaa5a82ae1b20e3ad488539b9dbc6ab4dd585" args="" -->PASS_REF</em> </td><td>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Function Documentation</h2>
+<a class="anchor" id="a720b2df07621eabf59bdbae84ab80f47"></a><!-- doxytag: member="pp::BlockUntilComplete" ref="a720b2df07621eabf59bdbae84ab80f47" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> <a class="el" href="namespacepp.html#a720b2df07621eabf59bdbae84ab80f47">pp::BlockUntilComplete</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="namespacepp.html#a720b2df07621eabf59bdbae84ab80f47" title="BlockUntilComplete() is used in place of an actual completion callback to request blocking behavior...">BlockUntilComplete()</a> is used in place of an actual completion callback to request blocking behavior. </p>
+<p>If specified, the calling thread will block until the function completes. Blocking completion callbacks are only allowed from background threads.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> corresponding to a NULL callback. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ac861e0e00515a40d07a40e0dcc0fd728"></a><!-- doxytag: member="pp::CreateModule" ref="ac861e0e00515a40d07a40e0dcc0fd728" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_module.html">pp::Module</a>* <a class="el" href="namespacepp.html#ac861e0e00515a40d07a40e0dcc0fd728">pp::CreateModule</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function creates the <code><a class="el" href="classpp_1_1_module.html" title="The Module class.">pp::Module</a></code> object associated with this module. </p>
+<p><b>Note: </b>NaCl module developers must implement this function.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the module if it was successfully created, or NULL on failure. Upon failure, the module will be unloaded. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a819119da5e9818961e9ab5306f3655d7"></a><!-- doxytag: member="pp::SetBrokerGetInterfaceFunc" ref="a819119da5e9818961e9ab5306f3655d7" args="(PP_GetInterface_Func broker_get_interface)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="namespacepp.html#a819119da5e9818961e9ab5306f3655d7">pp::SetBrokerGetInterfaceFunc</a> </td>
+<td>(</td>
+<td class="paramtype">PP_GetInterface_Func </td>
+<td class="paramname"><em>broker_get_interface</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sets the get interface function in the broker process. </p>
+<p>This function is only relevant when you're using the PPB_Broker interface in a trusted native plugin. In this case, you may need to implement PPP_GetInterface when the plugin is loaded in the unsandboxed process. Normally the C++ wrappers implement PPP_GetInterface for you but this doesn't work in the context of the broker process. So if you need to implement PPP_* interfaces in the broker process, call this function in your PPP_InitializeBroker implementation which will set up the given function as implementing PPP_GetInterface. </p>
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/namespacepp_1_1ext.html b/native_client_sdk/doc_generated/pepper_dev/cpp/namespacepp_1_1ext.html
new file mode 100644
index 0000000..79854ca
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/namespacepp_1_1ext.html
@@ -0,0 +1,18 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::ext Namespace Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">ExtCompletionCallbackWithOutput</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html" title="ExtCompletionCallbackWithOutput is similar to CompletionCallbackWithOutput, but used by APIs within t...">ExtCompletionCallbackWithOutput</a> is similar to <a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a>, but used by APIs within the <a class="el" href="namespacepp_1_1ext.html">pp::ext</a> namespace. <a href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html#details">More...</a><br /></td></tr>
+</table>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/namespacepp_1_1internal.html b/native_client_sdk/doc_generated/pepper_dev/cpp/namespacepp_1_1internal.html
new file mode 100644
index 0000000..b34cadd
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/namespacepp_1_1internal.html
@@ -0,0 +1,23 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::internal Namespace Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">CompletionCallbackWithOutputBase</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The base class of [Ext]<a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a>. <a href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html">DirectoryEntryArrayOutputAdapterWithStorage</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html">CallbackOutputTraits< std::vector< DirectoryEntry > ></a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">TypeUnwrapper</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1internal_1_1_type_unwrapper_3_01_t_01_6_01_4.html">TypeUnwrapper< T & ></a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1internal_1_1_type_unwrapper_3_01const_01_t_01_6_01_4.html">TypeUnwrapper< const T & ></a></td></tr>
+</table>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/net__address_8h.html b/native_client_sdk/doc_generated/pepper_dev/cpp/net__address_8h.html
new file mode 100644
index 0000000..e78ec1b5
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/net__address_8h.html
@@ -0,0 +1,27 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/cpp/net_address.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for net_address.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="net__address_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2cpp_2net__address_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2cpp_2net__address_8h" id="_2tmp_2pepper__devp_gd_j_g4_2cpp_2net__address_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_net_address.html">pp::NetAddress</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code> class represents a network address. <a href="classpp_1_1_net_address.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/net__address_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/cpp/net__address_8h__incl.png
new file mode 100644
index 0000000..2fd7a01
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/net__address_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/network__list_8h.html b/native_client_sdk/doc_generated/pepper_dev/cpp/network__list_8h.html
new file mode 100644
index 0000000..d26faef
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/network__list_8h.html
@@ -0,0 +1,26 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/cpp/network_list.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for network_list.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="network__list_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2cpp_2network__list_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2cpp_2network__list_8h" id="_2tmp_2pepper__devp_gd_j_g4_2cpp_2network__list_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_list.html">pp::NetworkList</a></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/network__list_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/cpp/network__list_8h__incl.png
new file mode 100644
index 0000000..ff454dd6
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/network__list_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/network__monitor_8h.html b/native_client_sdk/doc_generated/pepper_dev/cpp/network__monitor_8h.html
new file mode 100644
index 0000000..0273a9b
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/network__monitor_8h.html
@@ -0,0 +1,26 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/cpp/network_monitor.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for network_monitor.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="network__monitor_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2cpp_2network__monitor_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2cpp_2network__monitor_8h" id="_2tmp_2pepper__devp_gd_j_g4_2cpp_2network__monitor_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_monitor.html">pp::NetworkMonitor</a></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/network__monitor_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/cpp/network__monitor_8h__incl.png
new file mode 100644
index 0000000..f10a4c39
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/network__monitor_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/network__proxy_8h.html b/native_client_sdk/doc_generated/pepper_dev/cpp/network__proxy_8h.html
new file mode 100644
index 0000000..7bb5515
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/network__proxy_8h.html
@@ -0,0 +1,27 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/cpp/network_proxy.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for network_proxy.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="network__proxy_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2cpp_2network__proxy_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2cpp_2network__proxy_8h" id="_2tmp_2pepper__devp_gd_j_g4_2cpp_2network__proxy_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_proxy.html">pp::NetworkProxy</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This class provides a way to determine the appropriate proxy settings for for a given URL. <a href="classpp_1_1_network_proxy.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/network__proxy_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/cpp/network__proxy_8h__incl.png
new file mode 100644
index 0000000..c2ef191
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/network__proxy_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/pass__ref_8h.html b/native_client_sdk/doc_generated/pepper_dev/cpp/pass__ref_8h.html
new file mode 100644
index 0000000..5942c86
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/pass__ref_8h.html
@@ -0,0 +1,22 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/cpp/pass_ref.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<h2>
+Namespaces</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">pp::PassRef</a> { <a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5a82ae1b20e3ad488539b9dbc6ab4dd585">pp::PASS_REF</a>
+ }</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines an annotation for constructors and other functions that take ownership of a pointer. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/point_8h.html b/native_client_sdk/doc_generated/pepper_dev/cpp/point_8h.html
new file mode 100644
index 0000000..70ab619
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/point_8h.html
@@ -0,0 +1,178 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/cpp/point.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for point.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="point_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2cpp_2point_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2cpp_2point_8h" id="_2tmp_2pepper__devp_gd_j_g4_2cpp_2point_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_point.html">pp::Point</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A 2 dimensional point with 0,0 being the upper-left starting coordinate. <a href="classpp_1_1_point.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A 2 dimensional floating-point point with 0,0 being the upper-left starting coordinate. <a href="classpp_1_1_float_point.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table><h2>
+Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="point_8h.html#acdca90fb96f299839dcea8d836d6f92f">operator==</a> (const <a class="el" href="classpp_1_1_point.html">pp::Point</a> &lhs, const <a class="el" href="classpp_1_1_point.html">pp::Point</a> &rhs)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="point_8h.html#a49089c373eeebff274a723f7545b7680">operator!=</a> (const <a class="el" href="classpp_1_1_point.html">pp::Point</a> &lhs, const <a class="el" href="classpp_1_1_point.html">pp::Point</a> &rhs)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="point_8h.html#a59d82ac98ce35697fae48edd66a7fdba">operator==</a> (const <a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a> &lhs, const <a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a> &rhs)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="point_8h.html#a429594ae059c2956f538876c3c4e68c2">operator!=</a> (const <a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a> &lhs, const <a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a> &rhs)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API to create a 2 dimensional point. </p>
+</div><hr /><h2>Function Documentation</h2>
+<a class="anchor" id="a49089c373eeebff274a723f7545b7680"></a><!-- doxytag: member="point.h::operator!=" ref="a49089c373eeebff274a723f7545b7680" args="(const pp::Point &lhs, const pp::Point &rhs)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool operator!= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">pp::Point</a> & </td>
+<td class="paramname"><em>lhs</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">pp::Point</a> & </td>
+<td class="paramname"><em>rhs</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Determines whether two Points have different coordinates. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">lhs</td><td>The Point on the left-hand side of the equation. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">rhs</td><td>The Point on the right-hand side of the equation.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the coordinates of lhs are equal to the coordinates of rhs, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a429594ae059c2956f538876c3c4e68c2"></a><!-- doxytag: member="point.h::operator!=" ref="a429594ae059c2956f538876c3c4e68c2" args="(const pp::FloatPoint &lhs, const pp::FloatPoint &rhs)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool operator!= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a> & </td>
+<td class="paramname"><em>lhs</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a> & </td>
+<td class="paramname"><em>rhs</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Determines whether two Points have different coordinates. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">lhs</td><td>The Point on the left-hand side of the equation. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">rhs</td><td>The Point on the right-hand side of the equation.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the coordinates of lhs are equal to the coordinates of rhs, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="acdca90fb96f299839dcea8d836d6f92f"></a><!-- doxytag: member="point.h::operator==" ref="acdca90fb96f299839dcea8d836d6f92f" args="(const pp::Point &lhs, const pp::Point &rhs)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool operator== </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">pp::Point</a> & </td>
+<td class="paramname"><em>lhs</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">pp::Point</a> & </td>
+<td class="paramname"><em>rhs</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Determines whether the x and y values of two Points are equal. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">lhs</td><td>The Point on the left-hand side of the equation. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">rhs</td><td>The Point on the right-hand side of the equation.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if they are equal, false if unequal. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a59d82ac98ce35697fae48edd66a7fdba"></a><!-- doxytag: member="point.h::operator==" ref="a59d82ac98ce35697fae48edd66a7fdba" args="(const pp::FloatPoint &lhs, const pp::FloatPoint &rhs)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool operator== </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a> & </td>
+<td class="paramname"><em>lhs</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a> & </td>
+<td class="paramname"><em>rhs</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Determines whether the x and y values of two FloatPoints are equal. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">lhs</td><td>The Point on the left-hand side of the equation. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">rhs</td><td>The Point on the right-hand side of the equation.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if they are equal, false if unequal. </dd></dl>
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/point_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/cpp/point_8h__incl.png
new file mode 100644
index 0000000..bbc58c0
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/point_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/rect_8h.html b/native_client_sdk/doc_generated/pepper_dev/cpp/rect_8h.html
new file mode 100644
index 0000000..3477f8ac
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/rect_8h.html
@@ -0,0 +1,104 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/cpp/rect.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for rect.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="rect_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2cpp_2rect_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2cpp_2rect_8h" id="_2tmp_2pepper__devp_gd_j_g4_2cpp_2rect_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A 2 dimensional rectangle. <a href="classpp_1_1_rect.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table><h2>
+Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="rect_8h.html#a79b9bc57ea3e03a0e56b7975b4ffd401">operator==</a> (const <a class="el" href="classpp_1_1_rect.html">pp::Rect</a> &lhs, const <a class="el" href="classpp_1_1_rect.html">pp::Rect</a> &rhs)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="rect_8h.html#a29f92b097dbed35ecf5f5ab1932a644e">operator!=</a> (const <a class="el" href="classpp_1_1_rect.html">pp::Rect</a> &lhs, const <a class="el" href="classpp_1_1_rect.html">pp::Rect</a> &rhs)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the APIs for creating a 2 dimensional rectangle. </p>
+</div><hr /><h2>Function Documentation</h2>
+<a class="anchor" id="a29f92b097dbed35ecf5f5ab1932a644e"></a><!-- doxytag: member="rect.h::operator!=" ref="a29f92b097dbed35ecf5f5ab1932a644e" args="(const pp::Rect &lhs, const pp::Rect &rhs)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool operator!= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">pp::Rect</a> & </td>
+<td class="paramname"><em>lhs</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">pp::Rect</a> & </td>
+<td class="paramname"><em>rhs</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function determines whether two Rects are not equal. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">lhs</td><td>The <code>Rect</code> on the left-hand side of the equation. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">rhs</td><td>The <code>Rect</code> on the right-hand side of the equation.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the given Rects are equal, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a79b9bc57ea3e03a0e56b7975b4ffd401"></a><!-- doxytag: member="rect.h::operator==" ref="a79b9bc57ea3e03a0e56b7975b4ffd401" args="(const pp::Rect &lhs, const pp::Rect &rhs)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool operator== </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">pp::Rect</a> & </td>
+<td class="paramname"><em>lhs</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">pp::Rect</a> & </td>
+<td class="paramname"><em>rhs</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function determines whether the x, y, width, and height values of two rectangles and are equal. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">lhs</td><td>The <code>Rect</code> on the left-hand side of the equation. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">rhs</td><td>The <code>Rect</code> on the right-hand side of the equation.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if they are equal, false if unequal. </dd></dl>
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/rect_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/cpp/rect_8h__incl.png
new file mode 100644
index 0000000..1f0a145
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/rect_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/resource_8h.html b/native_client_sdk/doc_generated/pepper_dev/cpp/resource_8h.html
new file mode 100644
index 0000000..f9717397
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/resource_8h.html
@@ -0,0 +1,86 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/cpp/resource.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for resource.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="resource_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2cpp_2resource_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2cpp_2resource_8h" id="_2tmp_2pepper__devp_gd_j_g4_2cpp_2resource_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A reference counted module resource. <a href="classpp_1_1_resource.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table><h2>
+Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="resource_8h.html#a879d95bb0967cf6cb6b916283d68f900">operator==</a> (const <a class="el" href="classpp_1_1_resource.html">pp::Resource</a> &lhs, const <a class="el" href="classpp_1_1_resource.html">pp::Resource</a> &rhs)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="resource_8h.html#ac908e756e088d693e4a78fca460971ba">operator!=</a> (const <a class="el" href="classpp_1_1_resource.html">pp::Resource</a> &lhs, const <a class="el" href="classpp_1_1_resource.html">pp::Resource</a> &rhs)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines a <code>Resource</code> type representing data associated with the module. </p>
+</div><hr /><h2>Function Documentation</h2>
+<a class="anchor" id="ac908e756e088d693e4a78fca460971ba"></a><!-- doxytag: member="resource.h::operator!=" ref="ac908e756e088d693e4a78fca460971ba" args="(const pp::Resource &lhs, const pp::Resource &rhs)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool operator!= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_resource.html">pp::Resource</a> & </td>
+<td class="paramname"><em>lhs</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_resource.html">pp::Resource</a> & </td>
+<td class="paramname"><em>rhs</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a879d95bb0967cf6cb6b916283d68f900"></a><!-- doxytag: member="resource.h::operator==" ref="a879d95bb0967cf6cb6b916283d68f900" args="(const pp::Resource &lhs, const pp::Resource &rhs)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool operator== </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_resource.html">pp::Resource</a> & </td>
+<td class="paramname"><em>lhs</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_resource.html">pp::Resource</a> & </td>
+<td class="paramname"><em>rhs</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/resource_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/cpp/resource_8h__incl.png
new file mode 100644
index 0000000..419b31b
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/resource_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/size_8h.html b/native_client_sdk/doc_generated/pepper_dev/cpp/size_8h.html
new file mode 100644
index 0000000..e7b99bb3
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/size_8h.html
@@ -0,0 +1,104 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/cpp/size.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for size.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="size_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2cpp_2size_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2cpp_2size_8h" id="_2tmp_2pepper__devp_gd_j_g4_2cpp_2size_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_size.html">pp::Size</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A size of an object based on width and height. <a href="classpp_1_1_size.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table><h2>
+Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="size_8h.html#ad3d13cbe3886f37d082352f261892564">operator==</a> (const <a class="el" href="classpp_1_1_size.html">pp::Size</a> &lhs, const <a class="el" href="classpp_1_1_size.html">pp::Size</a> &rhs)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="size_8h.html#a915ab1f503e22dc6662ad56caa1eb7c3">operator!=</a> (const <a class="el" href="classpp_1_1_size.html">pp::Size</a> &lhs, const <a class="el" href="classpp_1_1_size.html">pp::Size</a> &rhs)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API to create a size based on width and height. </p>
+</div><hr /><h2>Function Documentation</h2>
+<a class="anchor" id="a915ab1f503e22dc6662ad56caa1eb7c3"></a><!-- doxytag: member="size.h::operator!=" ref="a915ab1f503e22dc6662ad56caa1eb7c3" args="(const pp::Size &lhs, const pp::Size &rhs)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool operator!= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_size.html">pp::Size</a> & </td>
+<td class="paramname"><em>lhs</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_size.html">pp::Size</a> & </td>
+<td class="paramname"><em>rhs</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function determines whether two <code>Sizes</code> are not equal. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">lhs</td><td>The <code>Size</code> on the left-hand side of the equation. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">rhs</td><td>The <code>Size</code> on the right-hand side of the equation.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the <code>Size</code> of lhs are equal to the <code>Size</code> of rhs, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ad3d13cbe3886f37d082352f261892564"></a><!-- doxytag: member="size.h::operator==" ref="ad3d13cbe3886f37d082352f261892564" args="(const pp::Size &lhs, const pp::Size &rhs)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool operator== </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_size.html">pp::Size</a> & </td>
+<td class="paramname"><em>lhs</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_size.html">pp::Size</a> & </td>
+<td class="paramname"><em>rhs</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function determines whether the width and height values of two sizes are equal. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">lhs</td><td>The <code>Size</code> on the left-hand side of the equation. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">rhs</td><td>The <code>Size</code> on the right-hand side of the equation.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if they are equal, false if unequal. </dd></dl>
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/size_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/cpp/size_8h__incl.png
new file mode 100644
index 0000000..fa9158c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/size_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/structpp_1_1_var_1_1_dont_manage.html b/native_client_sdk/doc_generated/pepper_dev/cpp/structpp_1_1_var_1_1_dont_manage.html
new file mode 100644
index 0000000..09248ef
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/structpp_1_1_var_1_1_dont_manage.html
@@ -0,0 +1,15 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::Var::DontManage Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::Var::DontManage" --><hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="var_8h.html">var.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/structpp_1_1_var_1_1_null.html b/native_client_sdk/doc_generated/pepper_dev/cpp/structpp_1_1_var_1_1_null.html
new file mode 100644
index 0000000..9824650
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/structpp_1_1_var_1_1_null.html
@@ -0,0 +1,17 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::Var::Null Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::Var::Null" --><hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Special value passed to constructor to make <code>NULL</code>. </p>
+</div><hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="var_8h.html">var.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4-members.html
new file mode 100644
index 0000000..dcb009f
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4-members.html
@@ -0,0 +1,18 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html">pp::internal::CallbackOutputTraits< std::vector< DirectoryEntry > ></a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a91af145a82c147adbeaed69c3e6c3ab3">APIArgType</a> typedef</td><td><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html">pp::internal::CallbackOutputTraits< std::vector< DirectoryEntry > ></a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#ae5cefe7c63f50e354c27085ecf2b1355">Initialize</a>(StorageType *)</td><td><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html">pp::internal::CallbackOutputTraits< std::vector< DirectoryEntry > ></a></td><td><code> [inline, static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a57c9b5014e6ab62dcd28da5bb017aa48">StorageToAPIArg</a>(StorageType &t)</td><td><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html">pp::internal::CallbackOutputTraits< std::vector< DirectoryEntry > ></a></td><td><code> [inline, static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a1363bd4ed9b123454c6e9e7a5a062e69">StorageToPluginArg</a>(StorageType &t)</td><td><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html">pp::internal::CallbackOutputTraits< std::vector< DirectoryEntry > ></a></td><td><code> [inline, static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a5c78dd88ade2f1f6282605f9a3f2949d">StorageType</a> typedef</td><td><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html">pp::internal::CallbackOutputTraits< std::vector< DirectoryEntry > ></a></td><td></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html b/native_client_sdk/doc_generated/pepper_dev/cpp/structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html
new file mode 100644
index 0000000..3d990ba
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html
@@ -0,0 +1,106 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::internal::CallbackOutputTraits< std::vector< DirectoryEntry > > Struct Template Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::internal::CallbackOutputTraits< std::vector< DirectoryEntry > >" -->
+<p><a href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4-members.html">List of all members.</a></p>
+<h2>
+Public Types</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">typedef PP_ArrayOutput </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a91af145a82c147adbeaed69c3e6c3ab3">APIArgType</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef <br class="typebreak" />
+<a class="el" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html">DirectoryEntryArrayOutputAdapterWithStorage</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a5c78dd88ade2f1f6282605f9a3f2949d">StorageType</a></td></tr>
+</table><h2>
+Static Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a91af145a82c147adbeaed69c3e6c3ab3">APIArgType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a57c9b5014e6ab62dcd28da5bb017aa48">StorageToAPIArg</a> (<a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a5c78dd88ade2f1f6282605f9a3f2949d">StorageType</a> &t)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static std::vector<br class="typebreak" />
+< <a class="el" href="classpp_1_1_directory_entry.html">DirectoryEntry</a> > & </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a1363bd4ed9b123454c6e9e7a5a062e69">StorageToPluginArg</a> (<a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a5c78dd88ade2f1f6282605f9a3f2949d">StorageType</a> &t)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#ae5cefe7c63f50e354c27085ecf2b1355">Initialize</a> (<a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a5c78dd88ade2f1f6282605f9a3f2949d">StorageType</a> *)</td></tr>
+</table>
+<h3>template<><br />
+ struct pp::internal::CallbackOutputTraits< std::vector< DirectoryEntry > ></h3>
+<hr /><h2>Member Typedef Documentation</h2>
+<a class="anchor" id="a91af145a82c147adbeaed69c3e6c3ab3"></a><!-- doxytag: member="pp::internal::CallbackOutputTraits< std::vector< DirectoryEntry > >::APIArgType" ref="a91af145a82c147adbeaed69c3e6c3ab3" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef PP_ArrayOutput pp::internal::CallbackOutputTraits< std::vector< <a class="el" href="classpp_1_1_directory_entry.html">DirectoryEntry</a> > >::<a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a91af145a82c147adbeaed69c3e6c3ab3">APIArgType</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a5c78dd88ade2f1f6282605f9a3f2949d"></a><!-- doxytag: member="pp::internal::CallbackOutputTraits< std::vector< DirectoryEntry > >::StorageType" ref="a5c78dd88ade2f1f6282605f9a3f2949d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef <a class="el" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html">DirectoryEntryArrayOutputAdapterWithStorage</a> pp::internal::CallbackOutputTraits< std::vector< <a class="el" href="classpp_1_1_directory_entry.html">DirectoryEntry</a> > >::<a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a5c78dd88ade2f1f6282605f9a3f2949d">StorageType</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="ae5cefe7c63f50e354c27085ecf2b1355"></a><!-- doxytag: member="pp::internal::CallbackOutputTraits< std::vector< DirectoryEntry > >::Initialize" ref="ae5cefe7c63f50e354c27085ecf2b1355" args="(StorageType *)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static void pp::internal::CallbackOutputTraits< std::vector< <a class="el" href="classpp_1_1_directory_entry.html">DirectoryEntry</a> > >::<a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#ae5cefe7c63f50e354c27085ecf2b1355">Initialize</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a5c78dd88ade2f1f6282605f9a3f2949d">StorageType</a> * </td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline, static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a57c9b5014e6ab62dcd28da5bb017aa48"></a><!-- doxytag: member="pp::internal::CallbackOutputTraits< std::vector< DirectoryEntry > >::StorageToAPIArg" ref="a57c9b5014e6ab62dcd28da5bb017aa48" args="(StorageType &t)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static <a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a91af145a82c147adbeaed69c3e6c3ab3">APIArgType</a> pp::internal::CallbackOutputTraits< std::vector< <a class="el" href="classpp_1_1_directory_entry.html">DirectoryEntry</a> > >::<a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a57c9b5014e6ab62dcd28da5bb017aa48">StorageToAPIArg</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a5c78dd88ade2f1f6282605f9a3f2949d">StorageType</a> & </td>
+<td class="paramname"><em>t</em></td><td>)</td>
+<td><code> [inline, static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a1363bd4ed9b123454c6e9e7a5a062e69"></a><!-- doxytag: member="pp::internal::CallbackOutputTraits< std::vector< DirectoryEntry > >::StorageToPluginArg" ref="a1363bd4ed9b123454c6e9e7a5a062e69" args="(StorageType &t)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static std::vector<<a class="el" href="classpp_1_1_directory_entry.html">DirectoryEntry</a>>& pp::internal::CallbackOutputTraits< std::vector< <a class="el" href="classpp_1_1_directory_entry.html">DirectoryEntry</a> > >::<a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a1363bd4ed9b123454c6e9e7a5a062e69">StorageToPluginArg</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a5c78dd88ade2f1f6282605f9a3f2949d">StorageType</a> & </td>
+<td class="paramname"><em>t</em></td><td>)</td>
+<td><code> [inline, static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/cpp/<a class="el" href="directory__entry_8h.html">directory_entry.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/structpp_1_1internal_1_1_type_unwrapper-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/structpp_1_1internal_1_1_type_unwrapper-members.html
new file mode 100644
index 0000000..9b8d480
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/structpp_1_1internal_1_1_type_unwrapper-members.html
@@ -0,0 +1,14 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">pp::internal::TypeUnwrapper< T ></a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html#a9ee845648d1361a028a2c34a53306808">StorageType</a> typedef</td><td><a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">pp::internal::TypeUnwrapper< T ></a></td><td></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/structpp_1_1internal_1_1_type_unwrapper.html b/native_client_sdk/doc_generated/pepper_dev/cpp/structpp_1_1internal_1_1_type_unwrapper.html
new file mode 100644
index 0000000..608d547
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/structpp_1_1internal_1_1_type_unwrapper.html
@@ -0,0 +1,39 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::internal::TypeUnwrapper< T > Struct Template Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::internal::TypeUnwrapper" -->
+<p><a href="structpp_1_1internal_1_1_type_unwrapper-members.html">List of all members.</a></p>
+<h2>
+Public Types</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">typedef T </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html#a9ee845648d1361a028a2c34a53306808">StorageType</a></td></tr>
+</table>
+<h3>template<typename T><br />
+ struct pp::internal::TypeUnwrapper< T ></h3>
+<hr /><h2>Member Typedef Documentation</h2>
+<a class="anchor" id="a9ee845648d1361a028a2c34a53306808"></a><!-- doxytag: member="pp::internal::TypeUnwrapper::StorageType" ref="a9ee845648d1361a028a2c34a53306808" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T > </div>
+<table class="memname">
+<tr>
+<td class="memname">typedef T <a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">pp::internal::TypeUnwrapper</a>< T >::<a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html#a9ee845648d1361a028a2c34a53306808">StorageType</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/utility/<a class="el" href="completion__callback__factory_8h.html">completion_callback_factory.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/structpp_1_1internal_1_1_type_unwrapper_3_01_t_01_6_01_4-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/structpp_1_1internal_1_1_type_unwrapper_3_01_t_01_6_01_4-members.html
new file mode 100644
index 0000000..d387937
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/structpp_1_1internal_1_1_type_unwrapper_3_01_t_01_6_01_4-members.html
@@ -0,0 +1,14 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="structpp_1_1internal_1_1_type_unwrapper_3_01_t_01_6_01_4.html">pp::internal::TypeUnwrapper< T & ></a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="structpp_1_1internal_1_1_type_unwrapper_3_01_t_01_6_01_4.html#ac2e1763baf3d5f5ef63f6b14de038d79">StorageType</a> typedef</td><td><a class="el" href="structpp_1_1internal_1_1_type_unwrapper_3_01_t_01_6_01_4.html">pp::internal::TypeUnwrapper< T & ></a></td><td></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/structpp_1_1internal_1_1_type_unwrapper_3_01_t_01_6_01_4.html b/native_client_sdk/doc_generated/pepper_dev/cpp/structpp_1_1internal_1_1_type_unwrapper_3_01_t_01_6_01_4.html
new file mode 100644
index 0000000..082e45d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/structpp_1_1internal_1_1_type_unwrapper_3_01_t_01_6_01_4.html
@@ -0,0 +1,39 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::internal::TypeUnwrapper< T & > Struct Template Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::internal::TypeUnwrapper< T & >" -->
+<p><a href="structpp_1_1internal_1_1_type_unwrapper_3_01_t_01_6_01_4-members.html">List of all members.</a></p>
+<h2>
+Public Types</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">typedef T </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1internal_1_1_type_unwrapper_3_01_t_01_6_01_4.html#ac2e1763baf3d5f5ef63f6b14de038d79">StorageType</a></td></tr>
+</table>
+<h3>template<typename T><br />
+ struct pp::internal::TypeUnwrapper< T & ></h3>
+<hr /><h2>Member Typedef Documentation</h2>
+<a class="anchor" id="ac2e1763baf3d5f5ef63f6b14de038d79"></a><!-- doxytag: member="pp::internal::TypeUnwrapper< T & >::StorageType" ref="ac2e1763baf3d5f5ef63f6b14de038d79" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T > </div>
+<table class="memname">
+<tr>
+<td class="memname">typedef T <a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">pp::internal::TypeUnwrapper</a>< T & >::<a class="el" href="structpp_1_1internal_1_1_type_unwrapper_3_01_t_01_6_01_4.html#ac2e1763baf3d5f5ef63f6b14de038d79">StorageType</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/utility/<a class="el" href="completion__callback__factory_8h.html">completion_callback_factory.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/structpp_1_1internal_1_1_type_unwrapper_3_01const_01_t_01_6_01_4-members.html b/native_client_sdk/doc_generated/pepper_dev/cpp/structpp_1_1internal_1_1_type_unwrapper_3_01const_01_t_01_6_01_4-members.html
new file mode 100644
index 0000000..e8a41b8
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/structpp_1_1internal_1_1_type_unwrapper_3_01const_01_t_01_6_01_4-members.html
@@ -0,0 +1,14 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="structpp_1_1internal_1_1_type_unwrapper_3_01const_01_t_01_6_01_4.html">pp::internal::TypeUnwrapper< const T & ></a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="structpp_1_1internal_1_1_type_unwrapper_3_01const_01_t_01_6_01_4.html#a355ba0f4966cc7d09de85a5e94cf80bc">StorageType</a> typedef</td><td><a class="el" href="structpp_1_1internal_1_1_type_unwrapper_3_01const_01_t_01_6_01_4.html">pp::internal::TypeUnwrapper< const T & ></a></td><td></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/structpp_1_1internal_1_1_type_unwrapper_3_01const_01_t_01_6_01_4.html b/native_client_sdk/doc_generated/pepper_dev/cpp/structpp_1_1internal_1_1_type_unwrapper_3_01const_01_t_01_6_01_4.html
new file mode 100644
index 0000000..ddc3e13
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/structpp_1_1internal_1_1_type_unwrapper_3_01const_01_t_01_6_01_4.html
@@ -0,0 +1,39 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::internal::TypeUnwrapper< const T & > Struct Template Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::internal::TypeUnwrapper< const T & >" -->
+<p><a href="structpp_1_1internal_1_1_type_unwrapper_3_01const_01_t_01_6_01_4-members.html">List of all members.</a></p>
+<h2>
+Public Types</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">typedef T </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1internal_1_1_type_unwrapper_3_01const_01_t_01_6_01_4.html#a355ba0f4966cc7d09de85a5e94cf80bc">StorageType</a></td></tr>
+</table>
+<h3>template<typename T><br />
+ struct pp::internal::TypeUnwrapper< const T & ></h3>
+<hr /><h2>Member Typedef Documentation</h2>
+<a class="anchor" id="a355ba0f4966cc7d09de85a5e94cf80bc"></a><!-- doxytag: member="pp::internal::TypeUnwrapper< const T & >::StorageType" ref="a355ba0f4966cc7d09de85a5e94cf80bc" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T > </div>
+<table class="memname">
+<tr>
+<td class="memname">typedef T <a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">pp::internal::TypeUnwrapper</a>< const T & >::<a class="el" href="structpp_1_1internal_1_1_type_unwrapper_3_01const_01_t_01_6_01_4.html#a355ba0f4966cc7d09de85a5e94cf80bc">StorageType</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_devpGdJG4/utility/<a class="el" href="completion__callback__factory_8h.html">completion_callback_factory.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/tcp__socket_8h.html b/native_client_sdk/doc_generated/pepper_dev/cpp/tcp__socket_8h.html
new file mode 100644
index 0000000..eb988778
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/tcp__socket_8h.html
@@ -0,0 +1,27 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/cpp/tcp_socket.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for tcp_socket.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="tcp__socket_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2cpp_2tcp__socket_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2cpp_2tcp__socket_8h" id="_2tmp_2pepper__devp_gd_j_g4_2cpp_2tcp__socket_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_t_c_p_socket.html" title="The TCPSocket class provides TCP socket operations.">TCPSocket</a></code> class provides TCP socket operations. <a href="classpp_1_1_t_c_p_socket.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/tcp__socket_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/cpp/tcp__socket_8h__incl.png
new file mode 100644
index 0000000..b153339b
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/tcp__socket_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/text__input__controller_8h.html b/native_client_sdk/doc_generated/pepper_dev/cpp/text__input__controller_8h.html
new file mode 100644
index 0000000..e2bd6654
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/text__input__controller_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/cpp/text_input_controller.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for text_input_controller.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="text__input__controller_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2cpp_2text__input__controller_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2cpp_2text__input__controller_8h" id="_2tmp_2pepper__devp_gd_j_g4_2cpp_2text__input__controller_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_text_input_controller.html">pp::TextInputController</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This class can be used for giving hints to the browser about the text input status of plugins. <a href="classpp_1_1_text_input_controller.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the APIs for text input handling. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/text__input__controller_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/cpp/text__input__controller_8h__incl.png
new file mode 100644
index 0000000..09112f89
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/text__input__controller_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/touch__point_8h.html b/native_client_sdk/doc_generated/pepper_dev/cpp/touch__point_8h.html
new file mode 100644
index 0000000..bc5675bd
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/touch__point_8h.html
@@ -0,0 +1,27 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/cpp/touch_point.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for touch_point.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="touch__point_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2cpp_2touch__point_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2cpp_2touch__point_8h" id="_2tmp_2pepper__devp_gd_j_g4_2cpp_2touch__point_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_touch_point.html">pp::TouchPoint</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Wrapper class for PP_TouchPoint. <a href="classpp_1_1_touch_point.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/touch__point_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/cpp/touch__point_8h__incl.png
new file mode 100644
index 0000000..4f0372e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/touch__point_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/udp__socket_8h.html b/native_client_sdk/doc_generated/pepper_dev/cpp/udp__socket_8h.html
new file mode 100644
index 0000000..0618920
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/udp__socket_8h.html
@@ -0,0 +1,27 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/cpp/udp_socket.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for udp_socket.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="udp__socket_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2cpp_2udp__socket_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2cpp_2udp__socket_8h" id="_2tmp_2pepper__devp_gd_j_g4_2cpp_2udp__socket_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_d_p_socket.html">pp::UDPSocket</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_u_d_p_socket.html" title="The UDPSocket class provides UDP socket operations.">UDPSocket</a></code> class provides UDP socket operations. <a href="classpp_1_1_u_d_p_socket.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/udp__socket_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/cpp/udp__socket_8h__incl.png
new file mode 100644
index 0000000..c507118
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/udp__socket_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/url__loader_8h.html b/native_client_sdk/doc_generated/pepper_dev/cpp/url__loader_8h.html
new file mode 100644
index 0000000..114c107
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/url__loader_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/cpp/url_loader.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for url_loader.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="url__loader_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2cpp_2url__loader_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2cpp_2url__loader_8h" id="_2tmp_2pepper__devp_gd_j_g4_2cpp_2url__loader_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_loader.html">pp::URLLoader</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs.">URLLoader</a> provides an API for loading URLs. <a href="classpp_1_1_u_r_l_loader.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API for loading URLs. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/url__loader_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/cpp/url__loader_8h__incl.png
new file mode 100644
index 0000000..56603b8
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/url__loader_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/url__request__info_8h.html b/native_client_sdk/doc_generated/pepper_dev/cpp/url__request__info_8h.html
new file mode 100644
index 0000000..e904375
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/url__request__info_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/cpp/url_request_info.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for url_request_info.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="url__request__info_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2cpp_2url__request__info_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2cpp_2url__request__info_8h" id="_2tmp_2pepper__devp_gd_j_g4_2cpp_2url__request__info_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classpp_1_1_u_r_l_request_info.html" title="URLRequestInfo provides an API for creating and manipulating URL requests.">URLRequestInfo</a> provides an API for creating and manipulating URL requests. <a href="classpp_1_1_u_r_l_request_info.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API for creating and manipulating URL requests. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/url__request__info_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/cpp/url__request__info_8h__incl.png
new file mode 100644
index 0000000..1bc11979
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/url__request__info_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/url__response__info_8h.html b/native_client_sdk/doc_generated/pepper_dev/cpp/url__response__info_8h.html
new file mode 100644
index 0000000..d055870
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/url__response__info_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/cpp/url_response_info.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for url_response_info.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="url__response__info_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2cpp_2url__response__info_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2cpp_2url__response__info_8h" id="_2tmp_2pepper__devp_gd_j_g4_2cpp_2url__response__info_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_response_info.html">pp::URLResponseInfo</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classpp_1_1_u_r_l_response_info.html" title="URLResponseInfo provides an API for examining URL responses.">URLResponseInfo</a> provides an API for examining URL responses. <a href="classpp_1_1_u_r_l_response_info.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API for examining URL responses. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/url__response__info_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/cpp/url__response__info_8h__incl.png
new file mode 100644
index 0000000..2a1ecea1
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/url__response__info_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/var_8h.html b/native_client_sdk/doc_generated/pepper_dev/cpp/var_8h.html
new file mode 100644
index 0000000..0e718bf
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/var_8h.html
@@ -0,0 +1,34 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/cpp/var.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for var.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="var_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2cpp_2var_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2cpp_2var_8h" id="_2tmp_2pepper__devp_gd_j_g4_2cpp_2var_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html">pp::Var</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A generic type used for passing data types between the module and the page. <a href="classpp_1_1_var.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1_var_1_1_null.html">pp::Var::Null</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Special value passed to constructor to make <code>NULL</code>. <a href="structpp_1_1_var_1_1_null.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1_var_1_1_dont_manage.html">pp::Var::DontManage</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_1_1_out_exception.html">pp::Var::OutException</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This class is used when calling the raw C PPAPI when using the C++ <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> as a possible NULL exception. <a href="classpp_1_1_var_1_1_out_exception.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API for handling the passing of data types between your module and the page. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/var_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/cpp/var_8h__incl.png
new file mode 100644
index 0000000..23bc8bd
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/var_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/var__array_8h.html b/native_client_sdk/doc_generated/pepper_dev/cpp/var__array_8h.html
new file mode 100644
index 0000000..e637e3e4
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/var__array_8h.html
@@ -0,0 +1,28 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/cpp/var_array.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for var_array.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="var__array_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2cpp_2var__array_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2cpp_2var__array_8h" id="_2tmp_2pepper__devp_gd_j_g4_2cpp_2var__array_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array.html">pp::VarArray</a></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API for interacting with array vars. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/var__array_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/cpp/var__array_8h__incl.png
new file mode 100644
index 0000000..0b0ce0b
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/var__array_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/var__array__buffer_8h.html b/native_client_sdk/doc_generated/pepper_dev/cpp/var__array__buffer_8h.html
new file mode 100644
index 0000000..9d6d07f
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/var__array__buffer_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/cpp/var_array_buffer.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for var_array_buffer.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="var__array__buffer_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2cpp_2var__array__buffer_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2cpp_2var__array__buffer_8h" id="_2tmp_2pepper__devp_gd_j_g4_2cpp_2var__array__buffer_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array_buffer.html">pp::VarArrayBuffer</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code> provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous sequence of bytes. <a href="classpp_1_1_var_array_buffer.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API for interacting with a JavaScript ArrayBuffer. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/var__array__buffer_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/cpp/var__array__buffer_8h__incl.png
new file mode 100644
index 0000000..cdcb0ff
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/var__array__buffer_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/var__dictionary_8h.html b/native_client_sdk/doc_generated/pepper_dev/cpp/var__dictionary_8h.html
new file mode 100644
index 0000000..67f85f24
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/var__dictionary_8h.html
@@ -0,0 +1,28 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/cpp/var_dictionary.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for var_dictionary.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="var__dictionary_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2cpp_2var__dictionary_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2cpp_2var__dictionary_8h" id="_2tmp_2pepper__devp_gd_j_g4_2cpp_2var__dictionary_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_dictionary.html">pp::VarDictionary</a></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API for interacting with dictionary vars. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/var__dictionary_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/cpp/var__dictionary_8h__incl.png
new file mode 100644
index 0000000..f04d958
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/var__dictionary_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/video__frame_8h.html b/native_client_sdk/doc_generated/pepper_dev/cpp/video__frame_8h.html
new file mode 100644
index 0000000..cf14632
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/video__frame_8h.html
@@ -0,0 +1,26 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/cpp/video_frame.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for video_frame.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="video__frame_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2cpp_2video__frame_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2cpp_2video__frame_8h" id="_2tmp_2pepper__devp_gd_j_g4_2cpp_2video__frame_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_video_frame.html">pp::VideoFrame</a></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/video__frame_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/cpp/video__frame_8h__incl.png
new file mode 100644
index 0000000..13dc8274
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/video__frame_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/view_8h.html b/native_client_sdk/doc_generated/pepper_dev/cpp/view_8h.html
new file mode 100644
index 0000000..4509230
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/view_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/cpp/view.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for view.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="view_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2cpp_2view_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2cpp_2view_8h" id="_2tmp_2pepper__devp_gd_j_g4_2cpp_2view_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_view.html">pp::View</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This class represents the state of the view for an instance and contains functions for retrieving the current state of that view. <a href="classpp_1_1_view.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API for getting the state of a the view for an instance. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/view_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/cpp/view_8h__incl.png
new file mode 100644
index 0000000..70a11e5
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/view_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/websocket_8h.html b/native_client_sdk/doc_generated/pepper_dev/cpp/websocket_8h.html
new file mode 100644
index 0000000..b8b77c27
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/websocket_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_devpGdJG4/cpp/websocket.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for websocket.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="websocket_8h__incl.png" border="0" usemap="#_2tmp_2pepper__devp_gd_j_g4_2cpp_2websocket_8h" alt="" /></div>
+<map name="_2tmp_2pepper__devp_gd_j_g4_2cpp_2websocket_8h" id="_2tmp_2pepper__devp_gd_j_g4_2cpp_2websocket_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_web_socket.html">pp::WebSocket</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a></code> class providing bi-directional, full-duplex, communications over a single TCP socket. <a href="classpp_1_1_web_socket.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the WebSocket interface providing bi-directional, full-duplex, communications over a single TCP socket. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_dev/cpp/websocket_8h__incl.png b/native_client_sdk/doc_generated/pepper_dev/cpp/websocket_8h__incl.png
new file mode 100644
index 0000000..8a45382
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/cpp/websocket_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_dev/index.html b/native_client_sdk/doc_generated/pepper_dev/index.html
new file mode 100644
index 0000000..1ad77e9f
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_dev/index.html
@@ -0,0 +1,13 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<section id="pepper-api-reference-dev">
+<h1 id="pepper-api-reference-dev">Pepper API Reference (Dev)</h1>
+<p>This page lists the API for Pepper 34. Apps that use this API can
+run in Chrome 34 or higher.</p>
+<section id="pepper-c-api-reference">
+<h2 id="pepper-c-api-reference"><a class="reference internal" href="/native-client/pepper_dev/c/index.html#pepper-dev-c-index"><em>Pepper C API Reference</em></a></h2>
+</section><section id="id1">
+<h2 id="id1"><a class="reference internal" href="/native-client/pepper_dev/cpp/index.html#pepper-dev-cpp-index"><em>Pepper C++ API Reference</em></a></h2>
+</section></section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/globals_defs.html b/native_client_sdk/doc_generated/pepper_stable/c/globals_defs.html
new file mode 100644
index 0000000..f7f60524
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/globals_defs.html
@@ -0,0 +1,286 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Globals</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+
+</div>
+<div class="contents">
+ 
+
+<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
+<li>PPB_AUDIO_CONFIG_INTERFACE
+: <a class="el" href="ppb__audio__config_8h.html#a96fc67cc118c99f3c685f9fcc79d88ac">ppb_audio_config.h</a>
+</li>
+<li>PPB_AUDIO_CONFIG_INTERFACE_1_1
+: <a class="el" href="ppb__audio__config_8h.html#ae25decba5eb6b3f71b9e36bd8dcdcda7">ppb_audio_config.h</a>
+</li>
+<li>PPB_AUDIO_INTERFACE
+: <a class="el" href="ppb__audio_8h.html#a7d9614327b9f7d6e145eabd5bf2c4ad1">ppb_audio.h</a>
+</li>
+<li>PPB_AUDIO_INTERFACE_1_1
+: <a class="el" href="ppb__audio_8h.html#a05e57cf808f3ccd4467019e20832f28d">ppb_audio.h</a>
+</li>
+<li>PPB_CONSOLE_INTERFACE
+: <a class="el" href="ppb__console_8h.html#aeb04d0356a4ddc1488162c9512d318dd">ppb_console.h</a>
+</li>
+<li>PPB_CONSOLE_INTERFACE_1_0
+: <a class="el" href="ppb__console_8h.html#af944896c561ac6200f2170a9060b4d3e">ppb_console.h</a>
+</li>
+<li>PPB_CORE_INTERFACE
+: <a class="el" href="ppb__core_8h.html#ab634737b105d529729cc926ee6dee212">ppb_core.h</a>
+</li>
+<li>PPB_CORE_INTERFACE_1_0
+: <a class="el" href="ppb__core_8h.html#acdd54c61a74a494eedba88bff5fef3e5">ppb_core.h</a>
+</li>
+<li>PPB_FILEIO_INTERFACE
+: <a class="el" href="ppb__file__io_8h.html#af7e4bdd4e8dbe17acf89068130f60660">ppb_file_io.h</a>
+</li>
+<li>PPB_FILEIO_INTERFACE_1_1
+: <a class="el" href="ppb__file__io_8h.html#aee417de3562daef62dbf68ddc16a8477">ppb_file_io.h</a>
+</li>
+<li>PPB_FILEREF_INTERFACE
+: <a class="el" href="ppb__file__ref_8h.html#a00615ce99f7d6774b0fc5c8f0326f0ba">ppb_file_ref.h</a>
+</li>
+<li>PPB_FILEREF_INTERFACE_1_1
+: <a class="el" href="ppb__file__ref_8h.html#a153d480ed8be5b5c1e918f8b234c1c22">ppb_file_ref.h</a>
+</li>
+<li>PPB_FILESYSTEM_INTERFACE
+: <a class="el" href="ppb__file__system_8h.html#a492a8ab8ba84394c44cca88c45852f2c">ppb_file_system.h</a>
+</li>
+<li>PPB_FILESYSTEM_INTERFACE_1_0
+: <a class="el" href="ppb__file__system_8h.html#a856262c69fb3460f83a1b1fa3630c7c9">ppb_file_system.h</a>
+</li>
+<li>PPB_FULLSCREEN_INTERFACE
+: <a class="el" href="ppb__fullscreen_8h.html#ac9eade8043cf2d61bf195d9fa880fb34">ppb_fullscreen.h</a>
+</li>
+<li>PPB_FULLSCREEN_INTERFACE_1_0
+: <a class="el" href="ppb__fullscreen_8h.html#a4c01a722d680c2ddb2acb8eb84567b96">ppb_fullscreen.h</a>
+</li>
+<li>PPB_GAMEPAD_INTERFACE
+: <a class="el" href="ppb__gamepad_8h.html#aca090c38021f6dcef779de7a255313f3">ppb_gamepad.h</a>
+</li>
+<li>PPB_GAMEPAD_INTERFACE_1_0
+: <a class="el" href="ppb__gamepad_8h.html#ae18db8da1163096b8ea10071317305b2">ppb_gamepad.h</a>
+</li>
+<li>PPB_GRAPHICS_2D_INTERFACE
+: <a class="el" href="ppb__graphics__2d_8h.html#ab4930fe7aea6b403503d5cc748824b0d">ppb_graphics_2d.h</a>
+</li>
+<li>PPB_GRAPHICS_2D_INTERFACE_1_1
+: <a class="el" href="ppb__graphics__2d_8h.html#ad9792b60ca6ce77f3925be8d60e06640">ppb_graphics_2d.h</a>
+</li>
+<li>PPB_GRAPHICS_3D_INTERFACE
+: <a class="el" href="ppb__graphics__3d_8h.html#a3ba3c80f5959aca6bdef2584a2ceb55e">ppb_graphics_3d.h</a>
+</li>
+<li>PPB_GRAPHICS_3D_INTERFACE_1_0
+: <a class="el" href="ppb__graphics__3d_8h.html#a2619e373c7a32f9b0a763330c39ee282">ppb_graphics_3d.h</a>
+</li>
+<li>PPB_HOSTRESOLVER_INTERFACE
+: <a class="el" href="ppb__host__resolver_8h.html#a92db0e0376e1dd64b24f1e107b277d71">ppb_host_resolver.h</a>
+</li>
+<li>PPB_HOSTRESOLVER_INTERFACE_1_0
+: <a class="el" href="ppb__host__resolver_8h.html#af02d4ce7194c9c440c0bd42e81ab7731">ppb_host_resolver.h</a>
+</li>
+<li>PPB_IMAGEDATA_INTERFACE
+: <a class="el" href="ppb__image__data_8h.html#a706a4eb837834aefe135ccbfb3ebe21d">ppb_image_data.h</a>
+</li>
+<li>PPB_IMAGEDATA_INTERFACE_1_0
+: <a class="el" href="ppb__image__data_8h.html#ab08ef8c9002eec0102a71d9c766f0893">ppb_image_data.h</a>
+</li>
+<li>PPB_IME_INPUT_EVENT_INTERFACE
+: <a class="el" href="ppb__input__event_8h.html#ac7e4bf41f38afcb87e0a75c8f27ca33f">ppb_input_event.h</a>
+</li>
+<li>PPB_IME_INPUT_EVENT_INTERFACE_1_0
+: <a class="el" href="ppb__input__event_8h.html#ad911c1aed763c2f362037995ffca801a">ppb_input_event.h</a>
+</li>
+<li>PPB_INPUT_EVENT_INTERFACE
+: <a class="el" href="ppb__input__event_8h.html#a40fd5bca277483a37c2713b8961b5117">ppb_input_event.h</a>
+</li>
+<li>PPB_INPUT_EVENT_INTERFACE_1_0
+: <a class="el" href="ppb__input__event_8h.html#af4e5b597aea9864e7d9aa81c71e781d2">ppb_input_event.h</a>
+</li>
+<li>PPB_INSTANCE_INTERFACE
+: <a class="el" href="ppb__instance_8h.html#ab707353c04e78fe57eba3783692a0eed">ppb_instance.h</a>
+</li>
+<li>PPB_INSTANCE_INTERFACE_1_0
+: <a class="el" href="ppb__instance_8h.html#ad3b639018921516cd4d2d3adcffdbc8f">ppb_instance.h</a>
+</li>
+<li>PPB_KEYBOARD_INPUT_EVENT_INTERFACE
+: <a class="el" href="ppb__input__event_8h.html#a969f9e171a3202249e8dfabaef33c288">ppb_input_event.h</a>
+</li>
+<li>PPB_KEYBOARD_INPUT_EVENT_INTERFACE_1_0
+: <a class="el" href="ppb__input__event_8h.html#a0d5e2d948d5a25cd3194a59c21ad992e">ppb_input_event.h</a>
+</li>
+<li>PPB_MESSAGELOOP_INTERFACE
+: <a class="el" href="ppb__message__loop_8h.html#ae810c1f641977db5a6497704d7b0f4b0">ppb_message_loop.h</a>
+</li>
+<li>PPB_MESSAGELOOP_INTERFACE_1_0
+: <a class="el" href="ppb__message__loop_8h.html#a9b1fcf10002ff75d323617f920de4468">ppb_message_loop.h</a>
+</li>
+<li>PPB_MESSAGING_INTERFACE
+: <a class="el" href="ppb__messaging_8h.html#a558ca32dad39a710cd217aaa09921d92">ppb_messaging.h</a>
+</li>
+<li>PPB_MESSAGING_INTERFACE_1_0
+: <a class="el" href="ppb__messaging_8h.html#afc64e56f770d45a4556b32cd6568cc77">ppb_messaging.h</a>
+</li>
+<li>PPB_MOUSE_INPUT_EVENT_INTERFACE
+: <a class="el" href="ppb__input__event_8h.html#a761fcf6df555946b6c2e1a0b6cd01c5e">ppb_input_event.h</a>
+</li>
+<li>PPB_MOUSE_INPUT_EVENT_INTERFACE_1_1
+: <a class="el" href="ppb__input__event_8h.html#a9887382b4700999b639a2f2de497e104">ppb_input_event.h</a>
+</li>
+<li>PPB_MOUSECURSOR_INTERFACE
+: <a class="el" href="ppb__mouse__cursor_8h.html#a9f058eab16725eb940b802f90acb11a9">ppb_mouse_cursor.h</a>
+</li>
+<li>PPB_MOUSECURSOR_INTERFACE_1_0
+: <a class="el" href="ppb__mouse__cursor_8h.html#a5108cd274942fbb6aa1726d32b7b82eb">ppb_mouse_cursor.h</a>
+</li>
+<li>PPB_MOUSELOCK_INTERFACE
+: <a class="el" href="ppb__mouse__lock_8h.html#a61bbe5bd4a3ec739ecd5daf65192db7d">ppb_mouse_lock.h</a>
+</li>
+<li>PPB_MOUSELOCK_INTERFACE_1_0
+: <a class="el" href="ppb__mouse__lock_8h.html#a87c8b1ae0950bb6de205bbec68545edd">ppb_mouse_lock.h</a>
+</li>
+<li>PPB_NETADDRESS_INTERFACE
+: <a class="el" href="ppb__net__address_8h.html#a4797048cd8b1d0ab96d600d0f2003f88">ppb_net_address.h</a>
+</li>
+<li>PPB_NETADDRESS_INTERFACE_1_0
+: <a class="el" href="ppb__net__address_8h.html#aa487d14ecdf0f4ce95f95f429599b940">ppb_net_address.h</a>
+</li>
+<li>PPB_NETWORKLIST_INTERFACE
+: <a class="el" href="ppb__network__list_8h.html#a9d022e173e890387820ddb636a8eedfe">ppb_network_list.h</a>
+</li>
+<li>PPB_NETWORKLIST_INTERFACE_1_0
+: <a class="el" href="ppb__network__list_8h.html#ac0b7e69aedfaf3e0dd033d17634b0747">ppb_network_list.h</a>
+</li>
+<li>PPB_NETWORKMONITOR_INTERFACE
+: <a class="el" href="ppb__network__monitor_8h.html#a1a8be64663de54d6d189673531f93008">ppb_network_monitor.h</a>
+</li>
+<li>PPB_NETWORKMONITOR_INTERFACE_1_0
+: <a class="el" href="ppb__network__monitor_8h.html#aa1c835159cc390a53f853281e62a969f">ppb_network_monitor.h</a>
+</li>
+<li>PPB_NETWORKPROXY_INTERFACE
+: <a class="el" href="ppb__network__proxy_8h.html#aa951f1e83ded5d77558f770127d5765b">ppb_network_proxy.h</a>
+</li>
+<li>PPB_NETWORKPROXY_INTERFACE_1_0
+: <a class="el" href="ppb__network__proxy_8h.html#a51bdbe7e4706cc8c5e455ceb47a34472">ppb_network_proxy.h</a>
+</li>
+<li>PPB_TCPSOCKET_INTERFACE
+: <a class="el" href="ppb__tcp__socket_8h.html#a29ecaef1552f19b223e6c93475d8788c">ppb_tcp_socket.h</a>
+</li>
+<li>PPB_TCPSOCKET_INTERFACE_1_1
+: <a class="el" href="ppb__tcp__socket_8h.html#a12b0fabc454cb99a6d4c8352c6f22d71">ppb_tcp_socket.h</a>
+</li>
+<li>PPB_TEXTINPUTCONTROLLER_INTERFACE
+: <a class="el" href="ppb__text__input__controller_8h.html#a9a28f7fd2db84c2cd550ed272070c0ee">ppb_text_input_controller.h</a>
+</li>
+<li>PPB_TEXTINPUTCONTROLLER_INTERFACE_1_0
+: <a class="el" href="ppb__text__input__controller_8h.html#a6ca7f2ae09c011c13d12c79ba155e12a">ppb_text_input_controller.h</a>
+</li>
+<li>PPB_TOUCH_INPUT_EVENT_INTERFACE
+: <a class="el" href="ppb__input__event_8h.html#a9ef6ad6634a1d1912b83006862a0e57b">ppb_input_event.h</a>
+</li>
+<li>PPB_TOUCH_INPUT_EVENT_INTERFACE_1_0
+: <a class="el" href="ppb__input__event_8h.html#a36b8536215a705ecc3fd4cd366b0f975">ppb_input_event.h</a>
+</li>
+<li>PPB_UDPSOCKET_INTERFACE
+: <a class="el" href="ppb__udp__socket_8h.html#a673aeb3fceb5ed977b7b8683f674cbfd">ppb_udp_socket.h</a>
+</li>
+<li>PPB_UDPSOCKET_INTERFACE_1_0
+: <a class="el" href="ppb__udp__socket_8h.html#aafc1aecb9a8f2c3f8eed80a93a77763c">ppb_udp_socket.h</a>
+</li>
+<li>PPB_URLLOADER_INTERFACE
+: <a class="el" href="ppb__url__loader_8h.html#ae1fa8c5cdfccb7ea67e184b1e5e1009e">ppb_url_loader.h</a>
+</li>
+<li>PPB_URLLOADER_INTERFACE_1_0
+: <a class="el" href="ppb__url__loader_8h.html#adebf43440c53ea088f68ae376a7c7bbb">ppb_url_loader.h</a>
+</li>
+<li>PPB_URLREQUESTINFO_INTERFACE
+: <a class="el" href="ppb__url__request__info_8h.html#a61dc8b05683833153b9368eabebc5441">ppb_url_request_info.h</a>
+</li>
+<li>PPB_URLREQUESTINFO_INTERFACE_1_0
+: <a class="el" href="ppb__url__request__info_8h.html#a1624264dba578e2c15b257f7680a43de">ppb_url_request_info.h</a>
+</li>
+<li>PPB_URLRESPONSEINFO_INTERFACE
+: <a class="el" href="ppb__url__response__info_8h.html#a788cf0f4f93d8cbfbc834b5921188f35">ppb_url_response_info.h</a>
+</li>
+<li>PPB_URLRESPONSEINFO_INTERFACE_1_0
+: <a class="el" href="ppb__url__response__info_8h.html#a3703eb2a16b1386517bcd3d7074e94ff">ppb_url_response_info.h</a>
+</li>
+<li>PPB_VAR_ARRAY_BUFFER_INTERFACE
+: <a class="el" href="ppb__var__array__buffer_8h.html#a2b7e1cca43218ed9eb3c92b24089ecac">ppb_var_array_buffer.h</a>
+</li>
+<li>PPB_VAR_ARRAY_BUFFER_INTERFACE_1_0
+: <a class="el" href="ppb__var__array__buffer_8h.html#aacd03d05467e3a617c0a1c068fa422c7">ppb_var_array_buffer.h</a>
+</li>
+<li>PPB_VAR_ARRAY_INTERFACE
+: <a class="el" href="ppb__var__array_8h.html#a45d67f25be216695420b237b1deeca3f">ppb_var_array.h</a>
+</li>
+<li>PPB_VAR_ARRAY_INTERFACE_1_0
+: <a class="el" href="ppb__var__array_8h.html#a244ad07738d77a4d11d8009a7d69a5aa">ppb_var_array.h</a>
+</li>
+<li>PPB_VAR_DICTIONARY_INTERFACE
+: <a class="el" href="ppb__var__dictionary_8h.html#ac9d41ef2449d860ee3b429c148bd6be9">ppb_var_dictionary.h</a>
+</li>
+<li>PPB_VAR_DICTIONARY_INTERFACE_1_0
+: <a class="el" href="ppb__var__dictionary_8h.html#a33d58f4be531cacb629c9eb33ab8cdc2">ppb_var_dictionary.h</a>
+</li>
+<li>PPB_VAR_INTERFACE
+: <a class="el" href="ppb__var_8h.html#a0d345a2704bcdbc588c4227b46747041">ppb_var.h</a>
+</li>
+<li>PPB_VAR_INTERFACE_1_1
+: <a class="el" href="ppb__var_8h.html#acc1cbb0daac02e06063221b751084502">ppb_var.h</a>
+</li>
+<li>PPB_VIEW_INTERFACE
+: <a class="el" href="ppb__view_8h.html#a3597f47b815dffc7e9cf250a107e7d3e">ppb_view.h</a>
+</li>
+<li>PPB_VIEW_INTERFACE_1_1
+: <a class="el" href="ppb__view_8h.html#a0aa91bef3e37c8a98b77417dcf9a7a6a">ppb_view.h</a>
+</li>
+<li>PPB_WEBSOCKET_INTERFACE
+: <a class="el" href="ppb__websocket_8h.html#a6d56a012c9350b4cc4e55b668d3fbe75">ppb_websocket.h</a>
+</li>
+<li>PPB_WEBSOCKET_INTERFACE_1_0
+: <a class="el" href="ppb__websocket_8h.html#ad613dc4aff545f9e9885c415f1673107">ppb_websocket.h</a>
+</li>
+<li>PPB_WHEEL_INPUT_EVENT_INTERFACE
+: <a class="el" href="ppb__input__event_8h.html#a2e592782e919e590dd393d421af8850f">ppb_input_event.h</a>
+</li>
+<li>PPB_WHEEL_INPUT_EVENT_INTERFACE_1_0
+: <a class="el" href="ppb__input__event_8h.html#a0a7bcd124b8e7677b629b236eabfb563">ppb_input_event.h</a>
+</li>
+<li>PPP_GRAPHICS_3D_INTERFACE
+: <a class="el" href="ppp__graphics__3d_8h.html#a127a18c58f8a81afc706963ce70ba1a0">ppp_graphics_3d.h</a>
+</li>
+<li>PPP_GRAPHICS_3D_INTERFACE_1_0
+: <a class="el" href="ppp__graphics__3d_8h.html#a24bc6750e56195c99461408d10a3e184">ppp_graphics_3d.h</a>
+</li>
+<li>PPP_INPUT_EVENT_INTERFACE
+: <a class="el" href="ppp__input__event_8h.html#a6e94d8b829723cdeff16b7433c87bbea">ppp_input_event.h</a>
+</li>
+<li>PPP_INPUT_EVENT_INTERFACE_0_1
+: <a class="el" href="ppp__input__event_8h.html#afcc2e3ed6316bc950b7668d24f1c0476">ppp_input_event.h</a>
+</li>
+<li>PPP_INSTANCE_INTERFACE
+: <a class="el" href="ppp__instance_8h.html#ae1a0f9616b76b6b42649565ed1081fc1">ppp_instance.h</a>
+</li>
+<li>PPP_INSTANCE_INTERFACE_1_1
+: <a class="el" href="ppp__instance_8h.html#a0e284783d75d3b9a3c84a0feb39d7024">ppp_instance.h</a>
+</li>
+<li>PPP_MESSAGING_INTERFACE
+: <a class="el" href="ppp__messaging_8h.html#a7ea9cbd07fe30bc0d6e3a71a02d7adbb">ppp_messaging.h</a>
+</li>
+<li>PPP_MESSAGING_INTERFACE_1_0
+: <a class="el" href="ppp__messaging_8h.html#a2b15920cef3b0b108e4e08ae39ba0b2b">ppp_messaging.h</a>
+</li>
+<li>PPP_MOUSELOCK_INTERFACE
+: <a class="el" href="ppp__mouse__lock_8h.html#a2ce52a0566f0ee91721052673ca521ec">ppp_mouse_lock.h</a>
+</li>
+<li>PPP_MOUSELOCK_INTERFACE_1_0
+: <a class="el" href="ppp__mouse__lock_8h.html#a71f74bf4d04a8ac6901b473452f4d7e6">ppp_mouse_lock.h</a>
+</li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/group___enums.html b/native_client_sdk/doc_generated/pepper_stable/c/group___enums.html
new file mode 100644
index 0000000..7d96002
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/group___enums.html
@@ -0,0 +1,2006 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Enums</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+</div>
+<!--header-->
+<div class="contents">
+<h2>
+Enumerations</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> { <a class="el" href="group___enums.html#gga4f272d99be14aacafe08dfd4ef830918aeb6cdb899071a9ea4695a184bfdc3e81">PP_FALSE</a> = 0,
+<a class="el" href="group___enums.html#gga4f272d99be14aacafe08dfd4ef830918a177ce110df585fe2b468dba9a0eefda5">PP_TRUE</a> = 1
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga7610f0fba2396d46384859caa4d91798">PP_CompletionCallback_Flag</a> { <a class="el" href="group___enums.html#gga7610f0fba2396d46384859caa4d91798a6eedc0f315784a4cb47c5806b828c7cc">PP_COMPLETIONCALLBACK_FLAG_NONE</a> = 0 << 0,
+<a class="el" href="group___enums.html#gga7610f0fba2396d46384859caa4d91798aebb176d8930b14219b7966fd93a2e967">PP_COMPLETIONCALLBACK_FLAG_OPTIONAL</a> = 1 << 0
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom">{ <br />
+  <a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba5c394615cfa8eaceba77ecedb65dc9cb">PP_OK</a> = 0,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55baa5f7aa5667dc3eb61dd4f822d1163b29">PP_OK_COMPLETIONPENDING</a> = -1,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba06a8964482e41bf50c45c0d9dd281830">PP_ERROR_FAILED</a> = -2,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba8389cb348aeba81a94b058622f5914af">PP_ERROR_ABORTED</a> = -3,
+<br />
+  <a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba02f23038858b2b1a3c95f1593332503f">PP_ERROR_BADARGUMENT</a> = -4,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba55448d3b2c42d96c7b347a5833df7e76">PP_ERROR_BADRESOURCE</a> = -5,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba7bc23fde1d7408a2d5e0c02fda77a157">PP_ERROR_NOINTERFACE</a> = -6,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55baccd33fd6aa1c9a64b692a615b8099f10">PP_ERROR_NOACCESS</a> = -7,
+<br />
+  <a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba77543198f33b4da09f5431f61be0fdfe">PP_ERROR_NOMEMORY</a> = -8,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55baa52e024aa5d86ea5c2d0e9fe4d4223b1">PP_ERROR_NOSPACE</a> = -9,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba32f8a2ecfc27357c36e8cab62f5f8b60">PP_ERROR_NOQUOTA</a> = -10,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba2eb423e9cc9c19a6a7150b342a0b383a">PP_ERROR_INPROGRESS</a> = -11,
+<br />
+  <a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55babb8fa3e1cb15627f433a049d68e49d5b">PP_ERROR_NOTSUPPORTED</a> = -12,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba282ee581bafd4579a8982a5141793de4">PP_ERROR_BLOCKS_MAIN_THREAD</a> = -13,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba6c1c35f64dd233fc0a46151a82915960">PP_ERROR_FILENOTFOUND</a> = -20,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba325aca7c7d73483de41998329b342ef0">PP_ERROR_FILEEXISTS</a> = -21,
+<br />
+  <a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55bac0eab80ff249433a206cd93e34d1e965">PP_ERROR_FILETOOBIG</a> = -22,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55baa2e274f5a24c62f7ebf50ef2e2dd98a6">PP_ERROR_FILECHANGED</a> = -23,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55baf216de52da5770d56ba7e483974ec209">PP_ERROR_NOTAFILE</a> = -24,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba53382f01745b691ba6f91c65b6059953">PP_ERROR_TIMEDOUT</a> = -30,
+<br />
+  <a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba3f20bb850c408a7e05fbc9ce42a8e999">PP_ERROR_USERCANCEL</a> = -40,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba8c428198d142124ef0c99eb8e8572491">PP_ERROR_NO_USER_GESTURE</a> = -41,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba7469b76adbd5e8e931314160093a9e1a">PP_ERROR_CONTEXT_LOST</a> = -50,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55baf907cc8f39ca083a5cad188fb808fc0f">PP_ERROR_NO_MESSAGE_LOOP</a> = -51,
+<br />
+  <a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55bae18e92e98e2dd0d106b49387af13c997">PP_ERROR_WRONG_THREAD</a> = -52,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55babbc1f7cf46e1746ce232e4655191630e">PP_ERROR_CONNECTION_CLOSED</a> = -100,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55bac7e0cbefef9315c63c0d7858d0fc4c01">PP_ERROR_CONNECTION_RESET</a> = -101,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55bab3873811c2f684a437a2efa3133d3452">PP_ERROR_CONNECTION_REFUSED</a> = -102,
+<br />
+  <a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55baf86ee9c96af9f4c315ac6458b6638f27">PP_ERROR_CONNECTION_ABORTED</a> = -103,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55bacd6d028056cb3596b966682edb6effcf">PP_ERROR_CONNECTION_FAILED</a> = -104,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba49150f7eacf465fc552e751ac521b4ae">PP_ERROR_CONNECTION_TIMEDOUT</a> = -105,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55baa13c10929736aa23a8056ee33dcd23e5">PP_ERROR_ADDRESS_INVALID</a> = -106,
+<br />
+  <a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba4304630fb13c40107ed6da9e5b764003">PP_ERROR_ADDRESS_UNREACHABLE</a> = -107,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55bafb9e232a63a5787ec0445ee9cc7fc7c2">PP_ERROR_ADDRESS_IN_USE</a> = -108,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba679d405ff44d259db51dfc6f312b465f">PP_ERROR_MESSAGE_TOO_BIG</a> = -109,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba74c1a24f06288fc63221631ba6a2a7b6">PP_ERROR_NAME_NOT_RESOLVED</a> = -110
+<br />
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga36f6dfbe9c1e98540c5247f790746427">PP_FileType</a> { <a class="el" href="group___enums.html#gga36f6dfbe9c1e98540c5247f790746427acd0d93632365573bba7774b7fe0c62fd">PP_FILETYPE_REGULAR</a> = 0,
+<a class="el" href="group___enums.html#gga36f6dfbe9c1e98540c5247f790746427a81b606e1444df5fb838a692f891fbde9">PP_FILETYPE_DIRECTORY</a> = 1,
+<a class="el" href="group___enums.html#gga36f6dfbe9c1e98540c5247f790746427a9e3863ab973d8643dcc96708f55df880">PP_FILETYPE_OTHER</a> = 2
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga87b353f2ec8935c9c3294daff612c145">PP_FileSystemType</a> { <br />
+  <a class="el" href="group___enums.html#gga87b353f2ec8935c9c3294daff612c145a48e7bd0df8bd086812085be972e963a0">PP_FILESYSTEMTYPE_INVALID</a> = 0,
+<a class="el" href="group___enums.html#gga87b353f2ec8935c9c3294daff612c145aa21f18053ba5b3594a0b5373074742c2">PP_FILESYSTEMTYPE_EXTERNAL</a> = 1,
+<a class="el" href="group___enums.html#gga87b353f2ec8935c9c3294daff612c145a4c51625a4c977d3fab0c4dd28127603c">PP_FILESYSTEMTYPE_LOCALPERSISTENT</a> = 2,
+<a class="el" href="group___enums.html#gga87b353f2ec8935c9c3294daff612c145abefda8d47a5cd9b8918f012c34496ca9">PP_FILESYSTEMTYPE_LOCALTEMPORARY</a> = 3,
+<br />
+  <a class="el" href="group___enums.html#gga87b353f2ec8935c9c3294daff612c145aeceec88ea91ee70c499ff39119dd33b5">PP_FILESYSTEMTYPE_ISOLATED</a> = 4
+<br />
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga7df48e1c55f6401beea2a1b9c07967e8">PP_Graphics3DAttrib</a> { <br />
+  <a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8aac0fc60be37c86f193fb535bedb09458">PP_GRAPHICS3DATTRIB_ALPHA_SIZE</a> = 0x3021,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a519cd199423721033780ee13ecb0e60b">PP_GRAPHICS3DATTRIB_BLUE_SIZE</a> = 0x3022,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8ade95a6e685ca23522da80c1703d294a7">PP_GRAPHICS3DATTRIB_GREEN_SIZE</a> = 0x3023,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a7caad99c8c857fdb804c6755551398f5">PP_GRAPHICS3DATTRIB_RED_SIZE</a> = 0x3024,
+<br />
+  <a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8ab594f7ae52f23b7b0609797c06cf7cf8">PP_GRAPHICS3DATTRIB_DEPTH_SIZE</a> = 0x3025,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8acc0e34bee390933357c7386391faeac0">PP_GRAPHICS3DATTRIB_STENCIL_SIZE</a> = 0x3026,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a98c1bf99b329be847d53f4eb651b4a63">PP_GRAPHICS3DATTRIB_SAMPLES</a> = 0x3031,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a8bccea594213dbdd1750f97f3b187047">PP_GRAPHICS3DATTRIB_SAMPLE_BUFFERS</a> = 0x3032,
+<br />
+  <a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a66b15e43e8159f71751be033d44fda21">PP_GRAPHICS3DATTRIB_NONE</a> = 0x3038,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8ac37b92e8426753d7a24d0cf193a5923d">PP_GRAPHICS3DATTRIB_HEIGHT</a> = 0x3056,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a378f15587369cdefbcf565bc8f15db2c">PP_GRAPHICS3DATTRIB_WIDTH</a> = 0x3057,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a03d8a647ddb24105718bcb91b8f972fd">PP_GRAPHICS3DATTRIB_SWAP_BEHAVIOR</a> = 0x3093,
+<br />
+  <a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a46b174aaf7b91e26cc2a014268e65512">PP_GRAPHICS3DATTRIB_BUFFER_PRESERVED</a> = 0x3094,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a8aa6eff69c6b613b0a65803fa75d48fb">PP_GRAPHICS3DATTRIB_BUFFER_DESTROYED</a> = 0x3095,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a48ed49219981a01405e97eb414c89fec">PP_GRAPHICS3DATTRIB_GPU_PREFERENCE</a> = 0x11000,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a4295d8750ae536c3aed03d794429e336">PP_GRAPHICS3DATTRIB_GPU_PREFERENCE_LOW_POWER</a> = 0x11001,
+<br />
+  <a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a1a7563ae755ca52d429302a35930201a">PP_GRAPHICS3DATTRIB_GPU_PREFERENCE_PERFORMANCE</a> = 0x11002
+<br />
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga9815041477d810724e44da862f9852ed">PP_VarType</a> { <br />
+  <a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852eda499cc75cc2a3a16632b6f0e38172fce7">PP_VARTYPE_UNDEFINED</a> = 0,
+<a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852edabfa22cf2659270ee5d4c1ff4eabf6e67">PP_VARTYPE_NULL</a> = 1,
+<a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852edad1a70cd8b8b8b815687c3234f40513b5">PP_VARTYPE_BOOL</a> = 2,
+<a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852eda40a4a8c45ec7629e3093eb93b9ff1556">PP_VARTYPE_INT32</a> = 3,
+<br />
+  <a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852eda26caea042c1cb14ff640f7aec3f2af90">PP_VARTYPE_DOUBLE</a> = 4,
+<a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852eda079c1c085b9b0f1b076807a0eb5ba6bd">PP_VARTYPE_STRING</a> = 5,
+<a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852eda7060b95352ff46ed2f0144e08cc949cc">PP_VARTYPE_OBJECT</a> = 6,
+<a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852eda50df125d91ade69f5b2de4d08427508c">PP_VARTYPE_ARRAY</a> = 7,
+<br />
+  <a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852edae44188e85906d83c2f52f34aa5b38687">PP_VARTYPE_DICTIONARY</a> = 8,
+<a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852eda363024b8067811f2f2f42f969be44529">PP_VARTYPE_ARRAY_BUFFER</a> = 9,
+<a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852eda898e69540595e8b95681d850ddecc7f1">PP_VARTYPE_RESOURCE</a> = 10
+<br />
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___enums.html#ggadf764cbdea00d65edcd07bb9953ad2b7a9bf932735e301eeecf183a9defc378b3">PP_AUDIOMINSAMPLEFRAMECOUNT</a> = 64,
+<a class="el" href="group___enums.html#ggadf764cbdea00d65edcd07bb9953ad2b7a335c882fde010a0515ec5678a7003ce4">PP_AUDIOMAXSAMPLEFRAMECOUNT</a> = 32768
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gaee750c350655f2fb0fe04c04029e0ff8">PP_AudioSampleRate</a> { <a class="el" href="group___enums.html#ggaee750c350655f2fb0fe04c04029e0ff8a3028e109c6005f2e9ffd635f92ef3324">PP_AUDIOSAMPLERATE_NONE</a> = 0,
+<a class="el" href="group___enums.html#ggaee750c350655f2fb0fe04c04029e0ff8ac6d1056f50ebe082622d3250def41a54">PP_AUDIOSAMPLERATE_44100</a> = 44100,
+<a class="el" href="group___enums.html#ggaee750c350655f2fb0fe04c04029e0ff8a0a3ddad3c00d75e1c57a245e599727cd">PP_AUDIOSAMPLERATE_48000</a> = 48000
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gac39067c0883ec80b94290dd2a3bae440">PP_LogLevel</a> { <a class="el" href="group___enums.html#ggac39067c0883ec80b94290dd2a3bae440afe7444b89be7688e17bd6e4f0b1d3b34">PP_LOGLEVEL_TIP</a> = 0,
+<a class="el" href="group___enums.html#ggac39067c0883ec80b94290dd2a3bae440a8c6fdcc8aa698af314fe72ebd08db32a">PP_LOGLEVEL_LOG</a> = 1,
+<a class="el" href="group___enums.html#ggac39067c0883ec80b94290dd2a3bae440a66a3c4f684827eb994093dea14284aaf">PP_LOGLEVEL_WARNING</a> = 2,
+<a class="el" href="group___enums.html#ggac39067c0883ec80b94290dd2a3bae440a5854926dface39f205d138d9e47c37eb">PP_LOGLEVEL_ERROR</a> = 3
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga4c87e6dd19c1d49b66a9b37136a82e82">PP_FileOpenFlags</a> { <br />
+  <a class="el" href="group___enums.html#gga4c87e6dd19c1d49b66a9b37136a82e82a9d409b8a19e1a1c90b6c01f45cea8468">PP_FILEOPENFLAG_READ</a> = 1 << 0,
+<a class="el" href="group___enums.html#gga4c87e6dd19c1d49b66a9b37136a82e82ad43adf355739f7a82d0f1a884531afbd">PP_FILEOPENFLAG_WRITE</a> = 1 << 1,
+<a class="el" href="group___enums.html#gga4c87e6dd19c1d49b66a9b37136a82e82adc826ab2826a482ee2b15cc25d0d9ba2">PP_FILEOPENFLAG_CREATE</a> = 1 << 2,
+<a class="el" href="group___enums.html#gga4c87e6dd19c1d49b66a9b37136a82e82afc54dddff300e46f1ea644855abfd3e5">PP_FILEOPENFLAG_TRUNCATE</a> = 1 << 3,
+<br />
+  <a class="el" href="group___enums.html#gga4c87e6dd19c1d49b66a9b37136a82e82a3ffa615692f3b3a2da0f1e04903eefce">PP_FILEOPENFLAG_EXCLUSIVE</a> = 1 << 4,
+<a class="el" href="group___enums.html#gga4c87e6dd19c1d49b66a9b37136a82e82a78c13cbbccebfa9c2b8b2f758397795c">PP_FILEOPENFLAG_APPEND</a> = 1 << 5
+<br />
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gadb4b8db19266831040fc604f73c83a25">PP_HostResolver_Flag</a> { <a class="el" href="group___enums.html#ggadb4b8db19266831040fc604f73c83a25a1fc5655c5b292459d24dc035e930e75e">PP_HOSTRESOLVER_FLAG_CANONNAME</a> = 1 << 0
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga2ee7ad01799553e5f17bdaa35dd952ee">PP_ImageDataFormat</a> { <a class="el" href="group___enums.html#gga2ee7ad01799553e5f17bdaa35dd952eea8685611ba2e85347f5f6bb0043940358">PP_IMAGEDATAFORMAT_BGRA_PREMUL</a>,
+<a class="el" href="group___enums.html#gga2ee7ad01799553e5f17bdaa35dd952eeab291a13cd5f4728eab3c207938916622">PP_IMAGEDATAFORMAT_RGBA_PREMUL</a>
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gaca7296cfec99fcb6646b7144d1d6a0c5">PP_InputEvent_Type</a> { <br />
+  <a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a9b6d5489f328f0b902da4a1f5836b4cb">PP_INPUTEVENT_TYPE_UNDEFINED</a> = -1,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a4309eee5fb8284b6be7c258090b21e77">PP_INPUTEVENT_TYPE_MOUSEDOWN</a> = 0,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a9f0a8196670b1da0e9c3cf081329c3ca">PP_INPUTEVENT_TYPE_MOUSEUP</a> = 1,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a9d3a09d7fb33663f3a7d920fd2e3208d">PP_INPUTEVENT_TYPE_MOUSEMOVE</a> = 2,
+<br />
+  <a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5ad240947fd6d67f23b679be4806947e2a">PP_INPUTEVENT_TYPE_MOUSEENTER</a> = 3,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a0870576010613081518c9c6683abd2e8">PP_INPUTEVENT_TYPE_MOUSELEAVE</a> = 4,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a2eedbec689780077aa98188805a559f6">PP_INPUTEVENT_TYPE_WHEEL</a> = 5,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a05c7f50eb36e606a3e5a0065b337d96c">PP_INPUTEVENT_TYPE_RAWKEYDOWN</a> = 6,
+<br />
+  <a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a4064a5f6ce10c7e5a0834aff7cd7e474">PP_INPUTEVENT_TYPE_KEYDOWN</a> = 7,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5af57c2b682b29f7b03f27519f98febdea">PP_INPUTEVENT_TYPE_KEYUP</a> = 8,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a0d547efbed42c655264b96a51954e0dd">PP_INPUTEVENT_TYPE_CHAR</a> = 9,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a0cf7525c015c97ded19afab9d7d9afee">PP_INPUTEVENT_TYPE_CONTEXTMENU</a> = 10,
+<br />
+  <a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a90668acda261e23721f3dd757f557031">PP_INPUTEVENT_TYPE_IME_COMPOSITION_START</a> = 11,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a1eff5df3bb41546046f97993376607c2">PP_INPUTEVENT_TYPE_IME_COMPOSITION_UPDATE</a> = 12,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a5c009302410ac6f55da4df618b2d85d5">PP_INPUTEVENT_TYPE_IME_COMPOSITION_END</a> = 13,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a5826ba18e40265a7b74e4b3ae1fe3772">PP_INPUTEVENT_TYPE_IME_TEXT</a> = 14,
+<br />
+  <a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5ac604f0e894f8f9e660d36e30db16b52d">PP_INPUTEVENT_TYPE_TOUCHSTART</a> = 15,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a43888c9c671ac5973f5bcea7eabcc889">PP_INPUTEVENT_TYPE_TOUCHMOVE</a> = 16,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5ae1c312aafaf4caeddb1afc09e81c9655">PP_INPUTEVENT_TYPE_TOUCHEND</a> = 17,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a78266e75562e546005eb8098f455ce91">PP_INPUTEVENT_TYPE_TOUCHCANCEL</a> = 18
+<br />
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga21b811ac0484a214a8751aa3e1c959d9">PP_InputEvent_Modifier</a> { <br />
+  <a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9a7506fd613b0e3055b37700eddcc04c8e">PP_INPUTEVENT_MODIFIER_SHIFTKEY</a> = 1 << 0,
+<a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9aeb4a9ad52cbfbfab9dea7cf2429c52f7">PP_INPUTEVENT_MODIFIER_CONTROLKEY</a> = 1 << 1,
+<a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9ab30d756ab410e7155deef8c48568fc95">PP_INPUTEVENT_MODIFIER_ALTKEY</a> = 1 << 2,
+<a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9ab3b68a7fb23fa33be297b30a2d3f27d7">PP_INPUTEVENT_MODIFIER_METAKEY</a> = 1 << 3,
+<br />
+  <a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9a24f5d73cf82a01116f52b57410e64c9d">PP_INPUTEVENT_MODIFIER_ISKEYPAD</a> = 1 << 4,
+<a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9a0d6141a7a3498af2020093469358472f">PP_INPUTEVENT_MODIFIER_ISAUTOREPEAT</a> = 1 << 5,
+<a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9a31e52901313720fd0e431976228f2153">PP_INPUTEVENT_MODIFIER_LEFTBUTTONDOWN</a> = 1 << 6,
+<a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9aa2369bf6eb5309a43d608ef83d747a04">PP_INPUTEVENT_MODIFIER_MIDDLEBUTTONDOWN</a> = 1 << 7,
+<br />
+  <a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9aee3e5083c83130d4368b79878fd574fe">PP_INPUTEVENT_MODIFIER_RIGHTBUTTONDOWN</a> = 1 << 8,
+<a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9a99a27b5dab8360eb08189439b85b8781">PP_INPUTEVENT_MODIFIER_CAPSLOCKKEY</a> = 1 << 9,
+<a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9a493ca598187014e2356cd7a5ba8cdffd">PP_INPUTEVENT_MODIFIER_NUMLOCKKEY</a> = 1 << 10,
+<a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9a8295bfc8067c06a17ccfc5fb6a992e17">PP_INPUTEVENT_MODIFIER_ISLEFT</a> = 1 << 11,
+<br />
+  <a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9a348f43efaf61edbefd83346428c5b122">PP_INPUTEVENT_MODIFIER_ISRIGHT</a> = 1 << 12
+<br />
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga25113f3c8d33e863fd38b3f70f8a5e6e">PP_InputEvent_MouseButton</a> { <a class="el" href="group___enums.html#gga25113f3c8d33e863fd38b3f70f8a5e6eaa2d4e499d6c23ef45381a89612e654d9">PP_INPUTEVENT_MOUSEBUTTON_NONE</a> = -1,
+<a class="el" href="group___enums.html#gga25113f3c8d33e863fd38b3f70f8a5e6eaa44f4ea3c7759e4fce6150f349909f63">PP_INPUTEVENT_MOUSEBUTTON_LEFT</a> = 0,
+<a class="el" href="group___enums.html#gga25113f3c8d33e863fd38b3f70f8a5e6ea3f8a2698990ec1e36943651ca600e3be">PP_INPUTEVENT_MOUSEBUTTON_MIDDLE</a> = 1,
+<a class="el" href="group___enums.html#gga25113f3c8d33e863fd38b3f70f8a5e6ea681614da50d511b516d0a88fbaa6eb5b">PP_INPUTEVENT_MOUSEBUTTON_RIGHT</a> = 2
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gafe68e3c1031daa4a6496845ff47649cd">PP_InputEvent_Class</a> { <br />
+  <a class="el" href="group___enums.html#ggafe68e3c1031daa4a6496845ff47649cda79ccc5180eb39c52ab3207f0c876dd52">PP_INPUTEVENT_CLASS_MOUSE</a> = 1 << 0,
+<a class="el" href="group___enums.html#ggafe68e3c1031daa4a6496845ff47649cda2c3341eacc3a459713ce334b9af0cda8">PP_INPUTEVENT_CLASS_KEYBOARD</a> = 1 << 1,
+<a class="el" href="group___enums.html#ggafe68e3c1031daa4a6496845ff47649cda59d6686dbce1f0dc092cb88a451bb3a6">PP_INPUTEVENT_CLASS_WHEEL</a> = 1 << 2,
+<a class="el" href="group___enums.html#ggafe68e3c1031daa4a6496845ff47649cda19b05264fa31d7e975eba297f9f146af">PP_INPUTEVENT_CLASS_TOUCH</a> = 1 << 3,
+<br />
+  <a class="el" href="group___enums.html#ggafe68e3c1031daa4a6496845ff47649cda1280fe9a85edf74e20e4d503a345ab7d">PP_INPUTEVENT_CLASS_IME</a> = 1 << 4
+<br />
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gad5885a239d04166c8777432c81e39d0a">PP_TouchListType</a> { <a class="el" href="group___enums.html#ggad5885a239d04166c8777432c81e39d0aa739dfd65f4cd719996f20bdd2e7db4ca">PP_TOUCHLIST_TYPE_TOUCHES</a> = 0,
+<a class="el" href="group___enums.html#ggad5885a239d04166c8777432c81e39d0aa89d31d55d67fa0746d1f3bf4050eafff">PP_TOUCHLIST_TYPE_CHANGEDTOUCHES</a> = 1,
+<a class="el" href="group___enums.html#ggad5885a239d04166c8777432c81e39d0aa0682e6c428fed9b900e3d9e56aaa8fca">PP_TOUCHLIST_TYPE_TARGETTOUCHES</a> = 2
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gac53273018386c1db9542d2a06bbe118b">PP_MouseCursor_Type</a> { <br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba1360614abe2d2c3838a42238f75e9ec1">PP_MOUSECURSOR_TYPE_CUSTOM</a> = -1,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba7c0a8b04f51fbf8e12abd4240fb24a9f">PP_MOUSECURSOR_TYPE_POINTER</a> = 0,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba7ee7ede873ec3158179a1ea648bfe677">PP_MOUSECURSOR_TYPE_CROSS</a> = 1,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba5cf81326a94c1150ce98cc15924dee69">PP_MOUSECURSOR_TYPE_HAND</a> = 2,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba705545fdbd4088bf4522b32aa5815877">PP_MOUSECURSOR_TYPE_IBEAM</a> = 3,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118babf8c49b2fc9ee7208b20e7e1f96e2930">PP_MOUSECURSOR_TYPE_WAIT</a> = 4,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bacea1ebe2038e33bb649bcf8ed32f0e7e">PP_MOUSECURSOR_TYPE_HELP</a> = 5,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba3efb608fc10dd3979d4bc0c41654f14b">PP_MOUSECURSOR_TYPE_EASTRESIZE</a> = 6,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba02b638a93841e0f51d234b6643cffcd0">PP_MOUSECURSOR_TYPE_NORTHRESIZE</a> = 7,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118baceb2b9888eed1ef5fe8c5dbc94195b3a">PP_MOUSECURSOR_TYPE_NORTHEASTRESIZE</a> = 8,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bab95b486b6772a79a599c4287f966cd19">PP_MOUSECURSOR_TYPE_NORTHWESTRESIZE</a> = 9,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bac39262939712092e11cc4569b6cab626">PP_MOUSECURSOR_TYPE_SOUTHRESIZE</a> = 10,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba0d7f8011aba0f13ceda6688585b725af">PP_MOUSECURSOR_TYPE_SOUTHEASTRESIZE</a> = 11,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba54f482730eba910a940e1c975f14e2a2">PP_MOUSECURSOR_TYPE_SOUTHWESTRESIZE</a> = 12,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba0c8edb786c8193ef657716a358e327b6">PP_MOUSECURSOR_TYPE_WESTRESIZE</a> = 13,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118babf7026dfaea82565f2527ddbb0383053">PP_MOUSECURSOR_TYPE_NORTHSOUTHRESIZE</a> = 14,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba98177b2980fa939ed33d41c531f06310">PP_MOUSECURSOR_TYPE_EASTWESTRESIZE</a> = 15,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118baf01a2e620b481daeb42b6344843e9e38">PP_MOUSECURSOR_TYPE_NORTHEASTSOUTHWESTRESIZE</a> = 16,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba05d35a31c8af640a6cf2295790e933ee">PP_MOUSECURSOR_TYPE_NORTHWESTSOUTHEASTRESIZE</a> = 17,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bab163a58c75a983ac943d39827c0976cd">PP_MOUSECURSOR_TYPE_COLUMNRESIZE</a> = 18,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bac4d90e13c8d17e32ee9498b795d2f4ca">PP_MOUSECURSOR_TYPE_ROWRESIZE</a> = 19,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba6dbf3de573762e2322d6e8a2392b19fb">PP_MOUSECURSOR_TYPE_MIDDLEPANNING</a> = 20,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba9fec33093306cea2ea6bb6810e8f9040">PP_MOUSECURSOR_TYPE_EASTPANNING</a> = 21,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba0805b4d3a42bb560a656247a57ed6fe0">PP_MOUSECURSOR_TYPE_NORTHPANNING</a> = 22,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118babeaeb782ba084c45e0d12f2bf428a9c3">PP_MOUSECURSOR_TYPE_NORTHEASTPANNING</a> = 23,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba2590e0dc133a8b4534c475abd60c2e1d">PP_MOUSECURSOR_TYPE_NORTHWESTPANNING</a> = 24,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bac9ab4fdcaccb7dcf3a9e0c5edf056e92">PP_MOUSECURSOR_TYPE_SOUTHPANNING</a> = 25,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bacf7c5132070bb6fd8e86ffcafb1dd8b6">PP_MOUSECURSOR_TYPE_SOUTHEASTPANNING</a> = 26,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118baebe615cd19bad5b076b2dd9d86dcd825">PP_MOUSECURSOR_TYPE_SOUTHWESTPANNING</a> = 27,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba8c357f06fc1fc96c091b378d10cc4f02">PP_MOUSECURSOR_TYPE_WESTPANNING</a> = 28,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bab6757be35df5a1e246b3ce8b80c92fbd">PP_MOUSECURSOR_TYPE_MOVE</a> = 29,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba52c5c4259a391557c045b0b82cc0a1fa">PP_MOUSECURSOR_TYPE_VERTICALTEXT</a> = 30,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba62afaa44930d75f750fdf28199511194">PP_MOUSECURSOR_TYPE_CELL</a> = 31,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bad73cecab74f94844438e494ff1439b9f">PP_MOUSECURSOR_TYPE_CONTEXTMENU</a> = 32,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118baca9b4bef41f4c4bd90e81573357b137c">PP_MOUSECURSOR_TYPE_ALIAS</a> = 33,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118babda91fe9ce56b304d95a1ce01fbe8084">PP_MOUSECURSOR_TYPE_PROGRESS</a> = 34,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba1c6cb6e16ac90b8829175e8af9a4a72d">PP_MOUSECURSOR_TYPE_NODROP</a> = 35,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bacee11626427a6fa36653243c4d551608">PP_MOUSECURSOR_TYPE_COPY</a> = 36,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba7a9b1b3187b0bd011b5e19380d4fd698">PP_MOUSECURSOR_TYPE_NONE</a> = 37,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba7d10d5fcc4d9e6aaed4af83246de15a0">PP_MOUSECURSOR_TYPE_NOTALLOWED</a> = 38,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba203b038de96b903e253e29aea5a66460">PP_MOUSECURSOR_TYPE_ZOOMIN</a> = 39,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba797321d4cad9a863a5338318912f3a98">PP_MOUSECURSOR_TYPE_ZOOMOUT</a> = 40,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bafc45b71a6185639e12ac2827a641bdaa">PP_MOUSECURSOR_TYPE_GRAB</a> = 41,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118baa242aeb17b35d8e44e449786a2cbcd1c">PP_MOUSECURSOR_TYPE_GRABBING</a> = 42
+<br />
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga43636bcadf9aa312a4c345d210ae6c55">PP_NetAddress_Family</a> { <a class="el" href="group___enums.html#gga43636bcadf9aa312a4c345d210ae6c55a2aef50ef77ad0122b649f0b9ac4c41bc">PP_NETADDRESS_FAMILY_UNSPECIFIED</a> = 0,
+<a class="el" href="group___enums.html#gga43636bcadf9aa312a4c345d210ae6c55a054684e064e8d819f8b2d80640196585">PP_NETADDRESS_FAMILY_IPV4</a> = 1,
+<a class="el" href="group___enums.html#gga43636bcadf9aa312a4c345d210ae6c55aa70bb3acced932eb4fe7df3aae85c27a">PP_NETADDRESS_FAMILY_IPV6</a> = 2
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga1c967cb753eb468493b3bf72e6733983">PP_NetworkList_Type</a> { <a class="el" href="group___enums.html#gga1c967cb753eb468493b3bf72e6733983a6d8ddd32de577965df0d44df0e0acfdd">PP_NETWORKLIST_TYPE_UNKNOWN</a> = 0,
+<a class="el" href="group___enums.html#gga1c967cb753eb468493b3bf72e6733983a6eaef40fe1d62ca5bcfcc1974adc29f9">PP_NETWORKLIST_TYPE_ETHERNET</a> = 1,
+<a class="el" href="group___enums.html#gga1c967cb753eb468493b3bf72e6733983a9a47925bee0d3bd71739475b4c5654ed">PP_NETWORKLIST_TYPE_WIFI</a> = 2,
+<a class="el" href="group___enums.html#gga1c967cb753eb468493b3bf72e6733983ab1c83c6942b208101789971522b3a8c9">PP_NETWORKLIST_TYPE_CELLULAR</a> = 3
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga9188881b5d3346626db0ea8e6aaecf1f">PP_NetworkList_State</a> { <a class="el" href="group___enums.html#gga9188881b5d3346626db0ea8e6aaecf1fa561469f97b38b69868d1cce1142722b6">PP_NETWORKLIST_STATE_DOWN</a> = 0,
+<a class="el" href="group___enums.html#gga9188881b5d3346626db0ea8e6aaecf1fa3b4b789d490cd2d3119a188a79eca0f6">PP_NETWORKLIST_STATE_UP</a> = 1
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga1557c0bbce8739a3418e6027a9c44e12">PP_TCPSocket_Option</a> { <a class="el" href="group___enums.html#gga1557c0bbce8739a3418e6027a9c44e12a4b17558654d1df4452aa98f7d2609a10">PP_TCPSOCKET_OPTION_NO_DELAY</a> = 0,
+<a class="el" href="group___enums.html#gga1557c0bbce8739a3418e6027a9c44e12a61ce27ba7853d05f7af51be1bed5d1a6">PP_TCPSOCKET_OPTION_SEND_BUFFER_SIZE</a> = 1,
+<a class="el" href="group___enums.html#gga1557c0bbce8739a3418e6027a9c44e12aef57736e294acb30fb7b3b2f4a425f72">PP_TCPSOCKET_OPTION_RECV_BUFFER_SIZE</a> = 2
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga5fef49ee4c2cc6dcead825340da0f116">PP_TextInput_Type</a> { <br />
+  <a class="el" href="group___enums.html#gga5fef49ee4c2cc6dcead825340da0f116a0d75c884156553959d65252e65aa0916">PP_TEXTINPUT_TYPE_NONE</a> = 0,
+<a class="el" href="group___enums.html#gga5fef49ee4c2cc6dcead825340da0f116a0e5e4072fce915eca7e4dfd7c639626c">PP_TEXTINPUT_TYPE_TEXT</a> = 1,
+<a class="el" href="group___enums.html#gga5fef49ee4c2cc6dcead825340da0f116a00f508676278dd45e0335a8d5d715114">PP_TEXTINPUT_TYPE_PASSWORD</a> = 2,
+<a class="el" href="group___enums.html#gga5fef49ee4c2cc6dcead825340da0f116a0d7975532097315f198617ad5e59bc32">PP_TEXTINPUT_TYPE_SEARCH</a> = 3,
+<br />
+  <a class="el" href="group___enums.html#gga5fef49ee4c2cc6dcead825340da0f116a027963b61eb55438f92662e72e939cf8">PP_TEXTINPUT_TYPE_EMAIL</a> = 4,
+<a class="el" href="group___enums.html#gga5fef49ee4c2cc6dcead825340da0f116af71a3fb3f651ad5b417592433278fd1e">PP_TEXTINPUT_TYPE_NUMBER</a> = 5,
+<a class="el" href="group___enums.html#gga5fef49ee4c2cc6dcead825340da0f116a181e9bd71e6a97acd6c5dace9f0b5fb3">PP_TEXTINPUT_TYPE_TELEPHONE</a> = 6,
+<a class="el" href="group___enums.html#gga5fef49ee4c2cc6dcead825340da0f116ad4371ecdd1a6631a78d4721d83062394">PP_TEXTINPUT_TYPE_URL</a> = 7
+<br />
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga1a8472fa3e7150615c45c38fa8c12ce2">PP_UDPSocket_Option</a> { <a class="el" href="group___enums.html#gga1a8472fa3e7150615c45c38fa8c12ce2a79568403b8927bf98bea0f2d38469984">PP_UDPSOCKET_OPTION_ADDRESS_REUSE</a> = 0,
+<a class="el" href="group___enums.html#gga1a8472fa3e7150615c45c38fa8c12ce2aeceda8fe978a52382b96939de7707c00">PP_UDPSOCKET_OPTION_BROADCAST</a> = 1,
+<a class="el" href="group___enums.html#gga1a8472fa3e7150615c45c38fa8c12ce2a905f0adde2912a5db26883d45fb75d57">PP_UDPSOCKET_OPTION_SEND_BUFFER_SIZE</a> = 2,
+<a class="el" href="group___enums.html#gga1a8472fa3e7150615c45c38fa8c12ce2a1264eb1d6d16eb3a074ee3d21ebb3b64">PP_UDPSOCKET_OPTION_RECV_BUFFER_SIZE</a> = 3
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga41975630f0a4c49e47d4a21754f8402d">PP_URLRequestProperty</a> { <br />
+  <a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da89e44812e771fed9df0ff8994690e44d">PP_URLREQUESTPROPERTY_URL</a> = 0,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da9cb5229069aac201622dbaa9cbca592c">PP_URLREQUESTPROPERTY_METHOD</a> = 1,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402dac4b3809e34561a77c75b31eac1589e8d">PP_URLREQUESTPROPERTY_HEADERS</a> = 2,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402dac43d267f888233c994bd1ca2b5b6b249">PP_URLREQUESTPROPERTY_STREAMTOFILE</a> = 3,
+<br />
+  <a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da5f1270ecf041c6c0a6ef351eb0c12127">PP_URLREQUESTPROPERTY_FOLLOWREDIRECTS</a> = 4,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da6846ea1e9c4ef7e09ea0f330a90cb7a6">PP_URLREQUESTPROPERTY_RECORDDOWNLOADPROGRESS</a> = 5,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da9202c5a8c6afdc6fa9808ab21b95376c">PP_URLREQUESTPROPERTY_RECORDUPLOADPROGRESS</a> = 6,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da6130d3b9dc8ae434752612ef155e3a38">PP_URLREQUESTPROPERTY_CUSTOMREFERRERURL</a> = 7,
+<br />
+  <a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da23f6523485b5bedf17882fb7a8796c03">PP_URLREQUESTPROPERTY_ALLOWCROSSORIGINREQUESTS</a> = 8,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da7da4140fde998f227f82d8064e9f5460">PP_URLREQUESTPROPERTY_ALLOWCREDENTIALS</a> = 9,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da094e978814d887d1888a2652aa91fc8b">PP_URLREQUESTPROPERTY_CUSTOMCONTENTTRANSFERENCODING</a> = 10,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da69ab9c81542c755313fc906d27396a9e">PP_URLREQUESTPROPERTY_PREFETCHBUFFERUPPERTHRESHOLD</a> = 11,
+<br />
+  <a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da8529403a539c1f604f8b0507078d804d">PP_URLREQUESTPROPERTY_PREFETCHBUFFERLOWERTHRESHOLD</a> = 12,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402dacf34504e827fdce2895f2b504cdd0653">PP_URLREQUESTPROPERTY_CUSTOMUSERAGENT</a> = 13
+<br />
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga642e6199b27df69aad84aff5597041e0">PP_URLResponseProperty</a> { <br />
+  <a class="el" href="group___enums.html#gga642e6199b27df69aad84aff5597041e0a805e0970808bd8d36cb02171dca7a734">PP_URLRESPONSEPROPERTY_URL</a> = 0,
+<a class="el" href="group___enums.html#gga642e6199b27df69aad84aff5597041e0aaaba524cc005207e2f226400e6a14d8e">PP_URLRESPONSEPROPERTY_REDIRECTURL</a> = 1,
+<a class="el" href="group___enums.html#gga642e6199b27df69aad84aff5597041e0abc45cd41ad54d2350626651b34db6927">PP_URLRESPONSEPROPERTY_REDIRECTMETHOD</a> = 2,
+<a class="el" href="group___enums.html#gga642e6199b27df69aad84aff5597041e0abc04191395637d0a4858657f2edd1ce3">PP_URLRESPONSEPROPERTY_STATUSCODE</a> = 3,
+<br />
+  <a class="el" href="group___enums.html#gga642e6199b27df69aad84aff5597041e0a0224e3907e7efc9ff8d916b0cb7b3287">PP_URLRESPONSEPROPERTY_STATUSLINE</a> = 4,
+<a class="el" href="group___enums.html#gga642e6199b27df69aad84aff5597041e0a45c014f3cb40e884677387855c3d977b">PP_URLRESPONSEPROPERTY_HEADERS</a> = 5
+<br />
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gade61cdf6a7470769b571925694d91a89">PP_WebSocketReadyState</a> { <br />
+  <a class="el" href="group___enums.html#ggade61cdf6a7470769b571925694d91a89a6c603b9df214e22d8b8202431866b26b">PP_WEBSOCKETREADYSTATE_INVALID</a> = -1,
+<a class="el" href="group___enums.html#ggade61cdf6a7470769b571925694d91a89a9ad491ea639e22b598d4e8cab463acd9">PP_WEBSOCKETREADYSTATE_CONNECTING</a> = 0,
+<a class="el" href="group___enums.html#ggade61cdf6a7470769b571925694d91a89a60f99e31f237d57df167d70e7c1ada7d">PP_WEBSOCKETREADYSTATE_OPEN</a> = 1,
+<a class="el" href="group___enums.html#ggade61cdf6a7470769b571925694d91a89a45ce2585ba8b200c6c02112098df6447">PP_WEBSOCKETREADYSTATE_CLOSING</a> = 2,
+<br />
+  <a class="el" href="group___enums.html#ggade61cdf6a7470769b571925694d91a89a43865a04fac402be4f589d2c7f9f02f4">PP_WEBSOCKETREADYSTATE_CLOSED</a> = 3
+<br />
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga8458f33f09ecc56fcf486c60b844678d">PP_WebSocketCloseCode</a> { <br />
+  <a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678dace8b6cbd5ab6bdecc5762b8753702d47">PP_WEBSOCKETSTATUSCODE_NOT_SPECIFIED</a> = 1005,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678daff82b3d825f09240d64479d5ae0a2e00">PP_WEBSOCKETSTATUSCODE_NORMAL_CLOSURE</a> = 1000,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da9d8d5c41a6592a609324249950468fb4">PP_WEBSOCKETSTATUSCODE_GOING_AWAY</a> = 1001,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678daf20b614979599d2a2ed79543618d6ef4">PP_WEBSOCKETSTATUSCODE_PROTOCOL_ERROR</a> = 1002,
+<br />
+  <a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da4c63e46fd3e2a3b03fdcc577431f85ba">PP_WEBSOCKETSTATUSCODE_UNSUPPORTED_DATA</a> = 1003,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da75580d49b265525d2f8591be2aa02fe6">PP_WEBSOCKETSTATUSCODE_NO_STATUS_RECEIVED</a> = 1005,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678dad80b864c592819db0cb640d2b6e74a3f">PP_WEBSOCKETSTATUSCODE_ABNORMAL_CLOSURE</a> = 1006,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678daea768048eaff4826bf06550d8da0dd42">PP_WEBSOCKETSTATUSCODE_INVALID_FRAME_PAYLOAD_DATA</a> = 1007,
+<br />
+  <a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da4d4405b66c4b436c9bb31dfa4fa71523">PP_WEBSOCKETSTATUSCODE_POLICY_VIOLATION</a> = 1008,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da7c8d17601c982c62a933a3f721c049ef">PP_WEBSOCKETSTATUSCODE_MESSAGE_TOO_BIG</a> = 1009,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da5fae5457554a0cad877ccfa1d5636b8d">PP_WEBSOCKETSTATUSCODE_MANDATORY_EXTENSION</a> = 1010,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da7318b30a65ea442445e754453a73be81">PP_WEBSOCKETSTATUSCODE_INTERNAL_SERVER_ERROR</a> = 1011,
+<br />
+  <a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da8aef76170a2836b651922555aa26348d">PP_WEBSOCKETSTATUSCODE_TLS_HANDSHAKE</a> = 1015,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da3a87714e399ce00177f60f85c9a993ba">PP_WEBSOCKETSTATUSCODE_USER_REGISTERED_MIN</a> = 3000,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da08c67e1fcd33b07c350be618d7d72403">PP_WEBSOCKETSTATUSCODE_USER_REGISTERED_MAX</a> = 3999,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da491bd1d7c9ada2c129062beb9eaeded1">PP_WEBSOCKETSTATUSCODE_USER_PRIVATE_MIN</a> = 4000,
+<br />
+  <a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da242327b17ab568d625627236de721e5b">PP_WEBSOCKETSTATUSCODE_USER_PRIVATE_MAX</a> = 4999
+<br />
+ }</td></tr>
+</table><h2>
+Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga9b1b55c2ccaa49d084206619c9034dde">PP_COMPILE_ASSERT_ENUM_SIZE_IN_BYTES</a> (<a class="el" href="group___enums.html#gac53273018386c1db9542d2a06bbe118b">PP_MouseCursor_Type</a>, 4)</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga7610f0fba2396d46384859caa4d91798">PP_CompletionCallback_Flag</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga36f6dfbe9c1e98540c5247f790746427">PP_FileType</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga87b353f2ec8935c9c3294daff612c145">PP_FileSystemType</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga7df48e1c55f6401beea2a1b9c07967e8">PP_Graphics3DAttrib</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga9815041477d810724e44da862f9852ed">PP_VarType</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gaee750c350655f2fb0fe04c04029e0ff8">PP_AudioSampleRate</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gac39067c0883ec80b94290dd2a3bae440">PP_LogLevel</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga4c87e6dd19c1d49b66a9b37136a82e82">PP_FileOpenFlags</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gadb4b8db19266831040fc604f73c83a25">PP_HostResolver_Flag</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga2ee7ad01799553e5f17bdaa35dd952ee">PP_ImageDataFormat</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gaca7296cfec99fcb6646b7144d1d6a0c5">PP_InputEvent_Type</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga21b811ac0484a214a8751aa3e1c959d9">PP_InputEvent_Modifier</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga25113f3c8d33e863fd38b3f70f8a5e6e">PP_InputEvent_MouseButton</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gafe68e3c1031daa4a6496845ff47649cd">PP_InputEvent_Class</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gad5885a239d04166c8777432c81e39d0a">PP_TouchListType</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga43636bcadf9aa312a4c345d210ae6c55">PP_NetAddress_Family</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga1c967cb753eb468493b3bf72e6733983">PP_NetworkList_Type</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga9188881b5d3346626db0ea8e6aaecf1f">PP_NetworkList_State</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga1557c0bbce8739a3418e6027a9c44e12">PP_TCPSocket_Option</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga5fef49ee4c2cc6dcead825340da0f116">PP_TextInput_Type</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga1a8472fa3e7150615c45c38fa8c12ce2">PP_UDPSocket_Option</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga41975630f0a4c49e47d4a21754f8402d">PP_URLRequestProperty</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga642e6199b27df69aad84aff5597041e0">PP_URLResponseProperty</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gade61cdf6a7470769b571925694d91a89">PP_WebSocketReadyState</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga8458f33f09ecc56fcf486c60b844678d">PP_WebSocketCloseCode</a></td></tr>
+</table>
+<hr /><h2>Enumeration Type Documentation</h2>
+<a class="anchor" id="ga06fc87d81c62e9abb8790b6e5713c55b"></a><!-- doxytag: member="pp_errors.h::@0" ref="ga06fc87d81c62e9abb8790b6e5713c55b" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">anonymous enum</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This enumeration contains enumerators of all PPAPI error codes. </p>
+<p>Errors are negative valued. Callers should treat all negative values as a failure, even if it's not in the list, since the possible errors are likely to expand and change over time. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba5c394615cfa8eaceba77ecedb65dc9cb"></a><!-- doxytag: member="PP_OK" ref="gga06fc87d81c62e9abb8790b6e5713c55ba5c394615cfa8eaceba77ecedb65dc9cb" args="" -->PP_OK</em> </td><td>
+<p>This value is returned by a function on successful synchronous completion or is passed as a result to a PP_CompletionCallback_Func on successful asynchronous completion. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55baa5f7aa5667dc3eb61dd4f822d1163b29"></a><!-- doxytag: member="PP_OK_COMPLETIONPENDING" ref="gga06fc87d81c62e9abb8790b6e5713c55baa5f7aa5667dc3eb61dd4f822d1163b29" args="" -->PP_OK_COMPLETIONPENDING</em> </td><td>
+<p>This value is returned by a function that accepts a <a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a> and cannot complete synchronously. </p>
+<p>This code indicates that the given callback will be asynchronously notified of the final result once it is available. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba06a8964482e41bf50c45c0d9dd281830"></a><!-- doxytag: member="PP_ERROR_FAILED" ref="gga06fc87d81c62e9abb8790b6e5713c55ba06a8964482e41bf50c45c0d9dd281830" args="" -->PP_ERROR_FAILED</em> </td><td>
+<p>This value indicates failure for unspecified reasons. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba8389cb348aeba81a94b058622f5914af"></a><!-- doxytag: member="PP_ERROR_ABORTED" ref="gga06fc87d81c62e9abb8790b6e5713c55ba8389cb348aeba81a94b058622f5914af" args="" -->PP_ERROR_ABORTED</em> </td><td>
+<p>This value indicates failure due to an asynchronous operation being interrupted. </p>
+<p>The most common cause of this error code is destroying a resource that still has a callback pending. All callbacks are guaranteed to execute, so any callbacks pending on a destroyed resource will be issued with PP_ERROR_ABORTED.</p>
+<p>If you get an aborted notification that you aren't expecting, check to make sure that the resource you're using is still in scope. A common mistake is to create a resource on the stack, which will destroy the resource as soon as the function returns. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba02f23038858b2b1a3c95f1593332503f"></a><!-- doxytag: member="PP_ERROR_BADARGUMENT" ref="gga06fc87d81c62e9abb8790b6e5713c55ba02f23038858b2b1a3c95f1593332503f" args="" -->PP_ERROR_BADARGUMENT</em> </td><td>
+<p>This value indicates failure due to an invalid argument. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba55448d3b2c42d96c7b347a5833df7e76"></a><!-- doxytag: member="PP_ERROR_BADRESOURCE" ref="gga06fc87d81c62e9abb8790b6e5713c55ba55448d3b2c42d96c7b347a5833df7e76" args="" -->PP_ERROR_BADRESOURCE</em> </td><td>
+<p>This value indicates failure due to an invalid PP_Resource. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba7bc23fde1d7408a2d5e0c02fda77a157"></a><!-- doxytag: member="PP_ERROR_NOINTERFACE" ref="gga06fc87d81c62e9abb8790b6e5713c55ba7bc23fde1d7408a2d5e0c02fda77a157" args="" -->PP_ERROR_NOINTERFACE</em> </td><td>
+<p>This value indicates failure due to an unavailable PPAPI interface. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55baccd33fd6aa1c9a64b692a615b8099f10"></a><!-- doxytag: member="PP_ERROR_NOACCESS" ref="gga06fc87d81c62e9abb8790b6e5713c55baccd33fd6aa1c9a64b692a615b8099f10" args="" -->PP_ERROR_NOACCESS</em> </td><td>
+<p>This value indicates failure due to insufficient privileges. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba77543198f33b4da09f5431f61be0fdfe"></a><!-- doxytag: member="PP_ERROR_NOMEMORY" ref="gga06fc87d81c62e9abb8790b6e5713c55ba77543198f33b4da09f5431f61be0fdfe" args="" -->PP_ERROR_NOMEMORY</em> </td><td>
+<p>This value indicates failure due to insufficient memory. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55baa52e024aa5d86ea5c2d0e9fe4d4223b1"></a><!-- doxytag: member="PP_ERROR_NOSPACE" ref="gga06fc87d81c62e9abb8790b6e5713c55baa52e024aa5d86ea5c2d0e9fe4d4223b1" args="" -->PP_ERROR_NOSPACE</em> </td><td>
+<p>This value indicates failure due to insufficient storage space. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba32f8a2ecfc27357c36e8cab62f5f8b60"></a><!-- doxytag: member="PP_ERROR_NOQUOTA" ref="gga06fc87d81c62e9abb8790b6e5713c55ba32f8a2ecfc27357c36e8cab62f5f8b60" args="" -->PP_ERROR_NOQUOTA</em> </td><td>
+<p>This value indicates failure due to insufficient storage quota. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba2eb423e9cc9c19a6a7150b342a0b383a"></a><!-- doxytag: member="PP_ERROR_INPROGRESS" ref="gga06fc87d81c62e9abb8790b6e5713c55ba2eb423e9cc9c19a6a7150b342a0b383a" args="" -->PP_ERROR_INPROGRESS</em> </td><td>
+<p>This value indicates failure due to an action already being in progress. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55babb8fa3e1cb15627f433a049d68e49d5b"></a><!-- doxytag: member="PP_ERROR_NOTSUPPORTED" ref="gga06fc87d81c62e9abb8790b6e5713c55babb8fa3e1cb15627f433a049d68e49d5b" args="" -->PP_ERROR_NOTSUPPORTED</em> </td><td>
+<p>The requested command is not supported by the browser. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba282ee581bafd4579a8982a5141793de4"></a><!-- doxytag: member="PP_ERROR_BLOCKS_MAIN_THREAD" ref="gga06fc87d81c62e9abb8790b6e5713c55ba282ee581bafd4579a8982a5141793de4" args="" -->PP_ERROR_BLOCKS_MAIN_THREAD</em> </td><td>
+<p>Returned if you try to use a null completion callback to "block until
+ complete" on the main thread. </p>
+<p>Blocking the main thread is not permitted to keep the browser responsive (otherwise, you may not be able to handle input events, and there are reentrancy and deadlock issues). </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba6c1c35f64dd233fc0a46151a82915960"></a><!-- doxytag: member="PP_ERROR_FILENOTFOUND" ref="gga06fc87d81c62e9abb8790b6e5713c55ba6c1c35f64dd233fc0a46151a82915960" args="" -->PP_ERROR_FILENOTFOUND</em> </td><td>
+<p>This value indicates failure due to a file that does not exist. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba325aca7c7d73483de41998329b342ef0"></a><!-- doxytag: member="PP_ERROR_FILEEXISTS" ref="gga06fc87d81c62e9abb8790b6e5713c55ba325aca7c7d73483de41998329b342ef0" args="" -->PP_ERROR_FILEEXISTS</em> </td><td>
+<p>This value indicates failure due to a file that already exists. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55bac0eab80ff249433a206cd93e34d1e965"></a><!-- doxytag: member="PP_ERROR_FILETOOBIG" ref="gga06fc87d81c62e9abb8790b6e5713c55bac0eab80ff249433a206cd93e34d1e965" args="" -->PP_ERROR_FILETOOBIG</em> </td><td>
+<p>This value indicates failure due to a file that is too big. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55baa2e274f5a24c62f7ebf50ef2e2dd98a6"></a><!-- doxytag: member="PP_ERROR_FILECHANGED" ref="gga06fc87d81c62e9abb8790b6e5713c55baa2e274f5a24c62f7ebf50ef2e2dd98a6" args="" -->PP_ERROR_FILECHANGED</em> </td><td>
+<p>This value indicates failure due to a file having been modified unexpectedly. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55baf216de52da5770d56ba7e483974ec209"></a><!-- doxytag: member="PP_ERROR_NOTAFILE" ref="gga06fc87d81c62e9abb8790b6e5713c55baf216de52da5770d56ba7e483974ec209" args="" -->PP_ERROR_NOTAFILE</em> </td><td>
+<p>This value indicates that the pathname does not reference a file. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba53382f01745b691ba6f91c65b6059953"></a><!-- doxytag: member="PP_ERROR_TIMEDOUT" ref="gga06fc87d81c62e9abb8790b6e5713c55ba53382f01745b691ba6f91c65b6059953" args="" -->PP_ERROR_TIMEDOUT</em> </td><td>
+<p>This value indicates failure due to a time limit being exceeded. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba3f20bb850c408a7e05fbc9ce42a8e999"></a><!-- doxytag: member="PP_ERROR_USERCANCEL" ref="gga06fc87d81c62e9abb8790b6e5713c55ba3f20bb850c408a7e05fbc9ce42a8e999" args="" -->PP_ERROR_USERCANCEL</em> </td><td>
+<p>This value indicates that the user cancelled rather than providing expected input. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba8c428198d142124ef0c99eb8e8572491"></a><!-- doxytag: member="PP_ERROR_NO_USER_GESTURE" ref="gga06fc87d81c62e9abb8790b6e5713c55ba8c428198d142124ef0c99eb8e8572491" args="" -->PP_ERROR_NO_USER_GESTURE</em> </td><td>
+<p>This value indicates failure due to lack of a user gesture such as a mouse click or key input event. </p>
+<p>Examples of actions requiring a user gesture are showing the file chooser dialog and going into fullscreen mode. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba7469b76adbd5e8e931314160093a9e1a"></a><!-- doxytag: member="PP_ERROR_CONTEXT_LOST" ref="gga06fc87d81c62e9abb8790b6e5713c55ba7469b76adbd5e8e931314160093a9e1a" args="" -->PP_ERROR_CONTEXT_LOST</em> </td><td>
+<p>This value indicates that the graphics context was lost due to a power management event. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55baf907cc8f39ca083a5cad188fb808fc0f"></a><!-- doxytag: member="PP_ERROR_NO_MESSAGE_LOOP" ref="gga06fc87d81c62e9abb8790b6e5713c55baf907cc8f39ca083a5cad188fb808fc0f" args="" -->PP_ERROR_NO_MESSAGE_LOOP</em> </td><td>
+<p>Indicates an attempt to make a PPAPI call on a thread without previously registering a message loop via <a class="el" href="struct_p_p_b___message_loop__1__0.html#ad7e1c1fb0baf6a0446ffb241a6b226b9" title="Sets the given message loop resource as being the associated message loop for the currently running t...">PPB_MessageLoop.AttachToCurrentThread</a>. </p>
+<p>Without this registration step, no PPAPI calls are supported. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55bae18e92e98e2dd0d106b49387af13c997"></a><!-- doxytag: member="PP_ERROR_WRONG_THREAD" ref="gga06fc87d81c62e9abb8790b6e5713c55bae18e92e98e2dd0d106b49387af13c997" args="" -->PP_ERROR_WRONG_THREAD</em> </td><td>
+<p>Indicates that the requested operation is not permitted on the current thread. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55babbc1f7cf46e1746ce232e4655191630e"></a><!-- doxytag: member="PP_ERROR_CONNECTION_CLOSED" ref="gga06fc87d81c62e9abb8790b6e5713c55babbc1f7cf46e1746ce232e4655191630e" args="" -->PP_ERROR_CONNECTION_CLOSED</em> </td><td>
+<p>This value indicates that the connection was closed. </p>
+<p>For TCP sockets, it corresponds to a TCP FIN. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55bac7e0cbefef9315c63c0d7858d0fc4c01"></a><!-- doxytag: member="PP_ERROR_CONNECTION_RESET" ref="gga06fc87d81c62e9abb8790b6e5713c55bac7e0cbefef9315c63c0d7858d0fc4c01" args="" -->PP_ERROR_CONNECTION_RESET</em> </td><td>
+<p>This value indicates that the connection was reset. </p>
+<p>For TCP sockets, it corresponds to a TCP RST. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55bab3873811c2f684a437a2efa3133d3452"></a><!-- doxytag: member="PP_ERROR_CONNECTION_REFUSED" ref="gga06fc87d81c62e9abb8790b6e5713c55bab3873811c2f684a437a2efa3133d3452" args="" -->PP_ERROR_CONNECTION_REFUSED</em> </td><td>
+<p>This value indicates that the connection attempt was refused. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55baf86ee9c96af9f4c315ac6458b6638f27"></a><!-- doxytag: member="PP_ERROR_CONNECTION_ABORTED" ref="gga06fc87d81c62e9abb8790b6e5713c55baf86ee9c96af9f4c315ac6458b6638f27" args="" -->PP_ERROR_CONNECTION_ABORTED</em> </td><td>
+<p>This value indicates that the connection was aborted. </p>
+<p>For TCP sockets, it means the connection timed out as a result of not receiving an ACK for data sent. This can include a FIN packet that did not get ACK'd. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55bacd6d028056cb3596b966682edb6effcf"></a><!-- doxytag: member="PP_ERROR_CONNECTION_FAILED" ref="gga06fc87d81c62e9abb8790b6e5713c55bacd6d028056cb3596b966682edb6effcf" args="" -->PP_ERROR_CONNECTION_FAILED</em> </td><td>
+<p>This value indicates that the connection attempt failed. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba49150f7eacf465fc552e751ac521b4ae"></a><!-- doxytag: member="PP_ERROR_CONNECTION_TIMEDOUT" ref="gga06fc87d81c62e9abb8790b6e5713c55ba49150f7eacf465fc552e751ac521b4ae" args="" -->PP_ERROR_CONNECTION_TIMEDOUT</em> </td><td>
+<p>This value indicates that the connection attempt timed out. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55baa13c10929736aa23a8056ee33dcd23e5"></a><!-- doxytag: member="PP_ERROR_ADDRESS_INVALID" ref="gga06fc87d81c62e9abb8790b6e5713c55baa13c10929736aa23a8056ee33dcd23e5" args="" -->PP_ERROR_ADDRESS_INVALID</em> </td><td>
+<p>This value indicates that the IP address or port number is invalid. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba4304630fb13c40107ed6da9e5b764003"></a><!-- doxytag: member="PP_ERROR_ADDRESS_UNREACHABLE" ref="gga06fc87d81c62e9abb8790b6e5713c55ba4304630fb13c40107ed6da9e5b764003" args="" -->PP_ERROR_ADDRESS_UNREACHABLE</em> </td><td>
+<p>This value indicates that the IP address is unreachable. </p>
+<p>This usually means that there is no route to the specified host or network. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55bafb9e232a63a5787ec0445ee9cc7fc7c2"></a><!-- doxytag: member="PP_ERROR_ADDRESS_IN_USE" ref="gga06fc87d81c62e9abb8790b6e5713c55bafb9e232a63a5787ec0445ee9cc7fc7c2" args="" -->PP_ERROR_ADDRESS_IN_USE</em> </td><td>
+<p>This value is returned when attempting to bind an address that is already in use. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba679d405ff44d259db51dfc6f312b465f"></a><!-- doxytag: member="PP_ERROR_MESSAGE_TOO_BIG" ref="gga06fc87d81c62e9abb8790b6e5713c55ba679d405ff44d259db51dfc6f312b465f" args="" -->PP_ERROR_MESSAGE_TOO_BIG</em> </td><td>
+<p>This value indicates that the message was too large for the transport. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba74c1a24f06288fc63221631ba6a2a7b6"></a><!-- doxytag: member="PP_ERROR_NAME_NOT_RESOLVED" ref="gga06fc87d81c62e9abb8790b6e5713c55ba74c1a24f06288fc63221631ba6a2a7b6" args="" -->PP_ERROR_NAME_NOT_RESOLVED</em> </td><td>
+<p>This value indicates that the host name could not be resolved. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="gadf764cbdea00d65edcd07bb9953ad2b7"></a><!-- doxytag: member="ppb_audio_config.h::@1" ref="gadf764cbdea00d65edcd07bb9953ad2b7" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">anonymous enum</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This enumeration contains audio frame count constants. </p>
+<p><code>PP_AUDIOMINSAMPLEFRAMECOUNT</code> is the minimum possible frame count. <code>PP_AUDIOMAXSAMPLEFRAMECOUNT</code> is the maximum possible frame count. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="ggadf764cbdea00d65edcd07bb9953ad2b7a9bf932735e301eeecf183a9defc378b3"></a><!-- doxytag: member="PP_AUDIOMINSAMPLEFRAMECOUNT" ref="ggadf764cbdea00d65edcd07bb9953ad2b7a9bf932735e301eeecf183a9defc378b3" args="" -->PP_AUDIOMINSAMPLEFRAMECOUNT</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggadf764cbdea00d65edcd07bb9953ad2b7a335c882fde010a0515ec5678a7003ce4"></a><!-- doxytag: member="PP_AUDIOMAXSAMPLEFRAMECOUNT" ref="ggadf764cbdea00d65edcd07bb9953ad2b7a335c882fde010a0515ec5678a7003ce4" args="" -->PP_AUDIOMAXSAMPLEFRAMECOUNT</em> </td><td>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="gaee750c350655f2fb0fe04c04029e0ff8"></a><!-- doxytag: member="ppb_audio_config.h::PP_AudioSampleRate" ref="gaee750c350655f2fb0fe04c04029e0ff8" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#gaee750c350655f2fb0fe04c04029e0ff8">PP_AudioSampleRate</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>PP_AudioSampleRate is an enumeration of the different audio sampling rates. </p>
+<p><code>PP_AUDIOSAMPLERATE_44100</code> is the sample rate used on CDs and <code>PP_AUDIOSAMPLERATE_48000</code> is the sample rate used on DVDs and Digital Audio Tapes. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="ggaee750c350655f2fb0fe04c04029e0ff8a3028e109c6005f2e9ffd635f92ef3324"></a><!-- doxytag: member="PP_AUDIOSAMPLERATE_NONE" ref="ggaee750c350655f2fb0fe04c04029e0ff8a3028e109c6005f2e9ffd635f92ef3324" args="" -->PP_AUDIOSAMPLERATE_NONE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaee750c350655f2fb0fe04c04029e0ff8ac6d1056f50ebe082622d3250def41a54"></a><!-- doxytag: member="PP_AUDIOSAMPLERATE_44100" ref="ggaee750c350655f2fb0fe04c04029e0ff8ac6d1056f50ebe082622d3250def41a54" args="" -->PP_AUDIOSAMPLERATE_44100</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaee750c350655f2fb0fe04c04029e0ff8a0a3ddad3c00d75e1c57a245e599727cd"></a><!-- doxytag: member="PP_AUDIOSAMPLERATE_48000" ref="ggaee750c350655f2fb0fe04c04029e0ff8a0a3ddad3c00d75e1c57a245e599727cd" args="" -->PP_AUDIOSAMPLERATE_48000</em> </td><td>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga4f272d99be14aacafe08dfd4ef830918"></a><!-- doxytag: member="pp_bool.h::PP_Bool" ref="ga4f272d99be14aacafe08dfd4ef830918" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <code>PP_Bool</code> enum is a boolean value for use in PPAPI C headers. </p>
+<p>The standard bool type is not available to pre-C99 compilers, and is not guaranteed to be compatible between C and C++, whereas the PPAPI C headers can be included from C or C++ code. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga4f272d99be14aacafe08dfd4ef830918aeb6cdb899071a9ea4695a184bfdc3e81"></a><!-- doxytag: member="PP_FALSE" ref="gga4f272d99be14aacafe08dfd4ef830918aeb6cdb899071a9ea4695a184bfdc3e81" args="" -->PP_FALSE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga4f272d99be14aacafe08dfd4ef830918a177ce110df585fe2b468dba9a0eefda5"></a><!-- doxytag: member="PP_TRUE" ref="gga4f272d99be14aacafe08dfd4ef830918a177ce110df585fe2b468dba9a0eefda5" args="" -->PP_TRUE</em> </td><td>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga7610f0fba2396d46384859caa4d91798"></a><!-- doxytag: member="pp_completion_callback.h::PP_CompletionCallback_Flag" ref="ga7610f0fba2396d46384859caa4d91798" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga7610f0fba2396d46384859caa4d91798">PP_CompletionCallback_Flag</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This enumeration contains flags used to control how non-NULL callbacks are scheduled by asynchronous methods. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga7610f0fba2396d46384859caa4d91798a6eedc0f315784a4cb47c5806b828c7cc"></a><!-- doxytag: member="PP_COMPLETIONCALLBACK_FLAG_NONE" ref="gga7610f0fba2396d46384859caa4d91798a6eedc0f315784a4cb47c5806b828c7cc" args="" -->PP_COMPLETIONCALLBACK_FLAG_NONE</em> </td><td>
+<p>By default any non-NULL callback will always invoked asynchronously, on success or error, even if the operation could complete synchronously without blocking. </p>
+<p>The method taking such callback will always return PP_OK_COMPLETIONPENDING. The callback will be invoked on the same thread on which the method was invoked.</p>
+<p>NOTE: If the method taking the callback is invoked on a background thread that has no valid PPB_MessageLoop resource attached, the system has no way to run the callback on the correct thread. In this case, a log message will be emitted and the plugin will be made to crash. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga7610f0fba2396d46384859caa4d91798aebb176d8930b14219b7966fd93a2e967"></a><!-- doxytag: member="PP_COMPLETIONCALLBACK_FLAG_OPTIONAL" ref="gga7610f0fba2396d46384859caa4d91798aebb176d8930b14219b7966fd93a2e967" args="" -->PP_COMPLETIONCALLBACK_FLAG_OPTIONAL</em> </td><td>
+<p>This flag allows any method taking such callback to complete synchronously and not call the callback if the operation would not block. </p>
+<p>This is useful when performance is an issue, and the operation bandwidth should not be limited to the processing speed of the message loop.</p>
+<p>On synchronous method completion, the completion result will be returned by the method itself. Otherwise, the method will return PP_OK_COMPLETIONPENDING, and the callback will be invoked asynchronously on the same thread on which the method was invoked. If there is no valid PPB_MessageLoop attached to that thread, and the callback would normally run asynchronously, the invoked method will return PP_ERROR_NO_MESSAGE_LOOP. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga4c87e6dd19c1d49b66a9b37136a82e82"></a><!-- doxytag: member="ppb_file_io.h::PP_FileOpenFlags" ref="ga4c87e6dd19c1d49b66a9b37136a82e82" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga4c87e6dd19c1d49b66a9b37136a82e82">PP_FileOpenFlags</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The PP_FileOpenFlags enum contains file open constants. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga4c87e6dd19c1d49b66a9b37136a82e82a9d409b8a19e1a1c90b6c01f45cea8468"></a><!-- doxytag: member="PP_FILEOPENFLAG_READ" ref="gga4c87e6dd19c1d49b66a9b37136a82e82a9d409b8a19e1a1c90b6c01f45cea8468" args="" -->PP_FILEOPENFLAG_READ</em> </td><td>
+<p>Requests read access to a file. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga4c87e6dd19c1d49b66a9b37136a82e82ad43adf355739f7a82d0f1a884531afbd"></a><!-- doxytag: member="PP_FILEOPENFLAG_WRITE" ref="gga4c87e6dd19c1d49b66a9b37136a82e82ad43adf355739f7a82d0f1a884531afbd" args="" -->PP_FILEOPENFLAG_WRITE</em> </td><td>
+<p>Requests write access to a file. </p>
+<p>May be combined with <code>PP_FILEOPENFLAG_READ</code> to request read and write access. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga4c87e6dd19c1d49b66a9b37136a82e82adc826ab2826a482ee2b15cc25d0d9ba2"></a><!-- doxytag: member="PP_FILEOPENFLAG_CREATE" ref="gga4c87e6dd19c1d49b66a9b37136a82e82adc826ab2826a482ee2b15cc25d0d9ba2" args="" -->PP_FILEOPENFLAG_CREATE</em> </td><td>
+<p>Requests that the file be created if it does not exist. </p>
+<p>If the file already exists, then this flag is ignored unless <code>PP_FILEOPENFLAG_EXCLUSIVE</code> was also specified, in which case FileIO::Open() will fail. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga4c87e6dd19c1d49b66a9b37136a82e82afc54dddff300e46f1ea644855abfd3e5"></a><!-- doxytag: member="PP_FILEOPENFLAG_TRUNCATE" ref="gga4c87e6dd19c1d49b66a9b37136a82e82afc54dddff300e46f1ea644855abfd3e5" args="" -->PP_FILEOPENFLAG_TRUNCATE</em> </td><td>
+<p>Requests that the file be truncated to length 0 if it exists and is a regular file. </p>
+<p><code>PP_FILEOPENFLAG_WRITE</code> must also be specified. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga4c87e6dd19c1d49b66a9b37136a82e82a3ffa615692f3b3a2da0f1e04903eefce"></a><!-- doxytag: member="PP_FILEOPENFLAG_EXCLUSIVE" ref="gga4c87e6dd19c1d49b66a9b37136a82e82a3ffa615692f3b3a2da0f1e04903eefce" args="" -->PP_FILEOPENFLAG_EXCLUSIVE</em> </td><td>
+<p>Requests that the file is created when this flag is combined with <code>PP_FILEOPENFLAG_CREATE</code>. </p>
+<p>If this flag is specified, and the file already exists, then the FileIO::Open() call will fail. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga4c87e6dd19c1d49b66a9b37136a82e82a78c13cbbccebfa9c2b8b2f758397795c"></a><!-- doxytag: member="PP_FILEOPENFLAG_APPEND" ref="gga4c87e6dd19c1d49b66a9b37136a82e82a78c13cbbccebfa9c2b8b2f758397795c" args="" -->PP_FILEOPENFLAG_APPEND</em> </td><td>
+<p>Requests write access to a file, but writes will always occur at the end of the file. </p>
+<p>Mututally exclusive with <code>PP_FILEOPENFLAG_WRITE</code>.</p>
+<p>This is only supported in version 1.2 (Chrome 29) and later. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga87b353f2ec8935c9c3294daff612c145"></a><!-- doxytag: member="pp_file_info.h::PP_FileSystemType" ref="ga87b353f2ec8935c9c3294daff612c145" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga87b353f2ec8935c9c3294daff612c145">PP_FileSystemType</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <code>PP_FileSystemType</code> enum contains file system type constants. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga87b353f2ec8935c9c3294daff612c145a48e7bd0df8bd086812085be972e963a0"></a><!-- doxytag: member="PP_FILESYSTEMTYPE_INVALID" ref="gga87b353f2ec8935c9c3294daff612c145a48e7bd0df8bd086812085be972e963a0" args="" -->PP_FILESYSTEMTYPE_INVALID</em> </td><td>
+<p>For identified invalid return values. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga87b353f2ec8935c9c3294daff612c145aa21f18053ba5b3594a0b5373074742c2"></a><!-- doxytag: member="PP_FILESYSTEMTYPE_EXTERNAL" ref="gga87b353f2ec8935c9c3294daff612c145aa21f18053ba5b3594a0b5373074742c2" args="" -->PP_FILESYSTEMTYPE_EXTERNAL</em> </td><td>
+<p>For external file system types. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga87b353f2ec8935c9c3294daff612c145a4c51625a4c977d3fab0c4dd28127603c"></a><!-- doxytag: member="PP_FILESYSTEMTYPE_LOCALPERSISTENT" ref="gga87b353f2ec8935c9c3294daff612c145a4c51625a4c977d3fab0c4dd28127603c" args="" -->PP_FILESYSTEMTYPE_LOCALPERSISTENT</em> </td><td>
+<p>For local persistent file system types. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga87b353f2ec8935c9c3294daff612c145abefda8d47a5cd9b8918f012c34496ca9"></a><!-- doxytag: member="PP_FILESYSTEMTYPE_LOCALTEMPORARY" ref="gga87b353f2ec8935c9c3294daff612c145abefda8d47a5cd9b8918f012c34496ca9" args="" -->PP_FILESYSTEMTYPE_LOCALTEMPORARY</em> </td><td>
+<p>For local temporary file system types. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga87b353f2ec8935c9c3294daff612c145aeceec88ea91ee70c499ff39119dd33b5"></a><!-- doxytag: member="PP_FILESYSTEMTYPE_ISOLATED" ref="gga87b353f2ec8935c9c3294daff612c145aeceec88ea91ee70c499ff39119dd33b5" args="" -->PP_FILESYSTEMTYPE_ISOLATED</em> </td><td>
+<p>For isolated file system types. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga36f6dfbe9c1e98540c5247f790746427"></a><!-- doxytag: member="pp_file_info.h::PP_FileType" ref="ga36f6dfbe9c1e98540c5247f790746427" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga36f6dfbe9c1e98540c5247f790746427">PP_FileType</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <code>PP_FileType</code> enum contains file type constants. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga36f6dfbe9c1e98540c5247f790746427acd0d93632365573bba7774b7fe0c62fd"></a><!-- doxytag: member="PP_FILETYPE_REGULAR" ref="gga36f6dfbe9c1e98540c5247f790746427acd0d93632365573bba7774b7fe0c62fd" args="" -->PP_FILETYPE_REGULAR</em> </td><td>
+<p>A regular file type. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga36f6dfbe9c1e98540c5247f790746427a81b606e1444df5fb838a692f891fbde9"></a><!-- doxytag: member="PP_FILETYPE_DIRECTORY" ref="gga36f6dfbe9c1e98540c5247f790746427a81b606e1444df5fb838a692f891fbde9" args="" -->PP_FILETYPE_DIRECTORY</em> </td><td>
+<p>A directory. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga36f6dfbe9c1e98540c5247f790746427a9e3863ab973d8643dcc96708f55df880"></a><!-- doxytag: member="PP_FILETYPE_OTHER" ref="gga36f6dfbe9c1e98540c5247f790746427a9e3863ab973d8643dcc96708f55df880" args="" -->PP_FILETYPE_OTHER</em> </td><td>
+<p>A catch-all for unidentified types. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga7df48e1c55f6401beea2a1b9c07967e8"></a><!-- doxytag: member="pp_graphics_3d.h::PP_Graphics3DAttrib" ref="ga7df48e1c55f6401beea2a1b9c07967e8" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga7df48e1c55f6401beea2a1b9c07967e8">PP_Graphics3DAttrib</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga7df48e1c55f6401beea2a1b9c07967e8aac0fc60be37c86f193fb535bedb09458"></a><!-- doxytag: member="PP_GRAPHICS3DATTRIB_ALPHA_SIZE" ref="gga7df48e1c55f6401beea2a1b9c07967e8aac0fc60be37c86f193fb535bedb09458" args="" -->PP_GRAPHICS3DATTRIB_ALPHA_SIZE</em> </td><td>
+<p>Bits of Alpha in the color buffer. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga7df48e1c55f6401beea2a1b9c07967e8a519cd199423721033780ee13ecb0e60b"></a><!-- doxytag: member="PP_GRAPHICS3DATTRIB_BLUE_SIZE" ref="gga7df48e1c55f6401beea2a1b9c07967e8a519cd199423721033780ee13ecb0e60b" args="" -->PP_GRAPHICS3DATTRIB_BLUE_SIZE</em> </td><td>
+<p>Bits of Blue in the color buffer. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga7df48e1c55f6401beea2a1b9c07967e8ade95a6e685ca23522da80c1703d294a7"></a><!-- doxytag: member="PP_GRAPHICS3DATTRIB_GREEN_SIZE" ref="gga7df48e1c55f6401beea2a1b9c07967e8ade95a6e685ca23522da80c1703d294a7" args="" -->PP_GRAPHICS3DATTRIB_GREEN_SIZE</em> </td><td>
+<p>Bits of Green in the color buffer. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga7df48e1c55f6401beea2a1b9c07967e8a7caad99c8c857fdb804c6755551398f5"></a><!-- doxytag: member="PP_GRAPHICS3DATTRIB_RED_SIZE" ref="gga7df48e1c55f6401beea2a1b9c07967e8a7caad99c8c857fdb804c6755551398f5" args="" -->PP_GRAPHICS3DATTRIB_RED_SIZE</em> </td><td>
+<p>Bits of Red in the color buffer. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga7df48e1c55f6401beea2a1b9c07967e8ab594f7ae52f23b7b0609797c06cf7cf8"></a><!-- doxytag: member="PP_GRAPHICS3DATTRIB_DEPTH_SIZE" ref="gga7df48e1c55f6401beea2a1b9c07967e8ab594f7ae52f23b7b0609797c06cf7cf8" args="" -->PP_GRAPHICS3DATTRIB_DEPTH_SIZE</em> </td><td>
+<p>Bits of Z in the depth buffer. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga7df48e1c55f6401beea2a1b9c07967e8acc0e34bee390933357c7386391faeac0"></a><!-- doxytag: member="PP_GRAPHICS3DATTRIB_STENCIL_SIZE" ref="gga7df48e1c55f6401beea2a1b9c07967e8acc0e34bee390933357c7386391faeac0" args="" -->PP_GRAPHICS3DATTRIB_STENCIL_SIZE</em> </td><td>
+<p>Bits of Stencil in the stencil buffer. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga7df48e1c55f6401beea2a1b9c07967e8a98c1bf99b329be847d53f4eb651b4a63"></a><!-- doxytag: member="PP_GRAPHICS3DATTRIB_SAMPLES" ref="gga7df48e1c55f6401beea2a1b9c07967e8a98c1bf99b329be847d53f4eb651b4a63" args="" -->PP_GRAPHICS3DATTRIB_SAMPLES</em> </td><td>
+<p>Number of samples per pixel. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga7df48e1c55f6401beea2a1b9c07967e8a8bccea594213dbdd1750f97f3b187047"></a><!-- doxytag: member="PP_GRAPHICS3DATTRIB_SAMPLE_BUFFERS" ref="gga7df48e1c55f6401beea2a1b9c07967e8a8bccea594213dbdd1750f97f3b187047" args="" -->PP_GRAPHICS3DATTRIB_SAMPLE_BUFFERS</em> </td><td>
+<p>Number of multisample buffers. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga7df48e1c55f6401beea2a1b9c07967e8a66b15e43e8159f71751be033d44fda21"></a><!-- doxytag: member="PP_GRAPHICS3DATTRIB_NONE" ref="gga7df48e1c55f6401beea2a1b9c07967e8a66b15e43e8159f71751be033d44fda21" args="" -->PP_GRAPHICS3DATTRIB_NONE</em> </td><td>
+<p>Attrib list terminator. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga7df48e1c55f6401beea2a1b9c07967e8ac37b92e8426753d7a24d0cf193a5923d"></a><!-- doxytag: member="PP_GRAPHICS3DATTRIB_HEIGHT" ref="gga7df48e1c55f6401beea2a1b9c07967e8ac37b92e8426753d7a24d0cf193a5923d" args="" -->PP_GRAPHICS3DATTRIB_HEIGHT</em> </td><td>
+<p>Height of surface in pixels. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga7df48e1c55f6401beea2a1b9c07967e8a378f15587369cdefbcf565bc8f15db2c"></a><!-- doxytag: member="PP_GRAPHICS3DATTRIB_WIDTH" ref="gga7df48e1c55f6401beea2a1b9c07967e8a378f15587369cdefbcf565bc8f15db2c" args="" -->PP_GRAPHICS3DATTRIB_WIDTH</em> </td><td>
+<p>Width of surface in pixels. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga7df48e1c55f6401beea2a1b9c07967e8a03d8a647ddb24105718bcb91b8f972fd"></a><!-- doxytag: member="PP_GRAPHICS3DATTRIB_SWAP_BEHAVIOR" ref="gga7df48e1c55f6401beea2a1b9c07967e8a03d8a647ddb24105718bcb91b8f972fd" args="" -->PP_GRAPHICS3DATTRIB_SWAP_BEHAVIOR</em> </td><td>
+<p>Specifies the effect on the color buffer of posting a surface with SwapBuffers. </p>
+<p>The initial value is chosen by the implementation. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga7df48e1c55f6401beea2a1b9c07967e8a46b174aaf7b91e26cc2a014268e65512"></a><!-- doxytag: member="PP_GRAPHICS3DATTRIB_BUFFER_PRESERVED" ref="gga7df48e1c55f6401beea2a1b9c07967e8a46b174aaf7b91e26cc2a014268e65512" args="" -->PP_GRAPHICS3DATTRIB_BUFFER_PRESERVED</em> </td><td>
+<p>Indicates that color buffer contents are unaffected. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga7df48e1c55f6401beea2a1b9c07967e8a8aa6eff69c6b613b0a65803fa75d48fb"></a><!-- doxytag: member="PP_GRAPHICS3DATTRIB_BUFFER_DESTROYED" ref="gga7df48e1c55f6401beea2a1b9c07967e8a8aa6eff69c6b613b0a65803fa75d48fb" args="" -->PP_GRAPHICS3DATTRIB_BUFFER_DESTROYED</em> </td><td>
+<p>Indicates that color buffer contents may be destroyed or changed. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga7df48e1c55f6401beea2a1b9c07967e8a48ed49219981a01405e97eb414c89fec"></a><!-- doxytag: member="PP_GRAPHICS3DATTRIB_GPU_PREFERENCE" ref="gga7df48e1c55f6401beea2a1b9c07967e8a48ed49219981a01405e97eb414c89fec" args="" -->PP_GRAPHICS3DATTRIB_GPU_PREFERENCE</em> </td><td>
+<p>Specifies whether the context is intended to be low-power or high-performance. </p>
+<p>The initial value is PP_GRAPHICS3DATTRIB_GPU_PREFERENCE_PERFORMANCE. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga7df48e1c55f6401beea2a1b9c07967e8a4295d8750ae536c3aed03d794429e336"></a><!-- doxytag: member="PP_GRAPHICS3DATTRIB_GPU_PREFERENCE_LOW_POWER" ref="gga7df48e1c55f6401beea2a1b9c07967e8a4295d8750ae536c3aed03d794429e336" args="" -->PP_GRAPHICS3DATTRIB_GPU_PREFERENCE_LOW_POWER</em> </td><td>
+<p>The context should be low-power, and may be created on an integrated gpu. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga7df48e1c55f6401beea2a1b9c07967e8a1a7563ae755ca52d429302a35930201a"></a><!-- doxytag: member="PP_GRAPHICS3DATTRIB_GPU_PREFERENCE_PERFORMANCE" ref="gga7df48e1c55f6401beea2a1b9c07967e8a1a7563ae755ca52d429302a35930201a" args="" -->PP_GRAPHICS3DATTRIB_GPU_PREFERENCE_PERFORMANCE</em> </td><td>
+<p>The context may be high-power and may be created on a discrete gpu. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="gadb4b8db19266831040fc604f73c83a25"></a><!-- doxytag: member="ppb_host_resolver.h::PP_HostResolver_Flag" ref="gadb4b8db19266831040fc604f73c83a25" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#gadb4b8db19266831040fc604f73c83a25">PP_HostResolver_Flag</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><code>PP_HostResolver_Flag</code> is an enumeration of flags which can be OR-ed and passed to the host resolver. </p>
+<p>Currently there is only one flag defined. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="ggadb4b8db19266831040fc604f73c83a25a1fc5655c5b292459d24dc035e930e75e"></a><!-- doxytag: member="PP_HOSTRESOLVER_FLAG_CANONNAME" ref="ggadb4b8db19266831040fc604f73c83a25a1fc5655c5b292459d24dc035e930e75e" args="" -->PP_HOSTRESOLVER_FLAG_CANONNAME</em> </td><td>
+<p>Hint to request the canonical name of the host, which can be retrieved by <code>GetCanonicalName()</code>. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga2ee7ad01799553e5f17bdaa35dd952ee"></a><!-- doxytag: member="ppb_image_data.h::PP_ImageDataFormat" ref="ga2ee7ad01799553e5f17bdaa35dd952ee" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga2ee7ad01799553e5f17bdaa35dd952ee">PP_ImageDataFormat</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><code>PP_ImageDataFormat</code> is an enumeration of the different types of image data formats. </p>
+<p>The third part of each enumeration value describes the memory layout from the lowest address to the highest. For example, BGRA means the B component is stored in the lowest address, no matter what endianness the platform is using.</p>
+<p>The PREMUL suffix implies pre-multiplied alpha is used. In this mode, the red, green and blue color components of the pixel data supplied to an image data should be pre-multiplied by their alpha value. For example: starting with floating point color components, here is how to convert them to 8-bit premultiplied components for image data:</p>
+<p>...components of a pixel, floats ranging from 0 to 1... <code>float red = 1.0f;</code> <code>float green = 0.50f;</code> <code>float blue = 0.0f;</code> <code>float alpha = 0.75f;</code> ...components for image data are 8-bit values ranging from 0 to 255... <code>uint8_t image_data_red_premul = (uint8_t)(red * alpha * 255.0f); </code> <code>uint8_t image_data_green_premul = (uint8_t)(green * alpha * 255.0f); </code> <code>uint8_t image_data_blue_premul = (uint8_t)(blue * alpha * 255.0f); </code> <code>uint8_t image_data_alpha_premul = (uint8_t)(alpha * 255.0f);</code></p>
+<p><b>Note:</b> The resulting pre-multiplied red, green and blue components should not be greater than the alpha value. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga2ee7ad01799553e5f17bdaa35dd952eea8685611ba2e85347f5f6bb0043940358"></a><!-- doxytag: member="PP_IMAGEDATAFORMAT_BGRA_PREMUL" ref="gga2ee7ad01799553e5f17bdaa35dd952eea8685611ba2e85347f5f6bb0043940358" args="" -->PP_IMAGEDATAFORMAT_BGRA_PREMUL</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga2ee7ad01799553e5f17bdaa35dd952eeab291a13cd5f4728eab3c207938916622"></a><!-- doxytag: member="PP_IMAGEDATAFORMAT_RGBA_PREMUL" ref="gga2ee7ad01799553e5f17bdaa35dd952eeab291a13cd5f4728eab3c207938916622" args="" -->PP_IMAGEDATAFORMAT_RGBA_PREMUL</em> </td><td>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="gafe68e3c1031daa4a6496845ff47649cd"></a><!-- doxytag: member="ppb_input_event.h::PP_InputEvent_Class" ref="gafe68e3c1031daa4a6496845ff47649cd" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#gafe68e3c1031daa4a6496845ff47649cd">PP_InputEvent_Class</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="ggafe68e3c1031daa4a6496845ff47649cda79ccc5180eb39c52ab3207f0c876dd52"></a><!-- doxytag: member="PP_INPUTEVENT_CLASS_MOUSE" ref="ggafe68e3c1031daa4a6496845ff47649cda79ccc5180eb39c52ab3207f0c876dd52" args="" -->PP_INPUTEVENT_CLASS_MOUSE</em> </td><td>
+<p>Request mouse input events. </p>
+<p>Normally you will request mouse events by calling RequestInputEvents(). The only use case for filtered events (via RequestFilteringInputEvents()) is for instances that have irregular outlines and you want to perform hit testing, which is very uncommon. Requesting non-filtered mouse events will lead to higher performance. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggafe68e3c1031daa4a6496845ff47649cda2c3341eacc3a459713ce334b9af0cda8"></a><!-- doxytag: member="PP_INPUTEVENT_CLASS_KEYBOARD" ref="ggafe68e3c1031daa4a6496845ff47649cda2c3341eacc3a459713ce334b9af0cda8" args="" -->PP_INPUTEVENT_CLASS_KEYBOARD</em> </td><td>
+<p>Requests keyboard events. </p>
+<p>Often you will want to request filtered mode (via RequestFilteringInputEvents) for keyboard events so you can pass on events (by returning false) that you don't handle. For example, if you don't request filtered mode and the user pressed "Page Down" when your instance has focus, the page won't scroll which will be a poor experience.</p>
+<p>A small number of tab and window management commands like Alt-F4 are never sent to the page. You can not request these keyboard commands since it would allow pages to trap users on a page. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggafe68e3c1031daa4a6496845ff47649cda59d6686dbce1f0dc092cb88a451bb3a6"></a><!-- doxytag: member="PP_INPUTEVENT_CLASS_WHEEL" ref="ggafe68e3c1031daa4a6496845ff47649cda59d6686dbce1f0dc092cb88a451bb3a6" args="" -->PP_INPUTEVENT_CLASS_WHEEL</em> </td><td>
+<p>Identifies scroll wheel input event. </p>
+<p>Wheel events must be requested in filtering mode via RequestFilteringInputEvents(). This is because many wheel commands should be forwarded to the page.</p>
+<p>Most instances will not need this event. Consuming wheel events by returning true from your filtered event handler will prevent the user from scrolling the page when the mouse is over the instance which can be very annoying.</p>
+<p>If you handle wheel events (for example, you have a document viewer which the user can scroll), the recommended behavior is to return false only if the wheel event actually causes your document to scroll. When the user reaches the end of the document, return false to indicating that the event was not handled. This will then forward the event to the containing page for scrolling, producing the nested scrolling behavior users expect from frames in a page. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggafe68e3c1031daa4a6496845ff47649cda19b05264fa31d7e975eba297f9f146af"></a><!-- doxytag: member="PP_INPUTEVENT_CLASS_TOUCH" ref="ggafe68e3c1031daa4a6496845ff47649cda19b05264fa31d7e975eba297f9f146af" args="" -->PP_INPUTEVENT_CLASS_TOUCH</em> </td><td>
+<p>Identifies touch input events. </p>
+<p>Request touch events only if you intend to handle them. If the browser knows you do not need to handle touch events, it can handle them at a higher level and achieve higher performance. If the plugin does not register for touch-events, then it will receive synthetic mouse events that are generated from the touch events (e.g. mouse-down for touch-start, mouse-move for touch-move (with left-button down), and mouse-up for touch-end. If the plugin does register for touch events, then the synthetic mouse events are not created. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggafe68e3c1031daa4a6496845ff47649cda1280fe9a85edf74e20e4d503a345ab7d"></a><!-- doxytag: member="PP_INPUTEVENT_CLASS_IME" ref="ggafe68e3c1031daa4a6496845ff47649cda1280fe9a85edf74e20e4d503a345ab7d" args="" -->PP_INPUTEVENT_CLASS_IME</em> </td><td>
+<p>Identifies IME composition input events. </p>
+<p>Request this input event class if you allow on-the-spot IME input. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga21b811ac0484a214a8751aa3e1c959d9"></a><!-- doxytag: member="ppb_input_event.h::PP_InputEvent_Modifier" ref="ga21b811ac0484a214a8751aa3e1c959d9" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga21b811ac0484a214a8751aa3e1c959d9">PP_InputEvent_Modifier</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This enumeration contains event modifier constants. </p>
+<p>Each modifier is one bit. Retrieve the modifiers from an input event using the GetEventModifiers function on PPB_InputEvent. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga21b811ac0484a214a8751aa3e1c959d9a7506fd613b0e3055b37700eddcc04c8e"></a><!-- doxytag: member="PP_INPUTEVENT_MODIFIER_SHIFTKEY" ref="gga21b811ac0484a214a8751aa3e1c959d9a7506fd613b0e3055b37700eddcc04c8e" args="" -->PP_INPUTEVENT_MODIFIER_SHIFTKEY</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga21b811ac0484a214a8751aa3e1c959d9aeb4a9ad52cbfbfab9dea7cf2429c52f7"></a><!-- doxytag: member="PP_INPUTEVENT_MODIFIER_CONTROLKEY" ref="gga21b811ac0484a214a8751aa3e1c959d9aeb4a9ad52cbfbfab9dea7cf2429c52f7" args="" -->PP_INPUTEVENT_MODIFIER_CONTROLKEY</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga21b811ac0484a214a8751aa3e1c959d9ab30d756ab410e7155deef8c48568fc95"></a><!-- doxytag: member="PP_INPUTEVENT_MODIFIER_ALTKEY" ref="gga21b811ac0484a214a8751aa3e1c959d9ab30d756ab410e7155deef8c48568fc95" args="" -->PP_INPUTEVENT_MODIFIER_ALTKEY</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga21b811ac0484a214a8751aa3e1c959d9ab3b68a7fb23fa33be297b30a2d3f27d7"></a><!-- doxytag: member="PP_INPUTEVENT_MODIFIER_METAKEY" ref="gga21b811ac0484a214a8751aa3e1c959d9ab3b68a7fb23fa33be297b30a2d3f27d7" args="" -->PP_INPUTEVENT_MODIFIER_METAKEY</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga21b811ac0484a214a8751aa3e1c959d9a24f5d73cf82a01116f52b57410e64c9d"></a><!-- doxytag: member="PP_INPUTEVENT_MODIFIER_ISKEYPAD" ref="gga21b811ac0484a214a8751aa3e1c959d9a24f5d73cf82a01116f52b57410e64c9d" args="" -->PP_INPUTEVENT_MODIFIER_ISKEYPAD</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga21b811ac0484a214a8751aa3e1c959d9a0d6141a7a3498af2020093469358472f"></a><!-- doxytag: member="PP_INPUTEVENT_MODIFIER_ISAUTOREPEAT" ref="gga21b811ac0484a214a8751aa3e1c959d9a0d6141a7a3498af2020093469358472f" args="" -->PP_INPUTEVENT_MODIFIER_ISAUTOREPEAT</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga21b811ac0484a214a8751aa3e1c959d9a31e52901313720fd0e431976228f2153"></a><!-- doxytag: member="PP_INPUTEVENT_MODIFIER_LEFTBUTTONDOWN" ref="gga21b811ac0484a214a8751aa3e1c959d9a31e52901313720fd0e431976228f2153" args="" -->PP_INPUTEVENT_MODIFIER_LEFTBUTTONDOWN</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga21b811ac0484a214a8751aa3e1c959d9aa2369bf6eb5309a43d608ef83d747a04"></a><!-- doxytag: member="PP_INPUTEVENT_MODIFIER_MIDDLEBUTTONDOWN" ref="gga21b811ac0484a214a8751aa3e1c959d9aa2369bf6eb5309a43d608ef83d747a04" args="" -->PP_INPUTEVENT_MODIFIER_MIDDLEBUTTONDOWN</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga21b811ac0484a214a8751aa3e1c959d9aee3e5083c83130d4368b79878fd574fe"></a><!-- doxytag: member="PP_INPUTEVENT_MODIFIER_RIGHTBUTTONDOWN" ref="gga21b811ac0484a214a8751aa3e1c959d9aee3e5083c83130d4368b79878fd574fe" args="" -->PP_INPUTEVENT_MODIFIER_RIGHTBUTTONDOWN</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga21b811ac0484a214a8751aa3e1c959d9a99a27b5dab8360eb08189439b85b8781"></a><!-- doxytag: member="PP_INPUTEVENT_MODIFIER_CAPSLOCKKEY" ref="gga21b811ac0484a214a8751aa3e1c959d9a99a27b5dab8360eb08189439b85b8781" args="" -->PP_INPUTEVENT_MODIFIER_CAPSLOCKKEY</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga21b811ac0484a214a8751aa3e1c959d9a493ca598187014e2356cd7a5ba8cdffd"></a><!-- doxytag: member="PP_INPUTEVENT_MODIFIER_NUMLOCKKEY" ref="gga21b811ac0484a214a8751aa3e1c959d9a493ca598187014e2356cd7a5ba8cdffd" args="" -->PP_INPUTEVENT_MODIFIER_NUMLOCKKEY</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga21b811ac0484a214a8751aa3e1c959d9a8295bfc8067c06a17ccfc5fb6a992e17"></a><!-- doxytag: member="PP_INPUTEVENT_MODIFIER_ISLEFT" ref="gga21b811ac0484a214a8751aa3e1c959d9a8295bfc8067c06a17ccfc5fb6a992e17" args="" -->PP_INPUTEVENT_MODIFIER_ISLEFT</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga21b811ac0484a214a8751aa3e1c959d9a348f43efaf61edbefd83346428c5b122"></a><!-- doxytag: member="PP_INPUTEVENT_MODIFIER_ISRIGHT" ref="gga21b811ac0484a214a8751aa3e1c959d9a348f43efaf61edbefd83346428c5b122" args="" -->PP_INPUTEVENT_MODIFIER_ISRIGHT</em> </td><td>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga25113f3c8d33e863fd38b3f70f8a5e6e"></a><!-- doxytag: member="ppb_input_event.h::PP_InputEvent_MouseButton" ref="ga25113f3c8d33e863fd38b3f70f8a5e6e" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga25113f3c8d33e863fd38b3f70f8a5e6e">PP_InputEvent_MouseButton</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This enumeration contains constants representing each mouse button. </p>
+<p>To get the mouse button for a mouse down or up event, use GetMouseButton on PPB_InputEvent. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga25113f3c8d33e863fd38b3f70f8a5e6eaa2d4e499d6c23ef45381a89612e654d9"></a><!-- doxytag: member="PP_INPUTEVENT_MOUSEBUTTON_NONE" ref="gga25113f3c8d33e863fd38b3f70f8a5e6eaa2d4e499d6c23ef45381a89612e654d9" args="" -->PP_INPUTEVENT_MOUSEBUTTON_NONE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga25113f3c8d33e863fd38b3f70f8a5e6eaa44f4ea3c7759e4fce6150f349909f63"></a><!-- doxytag: member="PP_INPUTEVENT_MOUSEBUTTON_LEFT" ref="gga25113f3c8d33e863fd38b3f70f8a5e6eaa44f4ea3c7759e4fce6150f349909f63" args="" -->PP_INPUTEVENT_MOUSEBUTTON_LEFT</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga25113f3c8d33e863fd38b3f70f8a5e6ea3f8a2698990ec1e36943651ca600e3be"></a><!-- doxytag: member="PP_INPUTEVENT_MOUSEBUTTON_MIDDLE" ref="gga25113f3c8d33e863fd38b3f70f8a5e6ea3f8a2698990ec1e36943651ca600e3be" args="" -->PP_INPUTEVENT_MOUSEBUTTON_MIDDLE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga25113f3c8d33e863fd38b3f70f8a5e6ea681614da50d511b516d0a88fbaa6eb5b"></a><!-- doxytag: member="PP_INPUTEVENT_MOUSEBUTTON_RIGHT" ref="gga25113f3c8d33e863fd38b3f70f8a5e6ea681614da50d511b516d0a88fbaa6eb5b" args="" -->PP_INPUTEVENT_MOUSEBUTTON_RIGHT</em> </td><td>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="gaca7296cfec99fcb6646b7144d1d6a0c5"></a><!-- doxytag: member="ppb_input_event.h::PP_InputEvent_Type" ref="gaca7296cfec99fcb6646b7144d1d6a0c5" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#gaca7296cfec99fcb6646b7144d1d6a0c5">PP_InputEvent_Type</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This enumeration contains the types of input events. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5a9b6d5489f328f0b902da4a1f5836b4cb"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_UNDEFINED" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5a9b6d5489f328f0b902da4a1f5836b4cb" args="" -->PP_INPUTEVENT_TYPE_UNDEFINED</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5a4309eee5fb8284b6be7c258090b21e77"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_MOUSEDOWN" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5a4309eee5fb8284b6be7c258090b21e77" args="" -->PP_INPUTEVENT_TYPE_MOUSEDOWN</em> </td><td>
+<p>Notification that a mouse button was pressed. </p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_MOUSE class. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5a9f0a8196670b1da0e9c3cf081329c3ca"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_MOUSEUP" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5a9f0a8196670b1da0e9c3cf081329c3ca" args="" -->PP_INPUTEVENT_TYPE_MOUSEUP</em> </td><td>
+<p>Notification that a mouse button was released. </p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_MOUSE class. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5a9d3a09d7fb33663f3a7d920fd2e3208d"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_MOUSEMOVE" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5a9d3a09d7fb33663f3a7d920fd2e3208d" args="" -->PP_INPUTEVENT_TYPE_MOUSEMOVE</em> </td><td>
+<p>Notification that a mouse button was moved when it is over the instance or dragged out of it. </p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_MOUSE class. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5ad240947fd6d67f23b679be4806947e2a"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_MOUSEENTER" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5ad240947fd6d67f23b679be4806947e2a" args="" -->PP_INPUTEVENT_TYPE_MOUSEENTER</em> </td><td>
+<p>Notification that the mouse entered the instance's bounds. </p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_MOUSE class. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5a0870576010613081518c9c6683abd2e8"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_MOUSELEAVE" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5a0870576010613081518c9c6683abd2e8" args="" -->PP_INPUTEVENT_TYPE_MOUSELEAVE</em> </td><td>
+<p>Notification that a mouse left the instance's bounds. </p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_MOUSE class. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5a2eedbec689780077aa98188805a559f6"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_WHEEL" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5a2eedbec689780077aa98188805a559f6" args="" -->PP_INPUTEVENT_TYPE_WHEEL</em> </td><td>
+<p>Notification that the scroll wheel was used. </p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_WHEEL class. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5a05c7f50eb36e606a3e5a0065b337d96c"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_RAWKEYDOWN" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5a05c7f50eb36e606a3e5a0065b337d96c" args="" -->PP_INPUTEVENT_TYPE_RAWKEYDOWN</em> </td><td>
+<p>Notification that a key transitioned from "up" to "down". </p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_KEYBOARD class. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5a4064a5f6ce10c7e5a0834aff7cd7e474"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_KEYDOWN" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5a4064a5f6ce10c7e5a0834aff7cd7e474" args="" -->PP_INPUTEVENT_TYPE_KEYDOWN</em> </td><td>
+<p>Notification that a key was pressed. </p>
+<p>This does not necessarily correspond to a character depending on the key and language. Use the PP_INPUTEVENT_TYPE_CHAR for character input.</p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_KEYBOARD class. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5af57c2b682b29f7b03f27519f98febdea"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_KEYUP" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5af57c2b682b29f7b03f27519f98febdea" args="" -->PP_INPUTEVENT_TYPE_KEYUP</em> </td><td>
+<p>Notification that a key was released. </p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_KEYBOARD class. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5a0d547efbed42c655264b96a51954e0dd"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_CHAR" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5a0d547efbed42c655264b96a51954e0dd" args="" -->PP_INPUTEVENT_TYPE_CHAR</em> </td><td>
+<p>Notification that a character was typed. </p>
+<p>Use this for text input. Key down events may generate 0, 1, or more than one character event depending on the key, locale, and operating system.</p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_KEYBOARD class. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5a0cf7525c015c97ded19afab9d7d9afee"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_CONTEXTMENU" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5a0cf7525c015c97ded19afab9d7d9afee" args="" -->PP_INPUTEVENT_TYPE_CONTEXTMENU</em> </td><td>
+<p>Notification that a context menu should be shown. </p>
+<p>This message will be sent when the user right-clicks or performs another OS-specific mouse command that should open a context menu. When this event is delivered depends on the system, on some systems (Mac) it will delivered after the mouse down event, and on others (Windows) it will be delivered after the mouse up event.</p>
+<p>You will always get the normal mouse events. For example, you may see MOUSEDOWN,CONTEXTMENU,MOUSEUP or MOUSEDOWN,MOUSEUP,CONTEXTMENU.</p>
+<p>The return value from the event handler determines if the context menu event will be passed to the page when you are using filtered input events (via RequestFilteringInputEvents()). In non-filtering mode the event will never be propagated and no context menu will be displayed. If you are handling mouse events in filtering mode, you may want to return true from this event even if you do not support a context menu to suppress the default one.</p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_MOUSE class. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5a90668acda261e23721f3dd757f557031"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_IME_COMPOSITION_START" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5a90668acda261e23721f3dd757f557031" args="" -->PP_INPUTEVENT_TYPE_IME_COMPOSITION_START</em> </td><td>
+<p>Notification that an input method composition process has just started. </p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_IME class. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5a1eff5df3bb41546046f97993376607c2"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_IME_COMPOSITION_UPDATE" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5a1eff5df3bb41546046f97993376607c2" args="" -->PP_INPUTEVENT_TYPE_IME_COMPOSITION_UPDATE</em> </td><td>
+<p>Notification that the input method composition string is updated. </p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_IME class. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5a5c009302410ac6f55da4df618b2d85d5"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_IME_COMPOSITION_END" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5a5c009302410ac6f55da4df618b2d85d5" args="" -->PP_INPUTEVENT_TYPE_IME_COMPOSITION_END</em> </td><td>
+<p>Notification that an input method composition process has completed. </p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_IME class. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5a5826ba18e40265a7b74e4b3ae1fe3772"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_IME_TEXT" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5a5826ba18e40265a7b74e4b3ae1fe3772" args="" -->PP_INPUTEVENT_TYPE_IME_TEXT</em> </td><td>
+<p>Notification that an input method committed a string. </p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_IME class. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5ac604f0e894f8f9e660d36e30db16b52d"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_TOUCHSTART" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5ac604f0e894f8f9e660d36e30db16b52d" args="" -->PP_INPUTEVENT_TYPE_TOUCHSTART</em> </td><td>
+<p>Notification that a finger was placed on a touch-enabled device. </p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_TOUCH class. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5a43888c9c671ac5973f5bcea7eabcc889"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_TOUCHMOVE" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5a43888c9c671ac5973f5bcea7eabcc889" args="" -->PP_INPUTEVENT_TYPE_TOUCHMOVE</em> </td><td>
+<p>Notification that a finger was moved on a touch-enabled device. </p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_TOUCH class. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5ae1c312aafaf4caeddb1afc09e81c9655"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_TOUCHEND" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5ae1c312aafaf4caeddb1afc09e81c9655" args="" -->PP_INPUTEVENT_TYPE_TOUCHEND</em> </td><td>
+<p>Notification that a finger was released on a touch-enabled device. </p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_TOUCH class. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaca7296cfec99fcb6646b7144d1d6a0c5a78266e75562e546005eb8098f455ce91"></a><!-- doxytag: member="PP_INPUTEVENT_TYPE_TOUCHCANCEL" ref="ggaca7296cfec99fcb6646b7144d1d6a0c5a78266e75562e546005eb8098f455ce91" args="" -->PP_INPUTEVENT_TYPE_TOUCHCANCEL</em> </td><td>
+<p>Notification that a touch event was canceled. </p>
+<p>Register for this event using the PP_INPUTEVENT_CLASS_TOUCH class. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="gac39067c0883ec80b94290dd2a3bae440"></a><!-- doxytag: member="ppb_console.h::PP_LogLevel" ref="gac39067c0883ec80b94290dd2a3bae440" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#gac39067c0883ec80b94290dd2a3bae440">PP_LogLevel</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="ggac39067c0883ec80b94290dd2a3bae440afe7444b89be7688e17bd6e4f0b1d3b34"></a><!-- doxytag: member="PP_LOGLEVEL_TIP" ref="ggac39067c0883ec80b94290dd2a3bae440afe7444b89be7688e17bd6e4f0b1d3b34" args="" -->PP_LOGLEVEL_TIP</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac39067c0883ec80b94290dd2a3bae440a8c6fdcc8aa698af314fe72ebd08db32a"></a><!-- doxytag: member="PP_LOGLEVEL_LOG" ref="ggac39067c0883ec80b94290dd2a3bae440a8c6fdcc8aa698af314fe72ebd08db32a" args="" -->PP_LOGLEVEL_LOG</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac39067c0883ec80b94290dd2a3bae440a66a3c4f684827eb994093dea14284aaf"></a><!-- doxytag: member="PP_LOGLEVEL_WARNING" ref="ggac39067c0883ec80b94290dd2a3bae440a66a3c4f684827eb994093dea14284aaf" args="" -->PP_LOGLEVEL_WARNING</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac39067c0883ec80b94290dd2a3bae440a5854926dface39f205d138d9e47c37eb"></a><!-- doxytag: member="PP_LOGLEVEL_ERROR" ref="ggac39067c0883ec80b94290dd2a3bae440a5854926dface39f205d138d9e47c37eb" args="" -->PP_LOGLEVEL_ERROR</em> </td><td>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="gac53273018386c1db9542d2a06bbe118b"></a><!-- doxytag: member="ppb_mouse_cursor.h::PP_MouseCursor_Type" ref="gac53273018386c1db9542d2a06bbe118b" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#gac53273018386c1db9542d2a06bbe118b">PP_MouseCursor_Type</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <code>PP_MouseCursor_Type</code> enumeration lists the available stock cursor types. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba1360614abe2d2c3838a42238f75e9ec1"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_CUSTOM" ref="ggac53273018386c1db9542d2a06bbe118ba1360614abe2d2c3838a42238f75e9ec1" args="" -->PP_MOUSECURSOR_TYPE_CUSTOM</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba7c0a8b04f51fbf8e12abd4240fb24a9f"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_POINTER" ref="ggac53273018386c1db9542d2a06bbe118ba7c0a8b04f51fbf8e12abd4240fb24a9f" args="" -->PP_MOUSECURSOR_TYPE_POINTER</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba7ee7ede873ec3158179a1ea648bfe677"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_CROSS" ref="ggac53273018386c1db9542d2a06bbe118ba7ee7ede873ec3158179a1ea648bfe677" args="" -->PP_MOUSECURSOR_TYPE_CROSS</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba5cf81326a94c1150ce98cc15924dee69"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_HAND" ref="ggac53273018386c1db9542d2a06bbe118ba5cf81326a94c1150ce98cc15924dee69" args="" -->PP_MOUSECURSOR_TYPE_HAND</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba705545fdbd4088bf4522b32aa5815877"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_IBEAM" ref="ggac53273018386c1db9542d2a06bbe118ba705545fdbd4088bf4522b32aa5815877" args="" -->PP_MOUSECURSOR_TYPE_IBEAM</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118babf8c49b2fc9ee7208b20e7e1f96e2930"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_WAIT" ref="ggac53273018386c1db9542d2a06bbe118babf8c49b2fc9ee7208b20e7e1f96e2930" args="" -->PP_MOUSECURSOR_TYPE_WAIT</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118bacea1ebe2038e33bb649bcf8ed32f0e7e"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_HELP" ref="ggac53273018386c1db9542d2a06bbe118bacea1ebe2038e33bb649bcf8ed32f0e7e" args="" -->PP_MOUSECURSOR_TYPE_HELP</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba3efb608fc10dd3979d4bc0c41654f14b"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_EASTRESIZE" ref="ggac53273018386c1db9542d2a06bbe118ba3efb608fc10dd3979d4bc0c41654f14b" args="" -->PP_MOUSECURSOR_TYPE_EASTRESIZE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba02b638a93841e0f51d234b6643cffcd0"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_NORTHRESIZE" ref="ggac53273018386c1db9542d2a06bbe118ba02b638a93841e0f51d234b6643cffcd0" args="" -->PP_MOUSECURSOR_TYPE_NORTHRESIZE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118baceb2b9888eed1ef5fe8c5dbc94195b3a"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_NORTHEASTRESIZE" ref="ggac53273018386c1db9542d2a06bbe118baceb2b9888eed1ef5fe8c5dbc94195b3a" args="" -->PP_MOUSECURSOR_TYPE_NORTHEASTRESIZE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118bab95b486b6772a79a599c4287f966cd19"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_NORTHWESTRESIZE" ref="ggac53273018386c1db9542d2a06bbe118bab95b486b6772a79a599c4287f966cd19" args="" -->PP_MOUSECURSOR_TYPE_NORTHWESTRESIZE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118bac39262939712092e11cc4569b6cab626"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_SOUTHRESIZE" ref="ggac53273018386c1db9542d2a06bbe118bac39262939712092e11cc4569b6cab626" args="" -->PP_MOUSECURSOR_TYPE_SOUTHRESIZE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba0d7f8011aba0f13ceda6688585b725af"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_SOUTHEASTRESIZE" ref="ggac53273018386c1db9542d2a06bbe118ba0d7f8011aba0f13ceda6688585b725af" args="" -->PP_MOUSECURSOR_TYPE_SOUTHEASTRESIZE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba54f482730eba910a940e1c975f14e2a2"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_SOUTHWESTRESIZE" ref="ggac53273018386c1db9542d2a06bbe118ba54f482730eba910a940e1c975f14e2a2" args="" -->PP_MOUSECURSOR_TYPE_SOUTHWESTRESIZE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba0c8edb786c8193ef657716a358e327b6"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_WESTRESIZE" ref="ggac53273018386c1db9542d2a06bbe118ba0c8edb786c8193ef657716a358e327b6" args="" -->PP_MOUSECURSOR_TYPE_WESTRESIZE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118babf7026dfaea82565f2527ddbb0383053"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_NORTHSOUTHRESIZE" ref="ggac53273018386c1db9542d2a06bbe118babf7026dfaea82565f2527ddbb0383053" args="" -->PP_MOUSECURSOR_TYPE_NORTHSOUTHRESIZE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba98177b2980fa939ed33d41c531f06310"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_EASTWESTRESIZE" ref="ggac53273018386c1db9542d2a06bbe118ba98177b2980fa939ed33d41c531f06310" args="" -->PP_MOUSECURSOR_TYPE_EASTWESTRESIZE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118baf01a2e620b481daeb42b6344843e9e38"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_NORTHEASTSOUTHWESTRESIZE" ref="ggac53273018386c1db9542d2a06bbe118baf01a2e620b481daeb42b6344843e9e38" args="" -->PP_MOUSECURSOR_TYPE_NORTHEASTSOUTHWESTRESIZE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba05d35a31c8af640a6cf2295790e933ee"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_NORTHWESTSOUTHEASTRESIZE" ref="ggac53273018386c1db9542d2a06bbe118ba05d35a31c8af640a6cf2295790e933ee" args="" -->PP_MOUSECURSOR_TYPE_NORTHWESTSOUTHEASTRESIZE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118bab163a58c75a983ac943d39827c0976cd"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_COLUMNRESIZE" ref="ggac53273018386c1db9542d2a06bbe118bab163a58c75a983ac943d39827c0976cd" args="" -->PP_MOUSECURSOR_TYPE_COLUMNRESIZE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118bac4d90e13c8d17e32ee9498b795d2f4ca"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_ROWRESIZE" ref="ggac53273018386c1db9542d2a06bbe118bac4d90e13c8d17e32ee9498b795d2f4ca" args="" -->PP_MOUSECURSOR_TYPE_ROWRESIZE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba6dbf3de573762e2322d6e8a2392b19fb"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_MIDDLEPANNING" ref="ggac53273018386c1db9542d2a06bbe118ba6dbf3de573762e2322d6e8a2392b19fb" args="" -->PP_MOUSECURSOR_TYPE_MIDDLEPANNING</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba9fec33093306cea2ea6bb6810e8f9040"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_EASTPANNING" ref="ggac53273018386c1db9542d2a06bbe118ba9fec33093306cea2ea6bb6810e8f9040" args="" -->PP_MOUSECURSOR_TYPE_EASTPANNING</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba0805b4d3a42bb560a656247a57ed6fe0"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_NORTHPANNING" ref="ggac53273018386c1db9542d2a06bbe118ba0805b4d3a42bb560a656247a57ed6fe0" args="" -->PP_MOUSECURSOR_TYPE_NORTHPANNING</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118babeaeb782ba084c45e0d12f2bf428a9c3"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_NORTHEASTPANNING" ref="ggac53273018386c1db9542d2a06bbe118babeaeb782ba084c45e0d12f2bf428a9c3" args="" -->PP_MOUSECURSOR_TYPE_NORTHEASTPANNING</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba2590e0dc133a8b4534c475abd60c2e1d"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_NORTHWESTPANNING" ref="ggac53273018386c1db9542d2a06bbe118ba2590e0dc133a8b4534c475abd60c2e1d" args="" -->PP_MOUSECURSOR_TYPE_NORTHWESTPANNING</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118bac9ab4fdcaccb7dcf3a9e0c5edf056e92"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_SOUTHPANNING" ref="ggac53273018386c1db9542d2a06bbe118bac9ab4fdcaccb7dcf3a9e0c5edf056e92" args="" -->PP_MOUSECURSOR_TYPE_SOUTHPANNING</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118bacf7c5132070bb6fd8e86ffcafb1dd8b6"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_SOUTHEASTPANNING" ref="ggac53273018386c1db9542d2a06bbe118bacf7c5132070bb6fd8e86ffcafb1dd8b6" args="" -->PP_MOUSECURSOR_TYPE_SOUTHEASTPANNING</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118baebe615cd19bad5b076b2dd9d86dcd825"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_SOUTHWESTPANNING" ref="ggac53273018386c1db9542d2a06bbe118baebe615cd19bad5b076b2dd9d86dcd825" args="" -->PP_MOUSECURSOR_TYPE_SOUTHWESTPANNING</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba8c357f06fc1fc96c091b378d10cc4f02"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_WESTPANNING" ref="ggac53273018386c1db9542d2a06bbe118ba8c357f06fc1fc96c091b378d10cc4f02" args="" -->PP_MOUSECURSOR_TYPE_WESTPANNING</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118bab6757be35df5a1e246b3ce8b80c92fbd"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_MOVE" ref="ggac53273018386c1db9542d2a06bbe118bab6757be35df5a1e246b3ce8b80c92fbd" args="" -->PP_MOUSECURSOR_TYPE_MOVE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba52c5c4259a391557c045b0b82cc0a1fa"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_VERTICALTEXT" ref="ggac53273018386c1db9542d2a06bbe118ba52c5c4259a391557c045b0b82cc0a1fa" args="" -->PP_MOUSECURSOR_TYPE_VERTICALTEXT</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba62afaa44930d75f750fdf28199511194"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_CELL" ref="ggac53273018386c1db9542d2a06bbe118ba62afaa44930d75f750fdf28199511194" args="" -->PP_MOUSECURSOR_TYPE_CELL</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118bad73cecab74f94844438e494ff1439b9f"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_CONTEXTMENU" ref="ggac53273018386c1db9542d2a06bbe118bad73cecab74f94844438e494ff1439b9f" args="" -->PP_MOUSECURSOR_TYPE_CONTEXTMENU</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118baca9b4bef41f4c4bd90e81573357b137c"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_ALIAS" ref="ggac53273018386c1db9542d2a06bbe118baca9b4bef41f4c4bd90e81573357b137c" args="" -->PP_MOUSECURSOR_TYPE_ALIAS</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118babda91fe9ce56b304d95a1ce01fbe8084"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_PROGRESS" ref="ggac53273018386c1db9542d2a06bbe118babda91fe9ce56b304d95a1ce01fbe8084" args="" -->PP_MOUSECURSOR_TYPE_PROGRESS</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba1c6cb6e16ac90b8829175e8af9a4a72d"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_NODROP" ref="ggac53273018386c1db9542d2a06bbe118ba1c6cb6e16ac90b8829175e8af9a4a72d" args="" -->PP_MOUSECURSOR_TYPE_NODROP</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118bacee11626427a6fa36653243c4d551608"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_COPY" ref="ggac53273018386c1db9542d2a06bbe118bacee11626427a6fa36653243c4d551608" args="" -->PP_MOUSECURSOR_TYPE_COPY</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba7a9b1b3187b0bd011b5e19380d4fd698"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_NONE" ref="ggac53273018386c1db9542d2a06bbe118ba7a9b1b3187b0bd011b5e19380d4fd698" args="" -->PP_MOUSECURSOR_TYPE_NONE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba7d10d5fcc4d9e6aaed4af83246de15a0"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_NOTALLOWED" ref="ggac53273018386c1db9542d2a06bbe118ba7d10d5fcc4d9e6aaed4af83246de15a0" args="" -->PP_MOUSECURSOR_TYPE_NOTALLOWED</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba203b038de96b903e253e29aea5a66460"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_ZOOMIN" ref="ggac53273018386c1db9542d2a06bbe118ba203b038de96b903e253e29aea5a66460" args="" -->PP_MOUSECURSOR_TYPE_ZOOMIN</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118ba797321d4cad9a863a5338318912f3a98"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_ZOOMOUT" ref="ggac53273018386c1db9542d2a06bbe118ba797321d4cad9a863a5338318912f3a98" args="" -->PP_MOUSECURSOR_TYPE_ZOOMOUT</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118bafc45b71a6185639e12ac2827a641bdaa"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_GRAB" ref="ggac53273018386c1db9542d2a06bbe118bafc45b71a6185639e12ac2827a641bdaa" args="" -->PP_MOUSECURSOR_TYPE_GRAB</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggac53273018386c1db9542d2a06bbe118baa242aeb17b35d8e44e449786a2cbcd1c"></a><!-- doxytag: member="PP_MOUSECURSOR_TYPE_GRABBING" ref="ggac53273018386c1db9542d2a06bbe118baa242aeb17b35d8e44e449786a2cbcd1c" args="" -->PP_MOUSECURSOR_TYPE_GRABBING</em> </td><td>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga43636bcadf9aa312a4c345d210ae6c55"></a><!-- doxytag: member="ppb_net_address.h::PP_NetAddress_Family" ref="ga43636bcadf9aa312a4c345d210ae6c55" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga43636bcadf9aa312a4c345d210ae6c55">PP_NetAddress_Family</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Network address family types. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga43636bcadf9aa312a4c345d210ae6c55a2aef50ef77ad0122b649f0b9ac4c41bc"></a><!-- doxytag: member="PP_NETADDRESS_FAMILY_UNSPECIFIED" ref="gga43636bcadf9aa312a4c345d210ae6c55a2aef50ef77ad0122b649f0b9ac4c41bc" args="" -->PP_NETADDRESS_FAMILY_UNSPECIFIED</em> </td><td>
+<p>The address family is unspecified. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga43636bcadf9aa312a4c345d210ae6c55a054684e064e8d819f8b2d80640196585"></a><!-- doxytag: member="PP_NETADDRESS_FAMILY_IPV4" ref="gga43636bcadf9aa312a4c345d210ae6c55a054684e064e8d819f8b2d80640196585" args="" -->PP_NETADDRESS_FAMILY_IPV4</em> </td><td>
+<p>The Internet Protocol version 4 (IPv4) address family. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga43636bcadf9aa312a4c345d210ae6c55aa70bb3acced932eb4fe7df3aae85c27a"></a><!-- doxytag: member="PP_NETADDRESS_FAMILY_IPV6" ref="gga43636bcadf9aa312a4c345d210ae6c55aa70bb3acced932eb4fe7df3aae85c27a" args="" -->PP_NETADDRESS_FAMILY_IPV6</em> </td><td>
+<p>The Internet Protocol version 6 (IPv6) address family. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga9188881b5d3346626db0ea8e6aaecf1f"></a><!-- doxytag: member="ppb_network_list.h::PP_NetworkList_State" ref="ga9188881b5d3346626db0ea8e6aaecf1f" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga9188881b5d3346626db0ea8e6aaecf1f">PP_NetworkList_State</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>State of a network interface. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga9188881b5d3346626db0ea8e6aaecf1fa561469f97b38b69868d1cce1142722b6"></a><!-- doxytag: member="PP_NETWORKLIST_STATE_DOWN" ref="gga9188881b5d3346626db0ea8e6aaecf1fa561469f97b38b69868d1cce1142722b6" args="" -->PP_NETWORKLIST_STATE_DOWN</em> </td><td>
+<p>Network interface is down. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga9188881b5d3346626db0ea8e6aaecf1fa3b4b789d490cd2d3119a188a79eca0f6"></a><!-- doxytag: member="PP_NETWORKLIST_STATE_UP" ref="gga9188881b5d3346626db0ea8e6aaecf1fa3b4b789d490cd2d3119a188a79eca0f6" args="" -->PP_NETWORKLIST_STATE_UP</em> </td><td>
+<p>Network interface is up. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga1c967cb753eb468493b3bf72e6733983"></a><!-- doxytag: member="ppb_network_list.h::PP_NetworkList_Type" ref="ga1c967cb753eb468493b3bf72e6733983" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga1c967cb753eb468493b3bf72e6733983">PP_NetworkList_Type</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Type of a network interface. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga1c967cb753eb468493b3bf72e6733983a6d8ddd32de577965df0d44df0e0acfdd"></a><!-- doxytag: member="PP_NETWORKLIST_TYPE_UNKNOWN" ref="gga1c967cb753eb468493b3bf72e6733983a6d8ddd32de577965df0d44df0e0acfdd" args="" -->PP_NETWORKLIST_TYPE_UNKNOWN</em> </td><td>
+<p>Type of the network interface is not known. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga1c967cb753eb468493b3bf72e6733983a6eaef40fe1d62ca5bcfcc1974adc29f9"></a><!-- doxytag: member="PP_NETWORKLIST_TYPE_ETHERNET" ref="gga1c967cb753eb468493b3bf72e6733983a6eaef40fe1d62ca5bcfcc1974adc29f9" args="" -->PP_NETWORKLIST_TYPE_ETHERNET</em> </td><td>
+<p>Wired Ethernet network. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga1c967cb753eb468493b3bf72e6733983a9a47925bee0d3bd71739475b4c5654ed"></a><!-- doxytag: member="PP_NETWORKLIST_TYPE_WIFI" ref="gga1c967cb753eb468493b3bf72e6733983a9a47925bee0d3bd71739475b4c5654ed" args="" -->PP_NETWORKLIST_TYPE_WIFI</em> </td><td>
+<p>Wireless Wi-Fi network. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga1c967cb753eb468493b3bf72e6733983ab1c83c6942b208101789971522b3a8c9"></a><!-- doxytag: member="PP_NETWORKLIST_TYPE_CELLULAR" ref="gga1c967cb753eb468493b3bf72e6733983ab1c83c6942b208101789971522b3a8c9" args="" -->PP_NETWORKLIST_TYPE_CELLULAR</em> </td><td>
+<p>Cellular network (e.g. </p>
+<p>LTE). </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga1557c0bbce8739a3418e6027a9c44e12"></a><!-- doxytag: member="ppb_tcp_socket.h::PP_TCPSocket_Option" ref="ga1557c0bbce8739a3418e6027a9c44e12" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga1557c0bbce8739a3418e6027a9c44e12">PP_TCPSocket_Option</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Option names used by <code>SetOption()</code>. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga1557c0bbce8739a3418e6027a9c44e12a4b17558654d1df4452aa98f7d2609a10"></a><!-- doxytag: member="PP_TCPSOCKET_OPTION_NO_DELAY" ref="gga1557c0bbce8739a3418e6027a9c44e12a4b17558654d1df4452aa98f7d2609a10" args="" -->PP_TCPSOCKET_OPTION_NO_DELAY</em> </td><td>
+<p>Disables coalescing of small writes to make TCP segments, and instead delivers data immediately. </p>
+<p>Value's type is <code>PP_VARTYPE_BOOL</code>. This option can only be set after a successful <code>Connect()</code> call. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga1557c0bbce8739a3418e6027a9c44e12a61ce27ba7853d05f7af51be1bed5d1a6"></a><!-- doxytag: member="PP_TCPSOCKET_OPTION_SEND_BUFFER_SIZE" ref="gga1557c0bbce8739a3418e6027a9c44e12a61ce27ba7853d05f7af51be1bed5d1a6" args="" -->PP_TCPSOCKET_OPTION_SEND_BUFFER_SIZE</em> </td><td>
+<p>Specifies the total per-socket buffer space reserved for sends. </p>
+<p>Value's type should be <code>PP_VARTYPE_INT32</code>. This option can only be set after a successful <code>Connect()</code> call.</p>
+<p>Note: This is only treated as a hint for the browser to set the buffer size. Even if <code>SetOption()</code> succeeds, the browser doesn't guarantee it will conform to the size. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga1557c0bbce8739a3418e6027a9c44e12aef57736e294acb30fb7b3b2f4a425f72"></a><!-- doxytag: member="PP_TCPSOCKET_OPTION_RECV_BUFFER_SIZE" ref="gga1557c0bbce8739a3418e6027a9c44e12aef57736e294acb30fb7b3b2f4a425f72" args="" -->PP_TCPSOCKET_OPTION_RECV_BUFFER_SIZE</em> </td><td>
+<p>Specifies the total per-socket buffer space reserved for receives. </p>
+<p>Value's type should be <code>PP_VARTYPE_INT32</code>. This option can only be set after a successful <code>Connect()</code> call.</p>
+<p>Note: This is only treated as a hint for the browser to set the buffer size. Even if <code>SetOption()</code> succeeds, the browser doesn't guarantee it will conform to the size. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga5fef49ee4c2cc6dcead825340da0f116"></a><!-- doxytag: member="ppb_text_input_controller.h::PP_TextInput_Type" ref="ga5fef49ee4c2cc6dcead825340da0f116" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga5fef49ee4c2cc6dcead825340da0f116">PP_TextInput_Type</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>PP_TextInput_Type is used to indicate the status of a plugin in regard to text input. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga5fef49ee4c2cc6dcead825340da0f116a0d75c884156553959d65252e65aa0916"></a><!-- doxytag: member="PP_TEXTINPUT_TYPE_NONE" ref="gga5fef49ee4c2cc6dcead825340da0f116a0d75c884156553959d65252e65aa0916" args="" -->PP_TEXTINPUT_TYPE_NONE</em> </td><td>
+<p>Input caret is not in an editable mode, no input method shall be used. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga5fef49ee4c2cc6dcead825340da0f116a0e5e4072fce915eca7e4dfd7c639626c"></a><!-- doxytag: member="PP_TEXTINPUT_TYPE_TEXT" ref="gga5fef49ee4c2cc6dcead825340da0f116a0e5e4072fce915eca7e4dfd7c639626c" args="" -->PP_TEXTINPUT_TYPE_TEXT</em> </td><td>
+<p>Input caret is in a normal editable mode, any input method can be used. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga5fef49ee4c2cc6dcead825340da0f116a00f508676278dd45e0335a8d5d715114"></a><!-- doxytag: member="PP_TEXTINPUT_TYPE_PASSWORD" ref="gga5fef49ee4c2cc6dcead825340da0f116a00f508676278dd45e0335a8d5d715114" args="" -->PP_TEXTINPUT_TYPE_PASSWORD</em> </td><td>
+<p>Input caret is in a password box, an input method may be used only if it's suitable for password input. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga5fef49ee4c2cc6dcead825340da0f116a0d7975532097315f198617ad5e59bc32"></a><!-- doxytag: member="PP_TEXTINPUT_TYPE_SEARCH" ref="gga5fef49ee4c2cc6dcead825340da0f116a0d7975532097315f198617ad5e59bc32" args="" -->PP_TEXTINPUT_TYPE_SEARCH</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga5fef49ee4c2cc6dcead825340da0f116a027963b61eb55438f92662e72e939cf8"></a><!-- doxytag: member="PP_TEXTINPUT_TYPE_EMAIL" ref="gga5fef49ee4c2cc6dcead825340da0f116a027963b61eb55438f92662e72e939cf8" args="" -->PP_TEXTINPUT_TYPE_EMAIL</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga5fef49ee4c2cc6dcead825340da0f116af71a3fb3f651ad5b417592433278fd1e"></a><!-- doxytag: member="PP_TEXTINPUT_TYPE_NUMBER" ref="gga5fef49ee4c2cc6dcead825340da0f116af71a3fb3f651ad5b417592433278fd1e" args="" -->PP_TEXTINPUT_TYPE_NUMBER</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga5fef49ee4c2cc6dcead825340da0f116a181e9bd71e6a97acd6c5dace9f0b5fb3"></a><!-- doxytag: member="PP_TEXTINPUT_TYPE_TELEPHONE" ref="gga5fef49ee4c2cc6dcead825340da0f116a181e9bd71e6a97acd6c5dace9f0b5fb3" args="" -->PP_TEXTINPUT_TYPE_TELEPHONE</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga5fef49ee4c2cc6dcead825340da0f116ad4371ecdd1a6631a78d4721d83062394"></a><!-- doxytag: member="PP_TEXTINPUT_TYPE_URL" ref="gga5fef49ee4c2cc6dcead825340da0f116ad4371ecdd1a6631a78d4721d83062394" args="" -->PP_TEXTINPUT_TYPE_URL</em> </td><td>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="gad5885a239d04166c8777432c81e39d0a"></a><!-- doxytag: member="ppb_input_event.h::PP_TouchListType" ref="gad5885a239d04166c8777432c81e39d0a" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#gad5885a239d04166c8777432c81e39d0a">PP_TouchListType</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="ggad5885a239d04166c8777432c81e39d0aa739dfd65f4cd719996f20bdd2e7db4ca"></a><!-- doxytag: member="PP_TOUCHLIST_TYPE_TOUCHES" ref="ggad5885a239d04166c8777432c81e39d0aa739dfd65f4cd719996f20bdd2e7db4ca" args="" -->PP_TOUCHLIST_TYPE_TOUCHES</em> </td><td>
+<p>The list of all TouchPoints which are currently down. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggad5885a239d04166c8777432c81e39d0aa89d31d55d67fa0746d1f3bf4050eafff"></a><!-- doxytag: member="PP_TOUCHLIST_TYPE_CHANGEDTOUCHES" ref="ggad5885a239d04166c8777432c81e39d0aa89d31d55d67fa0746d1f3bf4050eafff" args="" -->PP_TOUCHLIST_TYPE_CHANGEDTOUCHES</em> </td><td>
+<p>The list of all TouchPoints whose state has changed since the last TouchInputEvent. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggad5885a239d04166c8777432c81e39d0aa0682e6c428fed9b900e3d9e56aaa8fca"></a><!-- doxytag: member="PP_TOUCHLIST_TYPE_TARGETTOUCHES" ref="ggad5885a239d04166c8777432c81e39d0aa0682e6c428fed9b900e3d9e56aaa8fca" args="" -->PP_TOUCHLIST_TYPE_TARGETTOUCHES</em> </td><td>
+<p>The list of all TouchPoints which are targeting this plugin. </p>
+<p>This is a subset of Touches. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga1a8472fa3e7150615c45c38fa8c12ce2"></a><!-- doxytag: member="ppb_udp_socket.h::PP_UDPSocket_Option" ref="ga1a8472fa3e7150615c45c38fa8c12ce2" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga1a8472fa3e7150615c45c38fa8c12ce2">PP_UDPSocket_Option</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Option names used by <code>SetOption()</code>. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga1a8472fa3e7150615c45c38fa8c12ce2a79568403b8927bf98bea0f2d38469984"></a><!-- doxytag: member="PP_UDPSOCKET_OPTION_ADDRESS_REUSE" ref="gga1a8472fa3e7150615c45c38fa8c12ce2a79568403b8927bf98bea0f2d38469984" args="" -->PP_UDPSOCKET_OPTION_ADDRESS_REUSE</em> </td><td>
+<p>Allows the socket to share the local address to which it will be bound with other processes. </p>
+<p>Value's type should be <code>PP_VARTYPE_BOOL</code>. This option can only be set before calling <code>Bind()</code>. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga1a8472fa3e7150615c45c38fa8c12ce2aeceda8fe978a52382b96939de7707c00"></a><!-- doxytag: member="PP_UDPSOCKET_OPTION_BROADCAST" ref="gga1a8472fa3e7150615c45c38fa8c12ce2aeceda8fe978a52382b96939de7707c00" args="" -->PP_UDPSOCKET_OPTION_BROADCAST</em> </td><td>
+<p>Allows sending and receiving packets to and from broadcast addresses. </p>
+<p>Value's type should be <code>PP_VARTYPE_BOOL</code>. This option can only be set before calling <code>Bind()</code>. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga1a8472fa3e7150615c45c38fa8c12ce2a905f0adde2912a5db26883d45fb75d57"></a><!-- doxytag: member="PP_UDPSOCKET_OPTION_SEND_BUFFER_SIZE" ref="gga1a8472fa3e7150615c45c38fa8c12ce2a905f0adde2912a5db26883d45fb75d57" args="" -->PP_UDPSOCKET_OPTION_SEND_BUFFER_SIZE</em> </td><td>
+<p>Specifies the total per-socket buffer space reserved for sends. </p>
+<p>Value's type should be <code>PP_VARTYPE_INT32</code>. This option can only be set after a successful <code>Bind()</code> call.</p>
+<p>Note: This is only treated as a hint for the browser to set the buffer size. Even if <code>SetOption()</code> succeeds, the browser doesn't guarantee it will conform to the size. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga1a8472fa3e7150615c45c38fa8c12ce2a1264eb1d6d16eb3a074ee3d21ebb3b64"></a><!-- doxytag: member="PP_UDPSOCKET_OPTION_RECV_BUFFER_SIZE" ref="gga1a8472fa3e7150615c45c38fa8c12ce2a1264eb1d6d16eb3a074ee3d21ebb3b64" args="" -->PP_UDPSOCKET_OPTION_RECV_BUFFER_SIZE</em> </td><td>
+<p>Specifies the total per-socket buffer space reserved for receives. </p>
+<p>Value's type should be <code>PP_VARTYPE_INT32</code>. This option can only be set after a successful <code>Bind()</code> call.</p>
+<p>Note: This is only treated as a hint for the browser to set the buffer size. Even if <code>SetOption()</code> succeeds, the browser doesn't guarantee it will conform to the size. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga41975630f0a4c49e47d4a21754f8402d"></a><!-- doxytag: member="ppb_url_request_info.h::PP_URLRequestProperty" ref="ga41975630f0a4c49e47d4a21754f8402d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga41975630f0a4c49e47d4a21754f8402d">PP_URLRequestProperty</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This enumeration contains properties that can be set on a URL request. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga41975630f0a4c49e47d4a21754f8402da89e44812e771fed9df0ff8994690e44d"></a><!-- doxytag: member="PP_URLREQUESTPROPERTY_URL" ref="gga41975630f0a4c49e47d4a21754f8402da89e44812e771fed9df0ff8994690e44d" args="" -->PP_URLREQUESTPROPERTY_URL</em> </td><td>
+<p>This corresponds to a string (<code>PP_VARTYPE_STRING</code>). </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga41975630f0a4c49e47d4a21754f8402da9cb5229069aac201622dbaa9cbca592c"></a><!-- doxytag: member="PP_URLREQUESTPROPERTY_METHOD" ref="gga41975630f0a4c49e47d4a21754f8402da9cb5229069aac201622dbaa9cbca592c" args="" -->PP_URLREQUESTPROPERTY_METHOD</em> </td><td>
+<p>This corresponds to a string (<code>PP_VARTYPE_STRING</code>); either POST or GET. </p>
+<p>Refer to the <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html">HTTP Methods</a> documentation for further information. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga41975630f0a4c49e47d4a21754f8402dac4b3809e34561a77c75b31eac1589e8d"></a><!-- doxytag: member="PP_URLREQUESTPROPERTY_HEADERS" ref="gga41975630f0a4c49e47d4a21754f8402dac4b3809e34561a77c75b31eac1589e8d" args="" -->PP_URLREQUESTPROPERTY_HEADERS</em> </td><td>
+<p>This corresponds to a string (<code>PP_VARTYPE_STRING</code>); <br />
+ delimited. </p>
+<p>Refer to the <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html"Header Field Definitions documentation for further information. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga41975630f0a4c49e47d4a21754f8402dac43d267f888233c994bd1ca2b5b6b249"></a><!-- doxytag: member="PP_URLREQUESTPROPERTY_STREAMTOFILE" ref="gga41975630f0a4c49e47d4a21754f8402dac43d267f888233c994bd1ca2b5b6b249" args="" -->PP_URLREQUESTPROPERTY_STREAMTOFILE</em> </td><td>
+<p>This corresponds to a <code>PP_Bool</code> (<code>PP_VARTYPE_BOOL</code>; default=<code>PP_FALSE</code>). </p>
+<p>Set this value to <code>PP_TRUE</code> if you want to download the data to a file. Use <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a187774b3255231fa00ad1fe1364677ff" title="FinishStreamingToFile() is used to wait for the response body to be completely downloaded to the file...">PPB_URLLoader.FinishStreamingToFile()</a> to complete the download. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga41975630f0a4c49e47d4a21754f8402da5f1270ecf041c6c0a6ef351eb0c12127"></a><!-- doxytag: member="PP_URLREQUESTPROPERTY_FOLLOWREDIRECTS" ref="gga41975630f0a4c49e47d4a21754f8402da5f1270ecf041c6c0a6ef351eb0c12127" args="" -->PP_URLREQUESTPROPERTY_FOLLOWREDIRECTS</em> </td><td>
+<p>This corresponds to a <code>PP_Bool</code> (<code>PP_VARTYPE_BOOL</code>; default=<code>PP_TRUE</code>). </p>
+<p>Set this value to <code>PP_FALSE</code> if you want to use PPB_URLLoader.FollowRedirects() to follow the redirects only after examining redirect headers. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga41975630f0a4c49e47d4a21754f8402da6846ea1e9c4ef7e09ea0f330a90cb7a6"></a><!-- doxytag: member="PP_URLREQUESTPROPERTY_RECORDDOWNLOADPROGRESS" ref="gga41975630f0a4c49e47d4a21754f8402da6846ea1e9c4ef7e09ea0f330a90cb7a6" args="" -->PP_URLREQUESTPROPERTY_RECORDDOWNLOADPROGRESS</em> </td><td>
+<p>This corresponds to a <code>PP_Bool</code> (<code>PP_VARTYPE_BOOL</code>; default=<code>PP_FALSE</code>). </p>
+<p>Set this value to <code>PP_TRUE</code> if you want to be able to poll the download progress using <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a3673506c6e0e23287b7d10e1163a0bbe" title="GetDownloadProgress() returns the current download progress, which is meaningful after Open() has bee...">PPB_URLLoader.GetDownloadProgress()</a>. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga41975630f0a4c49e47d4a21754f8402da9202c5a8c6afdc6fa9808ab21b95376c"></a><!-- doxytag: member="PP_URLREQUESTPROPERTY_RECORDUPLOADPROGRESS" ref="gga41975630f0a4c49e47d4a21754f8402da9202c5a8c6afdc6fa9808ab21b95376c" args="" -->PP_URLREQUESTPROPERTY_RECORDUPLOADPROGRESS</em> </td><td>
+<p>This corresponds to a <code>PP_Bool</code> (default=<code>PP_FALSE</code>). </p>
+<p>Set this value to <code>PP_TRUE</code> if you want to be able to poll the upload progress using <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#abb04744dfe5fce11e46c0e7e36c30b65" title="GetUploadProgress() returns the current upload progress (which is meaningful after Open() has been ca...">PPB_URLLoader.GetUploadProgress()</a>. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga41975630f0a4c49e47d4a21754f8402da6130d3b9dc8ae434752612ef155e3a38"></a><!-- doxytag: member="PP_URLREQUESTPROPERTY_CUSTOMREFERRERURL" ref="gga41975630f0a4c49e47d4a21754f8402da6130d3b9dc8ae434752612ef155e3a38" args="" -->PP_URLREQUESTPROPERTY_CUSTOMREFERRERURL</em> </td><td>
+<p>This corresponds to a string (<code>PP_VARTYPE_STRING)</code> or may be undefined (<code>PP_VARTYPE_UNDEFINED</code>; default). </p>
+<p>Set it to a string to set a custom referrer (if empty, the referrer header will be omitted), or to undefined to use the default referrer. Only loaders with universal access (only available on trusted implementations) will accept <code>URLRequestInfo</code> objects that try to set a custom referrer; if given to a loader without universal access, <code>PP_ERROR_NOACCESS</code> will result. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga41975630f0a4c49e47d4a21754f8402da23f6523485b5bedf17882fb7a8796c03"></a><!-- doxytag: member="PP_URLREQUESTPROPERTY_ALLOWCROSSORIGINREQUESTS" ref="gga41975630f0a4c49e47d4a21754f8402da23f6523485b5bedf17882fb7a8796c03" args="" -->PP_URLREQUESTPROPERTY_ALLOWCROSSORIGINREQUESTS</em> </td><td>
+<p>This corresponds to a <code>PP_Bool</code> (<code>PP_VARTYPE_BOOL</code>; default=<code>PP_FALSE</code>). </p>
+<p>Whether cross-origin requests are allowed. Cross-origin requests are made using the CORS (Cross-Origin Resource Sharing) algorithm to check whether the request should be allowed. For the complete CORS algorithm, refer to the <a href="http://www.w3.org/TR/access-control">Cross-Origin Resource Sharing</a> documentation. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga41975630f0a4c49e47d4a21754f8402da7da4140fde998f227f82d8064e9f5460"></a><!-- doxytag: member="PP_URLREQUESTPROPERTY_ALLOWCREDENTIALS" ref="gga41975630f0a4c49e47d4a21754f8402da7da4140fde998f227f82d8064e9f5460" args="" -->PP_URLREQUESTPROPERTY_ALLOWCREDENTIALS</em> </td><td>
+<p>This corresponds to a <code>PP_Bool</code> (<code>PP_VARTYPE_BOOL</code>; default=<code>PP_FALSE</code>). </p>
+<p>Whether HTTP credentials are sent with cross-origin requests. If false, no credentials are sent with the request and cookies are ignored in the response. If the request is not cross-origin, this property is ignored. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga41975630f0a4c49e47d4a21754f8402da094e978814d887d1888a2652aa91fc8b"></a><!-- doxytag: member="PP_URLREQUESTPROPERTY_CUSTOMCONTENTTRANSFERENCODING" ref="gga41975630f0a4c49e47d4a21754f8402da094e978814d887d1888a2652aa91fc8b" args="" -->PP_URLREQUESTPROPERTY_CUSTOMCONTENTTRANSFERENCODING</em> </td><td>
+<p>This corresponds to a string (<code>PP_VARTYPE_STRING</code>) or may be undefined (<code>PP_VARTYPE_UNDEFINED</code>; default). </p>
+<p>Set it to a string to set a custom content-transfer-encoding header (if empty, that header will be omitted), or to undefined to use the default (if any). Only loaders with universal access (only available on trusted implementations) will accept <code>URLRequestInfo</code> objects that try to set a custom content transfer encoding; if given to a loader without universal access, <code>PP_ERROR_NOACCESS</code> will result. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga41975630f0a4c49e47d4a21754f8402da69ab9c81542c755313fc906d27396a9e"></a><!-- doxytag: member="PP_URLREQUESTPROPERTY_PREFETCHBUFFERUPPERTHRESHOLD" ref="gga41975630f0a4c49e47d4a21754f8402da69ab9c81542c755313fc906d27396a9e" args="" -->PP_URLREQUESTPROPERTY_PREFETCHBUFFERUPPERTHRESHOLD</em> </td><td>
+<p>This corresponds to an integer (<code>PP_VARTYPE_INT32</code>); default is not defined and is set by the browser, possibly depending on system capabilities. </p>
+<p>Set it to an integer to set an upper threshold for the prefetched buffer of an asynchronous load. When exceeded, the browser will defer loading until <code>PP_URLREQUESTPROPERTY_PREFETCHBUFFERLOWERERTHRESHOLD</code> is hit, at which time it will begin prefetching again. When setting this property, <code>PP_URLREQUESTPROPERTY_PREFETCHBUFFERLOWERERTHRESHOLD</code> must also be set. Behavior is undefined if the former is <= the latter. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga41975630f0a4c49e47d4a21754f8402da8529403a539c1f604f8b0507078d804d"></a><!-- doxytag: member="PP_URLREQUESTPROPERTY_PREFETCHBUFFERLOWERTHRESHOLD" ref="gga41975630f0a4c49e47d4a21754f8402da8529403a539c1f604f8b0507078d804d" args="" -->PP_URLREQUESTPROPERTY_PREFETCHBUFFERLOWERTHRESHOLD</em> </td><td>
+<p>This corresponds to an integer (<code>PP_VARTYPE_INT32</code>); default is not defined and is set by the browser to a value appropriate for the default <code>PP_URLREQUESTPROPERTY_PREFETCHBUFFERUPPERTHRESHOLD</code>. </p>
+<p>Set it to an integer to set a lower threshold for the prefetched buffer of an asynchronous load. When reached, the browser will resume loading if If <code>PP_URLREQUESTPROPERTY_PREFETCHBUFFERLOWERERTHRESHOLD</code> had previously been reached. When setting this property, <code>PP_URLREQUESTPROPERTY_PREFETCHBUFFERUPPERTHRESHOLD</code> must also be set. Behavior is undefined if the former is >= the latter. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga41975630f0a4c49e47d4a21754f8402dacf34504e827fdce2895f2b504cdd0653"></a><!-- doxytag: member="PP_URLREQUESTPROPERTY_CUSTOMUSERAGENT" ref="gga41975630f0a4c49e47d4a21754f8402dacf34504e827fdce2895f2b504cdd0653" args="" -->PP_URLREQUESTPROPERTY_CUSTOMUSERAGENT</em> </td><td>
+<p>This corresponds to a string (<code>PP_VARTYPE_STRING</code>) or may be undefined (<code>PP_VARTYPE_UNDEFINED</code>; default). </p>
+<p>Set it to a string to set a custom user-agent header (if empty, that header will be omitted), or to undefined to use the default. Only loaders with universal access (only available on trusted implementations) will accept <code>URLRequestInfo</code> objects that try to set a custom user agent; if given to a loader without universal access, <code>PP_ERROR_NOACCESS</code> will result. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga642e6199b27df69aad84aff5597041e0"></a><!-- doxytag: member="ppb_url_response_info.h::PP_URLResponseProperty" ref="ga642e6199b27df69aad84aff5597041e0" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga642e6199b27df69aad84aff5597041e0">PP_URLResponseProperty</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This enumeration contains properties set on a URL response. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga642e6199b27df69aad84aff5597041e0a805e0970808bd8d36cb02171dca7a734"></a><!-- doxytag: member="PP_URLRESPONSEPROPERTY_URL" ref="gga642e6199b27df69aad84aff5597041e0a805e0970808bd8d36cb02171dca7a734" args="" -->PP_URLRESPONSEPROPERTY_URL</em> </td><td>
+<p>This corresponds to a string (PP_VARTYPE_STRING); an absolute URL formed by resolving the relative request URL with the absolute document URL. </p>
+<p>Refer to the <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html#sec5.1.2">HTTP Request URI</a> and <a href="http://www.w3.org/TR/html4/struct/links.html#h-12.4.1">HTML Resolving Relative URIs</a> documentation for further information. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga642e6199b27df69aad84aff5597041e0aaaba524cc005207e2f226400e6a14d8e"></a><!-- doxytag: member="PP_URLRESPONSEPROPERTY_REDIRECTURL" ref="gga642e6199b27df69aad84aff5597041e0aaaba524cc005207e2f226400e6a14d8e" args="" -->PP_URLRESPONSEPROPERTY_REDIRECTURL</em> </td><td>
+<p>This corresponds to a string (PP_VARTYPE_STRING); the absolute URL returned in the response header's 'Location' field if this is a redirect response, an empty string otherwise. </p>
+<p>Refer to the <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3">HTTP Status Codes - Redirection</a> documentation for further information. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga642e6199b27df69aad84aff5597041e0abc45cd41ad54d2350626651b34db6927"></a><!-- doxytag: member="PP_URLRESPONSEPROPERTY_REDIRECTMETHOD" ref="gga642e6199b27df69aad84aff5597041e0abc45cd41ad54d2350626651b34db6927" args="" -->PP_URLRESPONSEPROPERTY_REDIRECTMETHOD</em> </td><td>
+<p>This corresponds to a string (PP_VARTYPE_STRING); the HTTP method to be used in a new request if this is a redirect response, an empty string otherwise. </p>
+<p>Refer to the <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3">HTTP Status Codes - Redirection</a> documentation for further information. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga642e6199b27df69aad84aff5597041e0abc04191395637d0a4858657f2edd1ce3"></a><!-- doxytag: member="PP_URLRESPONSEPROPERTY_STATUSCODE" ref="gga642e6199b27df69aad84aff5597041e0abc04191395637d0a4858657f2edd1ce3" args="" -->PP_URLRESPONSEPROPERTY_STATUSCODE</em> </td><td>
+<p>This corresponds to an int32 (PP_VARETYPE_INT32); the status code from the response, e.g., 200 if the request was successful. </p>
+<p>Refer to the <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html#sec6.1.1">HTTP Status Code and Reason Phrase</a> documentation for further information. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga642e6199b27df69aad84aff5597041e0a0224e3907e7efc9ff8d916b0cb7b3287"></a><!-- doxytag: member="PP_URLRESPONSEPROPERTY_STATUSLINE" ref="gga642e6199b27df69aad84aff5597041e0a0224e3907e7efc9ff8d916b0cb7b3287" args="" -->PP_URLRESPONSEPROPERTY_STATUSLINE</em> </td><td>
+<p>This corresponds to a string (PP_VARTYPE_STRING); the status line from the response. </p>
+<p>Refer to the <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html#sec6.1">HTTP Response Status Line</a> documentation for further information. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga642e6199b27df69aad84aff5597041e0a45c014f3cb40e884677387855c3d977b"></a><!-- doxytag: member="PP_URLRESPONSEPROPERTY_HEADERS" ref="gga642e6199b27df69aad84aff5597041e0a45c014f3cb40e884677387855c3d977b" args="" -->PP_URLRESPONSEPROPERTY_HEADERS</em> </td><td>
+<p>This corresponds to a string(PP_VARTYPE_STRING), a <br />
+-delimited list of header field/value pairs of the form "field: value", returned by the server. </p>
+<p>Refer to the <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14">HTTP Header Field Definitions</a> documentation for further information. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga9815041477d810724e44da862f9852ed"></a><!-- doxytag: member="pp_var.h::PP_VarType" ref="ga9815041477d810724e44da862f9852ed" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga9815041477d810724e44da862f9852ed">PP_VarType</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <code>PP_VarType</code> is an enumeration of the different types that can be contained within a <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> structure. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga9815041477d810724e44da862f9852eda499cc75cc2a3a16632b6f0e38172fce7"></a><!-- doxytag: member="PP_VARTYPE_UNDEFINED" ref="gga9815041477d810724e44da862f9852eda499cc75cc2a3a16632b6f0e38172fce7" args="" -->PP_VARTYPE_UNDEFINED</em> </td><td>
+<p>An undefined value. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga9815041477d810724e44da862f9852edabfa22cf2659270ee5d4c1ff4eabf6e67"></a><!-- doxytag: member="PP_VARTYPE_NULL" ref="gga9815041477d810724e44da862f9852edabfa22cf2659270ee5d4c1ff4eabf6e67" args="" -->PP_VARTYPE_NULL</em> </td><td>
+<p>A NULL value. </p>
+<p>This is similar to undefined, but JavaScript differentiates the two so it is exposed here as well. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga9815041477d810724e44da862f9852edad1a70cd8b8b8b815687c3234f40513b5"></a><!-- doxytag: member="PP_VARTYPE_BOOL" ref="gga9815041477d810724e44da862f9852edad1a70cd8b8b8b815687c3234f40513b5" args="" -->PP_VARTYPE_BOOL</em> </td><td>
+<p>A boolean value, use the <code>as_bool</code> member of the var. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga9815041477d810724e44da862f9852eda40a4a8c45ec7629e3093eb93b9ff1556"></a><!-- doxytag: member="PP_VARTYPE_INT32" ref="gga9815041477d810724e44da862f9852eda40a4a8c45ec7629e3093eb93b9ff1556" args="" -->PP_VARTYPE_INT32</em> </td><td>
+<p>A 32-bit integer value. </p>
+<p>Use the <code>as_int</code> member of the var. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga9815041477d810724e44da862f9852eda26caea042c1cb14ff640f7aec3f2af90"></a><!-- doxytag: member="PP_VARTYPE_DOUBLE" ref="gga9815041477d810724e44da862f9852eda26caea042c1cb14ff640f7aec3f2af90" args="" -->PP_VARTYPE_DOUBLE</em> </td><td>
+<p>A double-precision floating point value. </p>
+<p>Use the <code>as_double</code> member of the var. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga9815041477d810724e44da862f9852eda079c1c085b9b0f1b076807a0eb5ba6bd"></a><!-- doxytag: member="PP_VARTYPE_STRING" ref="gga9815041477d810724e44da862f9852eda079c1c085b9b0f1b076807a0eb5ba6bd" args="" -->PP_VARTYPE_STRING</em> </td><td>
+<p>The Var represents a string. </p>
+<p>The <code>as_id</code> field is used to identify the string, which may be created and retrieved from the <code>PPB_Var</code> interface. These objects are reference counted, so AddRef and Release must be used properly to avoid memory leaks. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga9815041477d810724e44da862f9852eda7060b95352ff46ed2f0144e08cc949cc"></a><!-- doxytag: member="PP_VARTYPE_OBJECT" ref="gga9815041477d810724e44da862f9852eda7060b95352ff46ed2f0144e08cc949cc" args="" -->PP_VARTYPE_OBJECT</em> </td><td>
+<p>Represents a JavaScript object. </p>
+<p>This vartype is not currently usable from modules, although it is used internally for some tasks. These objects are reference counted, so AddRef and Release must be used properly to avoid memory leaks. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga9815041477d810724e44da862f9852eda50df125d91ade69f5b2de4d08427508c"></a><!-- doxytag: member="PP_VARTYPE_ARRAY" ref="gga9815041477d810724e44da862f9852eda50df125d91ade69f5b2de4d08427508c" args="" -->PP_VARTYPE_ARRAY</em> </td><td>
+<p>Represents an array of Vars. </p>
+<p>The <code>as_id</code> field is used to identify the array, which may be created and manipulated from the <code>PPB_VarArray</code> interface. These objects are reference counted, so AddRef and Release must be used properly to avoid memory leaks. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga9815041477d810724e44da862f9852edae44188e85906d83c2f52f34aa5b38687"></a><!-- doxytag: member="PP_VARTYPE_DICTIONARY" ref="gga9815041477d810724e44da862f9852edae44188e85906d83c2f52f34aa5b38687" args="" -->PP_VARTYPE_DICTIONARY</em> </td><td>
+<p>Represents a mapping from strings to Vars. </p>
+<p>The <code>as_id</code> field is used to identify the dictionary, which may be created and manipulated from the <code>PPB_VarDictionary</code> interface. These objects are reference counted, so AddRef and Release must be used properly to avoid memory leaks. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga9815041477d810724e44da862f9852eda363024b8067811f2f2f42f969be44529"></a><!-- doxytag: member="PP_VARTYPE_ARRAY_BUFFER" ref="gga9815041477d810724e44da862f9852eda363024b8067811f2f2f42f969be44529" args="" -->PP_VARTYPE_ARRAY_BUFFER</em> </td><td>
+<p>ArrayBuffer represents a JavaScript ArrayBuffer. </p>
+<p>This is the type which represents Typed Arrays in JavaScript. Unlike JavaScript 'Array', it is only meant to contain basic numeric types, and is always stored contiguously. See PPB_VarArrayBuffer_Dev for functions special to ArrayBuffer vars. These objects are reference counted, so AddRef and Release must be used properly to avoid memory leaks. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga9815041477d810724e44da862f9852eda898e69540595e8b95681d850ddecc7f1"></a><!-- doxytag: member="PP_VARTYPE_RESOURCE" ref="gga9815041477d810724e44da862f9852eda898e69540595e8b95681d850ddecc7f1" args="" -->PP_VARTYPE_RESOURCE</em> </td><td>
+<p>Resources are not currently supported but will be added in the future These objects are reference counted, so AddRef and Release must be used properly to avoid memory leaks. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga8458f33f09ecc56fcf486c60b844678d"></a><!-- doxytag: member="ppb_websocket.h::PP_WebSocketCloseCode" ref="ga8458f33f09ecc56fcf486c60b844678d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#ga8458f33f09ecc56fcf486c60b844678d">PP_WebSocketCloseCode</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This enumeration contains status codes. </p>
+<p>These codes are used in Close() and GetCloseCode(). Refer to RFC 6455, The WebSocket Protocol, for further information. <code>PP_WEBSOCKETSTATUSCODE_NORMAL_CLOSURE</code> and codes in the range <code>PP_WEBSOCKETSTATUSCODE_USER_REGISTERED_MIN</code> to <code>PP_WEBSOCKETSTATUSCODE_USER_REGISTERED_MAX</code>, and <code>PP_WEBSOCKETSTATUSCODE_USER_PRIVATE_MIN</code> to <code>PP_WEBSOCKETSTATUSCODE_USER_PRIVATE_MAX</code> are valid for Close(). </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga8458f33f09ecc56fcf486c60b844678dace8b6cbd5ab6bdecc5762b8753702d47"></a><!-- doxytag: member="PP_WEBSOCKETSTATUSCODE_NOT_SPECIFIED" ref="gga8458f33f09ecc56fcf486c60b844678dace8b6cbd5ab6bdecc5762b8753702d47" args="" -->PP_WEBSOCKETSTATUSCODE_NOT_SPECIFIED</em> </td><td>
+<p>Indicates to request closing connection without status code and reason. </p>
+<p>(Note that the code 1005 is forbidden to send in actual close frames by the RFC. PP_WebSocket reuses this code internally and the code will never appear in the actual close frames.) </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga8458f33f09ecc56fcf486c60b844678daff82b3d825f09240d64479d5ae0a2e00"></a><!-- doxytag: member="PP_WEBSOCKETSTATUSCODE_NORMAL_CLOSURE" ref="gga8458f33f09ecc56fcf486c60b844678daff82b3d825f09240d64479d5ae0a2e00" args="" -->PP_WEBSOCKETSTATUSCODE_NORMAL_CLOSURE</em> </td><td>
+<p>Status codes in the range 0-999 are not used. </p>
+<p>Indicates a normal closure. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga8458f33f09ecc56fcf486c60b844678da9d8d5c41a6592a609324249950468fb4"></a><!-- doxytag: member="PP_WEBSOCKETSTATUSCODE_GOING_AWAY" ref="gga8458f33f09ecc56fcf486c60b844678da9d8d5c41a6592a609324249950468fb4" args="" -->PP_WEBSOCKETSTATUSCODE_GOING_AWAY</em> </td><td>
+<p>Indicates that an endpoint is "going away", such as a server going down. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga8458f33f09ecc56fcf486c60b844678daf20b614979599d2a2ed79543618d6ef4"></a><!-- doxytag: member="PP_WEBSOCKETSTATUSCODE_PROTOCOL_ERROR" ref="gga8458f33f09ecc56fcf486c60b844678daf20b614979599d2a2ed79543618d6ef4" args="" -->PP_WEBSOCKETSTATUSCODE_PROTOCOL_ERROR</em> </td><td>
+<p>Indicates that an endpoint is terminating the connection due to a protocol error. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga8458f33f09ecc56fcf486c60b844678da4c63e46fd3e2a3b03fdcc577431f85ba"></a><!-- doxytag: member="PP_WEBSOCKETSTATUSCODE_UNSUPPORTED_DATA" ref="gga8458f33f09ecc56fcf486c60b844678da4c63e46fd3e2a3b03fdcc577431f85ba" args="" -->PP_WEBSOCKETSTATUSCODE_UNSUPPORTED_DATA</em> </td><td>
+<p>Indicates that an endpoint is terminating the connection because it has received a type of data it cannot accept. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga8458f33f09ecc56fcf486c60b844678da75580d49b265525d2f8591be2aa02fe6"></a><!-- doxytag: member="PP_WEBSOCKETSTATUSCODE_NO_STATUS_RECEIVED" ref="gga8458f33f09ecc56fcf486c60b844678da75580d49b265525d2f8591be2aa02fe6" args="" -->PP_WEBSOCKETSTATUSCODE_NO_STATUS_RECEIVED</em> </td><td>
+<p>Status code 1004 is reserved. </p>
+<p>Pseudo code to indicate that receiving close frame doesn't contain any status code. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga8458f33f09ecc56fcf486c60b844678dad80b864c592819db0cb640d2b6e74a3f"></a><!-- doxytag: member="PP_WEBSOCKETSTATUSCODE_ABNORMAL_CLOSURE" ref="gga8458f33f09ecc56fcf486c60b844678dad80b864c592819db0cb640d2b6e74a3f" args="" -->PP_WEBSOCKETSTATUSCODE_ABNORMAL_CLOSURE</em> </td><td>
+<p>Pseudo code to indicate that connection was closed abnormally, e.g., without closing handshake. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga8458f33f09ecc56fcf486c60b844678daea768048eaff4826bf06550d8da0dd42"></a><!-- doxytag: member="PP_WEBSOCKETSTATUSCODE_INVALID_FRAME_PAYLOAD_DATA" ref="gga8458f33f09ecc56fcf486c60b844678daea768048eaff4826bf06550d8da0dd42" args="" -->PP_WEBSOCKETSTATUSCODE_INVALID_FRAME_PAYLOAD_DATA</em> </td><td>
+<p>Indicates that an endpoint is terminating the connection because it has received data within a message that was not consistent with the type of the message (e.g., non-UTF-8 data within a text message). </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga8458f33f09ecc56fcf486c60b844678da4d4405b66c4b436c9bb31dfa4fa71523"></a><!-- doxytag: member="PP_WEBSOCKETSTATUSCODE_POLICY_VIOLATION" ref="gga8458f33f09ecc56fcf486c60b844678da4d4405b66c4b436c9bb31dfa4fa71523" args="" -->PP_WEBSOCKETSTATUSCODE_POLICY_VIOLATION</em> </td><td>
+<p>Indicates that an endpoint is terminating the connection because it has received a message that violates its policy. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga8458f33f09ecc56fcf486c60b844678da7c8d17601c982c62a933a3f721c049ef"></a><!-- doxytag: member="PP_WEBSOCKETSTATUSCODE_MESSAGE_TOO_BIG" ref="gga8458f33f09ecc56fcf486c60b844678da7c8d17601c982c62a933a3f721c049ef" args="" -->PP_WEBSOCKETSTATUSCODE_MESSAGE_TOO_BIG</em> </td><td>
+<p>Indicates that an endpoint is terminating the connection because it has received a message that is too big for it to process. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga8458f33f09ecc56fcf486c60b844678da5fae5457554a0cad877ccfa1d5636b8d"></a><!-- doxytag: member="PP_WEBSOCKETSTATUSCODE_MANDATORY_EXTENSION" ref="gga8458f33f09ecc56fcf486c60b844678da5fae5457554a0cad877ccfa1d5636b8d" args="" -->PP_WEBSOCKETSTATUSCODE_MANDATORY_EXTENSION</em> </td><td>
+<p>Indicates that an endpoint (client) is terminating the connection because it has expected the server to negotiate one or more extension, but the server didn't return them in the response message of the WebSocket handshake. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga8458f33f09ecc56fcf486c60b844678da7318b30a65ea442445e754453a73be81"></a><!-- doxytag: member="PP_WEBSOCKETSTATUSCODE_INTERNAL_SERVER_ERROR" ref="gga8458f33f09ecc56fcf486c60b844678da7318b30a65ea442445e754453a73be81" args="" -->PP_WEBSOCKETSTATUSCODE_INTERNAL_SERVER_ERROR</em> </td><td>
+<p>Indicates that a server is terminating the connection because it encountered an unexpected condition. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga8458f33f09ecc56fcf486c60b844678da8aef76170a2836b651922555aa26348d"></a><!-- doxytag: member="PP_WEBSOCKETSTATUSCODE_TLS_HANDSHAKE" ref="gga8458f33f09ecc56fcf486c60b844678da8aef76170a2836b651922555aa26348d" args="" -->PP_WEBSOCKETSTATUSCODE_TLS_HANDSHAKE</em> </td><td>
+<p>Status codes in the range 1012-1014 are reserved. </p>
+<p>Pseudo code to indicate that the connection was closed due to a failure to perform a TLS handshake. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga8458f33f09ecc56fcf486c60b844678da3a87714e399ce00177f60f85c9a993ba"></a><!-- doxytag: member="PP_WEBSOCKETSTATUSCODE_USER_REGISTERED_MIN" ref="gga8458f33f09ecc56fcf486c60b844678da3a87714e399ce00177f60f85c9a993ba" args="" -->PP_WEBSOCKETSTATUSCODE_USER_REGISTERED_MIN</em> </td><td>
+<p>Status codes in the range 1016-2999 are reserved. </p>
+<p>Status codes in the range 3000-3999 are reserved for use by libraries, frameworks, and applications. These codes are registered directly with IANA. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga8458f33f09ecc56fcf486c60b844678da08c67e1fcd33b07c350be618d7d72403"></a><!-- doxytag: member="PP_WEBSOCKETSTATUSCODE_USER_REGISTERED_MAX" ref="gga8458f33f09ecc56fcf486c60b844678da08c67e1fcd33b07c350be618d7d72403" args="" -->PP_WEBSOCKETSTATUSCODE_USER_REGISTERED_MAX</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga8458f33f09ecc56fcf486c60b844678da491bd1d7c9ada2c129062beb9eaeded1"></a><!-- doxytag: member="PP_WEBSOCKETSTATUSCODE_USER_PRIVATE_MIN" ref="gga8458f33f09ecc56fcf486c60b844678da491bd1d7c9ada2c129062beb9eaeded1" args="" -->PP_WEBSOCKETSTATUSCODE_USER_PRIVATE_MIN</em> </td><td>
+<p>Status codes in the range 4000-4999 are reserved for private use. </p>
+<p>Application can use these codes for application specific purposes freely. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga8458f33f09ecc56fcf486c60b844678da242327b17ab568d625627236de721e5b"></a><!-- doxytag: member="PP_WEBSOCKETSTATUSCODE_USER_PRIVATE_MAX" ref="gga8458f33f09ecc56fcf486c60b844678da242327b17ab568d625627236de721e5b" args="" -->PP_WEBSOCKETSTATUSCODE_USER_PRIVATE_MAX</em> </td><td>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="gade61cdf6a7470769b571925694d91a89"></a><!-- doxytag: member="ppb_websocket.h::PP_WebSocketReadyState" ref="gade61cdf6a7470769b571925694d91a89" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="group___enums.html#gade61cdf6a7470769b571925694d91a89">PP_WebSocketReadyState</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This enumeration contains the types representing the WebSocket ready state and these states are based on the JavaScript WebSocket API specification. </p>
+<p>GetReadyState() returns one of these states. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="ggade61cdf6a7470769b571925694d91a89a6c603b9df214e22d8b8202431866b26b"></a><!-- doxytag: member="PP_WEBSOCKETREADYSTATE_INVALID" ref="ggade61cdf6a7470769b571925694d91a89a6c603b9df214e22d8b8202431866b26b" args="" -->PP_WEBSOCKETREADYSTATE_INVALID</em> </td><td>
+<p>Ready state is queried on an invalid resource. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggade61cdf6a7470769b571925694d91a89a9ad491ea639e22b598d4e8cab463acd9"></a><!-- doxytag: member="PP_WEBSOCKETREADYSTATE_CONNECTING" ref="ggade61cdf6a7470769b571925694d91a89a9ad491ea639e22b598d4e8cab463acd9" args="" -->PP_WEBSOCKETREADYSTATE_CONNECTING</em> </td><td>
+<p>Ready state that the connection has not yet been established. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggade61cdf6a7470769b571925694d91a89a60f99e31f237d57df167d70e7c1ada7d"></a><!-- doxytag: member="PP_WEBSOCKETREADYSTATE_OPEN" ref="ggade61cdf6a7470769b571925694d91a89a60f99e31f237d57df167d70e7c1ada7d" args="" -->PP_WEBSOCKETREADYSTATE_OPEN</em> </td><td>
+<p>Ready state that the WebSocket connection is established and communication is possible. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggade61cdf6a7470769b571925694d91a89a45ce2585ba8b200c6c02112098df6447"></a><!-- doxytag: member="PP_WEBSOCKETREADYSTATE_CLOSING" ref="ggade61cdf6a7470769b571925694d91a89a45ce2585ba8b200c6c02112098df6447" args="" -->PP_WEBSOCKETREADYSTATE_CLOSING</em> </td><td>
+<p>Ready state that the connection is going through the closing handshake. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggade61cdf6a7470769b571925694d91a89a43865a04fac402be4f589d2c7f9f02f4"></a><!-- doxytag: member="PP_WEBSOCKETREADYSTATE_CLOSED" ref="ggade61cdf6a7470769b571925694d91a89a43865a04fac402be4f589d2c7f9f02f4" args="" -->PP_WEBSOCKETREADYSTATE_CLOSED</em> </td><td>
+<p>Ready state that the connection has been closed or could not be opened. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Function Documentation</h2>
+<a class="anchor" id="ga9b1b55c2ccaa49d084206619c9034dde"></a><!-- doxytag: member="ppb_mouse_cursor.h::PP_COMPILE_ASSERT_ENUM_SIZE_IN_BYTES" ref="ga9b1b55c2ccaa49d084206619c9034dde" args="(PP_MouseCursor_Type, 4)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga9b1b55c2ccaa49d084206619c9034dde">PP_COMPILE_ASSERT_ENUM_SIZE_IN_BYTES</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="group___enums.html#gac53273018386c1db9542d2a06bbe118b">PP_MouseCursor_Type</a> </td>
+<td class="paramname">, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">4 </td>
+<td class="paramname"> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Variable Documentation</h2>
+<a class="anchor" id="gaee750c350655f2fb0fe04c04029e0ff8"></a><!-- doxytag: member="ppb_audio_config.h::PP_AudioSampleRate" ref="gaee750c350655f2fb0fe04c04029e0ff8" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#gaee750c350655f2fb0fe04c04029e0ff8">PP_AudioSampleRate</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga4f272d99be14aacafe08dfd4ef830918"></a><!-- doxytag: member="pp_bool.h::PP_Bool" ref="ga4f272d99be14aacafe08dfd4ef830918" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga7610f0fba2396d46384859caa4d91798"></a><!-- doxytag: member="pp_completion_callback.h::PP_CompletionCallback_Flag" ref="ga7610f0fba2396d46384859caa4d91798" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga7610f0fba2396d46384859caa4d91798">PP_CompletionCallback_Flag</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga4c87e6dd19c1d49b66a9b37136a82e82"></a><!-- doxytag: member="ppb_file_io.h::PP_FileOpenFlags" ref="ga4c87e6dd19c1d49b66a9b37136a82e82" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4c87e6dd19c1d49b66a9b37136a82e82">PP_FileOpenFlags</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga87b353f2ec8935c9c3294daff612c145"></a><!-- doxytag: member="pp_file_info.h::PP_FileSystemType" ref="ga87b353f2ec8935c9c3294daff612c145" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga87b353f2ec8935c9c3294daff612c145">PP_FileSystemType</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga36f6dfbe9c1e98540c5247f790746427"></a><!-- doxytag: member="pp_file_info.h::PP_FileType" ref="ga36f6dfbe9c1e98540c5247f790746427" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga36f6dfbe9c1e98540c5247f790746427">PP_FileType</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga7df48e1c55f6401beea2a1b9c07967e8"></a><!-- doxytag: member="pp_graphics_3d.h::PP_Graphics3DAttrib" ref="ga7df48e1c55f6401beea2a1b9c07967e8" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga7df48e1c55f6401beea2a1b9c07967e8">PP_Graphics3DAttrib</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gadb4b8db19266831040fc604f73c83a25"></a><!-- doxytag: member="ppb_host_resolver.h::PP_HostResolver_Flag" ref="gadb4b8db19266831040fc604f73c83a25" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#gadb4b8db19266831040fc604f73c83a25">PP_HostResolver_Flag</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga2ee7ad01799553e5f17bdaa35dd952ee"></a><!-- doxytag: member="ppb_image_data.h::PP_ImageDataFormat" ref="ga2ee7ad01799553e5f17bdaa35dd952ee" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga2ee7ad01799553e5f17bdaa35dd952ee">PP_ImageDataFormat</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gafe68e3c1031daa4a6496845ff47649cd"></a><!-- doxytag: member="ppb_input_event.h::PP_InputEvent_Class" ref="gafe68e3c1031daa4a6496845ff47649cd" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#gafe68e3c1031daa4a6496845ff47649cd">PP_InputEvent_Class</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga21b811ac0484a214a8751aa3e1c959d9"></a><!-- doxytag: member="ppb_input_event.h::PP_InputEvent_Modifier" ref="ga21b811ac0484a214a8751aa3e1c959d9" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga21b811ac0484a214a8751aa3e1c959d9">PP_InputEvent_Modifier</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga25113f3c8d33e863fd38b3f70f8a5e6e"></a><!-- doxytag: member="ppb_input_event.h::PP_InputEvent_MouseButton" ref="ga25113f3c8d33e863fd38b3f70f8a5e6e" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga25113f3c8d33e863fd38b3f70f8a5e6e">PP_InputEvent_MouseButton</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gaca7296cfec99fcb6646b7144d1d6a0c5"></a><!-- doxytag: member="ppb_input_event.h::PP_InputEvent_Type" ref="gaca7296cfec99fcb6646b7144d1d6a0c5" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#gaca7296cfec99fcb6646b7144d1d6a0c5">PP_InputEvent_Type</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gac39067c0883ec80b94290dd2a3bae440"></a><!-- doxytag: member="ppb_console.h::PP_LogLevel" ref="gac39067c0883ec80b94290dd2a3bae440" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#gac39067c0883ec80b94290dd2a3bae440">PP_LogLevel</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga43636bcadf9aa312a4c345d210ae6c55"></a><!-- doxytag: member="ppb_net_address.h::PP_NetAddress_Family" ref="ga43636bcadf9aa312a4c345d210ae6c55" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga43636bcadf9aa312a4c345d210ae6c55">PP_NetAddress_Family</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga9188881b5d3346626db0ea8e6aaecf1f"></a><!-- doxytag: member="ppb_network_list.h::PP_NetworkList_State" ref="ga9188881b5d3346626db0ea8e6aaecf1f" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga9188881b5d3346626db0ea8e6aaecf1f">PP_NetworkList_State</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga1c967cb753eb468493b3bf72e6733983"></a><!-- doxytag: member="ppb_network_list.h::PP_NetworkList_Type" ref="ga1c967cb753eb468493b3bf72e6733983" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga1c967cb753eb468493b3bf72e6733983">PP_NetworkList_Type</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga1557c0bbce8739a3418e6027a9c44e12"></a><!-- doxytag: member="ppb_tcp_socket.h::PP_TCPSocket_Option" ref="ga1557c0bbce8739a3418e6027a9c44e12" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga1557c0bbce8739a3418e6027a9c44e12">PP_TCPSocket_Option</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga5fef49ee4c2cc6dcead825340da0f116"></a><!-- doxytag: member="ppb_text_input_controller.h::PP_TextInput_Type" ref="ga5fef49ee4c2cc6dcead825340da0f116" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga5fef49ee4c2cc6dcead825340da0f116">PP_TextInput_Type</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gad5885a239d04166c8777432c81e39d0a"></a><!-- doxytag: member="ppb_input_event.h::PP_TouchListType" ref="gad5885a239d04166c8777432c81e39d0a" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#gad5885a239d04166c8777432c81e39d0a">PP_TouchListType</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga1a8472fa3e7150615c45c38fa8c12ce2"></a><!-- doxytag: member="ppb_udp_socket.h::PP_UDPSocket_Option" ref="ga1a8472fa3e7150615c45c38fa8c12ce2" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga1a8472fa3e7150615c45c38fa8c12ce2">PP_UDPSocket_Option</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga41975630f0a4c49e47d4a21754f8402d"></a><!-- doxytag: member="ppb_url_request_info.h::PP_URLRequestProperty" ref="ga41975630f0a4c49e47d4a21754f8402d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga41975630f0a4c49e47d4a21754f8402d">PP_URLRequestProperty</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga642e6199b27df69aad84aff5597041e0"></a><!-- doxytag: member="ppb_url_response_info.h::PP_URLResponseProperty" ref="ga642e6199b27df69aad84aff5597041e0" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga642e6199b27df69aad84aff5597041e0">PP_URLResponseProperty</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga9815041477d810724e44da862f9852ed"></a><!-- doxytag: member="pp_var.h::PP_VarType" ref="ga9815041477d810724e44da862f9852ed" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga9815041477d810724e44da862f9852ed">PP_VarType</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga8458f33f09ecc56fcf486c60b844678d"></a><!-- doxytag: member="ppb_websocket.h::PP_WebSocketCloseCode" ref="ga8458f33f09ecc56fcf486c60b844678d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga8458f33f09ecc56fcf486c60b844678d">PP_WebSocketCloseCode</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gade61cdf6a7470769b571925694d91a89"></a><!-- doxytag: member="ppb_websocket.h::PP_WebSocketReadyState" ref="gade61cdf6a7470769b571925694d91a89" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#gade61cdf6a7470769b571925694d91a89">PP_WebSocketReadyState</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/group___functions.html b/native_client_sdk/doc_generated/pepper_stable/c/group___functions.html
new file mode 100644
index 0000000..3b27bf9
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/group___functions.html
@@ -0,0 +1,546 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Functions</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+</div>
+<!--header-->
+<div class="contents">
+<h2>
+Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga8691f15edad9b391c3644064ac57f191">PP_MakeCompletionCallback</a> (<a class="el" href="group___typedefs.html#ga6fe12e1a41df5e10103a811036d4d8d2">PP_CompletionCallback_Func</a> func, void *user_data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#gabd6bf83f4c787477631c37d44418c4db">PP_MakeOptionalCompletionCallback</a> (<a class="el" href="group___typedefs.html#ga6fe12e1a41df5e10103a811036d4d8d2">PP_CompletionCallback_Func</a> func, void *user_data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#gaffce49266a735f9ee8d149b14477404f">PP_RunCompletionCallback</a> (struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> *cc, int32_t result)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga340e452b4931d17bd44928769490e282">PP_BlockUntilComplete</a> (void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga8dac45aa496bbb1f97a15e2833d3ed02">PP_RunAndClearCompletionCallback</a> (struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> *cc, int32_t res)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___point.html">PP_Point</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga15880e8085178758053cc521af33b250">PP_MakePoint</a> (int32_t x, int32_t y)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___float_point.html">PP_FloatPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga0aca79088546fe91d13c97db9033e709">PP_MakeFloatPoint</a> (float x, float y)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___rect.html">PP_Rect</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#gaf868e2929269ef195241b79a015fcf61">PP_MakeRectFromXYWH</a> (int32_t x, int32_t y, int32_t w, int32_t h)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___size.html">PP_Size</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga35a97e64d18402d8feff46722b98beb0">PP_MakeSize</a> (int32_t w, int32_t h)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___touch_point.html">PP_TouchPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#gae7f6d41cbb173c12f474242c2a3bf5e7">PP_MakeTouchPoint</a> (void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga0edc8314fc1a92f93dd3d0eab286cb5d">PP_MakeUndefined</a> (void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga75f83ac65ccbf57866d52d45cd5792e7">PP_MakeNull</a> (void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga0fba11ae90d57086064d41b0af710253">PP_MakeBool</a> (<a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> value)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#gad14a59fa681d4cc532b3d49c0438f0ca">PP_MakeInt32</a> (int32_t value)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#gafbebaae212cb7e737efc56eea0e785b5">PP_MakeDouble</a> (double value)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga2fc7b396531c19417d8d7171d56da8b6">PPP_InitializeModule</a> (<a class="el" href="group___typedefs.html#gab780dd451cd7f51284cb752edd88f9a0">PP_Module</a> module, <a class="el" href="group___typedefs.html#ga68ad7c927b86e0c29d890603edd33154">PPB_GetInterface</a> get_browser_interface)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#gaa3021aba7ddc17a8cecb4bc4f8374e98">PPP_ShutdownModule</a> (void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const void * </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga4127b148b2bd0f3bc2c078dd38cbe4cf">PPP_GetInterface</a> (const char *interface_name)</td></tr>
+</table>
+<hr /><h2>Function Documentation</h2>
+<a class="anchor" id="ga340e452b4931d17bd44928769490e282"></a><!-- doxytag: member="pp_completion_callback.h::PP_BlockUntilComplete" ref="ga340e452b4931d17bd44928769490e282" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> <a class="el" href="group___functions.html#ga340e452b4931d17bd44928769490e282">PP_BlockUntilComplete</a> </td>
+<td>(</td>
+<td class="paramtype">void </td>
+<td class="paramname"></td><td>)</td>
+<td><code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="group___functions.html#ga340e452b4931d17bd44928769490e282" title="PP_BlockUntilComplete() is used in place of an actual completion callback to request blocking behavio...">PP_BlockUntilComplete()</a> is used in place of an actual completion callback to request blocking behavior. </p>
+<p>If specified, the calling thread will block until the function completes. Blocking completion callbacks are only allowed from background threads.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> structure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ga0fba11ae90d57086064d41b0af710253"></a><!-- doxytag: member="pp_var.h::PP_MakeBool" ref="ga0fba11ae90d57086064d41b0af710253" args="(PP_Bool value)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a> <a class="el" href="group___functions.html#ga0fba11ae90d57086064d41b0af710253">PP_MakeBool</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> </td>
+<td class="paramname"><em>value</em></td><td>)</td>
+<td><code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="group___functions.html#ga0fba11ae90d57086064d41b0af710253" title="PP_MakeBool() is used to wrap a boolean value into a PP_Var struct for passing to the browser...">PP_MakeBool()</a> is used to wrap a boolean value into a <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> struct for passing to the browser. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>A <code>PP_Bool</code> enumeration to wrap.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> structure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ga8691f15edad9b391c3644064ac57f191"></a><!-- doxytag: member="pp_completion_callback.h::PP_MakeCompletionCallback" ref="ga8691f15edad9b391c3644064ac57f191" args="(PP_CompletionCallback_Func func, void *user_data)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> <a class="el" href="group___functions.html#ga8691f15edad9b391c3644064ac57f191">PP_MakeCompletionCallback</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="group___typedefs.html#ga6fe12e1a41df5e10103a811036d4d8d2">PP_CompletionCallback_Func</a> </td>
+<td class="paramname"><em>func</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">void * </td>
+<td class="paramname"><em>user_data</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="group___functions.html#ga8691f15edad9b391c3644064ac57f191" title="PP_MakeCompletionCallback() is used to create a PP_CompletionCallback.">PP_MakeCompletionCallback()</a> is used to create a <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code>. </p>
+<p><b>Example, creating a Required callback:</b></p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">struct </span><a class="code" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a> cc = <a class="code" href="group___functions.html#ga8691f15edad9b391c3644064ac57f191" title="PP_MakeCompletionCallback() is used to create a PP_CompletionCallback.">PP_MakeCompletionCallback</a>(Foo, NULL);
+</pre></div><p><b>Example, creating an Optional callback:</b></p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">struct </span><a class="code" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a> cc = <a class="code" href="group___functions.html#ga8691f15edad9b391c3644064ac57f191" title="PP_MakeCompletionCallback() is used to create a PP_CompletionCallback.">PP_MakeCompletionCallback</a>(Foo, NULL);
+ cc.<a class="code" href="struct_p_p___completion_callback.html#a4bd2d9440bc8dc18eeeca2d464156a38" title="Flags used to control how non-NULL callbacks are scheduled by asynchronous methods.">flags</a> = cc.<a class="code" href="struct_p_p___completion_callback.html#a4bd2d9440bc8dc18eeeca2d464156a38" title="Flags used to control how non-NULL callbacks are scheduled by asynchronous methods.">flags</a> | <a class="code" href="group___enums.html#gga7610f0fba2396d46384859caa4d91798aebb176d8930b14219b7966fd93a2e967" title="This flag allows any method taking such callback to complete synchronously and not call the callback ...">PP_COMPLETIONCALLBACK_FLAG_OPTIONAL</a>;
+</pre></div><dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">func</td><td>A <code>PP_CompletionCallback_Func</code> that will be called. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">user_data</td><td>A pointer to user data passed to your callback function. This is optional and is typically used to help track state when you may have multiple callbacks pending.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> structure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="gafbebaae212cb7e737efc56eea0e785b5"></a><!-- doxytag: member="pp_var.h::PP_MakeDouble" ref="gafbebaae212cb7e737efc56eea0e785b5" args="(double value)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a> <a class="el" href="group___functions.html#gafbebaae212cb7e737efc56eea0e785b5">PP_MakeDouble</a> </td>
+<td>(</td>
+<td class="paramtype">double </td>
+<td class="paramname"><em>value</em></td><td>)</td>
+<td><code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="group___functions.html#gafbebaae212cb7e737efc56eea0e785b5" title="PP_MakeDouble() is used to wrap a double value into a PP_Var struct for passing to the browser...">PP_MakeDouble()</a> is used to wrap a double value into a <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> struct for passing to the browser. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>A double to wrap.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> structure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ga0aca79088546fe91d13c97db9033e709"></a><!-- doxytag: member="pp_point.h::PP_MakeFloatPoint" ref="ga0aca79088546fe91d13c97db9033e709" args="(float x, float y)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___float_point.html">PP_FloatPoint</a> <a class="el" href="group___functions.html#ga0aca79088546fe91d13c97db9033e709">PP_MakeFloatPoint</a> </td>
+<td>(</td>
+<td class="paramtype">float </td>
+<td class="paramname"><em>x</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">float </td>
+<td class="paramname"><em>y</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gad14a59fa681d4cc532b3d49c0438f0ca"></a><!-- doxytag: member="pp_var.h::PP_MakeInt32" ref="gad14a59fa681d4cc532b3d49c0438f0ca" args="(int32_t value)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a> <a class="el" href="group___functions.html#gad14a59fa681d4cc532b3d49c0438f0ca">PP_MakeInt32</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>value</em></td><td>)</td>
+<td><code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="group___functions.html#gad14a59fa681d4cc532b3d49c0438f0ca" title="PP_MakeInt32() is used to wrap a 32 bit integer value into a PP_Var struct for passing to the browser...">PP_MakeInt32()</a> is used to wrap a 32 bit integer value into a <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> struct for passing to the browser. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>An int32 to wrap.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> structure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ga75f83ac65ccbf57866d52d45cd5792e7"></a><!-- doxytag: member="pp_var.h::PP_MakeNull" ref="ga75f83ac65ccbf57866d52d45cd5792e7" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a> <a class="el" href="group___functions.html#ga75f83ac65ccbf57866d52d45cd5792e7">PP_MakeNull</a> </td>
+<td>(</td>
+<td class="paramtype">void </td>
+<td class="paramname"></td><td>)</td>
+<td><code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="group___functions.html#ga75f83ac65ccbf57866d52d45cd5792e7" title="PP_MakeNull() is used to wrap a null value into a PP_Var struct for passing to the browser...">PP_MakeNull()</a> is used to wrap a null value into a <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> struct for passing to the browser. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> structure, </dd></dl>
+</div>
+</div>
+<a class="anchor" id="gabd6bf83f4c787477631c37d44418c4db"></a><!-- doxytag: member="pp_completion_callback.h::PP_MakeOptionalCompletionCallback" ref="gabd6bf83f4c787477631c37d44418c4db" args="(PP_CompletionCallback_Func func, void *user_data)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> <a class="el" href="group___functions.html#gabd6bf83f4c787477631c37d44418c4db">PP_MakeOptionalCompletionCallback</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="group___typedefs.html#ga6fe12e1a41df5e10103a811036d4d8d2">PP_CompletionCallback_Func</a> </td>
+<td class="paramname"><em>func</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">void * </td>
+<td class="paramname"><em>user_data</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="group___functions.html#gabd6bf83f4c787477631c37d44418c4db" title="PP_MakeOptionalCompletionCallback() is used to create a PP_CompletionCallback with PP_COMPLETIONCALLB...">PP_MakeOptionalCompletionCallback()</a> is used to create a <a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a> with PP_COMPLETIONCALLBACK_FLAG_OPTIONAL set. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">func</td><td>A PP_CompletionCallback_Func to be called on completion. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">user_data</td><td>A pointer to user data passed to be passed to the callback function. This is optional and is typically used to help track state in case of multiple pending callbacks.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a> structure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ga15880e8085178758053cc521af33b250"></a><!-- doxytag: member="pp_point.h::PP_MakePoint" ref="ga15880e8085178758053cc521af33b250" args="(int32_t x, int32_t y)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___point.html">PP_Point</a> <a class="el" href="group___functions.html#ga15880e8085178758053cc521af33b250">PP_MakePoint</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>x</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>y</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="group___functions.html#ga15880e8085178758053cc521af33b250" title="PP_MakePoint() creates a PP_Point given the x and y coordinates as int32_t values.">PP_MakePoint()</a> creates a <code><a class="el" href="struct_p_p___point.html" title="The PP_Point structure defines the integer x and y coordinates of a point.">PP_Point</a></code> given the x and y coordinates as int32_t values. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>An int32_t value representing a horizontal coordinate of a point, starting with 0 as the left-most coordinate. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>An int32_t value representing a vertical coordinate of a point, starting with 0 as the top-most coordinate.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___point.html" title="The PP_Point structure defines the integer x and y coordinates of a point.">PP_Point</a></code> structure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="gaf868e2929269ef195241b79a015fcf61"></a><!-- doxytag: member="pp_rect.h::PP_MakeRectFromXYWH" ref="gaf868e2929269ef195241b79a015fcf61" args="(int32_t x, int32_t y, int32_t w, int32_t h)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___rect.html">PP_Rect</a> <a class="el" href="group___functions.html#gaf868e2929269ef195241b79a015fcf61">PP_MakeRectFromXYWH</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>x</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>y</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>w</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>h</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="group___functions.html#gaf868e2929269ef195241b79a015fcf61" title="PP_MakeRectFromXYWH() creates a PP_Rect given x and y coordinates and width and height dimensions as ...">PP_MakeRectFromXYWH()</a> creates a <code><a class="el" href="struct_p_p___rect.html" title="The PP_Rect struct contains the size and location of a 2D rectangle.">PP_Rect</a></code> given x and y coordinates and width and height dimensions as int32_t values. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>An int32_t value representing a horizontal coordinate of a point, starting with 0 as the left-most coordinate. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>An int32_t value representing a vertical coordinate of a point, starting with 0 as the top-most coordinate. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">w</td><td>An int32_t value representing a width. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>An int32_t value representing a height.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___rect.html" title="The PP_Rect struct contains the size and location of a 2D rectangle.">PP_Rect</a></code> structure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ga35a97e64d18402d8feff46722b98beb0"></a><!-- doxytag: member="pp_size.h::PP_MakeSize" ref="ga35a97e64d18402d8feff46722b98beb0" args="(int32_t w, int32_t h)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___size.html">PP_Size</a> <a class="el" href="group___functions.html#ga35a97e64d18402d8feff46722b98beb0">PP_MakeSize</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>w</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>h</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="group___functions.html#ga35a97e64d18402d8feff46722b98beb0" title="PP_MakeSize() creates a PP_Size given a width and height as int32_t values.">PP_MakeSize()</a> creates a <code><a class="el" href="struct_p_p___size.html" title="The PP_Size struct contains the size of a 2D rectangle.">PP_Size</a></code> given a width and height as int32_t values. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">w</td><td>An int32_t value representing a width. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>An int32_t value representing a height.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___size.html" title="The PP_Size struct contains the size of a 2D rectangle.">PP_Size</a></code> structure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="gae7f6d41cbb173c12f474242c2a3bf5e7"></a><!-- doxytag: member="pp_touch_point.h::PP_MakeTouchPoint" ref="gae7f6d41cbb173c12f474242c2a3bf5e7" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___touch_point.html">PP_TouchPoint</a> <a class="el" href="group___functions.html#gae7f6d41cbb173c12f474242c2a3bf5e7">PP_MakeTouchPoint</a> </td>
+<td>(</td>
+<td class="paramtype">void </td>
+<td class="paramname"></td><td>)</td>
+<td><code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="group___functions.html#gae7f6d41cbb173c12f474242c2a3bf5e7" title="PP_MakeTouchPoint() creates a PP_TouchPoint.">PP_MakeTouchPoint()</a> creates a <code><a class="el" href="struct_p_p___touch_point.html" title="The PP_TouchPoint struct represents all information about a single touch point, such as position...">PP_TouchPoint</a></code>. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___touch_point.html" title="The PP_TouchPoint struct represents all information about a single touch point, such as position...">PP_TouchPoint</a></code> structure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ga0edc8314fc1a92f93dd3d0eab286cb5d"></a><!-- doxytag: member="pp_var.h::PP_MakeUndefined" ref="ga0edc8314fc1a92f93dd3d0eab286cb5d" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a> <a class="el" href="group___functions.html#ga0edc8314fc1a92f93dd3d0eab286cb5d">PP_MakeUndefined</a> </td>
+<td>(</td>
+<td class="paramtype">void </td>
+<td class="paramname"></td><td>)</td>
+<td><code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="group___functions.html#ga0edc8314fc1a92f93dd3d0eab286cb5d" title="PP_MakeUndefined() is used to wrap an undefined value into a PP_Var struct for passing to the browser...">PP_MakeUndefined()</a> is used to wrap an undefined value into a <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> struct for passing to the browser. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> structure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ga8dac45aa496bbb1f97a15e2833d3ed02"></a><!-- doxytag: member="pp_completion_callback.h::PP_RunAndClearCompletionCallback" ref="ga8dac45aa496bbb1f97a15e2833d3ed02" args="(struct PP_CompletionCallback *cc, int32_t res)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="group___functions.html#ga8dac45aa496bbb1f97a15e2833d3ed02">PP_RunAndClearCompletionCallback</a> </td>
+<td>(</td>
+<td class="paramtype">struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> * </td>
+<td class="paramname"><em>cc</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>res</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="group___functions.html#ga8dac45aa496bbb1f97a15e2833d3ed02" title="PP_RunAndClearCompletionCallback() runs a callback and clears the reference to that callback...">PP_RunAndClearCompletionCallback()</a> runs a callback and clears the reference to that callback. </p>
+<p>This function is used when the null-ness of a completion callback is used as a signal for whether a completion callback has been registered. In this case, after the execution of the callback, it should be cleared. However, this introduces a conflict if the completion callback wants to schedule more work that involves the same completion callback again (for example, when reading data from an URLLoader, one would typically queue up another read callback). As a result, this function clears the pointer before the provided callback is executed. </p>
+</div>
+</div>
+<a class="anchor" id="gaffce49266a735f9ee8d149b14477404f"></a><!-- doxytag: member="pp_completion_callback.h::PP_RunCompletionCallback" ref="gaffce49266a735f9ee8d149b14477404f" args="(struct PP_CompletionCallback *cc, int32_t result)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="group___functions.html#gaffce49266a735f9ee8d149b14477404f">PP_RunCompletionCallback</a> </td>
+<td>(</td>
+<td class="paramtype">struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> * </td>
+<td class="paramname"><em>cc</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>result</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="group___functions.html#gaffce49266a735f9ee8d149b14477404f" title="PP_RunCompletionCallback() is used to run a callback.">PP_RunCompletionCallback()</a> is used to run a callback. </p>
+<p>It invokes the callback function passing it user data specified on creation and completion |result|.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A pointer to a <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> that will be run. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">result</td><td>The result of the operation. Non-positive values correspond to the error codes from <a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a> (excluding PP_OK_COMPLETIONPENDING). Positive values indicate additional information such as bytes read. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga4127b148b2bd0f3bc2c078dd38cbe4cf"></a><!-- doxytag: member="ppp.h::PPP_GetInterface" ref="ga4127b148b2bd0f3bc2c078dd38cbe4cf" args="(const char *interface_name)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">const void* <a class="el" href="group___functions.html#ga4127b148b2bd0f3bc2c078dd38cbe4cf">PPP_GetInterface</a> </td>
+<td>(</td>
+<td class="paramtype">const char * </td>
+<td class="paramname"><em>interface_name</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="group___functions.html#ga4127b148b2bd0f3bc2c078dd38cbe4cf" title="PPP_GetInterface() is called by the browser to query the module for interfaces it supports...">PPP_GetInterface()</a> is called by the browser to query the module for interfaces it supports. </p>
+<p>Your module must implement the <code>PPP_Instance</code> interface or it will be unloaded. Other interfaces are optional.</p>
+<p>This function is called from within browser code whenever an interface is needed. This means your plugin could be reentered via this function if you make a browser call and it needs an interface. Furthermore, you should not make any other browser calls from within your implementation to avoid reentering the browser.</p>
+<p>As a result, your implementation of this should merely provide a lookup from the requested name to an interface pointer, via something like a big if/else block or a map, and not do any other work.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">interface_name</td><td>A pointer to a "PPP" (plugin) interface name. Interface names are null-terminated ASCII strings.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A pointer for the interface or <code>NULL</code> if the interface is not supported. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ga2fc7b396531c19417d8d7171d56da8b6"></a><!-- doxytag: member="ppp.h::PPP_InitializeModule" ref="ga2fc7b396531c19417d8d7171d56da8b6" args="(PP_Module module, PPB_GetInterface get_browser_interface)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="group___functions.html#ga2fc7b396531c19417d8d7171d56da8b6">PPP_InitializeModule</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="group___typedefs.html#gab780dd451cd7f51284cb752edd88f9a0">PP_Module</a> </td>
+<td class="paramname"><em>module</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype"><a class="el" href="group___typedefs.html#ga68ad7c927b86e0c29d890603edd33154">PPB_GetInterface</a> </td>
+<td class="paramname"><em>get_browser_interface</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="group___functions.html#ga2fc7b396531c19417d8d7171d56da8b6" title="PPP_InitializeModule() is the entry point for a module and is called by the browser when your module ...">PPP_InitializeModule()</a> is the entry point for a module and is called by the browser when your module loads. </p>
+<p>Your code must implement this function.</p>
+<p>Failure indicates to the browser that this module can not be used. In this case, the module will be unloaded and ShutdownModule will NOT be called.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">module</td><td>A handle to your module. Generally you should store this value since it will be required for other API calls. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">get_browser_interface</td><td>A pointer to the function that you can use to query for browser interfaces. Generally you should store this value for future use.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_OK</code> on success. Any other value on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="gaa3021aba7ddc17a8cecb4bc4f8374e98"></a><!-- doxytag: member="ppp.h::PPP_ShutdownModule" ref="gaa3021aba7ddc17a8cecb4bc4f8374e98" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="group___functions.html#gaa3021aba7ddc17a8cecb4bc4f8374e98">PPP_ShutdownModule</a> </td>
+<td>(</td>
+<td class="paramtype">void </td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="group___functions.html#gaa3021aba7ddc17a8cecb4bc4f8374e98" title="PPP_ShutdownModule() is sometimes called before the module is unloaded.">PPP_ShutdownModule()</a> is <b>sometimes</b> called before the module is unloaded. </p>
+<p>It is not recommended that you implement this function.</p>
+<p>There is no practical use of this function for third party modules. Its existence is because of some internal use cases inside Chrome.</p>
+<p>Since your module runs in a separate process, there's no need to free allocated memory. There is also no need to free any resources since all of resources associated with an instance will be force-freed when that instance is deleted.</p>
+<p><b>Note:</b> This function will always be skipped on untrusted (Native Client) implementations. This function may be skipped on trusted implementations in certain circumstances when Chrome does "fast shutdown" of a web page. </p>
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/group___interfaces.html b/native_client_sdk/doc_generated/pepper_stable/c/group___interfaces.html
new file mode 100644
index 0000000..a190b8ea
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/group___interfaces.html
@@ -0,0 +1,699 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Interfaces</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+</div>
+<!--header-->
+<div class="contents">
+<h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio__1__1.html">PPB_Audio</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_Audio</code> interface contains pointers to several functions for handling audio resources. <a href="struct_p_p_b___audio__1__1.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio_config__1__1.html">PPB_AudioConfig</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_AudioConfig</code> interface contains pointers to several functions for establishing your audio configuration within the browser. <a href="struct_p_p_b___audio_config__1__1.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___console__1__0.html">PPB_Console</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___core__1__0.html">PPB_Core</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_Core</code> interface contains pointers to functions related to memory management, time, and threads on the browser. <a href="struct_p_p_b___core__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_i_o__1__1.html">PPB_FileIO</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_FileIO</code> struct is used to operate on a regular file (PP_FileType_Regular). <a href="struct_p_p_b___file_i_o__1__1.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_ref__1__1.html">PPB_FileRef</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_FileRef</code> struct represents a "weak pointer" to a file in a file system. <a href="struct_p_p_b___file_ref__1__1.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_system__1__0.html">PPB_FileSystem</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_FileSystem</code> struct identifies the file system type associated with a file. <a href="struct_p_p_b___file_system__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___fullscreen__1__0.html">PPB_Fullscreen</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_Fullscreen</code> interface is implemented by the browser. <a href="struct_p_p_b___fullscreen__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___gamepad__1__0.html">PPB_Gamepad</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_Gamepad</code> interface allows retrieving data from gamepad/joystick devices that are connected to the system. <a href="struct_p_p_b___gamepad__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics2_d__1__1.html">PPB_Graphics2D</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><code>PPB_Graphics2D</code> defines the interface for a 2D graphics context. <a href="struct_p_p_b___graphics2_d__1__1.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics3_d__1__0.html">PPB_Graphics3D</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><code>PPB_Graphics3D</code> defines the interface for a 3D graphics context. <a href="struct_p_p_b___graphics3_d__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___host_resolver__1__0.html">PPB_HostResolver</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_HostResolver</code> interface supports host name resolution. <a href="struct_p_p_b___host_resolver__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___image_data__1__0.html">PPB_ImageData</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_ImageData</code> interface contains pointers to several functions for determining the browser's treatment of image data. <a href="struct_p_p_b___image_data__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___input_event__1__0.html">PPB_InputEvent</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_InputEvent</code> interface contains pointers to several functions related to generic input events on the browser. <a href="struct_p_p_b___input_event__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___mouse_input_event__1__1.html">PPB_MouseInputEvent</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_MouseInputEvent</code> interface contains pointers to several functions related to mouse input events. <a href="struct_p_p_b___mouse_input_event__1__1.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___wheel_input_event__1__0.html">PPB_WheelInputEvent</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_WheelIputEvent</code> interface contains pointers to several functions related to wheel input events. <a href="struct_p_p_b___wheel_input_event__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___keyboard_input_event__1__0.html">PPB_KeyboardInputEvent</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_KeyboardInputEvent</code> interface contains pointers to several functions related to keyboard input events. <a href="struct_p_p_b___keyboard_input_event__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___touch_input_event__1__0.html">PPB_TouchInputEvent</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_TouchInputEvent</code> interface contains pointers to several functions related to touch events. <a href="struct_p_p_b___touch_input_event__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html">PPB_IMEInputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___instance__1__0.html">PPB_Instance</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The PPB_Instance interface contains pointers to functions related to the module instance on a web page. <a href="struct_p_p_b___instance__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___message_loop__1__0.html">PPB_MessageLoop</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A message loop allows PPAPI calls to be issued on a thread. <a href="struct_p_p_b___message_loop__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___messaging__1__0.html">PPB_Messaging</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_Messaging</code> interface is implemented by the browser and is related to sending messages to JavaScript message event listeners on the DOM element associated with specific module instance. <a href="struct_p_p_b___messaging__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___mouse_cursor__1__0.html">PPB_MouseCursor</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_MouseCursor</code> allows setting the mouse cursor. <a href="struct_p_p_b___mouse_cursor__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___mouse_lock__1__0.html">PPB_MouseLock</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_MouseLock</code> interface is implemented by the browser. <a href="struct_p_p_b___mouse_lock__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___net_address__1__0.html">PPB_NetAddress</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_NetAddress</code> interface provides operations on network addresses. <a href="struct_p_p_b___net_address__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_list__1__0.html">PPB_NetworkList</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_NetworkList</code> is used to represent a list of network interfaces and their configuration. <a href="struct_p_p_b___network_list__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_monitor__1__0.html">PPB_NetworkMonitor</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_NetworkMonitor</code> allows to get network interfaces configuration and monitor network configuration changes. <a href="struct_p_p_b___network_monitor__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_proxy__1__0.html">PPB_NetworkProxy</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This interface provides a way to determine the appropriate proxy settings for a given URL. <a href="struct_p_p_b___network_proxy__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html">PPB_TCPSocket</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_TCPSocket</code> interface provides TCP socket operations. <a href="struct_p_p_b___t_c_p_socket__1__1.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___text_input_controller__1__0.html">PPB_TextInputController</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><code>PPB_TextInputController</code> provides a set of functions for giving hints to the browser about the text input status of plugins, and functions for controlling input method editors (IMEs). <a href="struct_p_p_b___text_input_controller__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html">PPB_UDPSocket</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_UDPSocket</code> interface provides UDP socket operations. <a href="struct_p_p_b___u_d_p_socket__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html">PPB_URLLoader</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <b>PPB_URLLoader</b> interface contains pointers to functions for loading URLs. <a href="struct_p_p_b___u_r_l_loader__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html">PPB_URLRequestInfo</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_URLRequestInfo</code> interface is used to create and handle URL requests. <a href="struct_p_p_b___u_r_l_request_info__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_response_info__1__0.html">PPB_URLResponseInfo</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The PPB_URLResponseInfo interface contains APIs for examining URL responses. <a href="struct_p_p_b___u_r_l_response_info__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var__1__1.html">PPB_Var</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">PPB_Var API. <a href="struct_p_p_b___var__1__1.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_array__1__0.html">PPB_VarArray</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_array_buffer__1__0.html">PPB_VarArrayBuffer</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_VarArrayBuffer</code> interface provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous sequence of bytes. <a href="struct_p_p_b___var_array_buffer__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_dictionary__1__0.html">PPB_VarDictionary</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A dictionary var contains key-value pairs with unique keys. <a href="struct_p_p_b___var_dictionary__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___view__1__1.html">PPB_View</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><code>PPB_View</code> represents the state of the view of an instance. <a href="struct_p_p_b___view__1__1.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___web_socket__1__0.html">PPB_WebSocket</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_WebSocket</code> interface provides bi-directional, full-duplex, communications over a single TCP socket. <a href="struct_p_p_b___web_socket__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___graphics3_d__1__0.html">PPP_Graphics3D</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><code>PPP_Graphics3D</code> defines the notification interface for a 3D graphics context. <a href="struct_p_p_p___graphics3_d__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___input_event__0__1.html">PPP_InputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___instance__1__1.html">PPP_Instance</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPP_Instance</code> interface contains pointers to a series of functions that you must implement in your module. <a href="struct_p_p_p___instance__1__1.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___messaging__1__0.html">PPP_Messaging</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPP_Messaging</code> interface contains pointers to functions that you must implement to handle postMessage events on the associated DOM element. <a href="struct_p_p_p___messaging__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___mouse_lock__1__0.html">PPP_MouseLock</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPP_MouseLock</code> interface contains a function that you must implement to receive mouse lock events from the browser. <a href="struct_p_p_p___mouse_lock__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___audio__1__1.html">PPB_Audio</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaa420ab6e5eec1d780700bb505fe7d7f5">PPB_Audio</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___audio_config__1__1.html">PPB_AudioConfig</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga6c784ebe92dee70d03a685298a8b8345">PPB_AudioConfig</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___console__1__0.html">PPB_Console</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gab38f2ca92926b53d58d1cf2ce6320ebb">PPB_Console</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___core__1__0.html">PPB_Core</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga34a986157c49afcad3537479bc5361e9">PPB_Core</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___file_i_o__1__1.html">PPB_FileIO</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga7b7a4f4317a5af9982ba79d60f04db69">PPB_FileIO</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___file_ref__1__1.html">PPB_FileRef</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga5b136f4f49e5e5ee175eae61d86fcb34">PPB_FileRef</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___file_system__1__0.html">PPB_FileSystem</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gae5ad593b6aff864c6bd0acc09d6cc5e9">PPB_FileSystem</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___fullscreen__1__0.html">PPB_Fullscreen</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga965dcf552ef79d1a41e0c24db2cf5c3c">PPB_Fullscreen</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___gamepad__1__0.html">PPB_Gamepad</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga57baea75086a666a92489da807f16f2a">PPB_Gamepad</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___graphics2_d__1__1.html">PPB_Graphics2D</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaf9f8348d3315d8bb014b401f733ebdb6">PPB_Graphics2D</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___graphics3_d__1__0.html">PPB_Graphics3D</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga2865870b49481aae8ed416c06c58a7c0">PPB_Graphics3D</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___host_resolver__1__0.html">PPB_HostResolver</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga72b9bd04eeace0c69f4e454b7cc4e440">PPB_HostResolver</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___image_data__1__0.html">PPB_ImageData</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga17e05bbe7da0d6d7b61b6f78c5913c37">PPB_ImageData</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___input_event__1__0.html">PPB_InputEvent</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gac221fa16a0d0daa0bf171a477b465396">PPB_InputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___mouse_input_event__1__1.html">PPB_MouseInputEvent</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga3fcedb0e992eebaf7d9b1b60aacceafc">PPB_MouseInputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___wheel_input_event__1__0.html">PPB_WheelInputEvent</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaaefb7f24240d14faa56dfdba8c116889">PPB_WheelInputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___keyboard_input_event__1__0.html">PPB_KeyboardInputEvent</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gad245b3100fef75b215d6ba60cccd626e">PPB_KeyboardInputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___touch_input_event__1__0.html">PPB_TouchInputEvent</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga3d25b1582fc1e6b94f53ecfb21422d6c">PPB_TouchInputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html">PPB_IMEInputEvent</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaaa0c327650de77066ea8e2ec8f5589c5">PPB_IMEInputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___instance__1__0.html">PPB_Instance</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaf2ed3cc24968d8681b52cf70eae066ca">PPB_Instance</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___message_loop__1__0.html">PPB_MessageLoop</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gae3eb3482b0fb57fb6a4eb05c07908788">PPB_MessageLoop</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___messaging__1__0.html">PPB_Messaging</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gac53fe3a3b5941f8b3608349f58ee24f0">PPB_Messaging</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___mouse_cursor__1__0.html">PPB_MouseCursor</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gae583d9ea6381e1e4cb7b462c35c5d1de">PPB_MouseCursor</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___mouse_lock__1__0.html">PPB_MouseLock</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga9d5fa32b9c90b100400161025fda2617">PPB_MouseLock</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___net_address__1__0.html">PPB_NetAddress</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gad6c325ff5a0a74f318a680971d0a7c52">PPB_NetAddress</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___network_list__1__0.html">PPB_NetworkList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga675af1709086b2a750d28da442c41f8a">PPB_NetworkList</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___network_monitor__1__0.html">PPB_NetworkMonitor</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga873d8c5cd49f7b3c8ad5b4caabd1e8e6">PPB_NetworkMonitor</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___network_proxy__1__0.html">PPB_NetworkProxy</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaf8338a682417267c8525446ef1de85b1">PPB_NetworkProxy</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html">PPB_TCPSocket</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga0f72e14a6cf9631bd733ded1f8ba4d9f">PPB_TCPSocket</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___text_input_controller__1__0.html">PPB_TextInputController</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gab387085f6044f3a0b1631d119d22a942">PPB_TextInputController</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html">PPB_UDPSocket</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaf04d893ccf01c5d1cfcadee5fcc869d1">PPB_UDPSocket</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html">PPB_URLLoader</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga307f562a9e41991de7c80b75cd7f379c">PPB_URLLoader</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html">PPB_URLRequestInfo</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gad60387934d9e235d3d145ee5a1fb4e74">PPB_URLRequestInfo</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___u_r_l_response_info__1__0.html">PPB_URLResponseInfo</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gad63e57584aea115126b6922b141cf745">PPB_URLResponseInfo</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___var__1__1.html">PPB_Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga7363a88a6e5058841915641c1b2923ad">PPB_Var</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___var_array__1__0.html">PPB_VarArray</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaad75327f1ecc75e58c2805fc4740d3c6">PPB_VarArray</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___var_array_buffer__1__0.html">PPB_VarArrayBuffer</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gab26d5bb032f5438d02faf5bdf7b208cb">PPB_VarArrayBuffer</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___var_dictionary__1__0.html">PPB_VarDictionary</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga69826004b5c32232c9639090f3e1db2e">PPB_VarDictionary</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___view__1__1.html">PPB_View</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaccc39c5c499011d13be37e23868a04f3">PPB_View</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___web_socket__1__0.html">PPB_WebSocket</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gad0e152d14cefb0b480228f3fc7070faf">PPB_WebSocket</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_p___graphics3_d__1__0.html">PPP_Graphics3D</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gab9b763d2ae6ef08a8f18069728f418eb">PPP_Graphics3D</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_p___input_event__0__1.html">PPP_InputEvent</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga9c2577b1c089f77e1e467d74bd97a940">PPP_InputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_p___instance__1__1.html">PPP_Instance</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga3397638d116e4171368bf18fcb91ef11">PPP_Instance</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_p___messaging__1__0.html">PPP_Messaging</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga1b4374f30360ab34679a159083db7e4d">PPP_Messaging</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_p___mouse_lock__1__0.html">PPP_MouseLock</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gae600e8f5b6005b02378e6eb9f51b11cb">PPP_MouseLock</a></td></tr>
+</table>
+<hr /><h2>Typedef Documentation</h2>
+<a class="anchor" id="gaa420ab6e5eec1d780700bb505fe7d7f5"></a><!-- doxytag: member="ppb_audio.h::PPB_Audio" ref="gaa420ab6e5eec1d780700bb505fe7d7f5" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___audio__1__1.html">PPB_Audio</a> <a class="el" href="group___interfaces.html#gaa420ab6e5eec1d780700bb505fe7d7f5">PPB_Audio</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga6c784ebe92dee70d03a685298a8b8345"></a><!-- doxytag: member="ppb_audio_config.h::PPB_AudioConfig" ref="ga6c784ebe92dee70d03a685298a8b8345" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___audio_config__1__1.html">PPB_AudioConfig</a> <a class="el" href="group___interfaces.html#ga6c784ebe92dee70d03a685298a8b8345">PPB_AudioConfig</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gab38f2ca92926b53d58d1cf2ce6320ebb"></a><!-- doxytag: member="ppb_console.h::PPB_Console" ref="gab38f2ca92926b53d58d1cf2ce6320ebb" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___console__1__0.html">PPB_Console</a> <a class="el" href="group___interfaces.html#gab38f2ca92926b53d58d1cf2ce6320ebb">PPB_Console</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga34a986157c49afcad3537479bc5361e9"></a><!-- doxytag: member="ppb_core.h::PPB_Core" ref="ga34a986157c49afcad3537479bc5361e9" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___core__1__0.html">PPB_Core</a> <a class="el" href="group___interfaces.html#ga34a986157c49afcad3537479bc5361e9">PPB_Core</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga7b7a4f4317a5af9982ba79d60f04db69"></a><!-- doxytag: member="ppb_file_io.h::PPB_FileIO" ref="ga7b7a4f4317a5af9982ba79d60f04db69" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___file_i_o__1__1.html">PPB_FileIO</a> <a class="el" href="group___interfaces.html#ga7b7a4f4317a5af9982ba79d60f04db69">PPB_FileIO</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga5b136f4f49e5e5ee175eae61d86fcb34"></a><!-- doxytag: member="ppb_file_ref.h::PPB_FileRef" ref="ga5b136f4f49e5e5ee175eae61d86fcb34" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___file_ref__1__1.html">PPB_FileRef</a> <a class="el" href="group___interfaces.html#ga5b136f4f49e5e5ee175eae61d86fcb34">PPB_FileRef</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gae5ad593b6aff864c6bd0acc09d6cc5e9"></a><!-- doxytag: member="ppb_file_system.h::PPB_FileSystem" ref="gae5ad593b6aff864c6bd0acc09d6cc5e9" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___file_system__1__0.html">PPB_FileSystem</a> <a class="el" href="group___interfaces.html#gae5ad593b6aff864c6bd0acc09d6cc5e9">PPB_FileSystem</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga965dcf552ef79d1a41e0c24db2cf5c3c"></a><!-- doxytag: member="ppb_fullscreen.h::PPB_Fullscreen" ref="ga965dcf552ef79d1a41e0c24db2cf5c3c" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___fullscreen__1__0.html">PPB_Fullscreen</a> <a class="el" href="group___interfaces.html#ga965dcf552ef79d1a41e0c24db2cf5c3c">PPB_Fullscreen</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga57baea75086a666a92489da807f16f2a"></a><!-- doxytag: member="ppb_gamepad.h::PPB_Gamepad" ref="ga57baea75086a666a92489da807f16f2a" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___gamepad__1__0.html">PPB_Gamepad</a> <a class="el" href="group___interfaces.html#ga57baea75086a666a92489da807f16f2a">PPB_Gamepad</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gaf9f8348d3315d8bb014b401f733ebdb6"></a><!-- doxytag: member="ppb_graphics_2d.h::PPB_Graphics2D" ref="gaf9f8348d3315d8bb014b401f733ebdb6" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___graphics2_d__1__1.html">PPB_Graphics2D</a> <a class="el" href="group___interfaces.html#gaf9f8348d3315d8bb014b401f733ebdb6">PPB_Graphics2D</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga2865870b49481aae8ed416c06c58a7c0"></a><!-- doxytag: member="ppb_graphics_3d.h::PPB_Graphics3D" ref="ga2865870b49481aae8ed416c06c58a7c0" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___graphics3_d__1__0.html">PPB_Graphics3D</a> <a class="el" href="group___interfaces.html#ga2865870b49481aae8ed416c06c58a7c0">PPB_Graphics3D</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga72b9bd04eeace0c69f4e454b7cc4e440"></a><!-- doxytag: member="ppb_host_resolver.h::PPB_HostResolver" ref="ga72b9bd04eeace0c69f4e454b7cc4e440" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___host_resolver__1__0.html">PPB_HostResolver</a> <a class="el" href="group___interfaces.html#ga72b9bd04eeace0c69f4e454b7cc4e440">PPB_HostResolver</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga17e05bbe7da0d6d7b61b6f78c5913c37"></a><!-- doxytag: member="ppb_image_data.h::PPB_ImageData" ref="ga17e05bbe7da0d6d7b61b6f78c5913c37" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___image_data__1__0.html">PPB_ImageData</a> <a class="el" href="group___interfaces.html#ga17e05bbe7da0d6d7b61b6f78c5913c37">PPB_ImageData</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gaaa0c327650de77066ea8e2ec8f5589c5"></a><!-- doxytag: member="ppb_input_event.h::PPB_IMEInputEvent" ref="gaaa0c327650de77066ea8e2ec8f5589c5" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html">PPB_IMEInputEvent</a> <a class="el" href="group___interfaces.html#gaaa0c327650de77066ea8e2ec8f5589c5">PPB_IMEInputEvent</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gac221fa16a0d0daa0bf171a477b465396"></a><!-- doxytag: member="ppb_input_event.h::PPB_InputEvent" ref="gac221fa16a0d0daa0bf171a477b465396" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___input_event__1__0.html">PPB_InputEvent</a> <a class="el" href="group___interfaces.html#gac221fa16a0d0daa0bf171a477b465396">PPB_InputEvent</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gaf2ed3cc24968d8681b52cf70eae066ca"></a><!-- doxytag: member="ppb_instance.h::PPB_Instance" ref="gaf2ed3cc24968d8681b52cf70eae066ca" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___instance__1__0.html">PPB_Instance</a> <a class="el" href="group___interfaces.html#gaf2ed3cc24968d8681b52cf70eae066ca">PPB_Instance</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gad245b3100fef75b215d6ba60cccd626e"></a><!-- doxytag: member="ppb_input_event.h::PPB_KeyboardInputEvent" ref="gad245b3100fef75b215d6ba60cccd626e" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___keyboard_input_event__1__0.html">PPB_KeyboardInputEvent</a> <a class="el" href="group___interfaces.html#gad245b3100fef75b215d6ba60cccd626e">PPB_KeyboardInputEvent</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gae3eb3482b0fb57fb6a4eb05c07908788"></a><!-- doxytag: member="ppb_message_loop.h::PPB_MessageLoop" ref="gae3eb3482b0fb57fb6a4eb05c07908788" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___message_loop__1__0.html">PPB_MessageLoop</a> <a class="el" href="group___interfaces.html#gae3eb3482b0fb57fb6a4eb05c07908788">PPB_MessageLoop</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gac53fe3a3b5941f8b3608349f58ee24f0"></a><!-- doxytag: member="ppb_messaging.h::PPB_Messaging" ref="gac53fe3a3b5941f8b3608349f58ee24f0" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___messaging__1__0.html">PPB_Messaging</a> <a class="el" href="group___interfaces.html#gac53fe3a3b5941f8b3608349f58ee24f0">PPB_Messaging</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gae583d9ea6381e1e4cb7b462c35c5d1de"></a><!-- doxytag: member="ppb_mouse_cursor.h::PPB_MouseCursor" ref="gae583d9ea6381e1e4cb7b462c35c5d1de" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___mouse_cursor__1__0.html">PPB_MouseCursor</a> <a class="el" href="group___interfaces.html#gae583d9ea6381e1e4cb7b462c35c5d1de">PPB_MouseCursor</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga3fcedb0e992eebaf7d9b1b60aacceafc"></a><!-- doxytag: member="ppb_input_event.h::PPB_MouseInputEvent" ref="ga3fcedb0e992eebaf7d9b1b60aacceafc" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___mouse_input_event__1__1.html">PPB_MouseInputEvent</a> <a class="el" href="group___interfaces.html#ga3fcedb0e992eebaf7d9b1b60aacceafc">PPB_MouseInputEvent</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga9d5fa32b9c90b100400161025fda2617"></a><!-- doxytag: member="ppb_mouse_lock.h::PPB_MouseLock" ref="ga9d5fa32b9c90b100400161025fda2617" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___mouse_lock__1__0.html">PPB_MouseLock</a> <a class="el" href="group___interfaces.html#ga9d5fa32b9c90b100400161025fda2617">PPB_MouseLock</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gad6c325ff5a0a74f318a680971d0a7c52"></a><!-- doxytag: member="ppb_net_address.h::PPB_NetAddress" ref="gad6c325ff5a0a74f318a680971d0a7c52" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___net_address__1__0.html">PPB_NetAddress</a> <a class="el" href="group___interfaces.html#gad6c325ff5a0a74f318a680971d0a7c52">PPB_NetAddress</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga675af1709086b2a750d28da442c41f8a"></a><!-- doxytag: member="ppb_network_list.h::PPB_NetworkList" ref="ga675af1709086b2a750d28da442c41f8a" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___network_list__1__0.html">PPB_NetworkList</a> <a class="el" href="group___interfaces.html#ga675af1709086b2a750d28da442c41f8a">PPB_NetworkList</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga873d8c5cd49f7b3c8ad5b4caabd1e8e6"></a><!-- doxytag: member="ppb_network_monitor.h::PPB_NetworkMonitor" ref="ga873d8c5cd49f7b3c8ad5b4caabd1e8e6" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___network_monitor__1__0.html">PPB_NetworkMonitor</a> <a class="el" href="group___interfaces.html#ga873d8c5cd49f7b3c8ad5b4caabd1e8e6">PPB_NetworkMonitor</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gaf8338a682417267c8525446ef1de85b1"></a><!-- doxytag: member="ppb_network_proxy.h::PPB_NetworkProxy" ref="gaf8338a682417267c8525446ef1de85b1" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___network_proxy__1__0.html">PPB_NetworkProxy</a> <a class="el" href="group___interfaces.html#gaf8338a682417267c8525446ef1de85b1">PPB_NetworkProxy</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga0f72e14a6cf9631bd733ded1f8ba4d9f"></a><!-- doxytag: member="ppb_tcp_socket.h::PPB_TCPSocket" ref="ga0f72e14a6cf9631bd733ded1f8ba4d9f" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html">PPB_TCPSocket</a> <a class="el" href="group___interfaces.html#ga0f72e14a6cf9631bd733ded1f8ba4d9f">PPB_TCPSocket</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gab387085f6044f3a0b1631d119d22a942"></a><!-- doxytag: member="ppb_text_input_controller.h::PPB_TextInputController" ref="gab387085f6044f3a0b1631d119d22a942" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___text_input_controller__1__0.html">PPB_TextInputController</a> <a class="el" href="group___interfaces.html#gab387085f6044f3a0b1631d119d22a942">PPB_TextInputController</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga3d25b1582fc1e6b94f53ecfb21422d6c"></a><!-- doxytag: member="ppb_input_event.h::PPB_TouchInputEvent" ref="ga3d25b1582fc1e6b94f53ecfb21422d6c" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___touch_input_event__1__0.html">PPB_TouchInputEvent</a> <a class="el" href="group___interfaces.html#ga3d25b1582fc1e6b94f53ecfb21422d6c">PPB_TouchInputEvent</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gaf04d893ccf01c5d1cfcadee5fcc869d1"></a><!-- doxytag: member="ppb_udp_socket.h::PPB_UDPSocket" ref="gaf04d893ccf01c5d1cfcadee5fcc869d1" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html">PPB_UDPSocket</a> <a class="el" href="group___interfaces.html#gaf04d893ccf01c5d1cfcadee5fcc869d1">PPB_UDPSocket</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga307f562a9e41991de7c80b75cd7f379c"></a><!-- doxytag: member="ppb_url_loader.h::PPB_URLLoader" ref="ga307f562a9e41991de7c80b75cd7f379c" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html">PPB_URLLoader</a> <a class="el" href="group___interfaces.html#ga307f562a9e41991de7c80b75cd7f379c">PPB_URLLoader</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gad60387934d9e235d3d145ee5a1fb4e74"></a><!-- doxytag: member="ppb_url_request_info.h::PPB_URLRequestInfo" ref="gad60387934d9e235d3d145ee5a1fb4e74" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html">PPB_URLRequestInfo</a> <a class="el" href="group___interfaces.html#gad60387934d9e235d3d145ee5a1fb4e74">PPB_URLRequestInfo</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gad63e57584aea115126b6922b141cf745"></a><!-- doxytag: member="ppb_url_response_info.h::PPB_URLResponseInfo" ref="gad63e57584aea115126b6922b141cf745" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___u_r_l_response_info__1__0.html">PPB_URLResponseInfo</a> <a class="el" href="group___interfaces.html#gad63e57584aea115126b6922b141cf745">PPB_URLResponseInfo</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga7363a88a6e5058841915641c1b2923ad"></a><!-- doxytag: member="ppb_var.h::PPB_Var" ref="ga7363a88a6e5058841915641c1b2923ad" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___var__1__1.html">PPB_Var</a> <a class="el" href="group___interfaces.html#ga7363a88a6e5058841915641c1b2923ad">PPB_Var</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gaad75327f1ecc75e58c2805fc4740d3c6"></a><!-- doxytag: member="ppb_var_array.h::PPB_VarArray" ref="gaad75327f1ecc75e58c2805fc4740d3c6" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___var_array__1__0.html">PPB_VarArray</a> <a class="el" href="group___interfaces.html#gaad75327f1ecc75e58c2805fc4740d3c6">PPB_VarArray</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gab26d5bb032f5438d02faf5bdf7b208cb"></a><!-- doxytag: member="ppb_var_array_buffer.h::PPB_VarArrayBuffer" ref="gab26d5bb032f5438d02faf5bdf7b208cb" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___var_array_buffer__1__0.html">PPB_VarArrayBuffer</a> <a class="el" href="group___interfaces.html#gab26d5bb032f5438d02faf5bdf7b208cb">PPB_VarArrayBuffer</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga69826004b5c32232c9639090f3e1db2e"></a><!-- doxytag: member="ppb_var_dictionary.h::PPB_VarDictionary" ref="ga69826004b5c32232c9639090f3e1db2e" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___var_dictionary__1__0.html">PPB_VarDictionary</a> <a class="el" href="group___interfaces.html#ga69826004b5c32232c9639090f3e1db2e">PPB_VarDictionary</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gaccc39c5c499011d13be37e23868a04f3"></a><!-- doxytag: member="ppb_view.h::PPB_View" ref="gaccc39c5c499011d13be37e23868a04f3" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___view__1__1.html">PPB_View</a> <a class="el" href="group___interfaces.html#gaccc39c5c499011d13be37e23868a04f3">PPB_View</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gad0e152d14cefb0b480228f3fc7070faf"></a><!-- doxytag: member="ppb_websocket.h::PPB_WebSocket" ref="gad0e152d14cefb0b480228f3fc7070faf" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___web_socket__1__0.html">PPB_WebSocket</a> <a class="el" href="group___interfaces.html#gad0e152d14cefb0b480228f3fc7070faf">PPB_WebSocket</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gaaefb7f24240d14faa56dfdba8c116889"></a><!-- doxytag: member="ppb_input_event.h::PPB_WheelInputEvent" ref="gaaefb7f24240d14faa56dfdba8c116889" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_b___wheel_input_event__1__0.html">PPB_WheelInputEvent</a> <a class="el" href="group___interfaces.html#gaaefb7f24240d14faa56dfdba8c116889">PPB_WheelInputEvent</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gab9b763d2ae6ef08a8f18069728f418eb"></a><!-- doxytag: member="ppp_graphics_3d.h::PPP_Graphics3D" ref="gab9b763d2ae6ef08a8f18069728f418eb" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_p___graphics3_d__1__0.html">PPP_Graphics3D</a> <a class="el" href="group___interfaces.html#gab9b763d2ae6ef08a8f18069728f418eb">PPP_Graphics3D</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga9c2577b1c089f77e1e467d74bd97a940"></a><!-- doxytag: member="ppp_input_event.h::PPP_InputEvent" ref="ga9c2577b1c089f77e1e467d74bd97a940" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_p___input_event__0__1.html">PPP_InputEvent</a> <a class="el" href="group___interfaces.html#ga9c2577b1c089f77e1e467d74bd97a940">PPP_InputEvent</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga3397638d116e4171368bf18fcb91ef11"></a><!-- doxytag: member="ppp_instance.h::PPP_Instance" ref="ga3397638d116e4171368bf18fcb91ef11" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_p___instance__1__1.html">PPP_Instance</a> <a class="el" href="group___interfaces.html#ga3397638d116e4171368bf18fcb91ef11">PPP_Instance</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga1b4374f30360ab34679a159083db7e4d"></a><!-- doxytag: member="ppp_messaging.h::PPP_Messaging" ref="ga1b4374f30360ab34679a159083db7e4d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_p___messaging__1__0.html">PPP_Messaging</a> <a class="el" href="group___interfaces.html#ga1b4374f30360ab34679a159083db7e4d">PPP_Messaging</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gae600e8f5b6005b02378e6eb9f51b11cb"></a><!-- doxytag: member="ppp_mouse_lock.h::PPP_MouseLock" ref="gae600e8f5b6005b02378e6eb9f51b11cb" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef struct <a class="el" href="struct_p_p_p___mouse_lock__1__0.html">PPP_MouseLock</a> <a class="el" href="group___interfaces.html#gae600e8f5b6005b02378e6eb9f51b11cb">PPP_MouseLock</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/group___structs.html b/native_client_sdk/doc_generated/pepper_stable/c/group___structs.html
new file mode 100644
index 0000000..27bff716a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/group___structs.html
@@ -0,0 +1,292 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Structs</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+</div>
+<!--header-->
+<div class="contents">
+<h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___array_output.html">PP_ArrayOutput</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A structure that defines a way for the browser to return arrays of data to the plugin. <a href="struct_p_p___array_output.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> is a common mechanism for supporting potentially asynchronous calls in browser interfaces. <a href="struct_p_p___completion_callback.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___directory_entry.html">PP_DirectoryEntry</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___file_info.html">PP_FileInfo</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="struct_p_p___file_info.html" title="The PP_FileInfo struct represents all information about a file, such as size, type, and creation time.">PP_FileInfo</a></code> struct represents all information about a file, such as size, type, and creation time. <a href="struct_p_p___file_info.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___key.html">PP_InputEvent_Key</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="struct_p_p___input_event___key.html" title="The PP_InputEvent_Key struct represents a key up or key down event.">PP_InputEvent_Key</a></code> struct represents a key up or key down event. <a href="struct_p_p___input_event___key.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___character.html">PP_InputEvent_Character</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="struct_p_p___input_event___character.html" title="The PP_InputEvent_Character struct represents a typed character event.">PP_InputEvent_Character</a></code> struct represents a typed character event. <a href="struct_p_p___input_event___character.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___mouse.html">PP_InputEvent_Mouse</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="struct_p_p___input_event___mouse.html" title="The PP_InputEvent_Mouse struct represents all mouse events except mouse wheel events.">PP_InputEvent_Mouse</a></code> struct represents all mouse events except mouse wheel events. <a href="struct_p_p___input_event___mouse.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___wheel.html">PP_InputEvent_Wheel</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="struct_p_p___input_event___wheel.html" title="The PP_InputEvent_Wheel struct represents all mouse wheel events.">PP_InputEvent_Wheel</a></code> struct represents all mouse wheel events. <a href="struct_p_p___input_event___wheel.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___point.html">PP_Point</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="struct_p_p___point.html" title="The PP_Point structure defines the integer x and y coordinates of a point.">PP_Point</a> structure defines the integer x and y coordinates of a point. <a href="struct_p_p___point.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___float_point.html">PP_FloatPoint</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="struct_p_p___float_point.html" title="The PP_FloatPoint structure defines the floating-point x and y coordinates of a point.">PP_FloatPoint</a> structure defines the floating-point x and y coordinates of a point. <a href="struct_p_p___float_point.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___rect.html">PP_Rect</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="struct_p_p___rect.html" title="The PP_Rect struct contains the size and location of a 2D rectangle.">PP_Rect</a></code> struct contains the size and location of a 2D rectangle. <a href="struct_p_p___rect.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___size.html">PP_Size</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="struct_p_p___size.html" title="The PP_Size struct contains the size of a 2D rectangle.">PP_Size</a></code> struct contains the size of a 2D rectangle. <a href="struct_p_p___size.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___touch_point.html">PP_TouchPoint</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="struct_p_p___touch_point.html" title="The PP_TouchPoint struct represents all information about a single touch point, such as position...">PP_TouchPoint</a></code> struct represents all information about a single touch point, such as position, id, rotation angle, and pressure. <a href="struct_p_p___touch_point.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">union  </td><td class="memItemRight" valign="bottom"><a class="el" href="union_p_p___var_value.html">PP_VarValue</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="union_p_p___var_value.html" title="The PP_VarValue union stores the data for any one of the types listed in the PP_VarType enum...">PP_VarValue</a> union stores the data for any one of the types listed in the PP_VarType enum. <a href="union_p_p___var_value.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___var.html">PP_Var</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PP_VAR</code> struct is a variant data type and can contain any value of one of the types named in the <code>PP_VarType</code> enum. <a href="struct_p_p___var.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___gamepad_sample_data.html">PP_GamepadSampleData</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The data for one gamepad device. <a href="struct_p_p___gamepad_sample_data.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___gamepads_sample_data.html">PP_GamepadsSampleData</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The data for all gamepads connected to the system. <a href="struct_p_p___gamepads_sample_data.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___host_resolver___hint.html">PP_HostResolver_Hint</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><code><a class="el" href="struct_p_p___host_resolver___hint.html" title="PP_HostResolver_Hint represents hints for host resolution.">PP_HostResolver_Hint</a></code> represents hints for host resolution. <a href="struct_p_p___host_resolver___hint.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___image_data_desc.html">PP_ImageDataDesc</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="struct_p_p___image_data_desc.html" title="The PP_ImageDataDesc structure represents a description of image data.">PP_ImageDataDesc</a></code> structure represents a description of image data. <a href="struct_p_p___image_data_desc.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___net_address___i_pv4.html">PP_NetAddress_IPv4</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">All members are expressed in network byte order. <a href="struct_p_p___net_address___i_pv4.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___net_address___i_pv6.html">PP_NetAddress_IPv6</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">All members are expressed in network byte order. <a href="struct_p_p___net_address___i_pv6.html#details">More...</a><br /></td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#gad0a3a59c8cb2fb74717c8d23a5d56295">PP_DirectoryEntry</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#gad224cb61c5859f6655b274eff7328664">PP_FileInfo</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga91c5483306ded19bced2063169de99f8">PP_InputEvent_Key</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga6d1b875e2ae53ba8ee90e10505df6b7e">PP_InputEvent_Character</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga26c37abe55715f606e0a2c91867d051c">PP_InputEvent_Mouse</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga3fe74ccc6894bb133b39df77f96322cf">PP_InputEvent_Wheel</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga501da0561777e3fef2c08aa9b7400cc0">PP_Point</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga2bfb71399c8dac2aba417b75459100bd">PP_FloatPoint</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#gaa91d0179e9f1f1bd3b6f3415f75c9ff1">PP_Rect</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#gafd4a54f9a36c0825eef612e150b50421">PP_Size</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#gafa28da9c7da0da3d7c5cdd57b4485436">PP_TouchPoint</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga7c0f59e0d0c137b8390435582dc8e54d">PP_Var</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga525d88c6ef789fe645908c30bae38e7c">PP_GamepadSampleData</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#gacc3e9ccca109cc93c2fbeea317b7b004">PP_GamepadsSampleData</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga6e27cf6541423cdee5fc2cf5b2d67853">PP_HostResolver_Hint</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#gae0f2df62c9fe8b622336fa44ad897470">PP_ImageDataDesc</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga34eaf167d3bf1a00281de167719ca604">PP_NetAddress_IPv4</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga1301bb0d95a4b2e8907002b3bdc8f6d9">PP_NetAddress_IPv6</a></td></tr>
+</table>
+<hr /><h2>Variable Documentation</h2>
+<a class="anchor" id="gad0a3a59c8cb2fb74717c8d23a5d56295"></a><!-- doxytag: member="pp_directory_entry.h::PP_DirectoryEntry" ref="gad0a3a59c8cb2fb74717c8d23a5d56295" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="struct_p_p___directory_entry.html">PP_DirectoryEntry</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gad224cb61c5859f6655b274eff7328664"></a><!-- doxytag: member="pp_file_info.h::PP_FileInfo" ref="gad224cb61c5859f6655b274eff7328664" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="struct_p_p___file_info.html">PP_FileInfo</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga2bfb71399c8dac2aba417b75459100bd"></a><!-- doxytag: member="pp_point.h::PP_FloatPoint" ref="ga2bfb71399c8dac2aba417b75459100bd" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="struct_p_p___float_point.html">PP_FloatPoint</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga525d88c6ef789fe645908c30bae38e7c"></a><!-- doxytag: member="ppb_gamepad.h::PP_GamepadSampleData" ref="ga525d88c6ef789fe645908c30bae38e7c" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="struct_p_p___gamepad_sample_data.html">PP_GamepadSampleData</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gacc3e9ccca109cc93c2fbeea317b7b004"></a><!-- doxytag: member="ppb_gamepad.h::PP_GamepadsSampleData" ref="gacc3e9ccca109cc93c2fbeea317b7b004" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="struct_p_p___gamepads_sample_data.html">PP_GamepadsSampleData</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga6e27cf6541423cdee5fc2cf5b2d67853"></a><!-- doxytag: member="ppb_host_resolver.h::PP_HostResolver_Hint" ref="ga6e27cf6541423cdee5fc2cf5b2d67853" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="struct_p_p___host_resolver___hint.html">PP_HostResolver_Hint</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gae0f2df62c9fe8b622336fa44ad897470"></a><!-- doxytag: member="ppb_image_data.h::PP_ImageDataDesc" ref="gae0f2df62c9fe8b622336fa44ad897470" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="struct_p_p___image_data_desc.html">PP_ImageDataDesc</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga6d1b875e2ae53ba8ee90e10505df6b7e"></a><!-- doxytag: member="pp_input_event.h::PP_InputEvent_Character" ref="ga6d1b875e2ae53ba8ee90e10505df6b7e" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="struct_p_p___input_event___character.html">PP_InputEvent_Character</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga91c5483306ded19bced2063169de99f8"></a><!-- doxytag: member="pp_input_event.h::PP_InputEvent_Key" ref="ga91c5483306ded19bced2063169de99f8" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="struct_p_p___input_event___key.html">PP_InputEvent_Key</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga26c37abe55715f606e0a2c91867d051c"></a><!-- doxytag: member="pp_input_event.h::PP_InputEvent_Mouse" ref="ga26c37abe55715f606e0a2c91867d051c" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="struct_p_p___input_event___mouse.html">PP_InputEvent_Mouse</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga3fe74ccc6894bb133b39df77f96322cf"></a><!-- doxytag: member="pp_input_event.h::PP_InputEvent_Wheel" ref="ga3fe74ccc6894bb133b39df77f96322cf" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="struct_p_p___input_event___wheel.html">PP_InputEvent_Wheel</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga34eaf167d3bf1a00281de167719ca604"></a><!-- doxytag: member="ppb_net_address.h::PP_NetAddress_IPv4" ref="ga34eaf167d3bf1a00281de167719ca604" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="struct_p_p___net_address___i_pv4.html">PP_NetAddress_IPv4</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga1301bb0d95a4b2e8907002b3bdc8f6d9"></a><!-- doxytag: member="ppb_net_address.h::PP_NetAddress_IPv6" ref="ga1301bb0d95a4b2e8907002b3bdc8f6d9" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="struct_p_p___net_address___i_pv6.html">PP_NetAddress_IPv6</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga501da0561777e3fef2c08aa9b7400cc0"></a><!-- doxytag: member="pp_point.h::PP_Point" ref="ga501da0561777e3fef2c08aa9b7400cc0" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="struct_p_p___point.html">PP_Point</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gaa91d0179e9f1f1bd3b6f3415f75c9ff1"></a><!-- doxytag: member="pp_rect.h::PP_Rect" ref="gaa91d0179e9f1f1bd3b6f3415f75c9ff1" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="struct_p_p___rect.html">PP_Rect</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gafd4a54f9a36c0825eef612e150b50421"></a><!-- doxytag: member="pp_size.h::PP_Size" ref="gafd4a54f9a36c0825eef612e150b50421" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="struct_p_p___size.html">PP_Size</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="gafa28da9c7da0da3d7c5cdd57b4485436"></a><!-- doxytag: member="pp_touch_point.h::PP_TouchPoint" ref="gafa28da9c7da0da3d7c5cdd57b4485436" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="struct_p_p___touch_point.html">PP_TouchPoint</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga7c0f59e0d0c137b8390435582dc8e54d"></a><!-- doxytag: member="pp_var.h::PP_Var" ref="ga7c0f59e0d0c137b8390435582dc8e54d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="struct_p_p___var.html">PP_Var</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/group___typedefs.html b/native_client_sdk/doc_generated/pepper_stable/c/group___typedefs.html
new file mode 100644
index 0000000..ce370bc2
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/group___typedefs.html
@@ -0,0 +1,223 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Typedefs</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+</div>
+<!--header-->
+<div class="contents">
+<h2>
+Typedefs</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">typedef void *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#gaa363de651fad7342a37ec58375276af7">PP_ArrayOutput_GetDataBuffer</a> )(void *user_data, uint32_t element_count, uint32_t element_size)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#ga6fe12e1a41df5e10103a811036d4d8d2">PP_CompletionCallback_Func</a> )(void *user_data, int32_t result)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#gab780dd451cd7f51284cb752edd88f9a0">PP_Module</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef double </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef double </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#ga71cb1042cdeb38d7881b121f3b09ce94">PP_TimeTicks</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef double </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#ga3962a5355895925a757f613567e422fa">PP_TimeDelta</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef const void *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#ga68ad7c927b86e0c29d890603edd33154">PPB_GetInterface</a> )(const char *interface_name)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#ga2ec91970f3cb75769ce631b3b732803e">PPB_Audio_Callback</a> )(void *sample_buffer, uint32_t buffer_size_in_bytes, <a class="el" href="group___typedefs.html#ga3962a5355895925a757f613567e422fa">PP_TimeDelta</a> latency, void *user_data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#gae33224cdac15cf8596127fe7b5f08325">PP_InitializeModule_Func</a> )(<a class="el" href="group___typedefs.html#gab780dd451cd7f51284cb752edd88f9a0">PP_Module</a> module, <a class="el" href="group___typedefs.html#ga68ad7c927b86e0c29d890603edd33154">PPB_GetInterface</a> get_browser_interface)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#gad2b49167bcbf6c2c895ffb1a61bc720c">PP_ShutdownModule_Func</a> )(void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef const void *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#ga893cfdc559fdf7ae3004816357c3d7e9">PP_GetInterface_Func</a> )(const char *interface_name)</td></tr>
+</table>
+<hr /><h2>Typedef Documentation</h2>
+<a class="anchor" id="gaa363de651fad7342a37ec58375276af7"></a><!-- doxytag: member="pp_array_output.h::PP_ArrayOutput_GetDataBuffer" ref="gaa363de651fad7342a37ec58375276af7" args=")(void *user_data, uint32_t element_count, uint32_t element_size)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef void*(* <a class="el" href="group___typedefs.html#gaa363de651fad7342a37ec58375276af7">PP_ArrayOutput_GetDataBuffer</a>)(void *user_data, uint32_t element_count, uint32_t element_size)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ga6fe12e1a41df5e10103a811036d4d8d2"></a><!-- doxytag: member="pp_completion_callback.h::PP_CompletionCallback_Func" ref="ga6fe12e1a41df5e10103a811036d4d8d2" args=")(void *user_data, int32_t result)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef void(* <a class="el" href="group___typedefs.html#ga6fe12e1a41df5e10103a811036d4d8d2">PP_CompletionCallback_Func</a>)(void *user_data, int32_t result)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This typedef defines the signature that you implement to receive callbacks on asynchronous completion of an operation. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">user_data</td><td>A pointer to user data passed to a callback function. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">result</td><td>If result is 0 (PP_OK), the operation succeeded. Negative values (other than -1 or PP_OK_COMPLETE) indicate error and are specified in <a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a>. Positive values for result usually indicate success and have some operation-dependent meaning (such as bytes read). </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga893cfdc559fdf7ae3004816357c3d7e9"></a><!-- doxytag: member="ppp.h::PP_GetInterface_Func" ref="ga893cfdc559fdf7ae3004816357c3d7e9" args=")(const char *interface_name)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef const void*(* <a class="el" href="group___typedefs.html#ga893cfdc559fdf7ae3004816357c3d7e9">PP_GetInterface_Func</a>)(const char *interface_name)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Defines the type of the <code>PPP_ShutdownModule</code> function. </p>
+</div>
+</div>
+<a class="anchor" id="gae33224cdac15cf8596127fe7b5f08325"></a><!-- doxytag: member="ppp.h::PP_InitializeModule_Func" ref="gae33224cdac15cf8596127fe7b5f08325" args=")(PP_Module module, PPB_GetInterface get_browser_interface)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef int32_t(* <a class="el" href="group___typedefs.html#gae33224cdac15cf8596127fe7b5f08325">PP_InitializeModule_Func</a>)(<a class="el" href="group___typedefs.html#gab780dd451cd7f51284cb752edd88f9a0">PP_Module</a> module, <a class="el" href="group___typedefs.html#ga68ad7c927b86e0c29d890603edd33154">PPB_GetInterface</a> get_browser_interface)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Defines the type of the <code>PPP_InitializeModule</code> function. </p>
+</div>
+</div>
+<a class="anchor" id="ga89b662403e6a687bb914b80114c0d19d"></a><!-- doxytag: member="pp_instance.h::PP_Instance" ref="ga89b662403e6a687bb914b80114c0d19d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <code>PP_Instance</code> value uniquely identifies one instance of a module (.nexe/PP_Module). </p>
+<p>There will be one module instance for every <embed> tag on a page.</p>
+<p>This identifier is an opaque handle assigned by the browser to the module. It is guaranteed never to be 0, so a module can initialize it to 0 to indicate a "NULL handle." </p>
+</div>
+</div>
+<a class="anchor" id="gab780dd451cd7f51284cb752edd88f9a0"></a><!-- doxytag: member="pp_module.h::PP_Module" ref="gab780dd451cd7f51284cb752edd88f9a0" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gab780dd451cd7f51284cb752edd88f9a0">PP_Module</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The PP_Module value uniquely identifies the module or .nexe. </p>
+<p>This identifier is an opaque handle assigned by the browser to the module. It is guaranteed never to be 0, so a module can initialize it to 0 to indicate a "NULL handle." </p>
+</div>
+</div>
+<a class="anchor" id="gafdc3895ee80f4750d0d95ae1b677e9b7"></a><!-- doxytag: member="pp_resource.h::PP_Resource" ref="gafdc3895ee80f4750d0d95ae1b677e9b7" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This typedef represents an opaque handle assigned by the browser to the resource. </p>
+<p>The handle is guaranteed never to be 0 for a valid resource, so a module can initialize it to 0 to indicate a "NULL handle." Some interfaces may return a NULL resource to indicate failure.</p>
+<p>While a Var represents something callable to JS or from the module to the DOM, a resource has no meaning or visibility outside of the module interface.</p>
+<p>Resources are reference counted. Use <code>AddRefResource()</code> and <code>ReleaseResource()</code> in <code><a class="el" href="ppb__core_8h.html" title="This file defines the PPB_Core interface defined by the browser and containing pointers to functions ...">ppb_core.h</a></code> to manage the reference count of a resource. The data will be automatically destroyed when the internal reference count reaches 0. </p>
+</div>
+</div>
+<a class="anchor" id="gad2b49167bcbf6c2c895ffb1a61bc720c"></a><!-- doxytag: member="ppp.h::PP_ShutdownModule_Func" ref="gad2b49167bcbf6c2c895ffb1a61bc720c" args=")(void)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef void(* <a class="el" href="group___typedefs.html#gad2b49167bcbf6c2c895ffb1a61bc720c">PP_ShutdownModule_Func</a>)(void)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Defines the type of the <code>PPP_ShutdownModule</code> function. </p>
+</div>
+</div>
+<a class="anchor" id="ga537b277d2116e42b6acfe9323d40e1a0"></a><!-- doxytag: member="pp_time.h::PP_Time" ref="ga537b277d2116e42b6acfe9323d40e1a0" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <code>PP_Time</code> type represents the "wall clock time" according to the browser and is defined as the number of seconds since the Epoch (00:00:00 UTC, January 1, 1970). </p>
+</div>
+</div>
+<a class="anchor" id="ga3962a5355895925a757f613567e422fa"></a><!-- doxytag: member="pp_time.h::PP_TimeDelta" ref="ga3962a5355895925a757f613567e422fa" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#ga3962a5355895925a757f613567e422fa">PP_TimeDelta</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A <code>PP_TimeDelta</code> value represents a duration of time which is measured in seconds. </p>
+</div>
+</div>
+<a class="anchor" id="ga71cb1042cdeb38d7881b121f3b09ce94"></a><!-- doxytag: member="pp_time.h::PP_TimeTicks" ref="ga71cb1042cdeb38d7881b121f3b09ce94" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#ga71cb1042cdeb38d7881b121f3b09ce94">PP_TimeTicks</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A <code>PP_TimeTicks</code> value represents time ticks which are measured in seconds and are used for indicating the time that certain messages were received. </p>
+<p>In contrast to <code>PP_Time</code>, <code>PP_TimeTicks</code> does not correspond to any actual wall clock time and will not change discontinuously if the user changes their computer clock.</p>
+<p>The units are in seconds, but are not measured relative to any particular epoch, so the most you can do is compare two values. </p>
+</div>
+</div>
+<a class="anchor" id="ga2ec91970f3cb75769ce631b3b732803e"></a><!-- doxytag: member="ppb_audio.h::PPB_Audio_Callback" ref="ga2ec91970f3cb75769ce631b3b732803e" args=")(void *sample_buffer, uint32_t buffer_size_in_bytes, PP_TimeDelta latency, void *user_data)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef void(* <a class="el" href="group___typedefs.html#ga2ec91970f3cb75769ce631b3b732803e">PPB_Audio_Callback</a>)(void *sample_buffer, uint32_t buffer_size_in_bytes, <a class="el" href="group___typedefs.html#ga3962a5355895925a757f613567e422fa">PP_TimeDelta</a> latency, void *user_data)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><code>PPB_Audio_Callback</code> defines the type of an audio callback function used to fill the audio buffer with data. </p>
+<p>Please see the Create() function in the <code>PPB_Audio</code> interface for more details on this callback.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">sample_buffer</td><td>A buffer to fill with audio data. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">buffer_size_in_bytes</td><td>The size of the buffer in bytes. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">latency</td><td>How long before the audio data is to be presented. </td></tr>
+<tr><td class="paramdir"></td><td class="paramname">inout]</td><td>user_data An opaque pointer that was passed into <code><a class="el" href="struct_p_p_b___audio__1__1.html#a9714ecad5eeefae9d5d98c5ea29ac5ce" title="Create() creates an audio resource.">PPB_Audio.Create()</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga68ad7c927b86e0c29d890603edd33154"></a><!-- doxytag: member="ppb.h::PPB_GetInterface" ref="ga68ad7c927b86e0c29d890603edd33154" args=")(const char *interface_name)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef const void*(* <a class="el" href="group___typedefs.html#ga68ad7c927b86e0c29d890603edd33154">PPB_GetInterface</a>)(const char *interface_name)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function pointer type defines the signature for the <code>PPB_GetInterface</code> function. </p>
+<p>A generic <code>PPB_GetInterface</code> pointer is passed to <code>PPP_InitializedModule</code> when your module is loaded. You can use this pointer to request a pointer to a specific browser interface. Browser interface names are ASCII strings and are generally defined in the header file for the interface, such as <code>PPB_AUDIO_INTERFACE</code> found in <code>ppb.audio.h</code> or <code>PPB_GRAPHICS_2D_INTERFACE</code> in <code><a class="el" href="ppb__graphics__2d_8h.html" title="Defines the PPB_Graphics2D struct representing a 2D graphics context within the browser.">ppb_graphics_2d.h</a></code>. Click <a href="/native-client/{{pepperversion}}/pepperc/globals_defs" title="macros">here</a> for a complete list of interface names.</p>
+<p>This value will be NULL if the interface is not supported on the browser. </p>
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/index.html b/native_client_sdk/doc_generated/pepper_stable/c/index.html
new file mode 100644
index 0000000..be78e52
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/index.html
@@ -0,0 +1,161 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<span class="target" id="pepper-stable-c-index"></span><section id="pepper-c-api-reference-stable">
+<h1 id="pepper-c-api-reference-stable">Pepper C API Reference (Stable)</h1>
+<p>This page lists the C API for Pepper 32. Apps that use this API can
+run in Chrome 32 or higher.</p>
+<section id="id1">
+<h2 id="id1"><a class="reference external" href="group___interfaces.html">Interfaces</a></h2>
+<blockquote>
+<div><ul class="small-gap">
+<li><a class="reference external" href="struct_p_p_b___audio__1__1.html">PPB_Audio</a></li>
+<li><a class="reference external" href="struct_p_p_b___audio_config__1__1.html">PPB_AudioConfig</a></li>
+<li><a class="reference external" href="struct_p_p_b___console__1__0.html">PPB_Console</a></li>
+<li><a class="reference external" href="struct_p_p_b___core__1__0.html">PPB_Core</a></li>
+<li><a class="reference external" href="struct_p_p_b___file_i_o__1__1.html">PPB_FileIO</a></li>
+<li><a class="reference external" href="struct_p_p_b___file_ref__1__1.html">PPB_FileRef</a></li>
+<li><a class="reference external" href="struct_p_p_b___file_system__1__0.html">PPB_FileSystem</a></li>
+<li><a class="reference external" href="struct_p_p_b___fullscreen__1__0.html">PPB_Fullscreen</a></li>
+<li><a class="reference external" href="struct_p_p_b___gamepad__1__0.html">PPB_Gamepad</a></li>
+<li><a class="reference external" href="struct_p_p_b___graphics2_d__1__1.html">PPB_Graphics2D</a></li>
+<li><a class="reference external" href="struct_p_p_b___graphics3_d__1__0.html">PPB_Graphics3D</a></li>
+<li><a class="reference external" href="struct_p_p_b___host_resolver__1__0.html">PPB_HostResolver</a></li>
+<li><a class="reference external" href="struct_p_p_b___i_m_e_input_event__1__0.html">PPB_IMEInputEvent</a></li>
+<li><a class="reference external" href="struct_p_p_b___image_data__1__0.html">PPB_ImageData</a></li>
+<li><a class="reference external" href="struct_p_p_b___input_event__1__0.html">PPB_InputEvent</a></li>
+<li><a class="reference external" href="struct_p_p_b___instance__1__0.html">PPB_Instance</a></li>
+<li><a class="reference external" href="struct_p_p_b___keyboard_input_event__1__0.html">PPB_KeyboardInputEvent</a></li>
+<li><a class="reference external" href="struct_p_p_b___message_loop__1__0.html">PPB_MessageLoop</a></li>
+<li><a class="reference external" href="struct_p_p_b___messaging__1__0.html">PPB_Messaging</a></li>
+<li><a class="reference external" href="struct_p_p_b___mouse_cursor__1__0.html">PPB_MouseCursor</a></li>
+<li><a class="reference external" href="struct_p_p_b___mouse_input_event__1__1.html">PPB_MouseInputEvent</a></li>
+<li><a class="reference external" href="struct_p_p_b___mouse_lock__1__0.html">PPB_MouseLock</a></li>
+<li><a class="reference external" href="struct_p_p_b___net_address__1__0.html">PPB_NetAddress</a></li>
+<li><a class="reference external" href="struct_p_p_b___network_list__1__0.html">PPB_NetworkList</a></li>
+<li><a class="reference external" href="struct_p_p_b___network_monitor__1__0.html">PPB_NetworkMonitor</a></li>
+<li><a class="reference external" href="struct_p_p_b___network_proxy__1__0.html">PPB_NetworkProxy</a></li>
+<li><a class="reference external" href="struct_p_p_b___t_c_p_socket__1__1.html">PPB_TCPSocket</a></li>
+<li><a class="reference external" href="struct_p_p_b___text_input_controller__1__0.html">PPB_TextInputController</a></li>
+<li><a class="reference external" href="struct_p_p_b___touch_input_event__1__0.html">PPB_TouchInputEvent</a></li>
+<li><a class="reference external" href="struct_p_p_b___u_d_p_socket__1__0.html">PPB_UDPSocket</a></li>
+<li><a class="reference external" href="struct_p_p_b___u_r_l_loader__1__0.html">PPB_URLLoader</a></li>
+<li><a class="reference external" href="struct_p_p_b___u_r_l_request_info__1__0.html">PPB_URLRequestInfo</a></li>
+<li><a class="reference external" href="struct_p_p_b___u_r_l_response_info__1__0.html">PPB_URLResponseInfo</a></li>
+<li><a class="reference external" href="struct_p_p_b___var__1__1.html">PPB_Var</a></li>
+<li><a class="reference external" href="struct_p_p_b___var_array__1__0.html">PPB_VarArray</a></li>
+<li><a class="reference external" href="struct_p_p_b___var_array_buffer__1__0.html">PPB_VarArrayBuffer</a></li>
+<li><a class="reference external" href="struct_p_p_b___var_dictionary__1__0.html">PPB_VarDictionary</a></li>
+<li><a class="reference external" href="struct_p_p_b___view__1__1.html">PPB_View</a></li>
+<li><a class="reference external" href="struct_p_p_b___web_socket__1__0.html">PPB_WebSocket</a></li>
+<li><a class="reference external" href="struct_p_p_b___wheel_input_event__1__0.html">PPB_WheelInputEvent</a></li>
+<li><a class="reference external" href="struct_p_p_p___graphics3_d__1__0.html">PPP_Graphics3D</a></li>
+<li><a class="reference external" href="struct_p_p_p___input_event__0__1.html">PPP_InputEvent</a></li>
+<li><a class="reference external" href="struct_p_p_p___instance__1__1.html">PPP_Instance</a></li>
+<li><a class="reference external" href="struct_p_p_p___messaging__1__0.html">PPP_Messaging</a></li>
+<li><a class="reference external" href="struct_p_p_p___mouse_lock__1__0.html">PPP_MouseLock</a></li>
+</ul>
+</div></blockquote>
+</section><section id="id2">
+<h2 id="id2"><a class="reference external" href="group___structs.html">Structures</a></h2>
+<blockquote>
+<div><ul class="small-gap">
+<li><a class="reference external" href="struct_p_p___array_output.html">PP_ArrayOutput</a></li>
+<li><a class="reference external" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a></li>
+<li><a class="reference external" href="struct_p_p___directory_entry.html">PP_DirectoryEntry</a></li>
+<li><a class="reference external" href="struct_p_p___file_info.html">PP_FileInfo</a></li>
+<li><a class="reference external" href="struct_p_p___float_point.html">PP_FloatPoint</a></li>
+<li><a class="reference external" href="struct_p_p___gamepad_sample_data.html">PP_GamepadSampleData</a></li>
+<li><a class="reference external" href="struct_p_p___gamepads_sample_data.html">PP_GamepadsSampleData</a></li>
+<li><a class="reference external" href="struct_p_p___host_resolver___hint.html">PP_HostResolver_Hint</a></li>
+<li><a class="reference external" href="struct_p_p___image_data_desc.html">PP_ImageDataDesc</a></li>
+<li><a class="reference external" href="struct_p_p___input_event___character.html">PP_InputEvent_Character</a></li>
+<li><a class="reference external" href="struct_p_p___input_event___key.html">PP_InputEvent_Key</a></li>
+<li><a class="reference external" href="struct_p_p___input_event___mouse.html">PP_InputEvent_Mouse</a></li>
+<li><a class="reference external" href="struct_p_p___input_event___wheel.html">PP_InputEvent_Wheel</a></li>
+<li><a class="reference external" href="struct_p_p___net_address___i_pv4.html">PP_NetAddress_IPv4</a></li>
+<li><a class="reference external" href="struct_p_p___net_address___i_pv6.html">PP_NetAddress_IPv6</a></li>
+<li><a class="reference external" href="struct_p_p___point.html">PP_Point</a></li>
+<li><a class="reference external" href="struct_p_p___rect.html">PP_Rect</a></li>
+<li><a class="reference external" href="struct_p_p___size.html">PP_Size</a></li>
+<li><a class="reference external" href="struct_p_p___touch_point.html">PP_TouchPoint</a></li>
+<li><a class="reference external" href="struct_p_p___var.html">PP_Var</a></li>
+<li><a class="reference external" href="union_p_p___var_value.html">PP_VarValue</a></li>
+</ul>
+</div></blockquote>
+</section><section id="id3">
+<h2 id="id3"><a class="reference external" href="group___functions.html">Functions</a></h2>
+</section><section id="id4">
+<h2 id="id4"><a class="reference external" href="group___enums.html">Enums</a></h2>
+</section><section id="id5">
+<h2 id="id5"><a class="reference external" href="group___typedefs.html">Typedefs</a></h2>
+</section><section id="id6">
+<h2 id="id6"><a class="reference external" href="globals_defs.html">Macros</a></h2>
+</section><section id="files">
+<h2 id="files">Files</h2>
+<blockquote>
+<div><ul class="small-gap">
+<li><a class="reference external" href="pp__array__output_8h.html">pp_array_output.h</a></li>
+<li><a class="reference external" href="pp__bool_8h.html">pp_bool.h</a></li>
+<li><a class="reference external" href="pp__completion__callback_8h.html">pp_completion_callback.h</a></li>
+<li><a class="reference external" href="pp__directory__entry_8h.html">pp_directory_entry.h</a></li>
+<li><a class="reference external" href="pp__errors_8h.html">pp_errors.h</a></li>
+<li><a class="reference external" href="pp__file__info_8h.html">pp_file_info.h</a></li>
+<li><a class="reference external" href="pp__graphics__3d_8h.html">pp_graphics_3d.h</a></li>
+<li><a class="reference external" href="pp__input__event_8h.html">pp_input_event.h</a></li>
+<li><a class="reference external" href="pp__instance_8h.html">pp_instance.h</a></li>
+<li><a class="reference external" href="pp__module_8h.html">pp_module.h</a></li>
+<li><a class="reference external" href="pp__point_8h.html">pp_point.h</a></li>
+<li><a class="reference external" href="pp__rect_8h.html">pp_rect.h</a></li>
+<li><a class="reference external" href="pp__resource_8h.html">pp_resource.h</a></li>
+<li><a class="reference external" href="pp__size_8h.html">pp_size.h</a></li>
+<li><a class="reference external" href="pp__stdint_8h.html">pp_stdint.h</a></li>
+<li><a class="reference external" href="pp__time_8h.html">pp_time.h</a></li>
+<li><a class="reference external" href="pp__touch__point_8h.html">pp_touch_point.h</a></li>
+<li><a class="reference external" href="pp__var_8h.html">pp_var.h</a></li>
+<li><a class="reference external" href="ppb_8h.html">ppb.h</a></li>
+<li><a class="reference external" href="ppb__audio_8h.html">ppb_audio.h</a></li>
+<li><a class="reference external" href="ppb__audio__config_8h.html">ppb_audio_config.h</a></li>
+<li><a class="reference external" href="ppb__console_8h.html">ppb_console.h</a></li>
+<li><a class="reference external" href="ppb__core_8h.html">ppb_core.h</a></li>
+<li><a class="reference external" href="ppb__file__io_8h.html">ppb_file_io.h</a></li>
+<li><a class="reference external" href="ppb__file__ref_8h.html">ppb_file_ref.h</a></li>
+<li><a class="reference external" href="ppb__file__system_8h.html">ppb_file_system.h</a></li>
+<li><a class="reference external" href="ppb__fullscreen_8h.html">ppb_fullscreen.h</a></li>
+<li><a class="reference external" href="ppb__gamepad_8h.html">ppb_gamepad.h</a></li>
+<li><a class="reference external" href="ppb__graphics__2d_8h.html">ppb_graphics_2d.h</a></li>
+<li><a class="reference external" href="ppb__graphics__3d_8h.html">ppb_graphics_3d.h</a></li>
+<li><a class="reference external" href="ppb__host__resolver_8h.html">ppb_host_resolver.h</a></li>
+<li><a class="reference external" href="ppb__image__data_8h.html">ppb_image_data.h</a></li>
+<li><a class="reference external" href="ppb__input__event_8h.html">ppb_input_event.h</a></li>
+<li><a class="reference external" href="ppb__instance_8h.html">ppb_instance.h</a></li>
+<li><a class="reference external" href="ppb__message__loop_8h.html">ppb_message_loop.h</a></li>
+<li><a class="reference external" href="ppb__messaging_8h.html">ppb_messaging.h</a></li>
+<li><a class="reference external" href="ppb__mouse__cursor_8h.html">ppb_mouse_cursor.h</a></li>
+<li><a class="reference external" href="ppb__mouse__lock_8h.html">ppb_mouse_lock.h</a></li>
+<li><a class="reference external" href="ppb__net__address_8h.html">ppb_net_address.h</a></li>
+<li><a class="reference external" href="ppb__network__list_8h.html">ppb_network_list.h</a></li>
+<li><a class="reference external" href="ppb__network__monitor_8h.html">ppb_network_monitor.h</a></li>
+<li><a class="reference external" href="ppb__network__proxy_8h.html">ppb_network_proxy.h</a></li>
+<li><a class="reference external" href="ppb__tcp__socket_8h.html">ppb_tcp_socket.h</a></li>
+<li><a class="reference external" href="ppb__text__input__controller_8h.html">ppb_text_input_controller.h</a></li>
+<li><a class="reference external" href="ppb__udp__socket_8h.html">ppb_udp_socket.h</a></li>
+<li><a class="reference external" href="ppb__url__loader_8h.html">ppb_url_loader.h</a></li>
+<li><a class="reference external" href="ppb__url__request__info_8h.html">ppb_url_request_info.h</a></li>
+<li><a class="reference external" href="ppb__url__response__info_8h.html">ppb_url_response_info.h</a></li>
+<li><a class="reference external" href="ppb__var_8h.html">ppb_var.h</a></li>
+<li><a class="reference external" href="ppb__var__array_8h.html">ppb_var_array.h</a></li>
+<li><a class="reference external" href="ppb__var__array__buffer_8h.html">ppb_var_array_buffer.h</a></li>
+<li><a class="reference external" href="ppb__var__dictionary_8h.html">ppb_var_dictionary.h</a></li>
+<li><a class="reference external" href="ppb__view_8h.html">ppb_view.h</a></li>
+<li><a class="reference external" href="ppb__websocket_8h.html">ppb_websocket.h</a></li>
+<li><a class="reference external" href="ppp_8h.html">ppp.h</a></li>
+<li><a class="reference external" href="ppp__graphics__3d_8h.html">ppp_graphics_3d.h</a></li>
+<li><a class="reference external" href="ppp__input__event_8h.html">ppp_input_event.h</a></li>
+<li><a class="reference external" href="ppp__instance_8h.html">ppp_instance.h</a></li>
+<li><a class="reference external" href="ppp__messaging_8h.html">ppp_messaging.h</a></li>
+<li><a class="reference external" href="ppp__mouse__lock_8h.html">ppp_mouse_lock.h</a></li>
+</ul>
+</div></blockquote>
+</section></section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/index.rst b/native_client_sdk/doc_generated/pepper_stable/c/index.rst
new file mode 100644
index 0000000..fc17998
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/index.rst
@@ -0,0 +1,283 @@
+.. _pepper_stable_c_index:
+
+.. DO NOT EDIT! This document is auto-generated by doxygen/rst_index.py.
+
+##########################################
+Pepper C API Reference (Stable)
+##########################################
+
+This page lists the C API for Pepper 32. Apps that use this API can
+run in Chrome 32 or higher.
+
+`Interfaces <group___interfaces.html>`_
+=======================================
+ * `PPB_Audio <struct_p_p_b___audio__1__1.html>`_
+
+ * `PPB_AudioConfig <struct_p_p_b___audio_config__1__1.html>`_
+
+ * `PPB_Console <struct_p_p_b___console__1__0.html>`_
+
+ * `PPB_Core <struct_p_p_b___core__1__0.html>`_
+
+ * `PPB_FileIO <struct_p_p_b___file_i_o__1__1.html>`_
+
+ * `PPB_FileRef <struct_p_p_b___file_ref__1__1.html>`_
+
+ * `PPB_FileSystem <struct_p_p_b___file_system__1__0.html>`_
+
+ * `PPB_Fullscreen <struct_p_p_b___fullscreen__1__0.html>`_
+
+ * `PPB_Gamepad <struct_p_p_b___gamepad__1__0.html>`_
+
+ * `PPB_Graphics2D <struct_p_p_b___graphics2_d__1__1.html>`_
+
+ * `PPB_Graphics3D <struct_p_p_b___graphics3_d__1__0.html>`_
+
+ * `PPB_HostResolver <struct_p_p_b___host_resolver__1__0.html>`_
+
+ * `PPB_IMEInputEvent <struct_p_p_b___i_m_e_input_event__1__0.html>`_
+
+ * `PPB_ImageData <struct_p_p_b___image_data__1__0.html>`_
+
+ * `PPB_InputEvent <struct_p_p_b___input_event__1__0.html>`_
+
+ * `PPB_Instance <struct_p_p_b___instance__1__0.html>`_
+
+ * `PPB_KeyboardInputEvent <struct_p_p_b___keyboard_input_event__1__0.html>`_
+
+ * `PPB_MessageLoop <struct_p_p_b___message_loop__1__0.html>`_
+
+ * `PPB_Messaging <struct_p_p_b___messaging__1__0.html>`_
+
+ * `PPB_MouseCursor <struct_p_p_b___mouse_cursor__1__0.html>`_
+
+ * `PPB_MouseInputEvent <struct_p_p_b___mouse_input_event__1__1.html>`_
+
+ * `PPB_MouseLock <struct_p_p_b___mouse_lock__1__0.html>`_
+
+ * `PPB_NetAddress <struct_p_p_b___net_address__1__0.html>`_
+
+ * `PPB_NetworkList <struct_p_p_b___network_list__1__0.html>`_
+
+ * `PPB_NetworkMonitor <struct_p_p_b___network_monitor__1__0.html>`_
+
+ * `PPB_NetworkProxy <struct_p_p_b___network_proxy__1__0.html>`_
+
+ * `PPB_TCPSocket <struct_p_p_b___t_c_p_socket__1__1.html>`_
+
+ * `PPB_TextInputController <struct_p_p_b___text_input_controller__1__0.html>`_
+
+ * `PPB_TouchInputEvent <struct_p_p_b___touch_input_event__1__0.html>`_
+
+ * `PPB_UDPSocket <struct_p_p_b___u_d_p_socket__1__0.html>`_
+
+ * `PPB_URLLoader <struct_p_p_b___u_r_l_loader__1__0.html>`_
+
+ * `PPB_URLRequestInfo <struct_p_p_b___u_r_l_request_info__1__0.html>`_
+
+ * `PPB_URLResponseInfo <struct_p_p_b___u_r_l_response_info__1__0.html>`_
+
+ * `PPB_Var <struct_p_p_b___var__1__1.html>`_
+
+ * `PPB_VarArray <struct_p_p_b___var_array__1__0.html>`_
+
+ * `PPB_VarArrayBuffer <struct_p_p_b___var_array_buffer__1__0.html>`_
+
+ * `PPB_VarDictionary <struct_p_p_b___var_dictionary__1__0.html>`_
+
+ * `PPB_View <struct_p_p_b___view__1__1.html>`_
+
+ * `PPB_WebSocket <struct_p_p_b___web_socket__1__0.html>`_
+
+ * `PPB_WheelInputEvent <struct_p_p_b___wheel_input_event__1__0.html>`_
+
+ * `PPP_Graphics3D <struct_p_p_p___graphics3_d__1__0.html>`_
+
+ * `PPP_InputEvent <struct_p_p_p___input_event__0__1.html>`_
+
+ * `PPP_Instance <struct_p_p_p___instance__1__1.html>`_
+
+ * `PPP_Messaging <struct_p_p_p___messaging__1__0.html>`_
+
+ * `PPP_MouseLock <struct_p_p_p___mouse_lock__1__0.html>`_
+
+
+`Structures <group___structs.html>`_
+====================================
+ * `PP_ArrayOutput <struct_p_p___array_output.html>`_
+
+ * `PP_CompletionCallback <struct_p_p___completion_callback.html>`_
+
+ * `PP_DirectoryEntry <struct_p_p___directory_entry.html>`_
+
+ * `PP_FileInfo <struct_p_p___file_info.html>`_
+
+ * `PP_FloatPoint <struct_p_p___float_point.html>`_
+
+ * `PP_GamepadSampleData <struct_p_p___gamepad_sample_data.html>`_
+
+ * `PP_GamepadsSampleData <struct_p_p___gamepads_sample_data.html>`_
+
+ * `PP_HostResolver_Hint <struct_p_p___host_resolver___hint.html>`_
+
+ * `PP_ImageDataDesc <struct_p_p___image_data_desc.html>`_
+
+ * `PP_InputEvent_Character <struct_p_p___input_event___character.html>`_
+
+ * `PP_InputEvent_Key <struct_p_p___input_event___key.html>`_
+
+ * `PP_InputEvent_Mouse <struct_p_p___input_event___mouse.html>`_
+
+ * `PP_InputEvent_Wheel <struct_p_p___input_event___wheel.html>`_
+
+ * `PP_NetAddress_IPv4 <struct_p_p___net_address___i_pv4.html>`_
+
+ * `PP_NetAddress_IPv6 <struct_p_p___net_address___i_pv6.html>`_
+
+ * `PP_Point <struct_p_p___point.html>`_
+
+ * `PP_Rect <struct_p_p___rect.html>`_
+
+ * `PP_Size <struct_p_p___size.html>`_
+
+ * `PP_TouchPoint <struct_p_p___touch_point.html>`_
+
+ * `PP_Var <struct_p_p___var.html>`_
+
+ * `PP_VarValue <union_p_p___var_value.html>`_
+
+
+`Functions <group___functions.html>`_
+=====================================
+
+`Enums <group___enums.html>`_
+=============================
+
+`Typedefs <group___typedefs.html>`_
+===================================
+
+`Macros <globals_defs.html>`_
+=============================
+
+Files
+=====
+ * `pp_array_output.h <pp__array__output_8h.html>`_
+
+ * `pp_bool.h <pp__bool_8h.html>`_
+
+ * `pp_completion_callback.h <pp__completion__callback_8h.html>`_
+
+ * `pp_directory_entry.h <pp__directory__entry_8h.html>`_
+
+ * `pp_errors.h <pp__errors_8h.html>`_
+
+ * `pp_file_info.h <pp__file__info_8h.html>`_
+
+ * `pp_graphics_3d.h <pp__graphics__3d_8h.html>`_
+
+ * `pp_input_event.h <pp__input__event_8h.html>`_
+
+ * `pp_instance.h <pp__instance_8h.html>`_
+
+ * `pp_module.h <pp__module_8h.html>`_
+
+ * `pp_point.h <pp__point_8h.html>`_
+
+ * `pp_rect.h <pp__rect_8h.html>`_
+
+ * `pp_resource.h <pp__resource_8h.html>`_
+
+ * `pp_size.h <pp__size_8h.html>`_
+
+ * `pp_stdint.h <pp__stdint_8h.html>`_
+
+ * `pp_time.h <pp__time_8h.html>`_
+
+ * `pp_touch_point.h <pp__touch__point_8h.html>`_
+
+ * `pp_var.h <pp__var_8h.html>`_
+
+ * `ppb.h <ppb_8h.html>`_
+
+ * `ppb_audio.h <ppb__audio_8h.html>`_
+
+ * `ppb_audio_config.h <ppb__audio__config_8h.html>`_
+
+ * `ppb_console.h <ppb__console_8h.html>`_
+
+ * `ppb_core.h <ppb__core_8h.html>`_
+
+ * `ppb_file_io.h <ppb__file__io_8h.html>`_
+
+ * `ppb_file_ref.h <ppb__file__ref_8h.html>`_
+
+ * `ppb_file_system.h <ppb__file__system_8h.html>`_
+
+ * `ppb_fullscreen.h <ppb__fullscreen_8h.html>`_
+
+ * `ppb_gamepad.h <ppb__gamepad_8h.html>`_
+
+ * `ppb_graphics_2d.h <ppb__graphics__2d_8h.html>`_
+
+ * `ppb_graphics_3d.h <ppb__graphics__3d_8h.html>`_
+
+ * `ppb_host_resolver.h <ppb__host__resolver_8h.html>`_
+
+ * `ppb_image_data.h <ppb__image__data_8h.html>`_
+
+ * `ppb_input_event.h <ppb__input__event_8h.html>`_
+
+ * `ppb_instance.h <ppb__instance_8h.html>`_
+
+ * `ppb_message_loop.h <ppb__message__loop_8h.html>`_
+
+ * `ppb_messaging.h <ppb__messaging_8h.html>`_
+
+ * `ppb_mouse_cursor.h <ppb__mouse__cursor_8h.html>`_
+
+ * `ppb_mouse_lock.h <ppb__mouse__lock_8h.html>`_
+
+ * `ppb_net_address.h <ppb__net__address_8h.html>`_
+
+ * `ppb_network_list.h <ppb__network__list_8h.html>`_
+
+ * `ppb_network_monitor.h <ppb__network__monitor_8h.html>`_
+
+ * `ppb_network_proxy.h <ppb__network__proxy_8h.html>`_
+
+ * `ppb_tcp_socket.h <ppb__tcp__socket_8h.html>`_
+
+ * `ppb_text_input_controller.h <ppb__text__input__controller_8h.html>`_
+
+ * `ppb_udp_socket.h <ppb__udp__socket_8h.html>`_
+
+ * `ppb_url_loader.h <ppb__url__loader_8h.html>`_
+
+ * `ppb_url_request_info.h <ppb__url__request__info_8h.html>`_
+
+ * `ppb_url_response_info.h <ppb__url__response__info_8h.html>`_
+
+ * `ppb_var.h <ppb__var_8h.html>`_
+
+ * `ppb_var_array.h <ppb__var__array_8h.html>`_
+
+ * `ppb_var_array_buffer.h <ppb__var__array__buffer_8h.html>`_
+
+ * `ppb_var_dictionary.h <ppb__var__dictionary_8h.html>`_
+
+ * `ppb_view.h <ppb__view_8h.html>`_
+
+ * `ppb_websocket.h <ppb__websocket_8h.html>`_
+
+ * `ppp.h <ppp_8h.html>`_
+
+ * `ppp_graphics_3d.h <ppp__graphics__3d_8h.html>`_
+
+ * `ppp_input_event.h <ppp__input__event_8h.html>`_
+
+ * `ppp_instance.h <ppp__instance_8h.html>`_
+
+ * `ppp_messaging.h <ppp__messaging_8h.html>`_
+
+ * `ppp_mouse_lock.h <ppp__mouse__lock_8h.html>`_
+
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/pp__array__output_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/pp__array__output_8h.html
new file mode 100644
index 0000000..8ffd02b
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/pp__array__output_8h.html
@@ -0,0 +1,43 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/pp_array_output.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for pp_array_output.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="pp__array__output_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2pp__array__output_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2pp__array__output_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2pp__array__output_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___array_output.html">PP_ArrayOutput</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A structure that defines a way for the browser to return arrays of data to the plugin. <a href="struct_p_p___array_output.html#details">More...</a><br /></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef void *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#gaa363de651fad7342a37ec58375276af7">PP_ArrayOutput_GetDataBuffer</a> )(void *user_data, uint32_t element_count, uint32_t element_size)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>PP_ArrayOutput_GetDataBuffer is a callback function to allocate plugin memory for an array. </p>
+<p>It returns the allocated memory or null on failure.</p>
+<p>This function will be called reentrantly. This means that if you call a function PPB_Foo.GetData(&array_output), GetData will call your GetDataBuffer function before it returns.</p>
+<p>This function will be called even when returning 0-length arrays, so be sure your implementation can support that. You can return NULL for 0 length arrays and it will not be treated as a failure.</p>
+<p>You should not perform any processing in this callback, including calling other PPAPI functions, outside of allocating memory. You should not throw any exceptions. In C++, this means using "new (nothrow)" or being sure to catch any exceptions before returning.</p>
+<p>The C++ wrapper provides a convenient templatized implementation around std::vector which you should generally use instead of coding this specifically.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramname">user_data</td><td>The pointer provided in the <a class="el" href="struct_p_p___array_output.html" title="A structure that defines a way for the browser to return arrays of data to the plugin.">PP_ArrayOutput</a> structure. This has no meaning to the browser, it is intended to be used by the implementation to figure out where to put the data.</td></tr>
+<tr><td class="paramname">element_count</td><td>The number of elements in the array. This will be 0 if there is no data to return.</td></tr>
+<tr><td class="paramname">element_size</td><td>The size of each element in bytes.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns a pointer to the allocated memory. On failure, returns null. You can also return null if the element_count is 0. When a non-null value is returned, the buffer must remain valid until after the callback runs. If used with a blocking callback, the buffer must remain valid until after the function returns. The plugin can then free any memory that it allocated. </dd></dl>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/pp__array__output_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/pp__array__output_8h__incl.png
new file mode 100644
index 0000000..3b3f8ab8
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/pp__array__output_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/pp__bool_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/pp__bool_8h.html
new file mode 100644
index 0000000..ddf3a1e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/pp__bool_8h.html
@@ -0,0 +1,30 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/pp_bool.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for pp_bool.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="pp__bool_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2pp__bool_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2pp__bool_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2pp__bool_8h">
+</map>
+</div>
+</div><h2>
+Enumerations</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> { <a class="el" href="group___enums.html#gga4f272d99be14aacafe08dfd4ef830918aeb6cdb899071a9ea4695a184bfdc3e81">PP_FALSE</a> = 0,
+<a class="el" href="group___enums.html#gga4f272d99be14aacafe08dfd4ef830918a177ce110df585fe2b468dba9a0eefda5">PP_TRUE</a> = 1
+ }</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PP_Bool</code> enumeration for use in PPAPI C headers. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/pp__bool_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/pp__bool_8h__incl.png
new file mode 100644
index 0000000..cd7c909
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/pp__bool_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/pp__completion__callback_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/pp__completion__callback_8h.html
new file mode 100644
index 0000000..1258004
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/pp__completion__callback_8h.html
@@ -0,0 +1,44 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/pp_completion_callback.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for pp_completion_callback.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="pp__completion__callback_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2pp__completion__callback_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2pp__completion__callback_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2pp__completion__callback_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> is a common mechanism for supporting potentially asynchronous calls in browser interfaces. <a href="struct_p_p___completion_callback.html#details">More...</a><br /></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#ga6fe12e1a41df5e10103a811036d4d8d2">PP_CompletionCallback_Func</a> )(void *user_data, int32_t result)</td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga7610f0fba2396d46384859caa4d91798">PP_CompletionCallback_Flag</a> { <a class="el" href="group___enums.html#gga7610f0fba2396d46384859caa4d91798a6eedc0f315784a4cb47c5806b828c7cc">PP_COMPLETIONCALLBACK_FLAG_NONE</a> = 0 << 0,
+<a class="el" href="group___enums.html#gga7610f0fba2396d46384859caa4d91798aebb176d8930b14219b7966fd93a2e967">PP_COMPLETIONCALLBACK_FLAG_OPTIONAL</a> = 1 << 0
+ }</td></tr>
+</table><h2>
+Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga8691f15edad9b391c3644064ac57f191">PP_MakeCompletionCallback</a> (<a class="el" href="group___typedefs.html#ga6fe12e1a41df5e10103a811036d4d8d2">PP_CompletionCallback_Func</a> func, void *user_data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#gabd6bf83f4c787477631c37d44418c4db">PP_MakeOptionalCompletionCallback</a> (<a class="el" href="group___typedefs.html#ga6fe12e1a41df5e10103a811036d4d8d2">PP_CompletionCallback_Func</a> func, void *user_data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#gaffce49266a735f9ee8d149b14477404f">PP_RunCompletionCallback</a> (struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> *cc, int32_t result)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga340e452b4931d17bd44928769490e282">PP_BlockUntilComplete</a> (void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga8dac45aa496bbb1f97a15e2833d3ed02">PP_RunAndClearCompletionCallback</a> (struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> *cc, int32_t res)</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga7610f0fba2396d46384859caa4d91798">PP_CompletionCallback_Flag</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API to create and run a callback. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/pp__completion__callback_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/pp__completion__callback_8h__incl.png
new file mode 100644
index 0000000..2c6b2cb
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/pp__completion__callback_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/pp__directory__entry_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/pp__directory__entry_8h.html
new file mode 100644
index 0000000..2ab3eda2
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/pp__directory__entry_8h.html
@@ -0,0 +1,28 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/pp_directory_entry.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for pp_directory_entry.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="pp__directory__entry_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2pp__directory__entry_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2pp__directory__entry_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2pp__directory__entry_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___directory_entry.html">PP_DirectoryEntry</a></td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#gad0a3a59c8cb2fb74717c8d23a5d56295">PP_DirectoryEntry</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code><a class="el" href="struct_p_p___directory_entry.html">PP_DirectoryEntry</a></code> struct. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/pp__directory__entry_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/pp__directory__entry_8h__incl.png
new file mode 100644
index 0000000..7965aec
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/pp__directory__entry_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/pp__errors_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/pp__errors_8h.html
new file mode 100644
index 0000000..aacbaaa
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/pp__errors_8h.html
@@ -0,0 +1,71 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/pp_errors.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for pp_errors.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="pp__errors_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2pp__errors_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2pp__errors_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2pp__errors_8h">
+</map>
+</div>
+</div><h2>
+Enumerations</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom">{ <br />
+  <a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba5c394615cfa8eaceba77ecedb65dc9cb">PP_OK</a> = 0,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55baa5f7aa5667dc3eb61dd4f822d1163b29">PP_OK_COMPLETIONPENDING</a> = -1,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba06a8964482e41bf50c45c0d9dd281830">PP_ERROR_FAILED</a> = -2,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba8389cb348aeba81a94b058622f5914af">PP_ERROR_ABORTED</a> = -3,
+<br />
+  <a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba02f23038858b2b1a3c95f1593332503f">PP_ERROR_BADARGUMENT</a> = -4,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba55448d3b2c42d96c7b347a5833df7e76">PP_ERROR_BADRESOURCE</a> = -5,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba7bc23fde1d7408a2d5e0c02fda77a157">PP_ERROR_NOINTERFACE</a> = -6,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55baccd33fd6aa1c9a64b692a615b8099f10">PP_ERROR_NOACCESS</a> = -7,
+<br />
+  <a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba77543198f33b4da09f5431f61be0fdfe">PP_ERROR_NOMEMORY</a> = -8,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55baa52e024aa5d86ea5c2d0e9fe4d4223b1">PP_ERROR_NOSPACE</a> = -9,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba32f8a2ecfc27357c36e8cab62f5f8b60">PP_ERROR_NOQUOTA</a> = -10,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba2eb423e9cc9c19a6a7150b342a0b383a">PP_ERROR_INPROGRESS</a> = -11,
+<br />
+  <a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55babb8fa3e1cb15627f433a049d68e49d5b">PP_ERROR_NOTSUPPORTED</a> = -12,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba282ee581bafd4579a8982a5141793de4">PP_ERROR_BLOCKS_MAIN_THREAD</a> = -13,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba6c1c35f64dd233fc0a46151a82915960">PP_ERROR_FILENOTFOUND</a> = -20,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba325aca7c7d73483de41998329b342ef0">PP_ERROR_FILEEXISTS</a> = -21,
+<br />
+  <a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55bac0eab80ff249433a206cd93e34d1e965">PP_ERROR_FILETOOBIG</a> = -22,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55baa2e274f5a24c62f7ebf50ef2e2dd98a6">PP_ERROR_FILECHANGED</a> = -23,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55baf216de52da5770d56ba7e483974ec209">PP_ERROR_NOTAFILE</a> = -24,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba53382f01745b691ba6f91c65b6059953">PP_ERROR_TIMEDOUT</a> = -30,
+<br />
+  <a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba3f20bb850c408a7e05fbc9ce42a8e999">PP_ERROR_USERCANCEL</a> = -40,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba8c428198d142124ef0c99eb8e8572491">PP_ERROR_NO_USER_GESTURE</a> = -41,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba7469b76adbd5e8e931314160093a9e1a">PP_ERROR_CONTEXT_LOST</a> = -50,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55baf907cc8f39ca083a5cad188fb808fc0f">PP_ERROR_NO_MESSAGE_LOOP</a> = -51,
+<br />
+  <a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55bae18e92e98e2dd0d106b49387af13c997">PP_ERROR_WRONG_THREAD</a> = -52,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55babbc1f7cf46e1746ce232e4655191630e">PP_ERROR_CONNECTION_CLOSED</a> = -100,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55bac7e0cbefef9315c63c0d7858d0fc4c01">PP_ERROR_CONNECTION_RESET</a> = -101,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55bab3873811c2f684a437a2efa3133d3452">PP_ERROR_CONNECTION_REFUSED</a> = -102,
+<br />
+  <a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55baf86ee9c96af9f4c315ac6458b6638f27">PP_ERROR_CONNECTION_ABORTED</a> = -103,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55bacd6d028056cb3596b966682edb6effcf">PP_ERROR_CONNECTION_FAILED</a> = -104,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba49150f7eacf465fc552e751ac521b4ae">PP_ERROR_CONNECTION_TIMEDOUT</a> = -105,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55baa13c10929736aa23a8056ee33dcd23e5">PP_ERROR_ADDRESS_INVALID</a> = -106,
+<br />
+  <a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba4304630fb13c40107ed6da9e5b764003">PP_ERROR_ADDRESS_UNREACHABLE</a> = -107,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55bafb9e232a63a5787ec0445ee9cc7fc7c2">PP_ERROR_ADDRESS_IN_USE</a> = -108,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba679d405ff44d259db51dfc6f312b465f">PP_ERROR_MESSAGE_TOO_BIG</a> = -109,
+<a class="el" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba74c1a24f06288fc63221631ba6a2a7b6">PP_ERROR_NAME_NOT_RESOLVED</a> = -110
+<br />
+ }</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines an enumeration of all PPAPI error codes. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/pp__errors_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/pp__errors_8h__incl.png
new file mode 100644
index 0000000..07b9457
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/pp__errors_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/pp__file__info_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/pp__file__info_8h.html
new file mode 100644
index 0000000..4b004e2
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/pp__file__info_8h.html
@@ -0,0 +1,46 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/pp_file_info.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for pp_file_info.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="pp__file__info_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2pp__file__info_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2pp__file__info_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2pp__file__info_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___file_info.html">PP_FileInfo</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="struct_p_p___file_info.html" title="The PP_FileInfo struct represents all information about a file, such as size, type, and creation time.">PP_FileInfo</a></code> struct represents all information about a file, such as size, type, and creation time. <a href="struct_p_p___file_info.html#details">More...</a><br /></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga36f6dfbe9c1e98540c5247f790746427">PP_FileType</a> { <a class="el" href="group___enums.html#gga36f6dfbe9c1e98540c5247f790746427acd0d93632365573bba7774b7fe0c62fd">PP_FILETYPE_REGULAR</a> = 0,
+<a class="el" href="group___enums.html#gga36f6dfbe9c1e98540c5247f790746427a81b606e1444df5fb838a692f891fbde9">PP_FILETYPE_DIRECTORY</a> = 1,
+<a class="el" href="group___enums.html#gga36f6dfbe9c1e98540c5247f790746427a9e3863ab973d8643dcc96708f55df880">PP_FILETYPE_OTHER</a> = 2
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga87b353f2ec8935c9c3294daff612c145">PP_FileSystemType</a> { <br />
+  <a class="el" href="group___enums.html#gga87b353f2ec8935c9c3294daff612c145a48e7bd0df8bd086812085be972e963a0">PP_FILESYSTEMTYPE_INVALID</a> = 0,
+<a class="el" href="group___enums.html#gga87b353f2ec8935c9c3294daff612c145aa21f18053ba5b3594a0b5373074742c2">PP_FILESYSTEMTYPE_EXTERNAL</a> = 1,
+<a class="el" href="group___enums.html#gga87b353f2ec8935c9c3294daff612c145a4c51625a4c977d3fab0c4dd28127603c">PP_FILESYSTEMTYPE_LOCALPERSISTENT</a> = 2,
+<a class="el" href="group___enums.html#gga87b353f2ec8935c9c3294daff612c145abefda8d47a5cd9b8918f012c34496ca9">PP_FILESYSTEMTYPE_LOCALTEMPORARY</a> = 3,
+<br />
+  <a class="el" href="group___enums.html#gga87b353f2ec8935c9c3294daff612c145aeceec88ea91ee70c499ff39119dd33b5">PP_FILESYSTEMTYPE_ISOLATED</a> = 4
+<br />
+ }</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga36f6dfbe9c1e98540c5247f790746427">PP_FileType</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga87b353f2ec8935c9c3294daff612c145">PP_FileSystemType</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#gad224cb61c5859f6655b274eff7328664">PP_FileInfo</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines three enumerations for use in the PPAPI C file IO APIs. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/pp__file__info_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/pp__file__info_8h__incl.png
new file mode 100644
index 0000000..b085df96
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/pp__file__info_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/pp__graphics__3d_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/pp__graphics__3d_8h.html
new file mode 100644
index 0000000..26d6797
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/pp__graphics__3d_8h.html
@@ -0,0 +1,51 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/pp_graphics_3d.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for pp_graphics_3d.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="pp__graphics__3d_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2pp__graphics__3d_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2pp__graphics__3d_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2pp__graphics__3d_8h">
+</map>
+</div>
+</div><h2>
+Enumerations</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga7df48e1c55f6401beea2a1b9c07967e8">PP_Graphics3DAttrib</a> { <br />
+  <a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8aac0fc60be37c86f193fb535bedb09458">PP_GRAPHICS3DATTRIB_ALPHA_SIZE</a> = 0x3021,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a519cd199423721033780ee13ecb0e60b">PP_GRAPHICS3DATTRIB_BLUE_SIZE</a> = 0x3022,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8ade95a6e685ca23522da80c1703d294a7">PP_GRAPHICS3DATTRIB_GREEN_SIZE</a> = 0x3023,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a7caad99c8c857fdb804c6755551398f5">PP_GRAPHICS3DATTRIB_RED_SIZE</a> = 0x3024,
+<br />
+  <a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8ab594f7ae52f23b7b0609797c06cf7cf8">PP_GRAPHICS3DATTRIB_DEPTH_SIZE</a> = 0x3025,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8acc0e34bee390933357c7386391faeac0">PP_GRAPHICS3DATTRIB_STENCIL_SIZE</a> = 0x3026,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a98c1bf99b329be847d53f4eb651b4a63">PP_GRAPHICS3DATTRIB_SAMPLES</a> = 0x3031,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a8bccea594213dbdd1750f97f3b187047">PP_GRAPHICS3DATTRIB_SAMPLE_BUFFERS</a> = 0x3032,
+<br />
+  <a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a66b15e43e8159f71751be033d44fda21">PP_GRAPHICS3DATTRIB_NONE</a> = 0x3038,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8ac37b92e8426753d7a24d0cf193a5923d">PP_GRAPHICS3DATTRIB_HEIGHT</a> = 0x3056,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a378f15587369cdefbcf565bc8f15db2c">PP_GRAPHICS3DATTRIB_WIDTH</a> = 0x3057,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a03d8a647ddb24105718bcb91b8f972fd">PP_GRAPHICS3DATTRIB_SWAP_BEHAVIOR</a> = 0x3093,
+<br />
+  <a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a46b174aaf7b91e26cc2a014268e65512">PP_GRAPHICS3DATTRIB_BUFFER_PRESERVED</a> = 0x3094,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a8aa6eff69c6b613b0a65803fa75d48fb">PP_GRAPHICS3DATTRIB_BUFFER_DESTROYED</a> = 0x3095,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a48ed49219981a01405e97eb414c89fec">PP_GRAPHICS3DATTRIB_GPU_PREFERENCE</a> = 0x11000,
+<a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a4295d8750ae536c3aed03d794429e336">PP_GRAPHICS3DATTRIB_GPU_PREFERENCE_LOW_POWER</a> = 0x11001,
+<br />
+  <a class="el" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a1a7563ae755ca52d429302a35930201a">PP_GRAPHICS3DATTRIB_GPU_PREFERENCE_PERFORMANCE</a> = 0x11002
+<br />
+ }</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga7df48e1c55f6401beea2a1b9c07967e8">PP_Graphics3DAttrib</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PP_Graphics3DAttrib</code> enumeration for use in PPAPI C headers. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/pp__graphics__3d_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/pp__graphics__3d_8h__incl.png
new file mode 100644
index 0000000..fd3cea94
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/pp__graphics__3d_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/pp__input__event_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/pp__input__event_8h.html
new file mode 100644
index 0000000..af6268762
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/pp__input__event_8h.html
@@ -0,0 +1,38 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/pp_input_event.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for pp_input_event.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="pp__input__event_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2pp__input__event_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2pp__input__event_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2pp__input__event_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___key.html">PP_InputEvent_Key</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="struct_p_p___input_event___key.html" title="The PP_InputEvent_Key struct represents a key up or key down event.">PP_InputEvent_Key</a></code> struct represents a key up or key down event. <a href="struct_p_p___input_event___key.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___character.html">PP_InputEvent_Character</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="struct_p_p___input_event___character.html" title="The PP_InputEvent_Character struct represents a typed character event.">PP_InputEvent_Character</a></code> struct represents a typed character event. <a href="struct_p_p___input_event___character.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___mouse.html">PP_InputEvent_Mouse</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="struct_p_p___input_event___mouse.html" title="The PP_InputEvent_Mouse struct represents all mouse events except mouse wheel events.">PP_InputEvent_Mouse</a></code> struct represents all mouse events except mouse wheel events. <a href="struct_p_p___input_event___mouse.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___wheel.html">PP_InputEvent_Wheel</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="struct_p_p___input_event___wheel.html" title="The PP_InputEvent_Wheel struct represents all mouse wheel events.">PP_InputEvent_Wheel</a></code> struct represents all mouse wheel events. <a href="struct_p_p___input_event___wheel.html#details">More...</a><br /></td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga91c5483306ded19bced2063169de99f8">PP_InputEvent_Key</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga6d1b875e2ae53ba8ee90e10505df6b7e">PP_InputEvent_Character</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga26c37abe55715f606e0a2c91867d051c">PP_InputEvent_Mouse</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga3fe74ccc6894bb133b39df77f96322cf">PP_InputEvent_Wheel</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API used to handle mouse and keyboard input events. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/pp__input__event_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/pp__input__event_8h__incl.png
new file mode 100644
index 0000000..b6acc921
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/pp__input__event_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/pp__instance_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/pp__instance_8h.html
new file mode 100644
index 0000000..c7884d1
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/pp__instance_8h.html
@@ -0,0 +1,25 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/pp_instance.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for pp_instance.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="pp__instance_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2pp__instance_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2pp__instance_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2pp__instance_8h">
+</map>
+</div>
+</div><h2>
+Typedefs</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">typedef int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the PP_Instance type which uniquely identifies one module instance. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/pp__instance_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/pp__instance_8h__incl.png
new file mode 100644
index 0000000..4b3fcee6
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/pp__instance_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/pp__module_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/pp__module_8h.html
new file mode 100644
index 0000000..1edee8c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/pp__module_8h.html
@@ -0,0 +1,25 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/pp_module.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for pp_module.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="pp__module_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2pp__module_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2pp__module_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2pp__module_8h">
+</map>
+</div>
+</div><h2>
+Typedefs</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">typedef int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#gab780dd451cd7f51284cb752edd88f9a0">PP_Module</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the PP_Module type which uniquely identifies the module or .nexe. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/pp__module_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/pp__module_8h__incl.png
new file mode 100644
index 0000000..5982e59
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/pp__module_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/pp__point_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/pp__point_8h.html
new file mode 100644
index 0000000..a870b182
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/pp__point_8h.html
@@ -0,0 +1,37 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/pp_point.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for pp_point.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="pp__point_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2pp__point_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2pp__point_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2pp__point_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___point.html">PP_Point</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="struct_p_p___point.html" title="The PP_Point structure defines the integer x and y coordinates of a point.">PP_Point</a> structure defines the integer x and y coordinates of a point. <a href="struct_p_p___point.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___float_point.html">PP_FloatPoint</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="struct_p_p___float_point.html" title="The PP_FloatPoint structure defines the floating-point x and y coordinates of a point.">PP_FloatPoint</a> structure defines the floating-point x and y coordinates of a point. <a href="struct_p_p___float_point.html#details">More...</a><br /></td></tr>
+</table><h2>
+Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___point.html">PP_Point</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga15880e8085178758053cc521af33b250">PP_MakePoint</a> (int32_t x, int32_t y)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___float_point.html">PP_FloatPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga0aca79088546fe91d13c97db9033e709">PP_MakeFloatPoint</a> (float x, float y)</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga501da0561777e3fef2c08aa9b7400cc0">PP_Point</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga2bfb71399c8dac2aba417b75459100bd">PP_FloatPoint</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API to create a 2 dimensional point. </p>
+<p>0,0 is the upper-left starting coordinate. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/pp__point_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/pp__point_8h__incl.png
new file mode 100644
index 0000000..7ddd4d7
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/pp__point_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/pp__rect_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/pp__rect_8h.html
new file mode 100644
index 0000000..3c607b1
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/pp__rect_8h.html
@@ -0,0 +1,32 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/pp_rect.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for pp_rect.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="pp__rect_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2pp__rect_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2pp__rect_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2pp__rect_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___rect.html">PP_Rect</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="struct_p_p___rect.html" title="The PP_Rect struct contains the size and location of a 2D rectangle.">PP_Rect</a></code> struct contains the size and location of a 2D rectangle. <a href="struct_p_p___rect.html#details">More...</a><br /></td></tr>
+</table><h2>
+Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___rect.html">PP_Rect</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#gaf868e2929269ef195241b79a015fcf61">PP_MakeRectFromXYWH</a> (int32_t x, int32_t y, int32_t w, int32_t h)</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#gaa91d0179e9f1f1bd3b6f3415f75c9ff1">PP_Rect</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the APIs for creating a 2 dimensional rectangle. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/pp__rect_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/pp__rect_8h__incl.png
new file mode 100644
index 0000000..bff3c15d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/pp__rect_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/pp__resource_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/pp__resource_8h.html
new file mode 100644
index 0000000..4896a24
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/pp__resource_8h.html
@@ -0,0 +1,25 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/pp_resource.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for pp_resource.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="pp__resource_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2pp__resource_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2pp__resource_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2pp__resource_8h">
+</map>
+</div>
+</div><h2>
+Typedefs</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">typedef int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PP_Resource</code> type which represents data associated with the module. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/pp__resource_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/pp__resource_8h__incl.png
new file mode 100644
index 0000000..a80ad33
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/pp__resource_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/pp__size_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/pp__size_8h.html
new file mode 100644
index 0000000..c26cd4f
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/pp__size_8h.html
@@ -0,0 +1,32 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/pp_size.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for pp_size.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="pp__size_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2pp__size_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2pp__size_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2pp__size_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___size.html">PP_Size</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="struct_p_p___size.html" title="The PP_Size struct contains the size of a 2D rectangle.">PP_Size</a></code> struct contains the size of a 2D rectangle. <a href="struct_p_p___size.html#details">More...</a><br /></td></tr>
+</table><h2>
+Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___size.html">PP_Size</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga35a97e64d18402d8feff46722b98beb0">PP_MakeSize</a> (int32_t w, int32_t h)</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#gafd4a54f9a36c0825eef612e150b50421">PP_Size</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the width and height of a 2D rectangle. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/pp__size_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/pp__size_8h__incl.png
new file mode 100644
index 0000000..95cd8ad
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/pp__size_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/pp__stdint_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/pp__stdint_8h.html
new file mode 100644
index 0000000..1813569
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/pp__stdint_8h.html
@@ -0,0 +1,21 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/pp_stdint.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for pp_stdint.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="pp__stdint_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2pp__stdint_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2pp__stdint_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2pp__stdint_8h">
+</map>
+</div>
+</div><hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file provides a definition of C99 sized types for Microsoft compilers. </p>
+<p>These definitions only apply for trusted modules. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/pp__stdint_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/pp__stdint_8h__incl.png
new file mode 100644
index 0000000..ea8d174
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/pp__stdint_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/pp__time_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/pp__time_8h.html
new file mode 100644
index 0000000..02f4f81
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/pp__time_8h.html
@@ -0,0 +1,27 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/pp_time.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for pp_time.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="pp__time_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2pp__time_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2pp__time_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2pp__time_8h">
+</map>
+</div>
+</div><h2>
+Typedefs</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">typedef double </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef double </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#ga71cb1042cdeb38d7881b121f3b09ce94">PP_TimeTicks</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef double </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#ga3962a5355895925a757f613567e422fa">PP_TimeDelta</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines time, time ticks and time delta types. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/pp__time_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/pp__time_8h__incl.png
new file mode 100644
index 0000000..6aade978
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/pp__time_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/pp__touch__point_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/pp__touch__point_8h.html
new file mode 100644
index 0000000..2d55133
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/pp__touch__point_8h.html
@@ -0,0 +1,32 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/pp_touch_point.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for pp_touch_point.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="pp__touch__point_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2pp__touch__point_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2pp__touch__point_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2pp__touch__point_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___touch_point.html">PP_TouchPoint</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="struct_p_p___touch_point.html" title="The PP_TouchPoint struct represents all information about a single touch point, such as position...">PP_TouchPoint</a></code> struct represents all information about a single touch point, such as position, id, rotation angle, and pressure. <a href="struct_p_p___touch_point.html#details">More...</a><br /></td></tr>
+</table><h2>
+Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___touch_point.html">PP_TouchPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#gae7f6d41cbb173c12f474242c2a3bf5e7">PP_MakeTouchPoint</a> (void)</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#gafa28da9c7da0da3d7c5cdd57b4485436">PP_TouchPoint</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API to create a touch point or position where fingers makes contact with touch screen device. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/pp__touch__point_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/pp__touch__point_8h__incl.png
new file mode 100644
index 0000000..6bcb313
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/pp__touch__point_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/pp__var_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/pp__var_8h.html
new file mode 100644
index 0000000..cb276cd
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/pp__var_8h.html
@@ -0,0 +1,57 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/pp_var.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for pp_var.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="pp__var_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2pp__var_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2pp__var_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2pp__var_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">union  </td><td class="memItemRight" valign="bottom"><a class="el" href="union_p_p___var_value.html">PP_VarValue</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="union_p_p___var_value.html" title="The PP_VarValue union stores the data for any one of the types listed in the PP_VarType enum...">PP_VarValue</a> union stores the data for any one of the types listed in the PP_VarType enum. <a href="union_p_p___var_value.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___var.html">PP_Var</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PP_VAR</code> struct is a variant data type and can contain any value of one of the types named in the <code>PP_VarType</code> enum. <a href="struct_p_p___var.html#details">More...</a><br /></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga9815041477d810724e44da862f9852ed">PP_VarType</a> { <br />
+  <a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852eda499cc75cc2a3a16632b6f0e38172fce7">PP_VARTYPE_UNDEFINED</a> = 0,
+<a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852edabfa22cf2659270ee5d4c1ff4eabf6e67">PP_VARTYPE_NULL</a> = 1,
+<a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852edad1a70cd8b8b8b815687c3234f40513b5">PP_VARTYPE_BOOL</a> = 2,
+<a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852eda40a4a8c45ec7629e3093eb93b9ff1556">PP_VARTYPE_INT32</a> = 3,
+<br />
+  <a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852eda26caea042c1cb14ff640f7aec3f2af90">PP_VARTYPE_DOUBLE</a> = 4,
+<a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852eda079c1c085b9b0f1b076807a0eb5ba6bd">PP_VARTYPE_STRING</a> = 5,
+<a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852eda7060b95352ff46ed2f0144e08cc949cc">PP_VARTYPE_OBJECT</a> = 6,
+<a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852eda50df125d91ade69f5b2de4d08427508c">PP_VARTYPE_ARRAY</a> = 7,
+<br />
+  <a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852edae44188e85906d83c2f52f34aa5b38687">PP_VARTYPE_DICTIONARY</a> = 8,
+<a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852eda363024b8067811f2f2f42f969be44529">PP_VARTYPE_ARRAY_BUFFER</a> = 9,
+<a class="el" href="group___enums.html#gga9815041477d810724e44da862f9852eda898e69540595e8b95681d850ddecc7f1">PP_VARTYPE_RESOURCE</a> = 10
+<br />
+ }</td></tr>
+</table><h2>
+Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga0edc8314fc1a92f93dd3d0eab286cb5d">PP_MakeUndefined</a> (void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga75f83ac65ccbf57866d52d45cd5792e7">PP_MakeNull</a> (void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga0fba11ae90d57086064d41b0af710253">PP_MakeBool</a> (<a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> value)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#gad14a59fa681d4cc532b3d49c0438f0ca">PP_MakeInt32</a> (int32_t value)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#gafbebaae212cb7e737efc56eea0e785b5">PP_MakeDouble</a> (double value)</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga9815041477d810724e44da862f9852ed">PP_VarType</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga7c0f59e0d0c137b8390435582dc8e54d">PP_Var</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API for handling the passing of data types between your module and the page. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/pp__var_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/pp__var_8h__incl.png
new file mode 100644
index 0000000..a67ec87
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/pp__var_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/ppb_8h.html
new file mode 100644
index 0000000..84bdc7a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb_8h.html
@@ -0,0 +1,25 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/ppb.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb_8h">
+</map>
+</div>
+</div><h2>
+Typedefs</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">typedef const void *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#ga68ad7c927b86e0c29d890603edd33154">PPB_GetInterface</a> )(const char *interface_name)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines a function pointer type for the <code>PPB_GetInterface</code> function. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/ppb_8h__incl.png
new file mode 100644
index 0000000..9bbbf89
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__audio_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/ppb__audio_8h.html
new file mode 100644
index 0000000..c72d772
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__audio_8h.html
@@ -0,0 +1,59 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/ppb_audio.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_audio.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__audio_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__audio_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__audio_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__audio_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio__1__1.html">PPB_Audio</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_Audio</code> interface contains pointers to several functions for handling audio resources. <a href="struct_p_p_b___audio__1__1.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__audio_8h.html#a05e57cf808f3ccd4467019e20832f28d">PPB_AUDIO_INTERFACE</a>   "PPB_Audio;1.1"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__audio_8h.html#a7d9614327b9f7d6e145eabd5bf2c4ad1">PPB_AUDIO_INTERFACE</a>   <a class="el" href="ppb__audio_8h.html#a05e57cf808f3ccd4467019e20832f28d">PPB_AUDIO_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#ga2ec91970f3cb75769ce631b3b732803e">PPB_Audio_Callback</a> )(void *sample_buffer, uint32_t buffer_size_in_bytes, <a class="el" href="group___typedefs.html#ga3962a5355895925a757f613567e422fa">PP_TimeDelta</a> latency, void *user_data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___audio__1__1.html">PPB_Audio</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaa420ab6e5eec1d780700bb505fe7d7f5">PPB_Audio</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_Audio</code> interface, which provides realtime stereo audio streaming capabilities. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a7d9614327b9f7d6e145eabd5bf2c4ad1"></a><!-- doxytag: member="ppb_audio.h::PPB_AUDIO_INTERFACE" ref="a7d9614327b9f7d6e145eabd5bf2c4ad1" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__audio_8h.html#a7d9614327b9f7d6e145eabd5bf2c4ad1">PPB_AUDIO_INTERFACE</a>   <a class="el" href="ppb__audio_8h.html#a05e57cf808f3ccd4467019e20832f28d">PPB_AUDIO_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a05e57cf808f3ccd4467019e20832f28d"></a><!-- doxytag: member="ppb_audio.h::PPB_AUDIO_INTERFACE" ref="a05e57cf808f3ccd4467019e20832f28d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__audio_8h.html#a05e57cf808f3ccd4467019e20832f28d">PPB_AUDIO_INTERFACE</a>   "PPB_Audio;1.1"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__audio_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/ppb__audio_8h__incl.png
new file mode 100644
index 0000000..0a7320f
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__audio_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__audio__config_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/ppb__audio__config_8h.html
new file mode 100644
index 0000000..8a684d0
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__audio__config_8h.html
@@ -0,0 +1,70 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/ppb_audio_config.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_audio_config.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__audio__config_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__audio__config_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__audio__config_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__audio__config_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio_config__1__1.html">PPB_AudioConfig</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_AudioConfig</code> interface contains pointers to several functions for establishing your audio configuration within the browser. <a href="struct_p_p_b___audio_config__1__1.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__audio__config_8h.html#ae25decba5eb6b3f71b9e36bd8dcdcda7">PPB_AUDIO_CONFIG_INTERFACE</a>   "PPB_AudioConfig;1.1"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__audio__config_8h.html#a96fc67cc118c99f3c685f9fcc79d88ac">PPB_AUDIO_CONFIG_INTERFACE</a>   <a class="el" href="ppb__audio__config_8h.html#ae25decba5eb6b3f71b9e36bd8dcdcda7">PPB_AUDIO_CONFIG_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___audio_config__1__1.html">PPB_AudioConfig</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga6c784ebe92dee70d03a685298a8b8345">PPB_AudioConfig</a></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___enums.html#ggadf764cbdea00d65edcd07bb9953ad2b7a9bf932735e301eeecf183a9defc378b3">PP_AUDIOMINSAMPLEFRAMECOUNT</a> = 64,
+<a class="el" href="group___enums.html#ggadf764cbdea00d65edcd07bb9953ad2b7a335c882fde010a0515ec5678a7003ce4">PP_AUDIOMAXSAMPLEFRAMECOUNT</a> = 32768
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gaee750c350655f2fb0fe04c04029e0ff8">PP_AudioSampleRate</a> { <a class="el" href="group___enums.html#ggaee750c350655f2fb0fe04c04029e0ff8a3028e109c6005f2e9ffd635f92ef3324">PP_AUDIOSAMPLERATE_NONE</a> = 0,
+<a class="el" href="group___enums.html#ggaee750c350655f2fb0fe04c04029e0ff8ac6d1056f50ebe082622d3250def41a54">PP_AUDIOSAMPLERATE_44100</a> = 44100,
+<a class="el" href="group___enums.html#ggaee750c350655f2fb0fe04c04029e0ff8a0a3ddad3c00d75e1c57a245e599727cd">PP_AUDIOSAMPLERATE_48000</a> = 48000
+ }</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gaee750c350655f2fb0fe04c04029e0ff8">PP_AudioSampleRate</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the PPB_AudioConfig interface for establishing an audio configuration resource within the browser. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a96fc67cc118c99f3c685f9fcc79d88ac"></a><!-- doxytag: member="ppb_audio_config.h::PPB_AUDIO_CONFIG_INTERFACE" ref="a96fc67cc118c99f3c685f9fcc79d88ac" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__audio__config_8h.html#a96fc67cc118c99f3c685f9fcc79d88ac">PPB_AUDIO_CONFIG_INTERFACE</a>   <a class="el" href="ppb__audio__config_8h.html#ae25decba5eb6b3f71b9e36bd8dcdcda7">PPB_AUDIO_CONFIG_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ae25decba5eb6b3f71b9e36bd8dcdcda7"></a><!-- doxytag: member="ppb_audio_config.h::PPB_AUDIO_CONFIG_INTERFACE" ref="ae25decba5eb6b3f71b9e36bd8dcdcda7" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__audio__config_8h.html#ae25decba5eb6b3f71b9e36bd8dcdcda7">PPB_AUDIO_CONFIG_INTERFACE</a>   "PPB_AudioConfig;1.1"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__audio__config_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/ppb__audio__config_8h__incl.png
new file mode 100644
index 0000000..a03a9446
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__audio__config_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__console_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/ppb__console_8h.html
new file mode 100644
index 0000000..8e42624
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__console_8h.html
@@ -0,0 +1,67 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/ppb_console.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_console.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__console_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__console_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__console_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__console_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___console__1__0.html">PPB_Console</a></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__console_8h.html#af944896c561ac6200f2170a9060b4d3e">PPB_CONSOLE_INTERFACE</a>   "PPB_Console;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__console_8h.html#aeb04d0356a4ddc1488162c9512d318dd">PPB_CONSOLE_INTERFACE</a>   <a class="el" href="ppb__console_8h.html#af944896c561ac6200f2170a9060b4d3e">PPB_CONSOLE_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___console__1__0.html">PPB_Console</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gab38f2ca92926b53d58d1cf2ce6320ebb">PPB_Console</a></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gac39067c0883ec80b94290dd2a3bae440">PP_LogLevel</a> { <a class="el" href="group___enums.html#ggac39067c0883ec80b94290dd2a3bae440afe7444b89be7688e17bd6e4f0b1d3b34">PP_LOGLEVEL_TIP</a> = 0,
+<a class="el" href="group___enums.html#ggac39067c0883ec80b94290dd2a3bae440a8c6fdcc8aa698af314fe72ebd08db32a">PP_LOGLEVEL_LOG</a> = 1,
+<a class="el" href="group___enums.html#ggac39067c0883ec80b94290dd2a3bae440a66a3c4f684827eb994093dea14284aaf">PP_LOGLEVEL_WARNING</a> = 2,
+<a class="el" href="group___enums.html#ggac39067c0883ec80b94290dd2a3bae440a5854926dface39f205d138d9e47c37eb">PP_LOGLEVEL_ERROR</a> = 3
+ }</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gac39067c0883ec80b94290dd2a3bae440">PP_LogLevel</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_Console</code> interface. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="aeb04d0356a4ddc1488162c9512d318dd"></a><!-- doxytag: member="ppb_console.h::PPB_CONSOLE_INTERFACE" ref="aeb04d0356a4ddc1488162c9512d318dd" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__console_8h.html#aeb04d0356a4ddc1488162c9512d318dd">PPB_CONSOLE_INTERFACE</a>   <a class="el" href="ppb__console_8h.html#af944896c561ac6200f2170a9060b4d3e">PPB_CONSOLE_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="af944896c561ac6200f2170a9060b4d3e"></a><!-- doxytag: member="ppb_console.h::PPB_CONSOLE_INTERFACE" ref="af944896c561ac6200f2170a9060b4d3e" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__console_8h.html#af944896c561ac6200f2170a9060b4d3e">PPB_CONSOLE_INTERFACE</a>   "PPB_Console;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__console_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/ppb__console_8h__incl.png
new file mode 100644
index 0000000..3e001de
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__console_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__core_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/ppb__core_8h.html
new file mode 100644
index 0000000..a541fa3
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__core_8h.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/ppb_core.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_core.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__core_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__core_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__core_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__core_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___core__1__0.html">PPB_Core</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_Core</code> interface contains pointers to functions related to memory management, time, and threads on the browser. <a href="struct_p_p_b___core__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__core_8h.html#acdd54c61a74a494eedba88bff5fef3e5">PPB_CORE_INTERFACE</a>   "PPB_Core;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__core_8h.html#ab634737b105d529729cc926ee6dee212">PPB_CORE_INTERFACE</a>   <a class="el" href="ppb__core_8h.html#acdd54c61a74a494eedba88bff5fef3e5">PPB_CORE_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___core__1__0.html">PPB_Core</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga34a986157c49afcad3537479bc5361e9">PPB_Core</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_Core</code> interface defined by the browser and containing pointers to functions related to memory management, time, and threads. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="ab634737b105d529729cc926ee6dee212"></a><!-- doxytag: member="ppb_core.h::PPB_CORE_INTERFACE" ref="ab634737b105d529729cc926ee6dee212" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__core_8h.html#ab634737b105d529729cc926ee6dee212">PPB_CORE_INTERFACE</a>   <a class="el" href="ppb__core_8h.html#acdd54c61a74a494eedba88bff5fef3e5">PPB_CORE_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="acdd54c61a74a494eedba88bff5fef3e5"></a><!-- doxytag: member="ppb_core.h::PPB_CORE_INTERFACE" ref="acdd54c61a74a494eedba88bff5fef3e5" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__core_8h.html#acdd54c61a74a494eedba88bff5fef3e5">PPB_CORE_INTERFACE</a>   "PPB_Core;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__core_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/ppb__core_8h__incl.png
new file mode 100644
index 0000000..4c21711
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__core_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__file__io_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/ppb__file__io_8h.html
new file mode 100644
index 0000000..4ccd854e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__file__io_8h.html
@@ -0,0 +1,73 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/ppb_file_io.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_file_io.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__file__io_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__file__io_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__file__io_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__file__io_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_i_o__1__1.html">PPB_FileIO</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_FileIO</code> struct is used to operate on a regular file (PP_FileType_Regular). <a href="struct_p_p_b___file_i_o__1__1.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__file__io_8h.html#aee417de3562daef62dbf68ddc16a8477">PPB_FILEIO_INTERFACE</a>   "PPB_FileIO;1.1"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__file__io_8h.html#af7e4bdd4e8dbe17acf89068130f60660">PPB_FILEIO_INTERFACE</a>   <a class="el" href="ppb__file__io_8h.html#aee417de3562daef62dbf68ddc16a8477">PPB_FILEIO_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___file_i_o__1__1.html">PPB_FileIO</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga7b7a4f4317a5af9982ba79d60f04db69">PPB_FileIO</a></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga4c87e6dd19c1d49b66a9b37136a82e82">PP_FileOpenFlags</a> { <br />
+  <a class="el" href="group___enums.html#gga4c87e6dd19c1d49b66a9b37136a82e82a9d409b8a19e1a1c90b6c01f45cea8468">PP_FILEOPENFLAG_READ</a> = 1 << 0,
+<a class="el" href="group___enums.html#gga4c87e6dd19c1d49b66a9b37136a82e82ad43adf355739f7a82d0f1a884531afbd">PP_FILEOPENFLAG_WRITE</a> = 1 << 1,
+<a class="el" href="group___enums.html#gga4c87e6dd19c1d49b66a9b37136a82e82adc826ab2826a482ee2b15cc25d0d9ba2">PP_FILEOPENFLAG_CREATE</a> = 1 << 2,
+<a class="el" href="group___enums.html#gga4c87e6dd19c1d49b66a9b37136a82e82afc54dddff300e46f1ea644855abfd3e5">PP_FILEOPENFLAG_TRUNCATE</a> = 1 << 3,
+<br />
+  <a class="el" href="group___enums.html#gga4c87e6dd19c1d49b66a9b37136a82e82a3ffa615692f3b3a2da0f1e04903eefce">PP_FILEOPENFLAG_EXCLUSIVE</a> = 1 << 4,
+<a class="el" href="group___enums.html#gga4c87e6dd19c1d49b66a9b37136a82e82a78c13cbbccebfa9c2b8b2f758397795c">PP_FILEOPENFLAG_APPEND</a> = 1 << 5
+<br />
+ }</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga4c87e6dd19c1d49b66a9b37136a82e82">PP_FileOpenFlags</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API to create a file i/o object. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="af7e4bdd4e8dbe17acf89068130f60660"></a><!-- doxytag: member="ppb_file_io.h::PPB_FILEIO_INTERFACE" ref="af7e4bdd4e8dbe17acf89068130f60660" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__file__io_8h.html#af7e4bdd4e8dbe17acf89068130f60660">PPB_FILEIO_INTERFACE</a>   <a class="el" href="ppb__file__io_8h.html#aee417de3562daef62dbf68ddc16a8477">PPB_FILEIO_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="aee417de3562daef62dbf68ddc16a8477"></a><!-- doxytag: member="ppb_file_io.h::PPB_FILEIO_INTERFACE" ref="aee417de3562daef62dbf68ddc16a8477" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__file__io_8h.html#aee417de3562daef62dbf68ddc16a8477">PPB_FILEIO_INTERFACE</a>   "PPB_FileIO;1.1"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__file__io_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/ppb__file__io_8h__incl.png
new file mode 100644
index 0000000..85c0f76
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__file__io_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__file__ref_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/ppb__file__ref_8h.html
new file mode 100644
index 0000000..42c1ac624
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__file__ref_8h.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/ppb_file_ref.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_file_ref.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__file__ref_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__file__ref_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__file__ref_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__file__ref_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_ref__1__1.html">PPB_FileRef</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_FileRef</code> struct represents a "weak pointer" to a file in a file system. <a href="struct_p_p_b___file_ref__1__1.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__file__ref_8h.html#a153d480ed8be5b5c1e918f8b234c1c22">PPB_FILEREF_INTERFACE</a>   "PPB_FileRef;1.1"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__file__ref_8h.html#a00615ce99f7d6774b0fc5c8f0326f0ba">PPB_FILEREF_INTERFACE</a>   <a class="el" href="ppb__file__ref_8h.html#a153d480ed8be5b5c1e918f8b234c1c22">PPB_FILEREF_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___file_ref__1__1.html">PPB_FileRef</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga5b136f4f49e5e5ee175eae61d86fcb34">PPB_FileRef</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API to create a file reference or "weak pointer" to a file in a file system. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a00615ce99f7d6774b0fc5c8f0326f0ba"></a><!-- doxytag: member="ppb_file_ref.h::PPB_FILEREF_INTERFACE" ref="a00615ce99f7d6774b0fc5c8f0326f0ba" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__file__ref_8h.html#a00615ce99f7d6774b0fc5c8f0326f0ba">PPB_FILEREF_INTERFACE</a>   <a class="el" href="ppb__file__ref_8h.html#a153d480ed8be5b5c1e918f8b234c1c22">PPB_FILEREF_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a153d480ed8be5b5c1e918f8b234c1c22"></a><!-- doxytag: member="ppb_file_ref.h::PPB_FILEREF_INTERFACE" ref="a153d480ed8be5b5c1e918f8b234c1c22" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__file__ref_8h.html#a153d480ed8be5b5c1e918f8b234c1c22">PPB_FILEREF_INTERFACE</a>   "PPB_FileRef;1.1"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__file__ref_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/ppb__file__ref_8h__incl.png
new file mode 100644
index 0000000..71a35f7
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__file__ref_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__file__system_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/ppb__file__system_8h.html
new file mode 100644
index 0000000..ce4e017
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__file__system_8h.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/ppb_file_system.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_file_system.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__file__system_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__file__system_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__file__system_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__file__system_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_system__1__0.html">PPB_FileSystem</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_FileSystem</code> struct identifies the file system type associated with a file. <a href="struct_p_p_b___file_system__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__file__system_8h.html#a856262c69fb3460f83a1b1fa3630c7c9">PPB_FILESYSTEM_INTERFACE</a>   "PPB_FileSystem;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__file__system_8h.html#a492a8ab8ba84394c44cca88c45852f2c">PPB_FILESYSTEM_INTERFACE</a>   <a class="el" href="ppb__file__system_8h.html#a856262c69fb3460f83a1b1fa3630c7c9">PPB_FILESYSTEM_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___file_system__1__0.html">PPB_FileSystem</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gae5ad593b6aff864c6bd0acc09d6cc5e9">PPB_FileSystem</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API to create a file system associated with a file. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a492a8ab8ba84394c44cca88c45852f2c"></a><!-- doxytag: member="ppb_file_system.h::PPB_FILESYSTEM_INTERFACE" ref="a492a8ab8ba84394c44cca88c45852f2c" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__file__system_8h.html#a492a8ab8ba84394c44cca88c45852f2c">PPB_FILESYSTEM_INTERFACE</a>   <a class="el" href="ppb__file__system_8h.html#a856262c69fb3460f83a1b1fa3630c7c9">PPB_FILESYSTEM_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a856262c69fb3460f83a1b1fa3630c7c9"></a><!-- doxytag: member="ppb_file_system.h::PPB_FILESYSTEM_INTERFACE" ref="a856262c69fb3460f83a1b1fa3630c7c9" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__file__system_8h.html#a856262c69fb3460f83a1b1fa3630c7c9">PPB_FILESYSTEM_INTERFACE</a>   "PPB_FileSystem;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__file__system_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/ppb__file__system_8h__incl.png
new file mode 100644
index 0000000..904c71c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__file__system_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__fullscreen_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/ppb__fullscreen_8h.html
new file mode 100644
index 0000000..f488ba31
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__fullscreen_8h.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/ppb_fullscreen.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_fullscreen.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__fullscreen_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__fullscreen_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__fullscreen_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__fullscreen_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___fullscreen__1__0.html">PPB_Fullscreen</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_Fullscreen</code> interface is implemented by the browser. <a href="struct_p_p_b___fullscreen__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__fullscreen_8h.html#a4c01a722d680c2ddb2acb8eb84567b96">PPB_FULLSCREEN_INTERFACE</a>   "PPB_Fullscreen;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__fullscreen_8h.html#ac9eade8043cf2d61bf195d9fa880fb34">PPB_FULLSCREEN_INTERFACE</a>   <a class="el" href="ppb__fullscreen_8h.html#a4c01a722d680c2ddb2acb8eb84567b96">PPB_FULLSCREEN_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___fullscreen__1__0.html">PPB_Fullscreen</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga965dcf552ef79d1a41e0c24db2cf5c3c">PPB_Fullscreen</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_Fullscreen</code> interface for handling transitions of a module instance to and from fullscreen mode. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="ac9eade8043cf2d61bf195d9fa880fb34"></a><!-- doxytag: member="ppb_fullscreen.h::PPB_FULLSCREEN_INTERFACE" ref="ac9eade8043cf2d61bf195d9fa880fb34" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__fullscreen_8h.html#ac9eade8043cf2d61bf195d9fa880fb34">PPB_FULLSCREEN_INTERFACE</a>   <a class="el" href="ppb__fullscreen_8h.html#a4c01a722d680c2ddb2acb8eb84567b96">PPB_FULLSCREEN_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a4c01a722d680c2ddb2acb8eb84567b96"></a><!-- doxytag: member="ppb_fullscreen.h::PPB_FULLSCREEN_INTERFACE" ref="a4c01a722d680c2ddb2acb8eb84567b96" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__fullscreen_8h.html#a4c01a722d680c2ddb2acb8eb84567b96">PPB_FULLSCREEN_INTERFACE</a>   "PPB_Fullscreen;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__fullscreen_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/ppb__fullscreen_8h__incl.png
new file mode 100644
index 0000000..30839fa
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__fullscreen_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__gamepad_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/ppb__gamepad_8h.html
new file mode 100644
index 0000000..0fffcb7a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__gamepad_8h.html
@@ -0,0 +1,66 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/ppb_gamepad.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_gamepad.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__gamepad_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__gamepad_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__gamepad_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__gamepad_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___gamepad_sample_data.html">PP_GamepadSampleData</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The data for one gamepad device. <a href="struct_p_p___gamepad_sample_data.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___gamepads_sample_data.html">PP_GamepadsSampleData</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The data for all gamepads connected to the system. <a href="struct_p_p___gamepads_sample_data.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___gamepad__1__0.html">PPB_Gamepad</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_Gamepad</code> interface allows retrieving data from gamepad/joystick devices that are connected to the system. <a href="struct_p_p_b___gamepad__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__gamepad_8h.html#ae18db8da1163096b8ea10071317305b2">PPB_GAMEPAD_INTERFACE</a>   "PPB_Gamepad;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__gamepad_8h.html#aca090c38021f6dcef779de7a255313f3">PPB_GAMEPAD_INTERFACE</a>   <a class="el" href="ppb__gamepad_8h.html#ae18db8da1163096b8ea10071317305b2">PPB_GAMEPAD_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___gamepad__1__0.html">PPB_Gamepad</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga57baea75086a666a92489da807f16f2a">PPB_Gamepad</a></td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga525d88c6ef789fe645908c30bae38e7c">PP_GamepadSampleData</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#gacc3e9ccca109cc93c2fbeea317b7b004">PP_GamepadsSampleData</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_Gamepad</code> interface, which provides access to gamepad devices. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="aca090c38021f6dcef779de7a255313f3"></a><!-- doxytag: member="ppb_gamepad.h::PPB_GAMEPAD_INTERFACE" ref="aca090c38021f6dcef779de7a255313f3" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__gamepad_8h.html#aca090c38021f6dcef779de7a255313f3">PPB_GAMEPAD_INTERFACE</a>   <a class="el" href="ppb__gamepad_8h.html#ae18db8da1163096b8ea10071317305b2">PPB_GAMEPAD_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ae18db8da1163096b8ea10071317305b2"></a><!-- doxytag: member="ppb_gamepad.h::PPB_GAMEPAD_INTERFACE" ref="ae18db8da1163096b8ea10071317305b2" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__gamepad_8h.html#ae18db8da1163096b8ea10071317305b2">PPB_GAMEPAD_INTERFACE</a>   "PPB_Gamepad;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__gamepad_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/ppb__gamepad_8h__incl.png
new file mode 100644
index 0000000..c7c56c1
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__gamepad_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__graphics__2d_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/ppb__graphics__2d_8h.html
new file mode 100644
index 0000000..0f1f0634
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__graphics__2d_8h.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/ppb_graphics_2d.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_graphics_2d.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__graphics__2d_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__graphics__2d_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__graphics__2d_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__graphics__2d_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics2_d__1__1.html">PPB_Graphics2D</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><code>PPB_Graphics2D</code> defines the interface for a 2D graphics context. <a href="struct_p_p_b___graphics2_d__1__1.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__graphics__2d_8h.html#ad9792b60ca6ce77f3925be8d60e06640">PPB_GRAPHICS_2D_INTERFACE</a>   "PPB_Graphics2D;1.1"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__graphics__2d_8h.html#ab4930fe7aea6b403503d5cc748824b0d">PPB_GRAPHICS_2D_INTERFACE</a>   <a class="el" href="ppb__graphics__2d_8h.html#ad9792b60ca6ce77f3925be8d60e06640">PPB_GRAPHICS_2D_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___graphics2_d__1__1.html">PPB_Graphics2D</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaf9f8348d3315d8bb014b401f733ebdb6">PPB_Graphics2D</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Defines the <code>PPB_Graphics2D</code> struct representing a 2D graphics context within the browser. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="ab4930fe7aea6b403503d5cc748824b0d"></a><!-- doxytag: member="ppb_graphics_2d.h::PPB_GRAPHICS_2D_INTERFACE" ref="ab4930fe7aea6b403503d5cc748824b0d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__graphics__2d_8h.html#ab4930fe7aea6b403503d5cc748824b0d">PPB_GRAPHICS_2D_INTERFACE</a>   <a class="el" href="ppb__graphics__2d_8h.html#ad9792b60ca6ce77f3925be8d60e06640">PPB_GRAPHICS_2D_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ad9792b60ca6ce77f3925be8d60e06640"></a><!-- doxytag: member="ppb_graphics_2d.h::PPB_GRAPHICS_2D_INTERFACE" ref="ad9792b60ca6ce77f3925be8d60e06640" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__graphics__2d_8h.html#ad9792b60ca6ce77f3925be8d60e06640">PPB_GRAPHICS_2D_INTERFACE</a>   "PPB_Graphics2D;1.1"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__graphics__2d_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/ppb__graphics__2d_8h__incl.png
new file mode 100644
index 0000000..0b62987
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__graphics__2d_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__graphics__3d_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/ppb__graphics__3d_8h.html
new file mode 100644
index 0000000..e732c03
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__graphics__3d_8h.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/ppb_graphics_3d.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_graphics_3d.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__graphics__3d_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__graphics__3d_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__graphics__3d_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__graphics__3d_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics3_d__1__0.html">PPB_Graphics3D</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><code>PPB_Graphics3D</code> defines the interface for a 3D graphics context. <a href="struct_p_p_b___graphics3_d__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__graphics__3d_8h.html#a2619e373c7a32f9b0a763330c39ee282">PPB_GRAPHICS_3D_INTERFACE</a>   "PPB_Graphics3D;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__graphics__3d_8h.html#a3ba3c80f5959aca6bdef2584a2ceb55e">PPB_GRAPHICS_3D_INTERFACE</a>   <a class="el" href="ppb__graphics__3d_8h.html#a2619e373c7a32f9b0a763330c39ee282">PPB_GRAPHICS_3D_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___graphics3_d__1__0.html">PPB_Graphics3D</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga2865870b49481aae8ed416c06c58a7c0">PPB_Graphics3D</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Defines the <code>PPB_Graphics3D</code> struct representing a 3D graphics context within the browser. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a3ba3c80f5959aca6bdef2584a2ceb55e"></a><!-- doxytag: member="ppb_graphics_3d.h::PPB_GRAPHICS_3D_INTERFACE" ref="a3ba3c80f5959aca6bdef2584a2ceb55e" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__graphics__3d_8h.html#a3ba3c80f5959aca6bdef2584a2ceb55e">PPB_GRAPHICS_3D_INTERFACE</a>   <a class="el" href="ppb__graphics__3d_8h.html#a2619e373c7a32f9b0a763330c39ee282">PPB_GRAPHICS_3D_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a2619e373c7a32f9b0a763330c39ee282"></a><!-- doxytag: member="ppb_graphics_3d.h::PPB_GRAPHICS_3D_INTERFACE" ref="a2619e373c7a32f9b0a763330c39ee282" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__graphics__3d_8h.html#a2619e373c7a32f9b0a763330c39ee282">PPB_GRAPHICS_3D_INTERFACE</a>   "PPB_Graphics3D;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__graphics__3d_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/ppb__graphics__3d_8h__incl.png
new file mode 100644
index 0000000..16d5bdb
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__graphics__3d_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__host__resolver_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/ppb__host__resolver_8h.html
new file mode 100644
index 0000000..98d4785
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__host__resolver_8h.html
@@ -0,0 +1,68 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/ppb_host_resolver.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_host_resolver.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__host__resolver_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__host__resolver_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__host__resolver_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__host__resolver_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___host_resolver___hint.html">PP_HostResolver_Hint</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><code><a class="el" href="struct_p_p___host_resolver___hint.html" title="PP_HostResolver_Hint represents hints for host resolution.">PP_HostResolver_Hint</a></code> represents hints for host resolution. <a href="struct_p_p___host_resolver___hint.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___host_resolver__1__0.html">PPB_HostResolver</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_HostResolver</code> interface supports host name resolution. <a href="struct_p_p_b___host_resolver__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__host__resolver_8h.html#af02d4ce7194c9c440c0bd42e81ab7731">PPB_HOSTRESOLVER_INTERFACE</a>   "PPB_HostResolver;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__host__resolver_8h.html#a92db0e0376e1dd64b24f1e107b277d71">PPB_HOSTRESOLVER_INTERFACE</a>   <a class="el" href="ppb__host__resolver_8h.html#af02d4ce7194c9c440c0bd42e81ab7731">PPB_HOSTRESOLVER_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___host_resolver__1__0.html">PPB_HostResolver</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga72b9bd04eeace0c69f4e454b7cc4e440">PPB_HostResolver</a></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gadb4b8db19266831040fc604f73c83a25">PP_HostResolver_Flag</a> { <a class="el" href="group___enums.html#ggadb4b8db19266831040fc604f73c83a25a1fc5655c5b292459d24dc035e930e75e">PP_HOSTRESOLVER_FLAG_CANONNAME</a> = 1 << 0
+ }</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gadb4b8db19266831040fc604f73c83a25">PP_HostResolver_Flag</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga6e27cf6541423cdee5fc2cf5b2d67853">PP_HostResolver_Hint</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_HostResolver</code> interface. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a92db0e0376e1dd64b24f1e107b277d71"></a><!-- doxytag: member="ppb_host_resolver.h::PPB_HOSTRESOLVER_INTERFACE" ref="a92db0e0376e1dd64b24f1e107b277d71" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__host__resolver_8h.html#a92db0e0376e1dd64b24f1e107b277d71">PPB_HOSTRESOLVER_INTERFACE</a>   <a class="el" href="ppb__host__resolver_8h.html#af02d4ce7194c9c440c0bd42e81ab7731">PPB_HOSTRESOLVER_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="af02d4ce7194c9c440c0bd42e81ab7731"></a><!-- doxytag: member="ppb_host_resolver.h::PPB_HOSTRESOLVER_INTERFACE" ref="af02d4ce7194c9c440c0bd42e81ab7731" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__host__resolver_8h.html#af02d4ce7194c9c440c0bd42e81ab7731">PPB_HOSTRESOLVER_INTERFACE</a>   "PPB_HostResolver;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__host__resolver_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/ppb__host__resolver_8h__incl.png
new file mode 100644
index 0000000..f9f46e5
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__host__resolver_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__image__data_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/ppb__image__data_8h.html
new file mode 100644
index 0000000..d057e55
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__image__data_8h.html
@@ -0,0 +1,69 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/ppb_image_data.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_image_data.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__image__data_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__image__data_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__image__data_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__image__data_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___image_data_desc.html">PP_ImageDataDesc</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="struct_p_p___image_data_desc.html" title="The PP_ImageDataDesc structure represents a description of image data.">PP_ImageDataDesc</a></code> structure represents a description of image data. <a href="struct_p_p___image_data_desc.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___image_data__1__0.html">PPB_ImageData</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_ImageData</code> interface contains pointers to several functions for determining the browser's treatment of image data. <a href="struct_p_p_b___image_data__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__image__data_8h.html#ab08ef8c9002eec0102a71d9c766f0893">PPB_IMAGEDATA_INTERFACE</a>   "PPB_ImageData;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__image__data_8h.html#a706a4eb837834aefe135ccbfb3ebe21d">PPB_IMAGEDATA_INTERFACE</a>   <a class="el" href="ppb__image__data_8h.html#ab08ef8c9002eec0102a71d9c766f0893">PPB_IMAGEDATA_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___image_data__1__0.html">PPB_ImageData</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga17e05bbe7da0d6d7b61b6f78c5913c37">PPB_ImageData</a></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga2ee7ad01799553e5f17bdaa35dd952ee">PP_ImageDataFormat</a> { <a class="el" href="group___enums.html#gga2ee7ad01799553e5f17bdaa35dd952eea8685611ba2e85347f5f6bb0043940358">PP_IMAGEDATAFORMAT_BGRA_PREMUL</a>,
+<a class="el" href="group___enums.html#gga2ee7ad01799553e5f17bdaa35dd952eeab291a13cd5f4728eab3c207938916622">PP_IMAGEDATAFORMAT_RGBA_PREMUL</a>
+ }</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga2ee7ad01799553e5f17bdaa35dd952ee">PP_ImageDataFormat</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#gae0f2df62c9fe8b622336fa44ad897470">PP_ImageDataDesc</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_ImageData</code> struct for determining how a browser handles image data. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a706a4eb837834aefe135ccbfb3ebe21d"></a><!-- doxytag: member="ppb_image_data.h::PPB_IMAGEDATA_INTERFACE" ref="a706a4eb837834aefe135ccbfb3ebe21d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__image__data_8h.html#a706a4eb837834aefe135ccbfb3ebe21d">PPB_IMAGEDATA_INTERFACE</a>   <a class="el" href="ppb__image__data_8h.html#ab08ef8c9002eec0102a71d9c766f0893">PPB_IMAGEDATA_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ab08ef8c9002eec0102a71d9c766f0893"></a><!-- doxytag: member="ppb_image_data.h::PPB_IMAGEDATA_INTERFACE" ref="ab08ef8c9002eec0102a71d9c766f0893" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__image__data_8h.html#ab08ef8c9002eec0102a71d9c766f0893">PPB_IMAGEDATA_INTERFACE</a>   "PPB_ImageData;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__image__data_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/ppb__image__data_8h__incl.png
new file mode 100644
index 0000000..6ead6900a7
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__image__data_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__input__event_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/ppb__input__event_8h.html
new file mode 100644
index 0000000..eb3f33d5
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__input__event_8h.html
@@ -0,0 +1,280 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/ppb_input_event.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_input_event.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__input__event_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__input__event_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__input__event_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__input__event_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___input_event__1__0.html">PPB_InputEvent</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_InputEvent</code> interface contains pointers to several functions related to generic input events on the browser. <a href="struct_p_p_b___input_event__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___mouse_input_event__1__1.html">PPB_MouseInputEvent</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_MouseInputEvent</code> interface contains pointers to several functions related to mouse input events. <a href="struct_p_p_b___mouse_input_event__1__1.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___wheel_input_event__1__0.html">PPB_WheelInputEvent</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_WheelIputEvent</code> interface contains pointers to several functions related to wheel input events. <a href="struct_p_p_b___wheel_input_event__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___keyboard_input_event__1__0.html">PPB_KeyboardInputEvent</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_KeyboardInputEvent</code> interface contains pointers to several functions related to keyboard input events. <a href="struct_p_p_b___keyboard_input_event__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___touch_input_event__1__0.html">PPB_TouchInputEvent</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_TouchInputEvent</code> interface contains pointers to several functions related to touch events. <a href="struct_p_p_b___touch_input_event__1__0.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html">PPB_IMEInputEvent</a></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__input__event_8h.html#af4e5b597aea9864e7d9aa81c71e781d2">PPB_INPUT_EVENT_INTERFACE</a>   "PPB_InputEvent;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__input__event_8h.html#a40fd5bca277483a37c2713b8961b5117">PPB_INPUT_EVENT_INTERFACE</a>   <a class="el" href="ppb__input__event_8h.html#af4e5b597aea9864e7d9aa81c71e781d2">PPB_INPUT_EVENT_INTERFACE</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__input__event_8h.html#a9887382b4700999b639a2f2de497e104">PPB_MOUSE_INPUT_EVENT_INTERFACE</a>   "PPB_MouseInputEvent;1.1"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__input__event_8h.html#a761fcf6df555946b6c2e1a0b6cd01c5e">PPB_MOUSE_INPUT_EVENT_INTERFACE</a>   <a class="el" href="ppb__input__event_8h.html#a9887382b4700999b639a2f2de497e104">PPB_MOUSE_INPUT_EVENT_INTERFACE</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__input__event_8h.html#a0a7bcd124b8e7677b629b236eabfb563">PPB_WHEEL_INPUT_EVENT_INTERFACE</a>   "PPB_WheelInputEvent;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__input__event_8h.html#a2e592782e919e590dd393d421af8850f">PPB_WHEEL_INPUT_EVENT_INTERFACE</a>   <a class="el" href="ppb__input__event_8h.html#a0a7bcd124b8e7677b629b236eabfb563">PPB_WHEEL_INPUT_EVENT_INTERFACE</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__input__event_8h.html#a0d5e2d948d5a25cd3194a59c21ad992e">PPB_KEYBOARD_INPUT_EVENT_INTERFACE</a>   "PPB_KeyboardInputEvent;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__input__event_8h.html#a969f9e171a3202249e8dfabaef33c288">PPB_KEYBOARD_INPUT_EVENT_INTERFACE</a>   <a class="el" href="ppb__input__event_8h.html#a0d5e2d948d5a25cd3194a59c21ad992e">PPB_KEYBOARD_INPUT_EVENT_INTERFACE</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__input__event_8h.html#a36b8536215a705ecc3fd4cd366b0f975">PPB_TOUCH_INPUT_EVENT_INTERFACE</a>   "PPB_TouchInputEvent;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__input__event_8h.html#a9ef6ad6634a1d1912b83006862a0e57b">PPB_TOUCH_INPUT_EVENT_INTERFACE</a>   <a class="el" href="ppb__input__event_8h.html#a36b8536215a705ecc3fd4cd366b0f975">PPB_TOUCH_INPUT_EVENT_INTERFACE</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__input__event_8h.html#ad911c1aed763c2f362037995ffca801a">PPB_IME_INPUT_EVENT_INTERFACE</a>   "PPB_IMEInputEvent;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__input__event_8h.html#ac7e4bf41f38afcb87e0a75c8f27ca33f">PPB_IME_INPUT_EVENT_INTERFACE</a>   <a class="el" href="ppb__input__event_8h.html#ad911c1aed763c2f362037995ffca801a">PPB_IME_INPUT_EVENT_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___input_event__1__0.html">PPB_InputEvent</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gac221fa16a0d0daa0bf171a477b465396">PPB_InputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___mouse_input_event__1__1.html">PPB_MouseInputEvent</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga3fcedb0e992eebaf7d9b1b60aacceafc">PPB_MouseInputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___wheel_input_event__1__0.html">PPB_WheelInputEvent</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaaefb7f24240d14faa56dfdba8c116889">PPB_WheelInputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___keyboard_input_event__1__0.html">PPB_KeyboardInputEvent</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gad245b3100fef75b215d6ba60cccd626e">PPB_KeyboardInputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___touch_input_event__1__0.html">PPB_TouchInputEvent</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga3d25b1582fc1e6b94f53ecfb21422d6c">PPB_TouchInputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html">PPB_IMEInputEvent</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaaa0c327650de77066ea8e2ec8f5589c5">PPB_IMEInputEvent</a></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gaca7296cfec99fcb6646b7144d1d6a0c5">PP_InputEvent_Type</a> { <br />
+  <a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a9b6d5489f328f0b902da4a1f5836b4cb">PP_INPUTEVENT_TYPE_UNDEFINED</a> = -1,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a4309eee5fb8284b6be7c258090b21e77">PP_INPUTEVENT_TYPE_MOUSEDOWN</a> = 0,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a9f0a8196670b1da0e9c3cf081329c3ca">PP_INPUTEVENT_TYPE_MOUSEUP</a> = 1,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a9d3a09d7fb33663f3a7d920fd2e3208d">PP_INPUTEVENT_TYPE_MOUSEMOVE</a> = 2,
+<br />
+  <a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5ad240947fd6d67f23b679be4806947e2a">PP_INPUTEVENT_TYPE_MOUSEENTER</a> = 3,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a0870576010613081518c9c6683abd2e8">PP_INPUTEVENT_TYPE_MOUSELEAVE</a> = 4,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a2eedbec689780077aa98188805a559f6">PP_INPUTEVENT_TYPE_WHEEL</a> = 5,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a05c7f50eb36e606a3e5a0065b337d96c">PP_INPUTEVENT_TYPE_RAWKEYDOWN</a> = 6,
+<br />
+  <a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a4064a5f6ce10c7e5a0834aff7cd7e474">PP_INPUTEVENT_TYPE_KEYDOWN</a> = 7,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5af57c2b682b29f7b03f27519f98febdea">PP_INPUTEVENT_TYPE_KEYUP</a> = 8,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a0d547efbed42c655264b96a51954e0dd">PP_INPUTEVENT_TYPE_CHAR</a> = 9,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a0cf7525c015c97ded19afab9d7d9afee">PP_INPUTEVENT_TYPE_CONTEXTMENU</a> = 10,
+<br />
+  <a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a90668acda261e23721f3dd757f557031">PP_INPUTEVENT_TYPE_IME_COMPOSITION_START</a> = 11,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a1eff5df3bb41546046f97993376607c2">PP_INPUTEVENT_TYPE_IME_COMPOSITION_UPDATE</a> = 12,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a5c009302410ac6f55da4df618b2d85d5">PP_INPUTEVENT_TYPE_IME_COMPOSITION_END</a> = 13,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a5826ba18e40265a7b74e4b3ae1fe3772">PP_INPUTEVENT_TYPE_IME_TEXT</a> = 14,
+<br />
+  <a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5ac604f0e894f8f9e660d36e30db16b52d">PP_INPUTEVENT_TYPE_TOUCHSTART</a> = 15,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a43888c9c671ac5973f5bcea7eabcc889">PP_INPUTEVENT_TYPE_TOUCHMOVE</a> = 16,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5ae1c312aafaf4caeddb1afc09e81c9655">PP_INPUTEVENT_TYPE_TOUCHEND</a> = 17,
+<a class="el" href="group___enums.html#ggaca7296cfec99fcb6646b7144d1d6a0c5a78266e75562e546005eb8098f455ce91">PP_INPUTEVENT_TYPE_TOUCHCANCEL</a> = 18
+<br />
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga21b811ac0484a214a8751aa3e1c959d9">PP_InputEvent_Modifier</a> { <br />
+  <a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9a7506fd613b0e3055b37700eddcc04c8e">PP_INPUTEVENT_MODIFIER_SHIFTKEY</a> = 1 << 0,
+<a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9aeb4a9ad52cbfbfab9dea7cf2429c52f7">PP_INPUTEVENT_MODIFIER_CONTROLKEY</a> = 1 << 1,
+<a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9ab30d756ab410e7155deef8c48568fc95">PP_INPUTEVENT_MODIFIER_ALTKEY</a> = 1 << 2,
+<a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9ab3b68a7fb23fa33be297b30a2d3f27d7">PP_INPUTEVENT_MODIFIER_METAKEY</a> = 1 << 3,
+<br />
+  <a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9a24f5d73cf82a01116f52b57410e64c9d">PP_INPUTEVENT_MODIFIER_ISKEYPAD</a> = 1 << 4,
+<a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9a0d6141a7a3498af2020093469358472f">PP_INPUTEVENT_MODIFIER_ISAUTOREPEAT</a> = 1 << 5,
+<a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9a31e52901313720fd0e431976228f2153">PP_INPUTEVENT_MODIFIER_LEFTBUTTONDOWN</a> = 1 << 6,
+<a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9aa2369bf6eb5309a43d608ef83d747a04">PP_INPUTEVENT_MODIFIER_MIDDLEBUTTONDOWN</a> = 1 << 7,
+<br />
+  <a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9aee3e5083c83130d4368b79878fd574fe">PP_INPUTEVENT_MODIFIER_RIGHTBUTTONDOWN</a> = 1 << 8,
+<a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9a99a27b5dab8360eb08189439b85b8781">PP_INPUTEVENT_MODIFIER_CAPSLOCKKEY</a> = 1 << 9,
+<a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9a493ca598187014e2356cd7a5ba8cdffd">PP_INPUTEVENT_MODIFIER_NUMLOCKKEY</a> = 1 << 10,
+<a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9a8295bfc8067c06a17ccfc5fb6a992e17">PP_INPUTEVENT_MODIFIER_ISLEFT</a> = 1 << 11,
+<br />
+  <a class="el" href="group___enums.html#gga21b811ac0484a214a8751aa3e1c959d9a348f43efaf61edbefd83346428c5b122">PP_INPUTEVENT_MODIFIER_ISRIGHT</a> = 1 << 12
+<br />
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga25113f3c8d33e863fd38b3f70f8a5e6e">PP_InputEvent_MouseButton</a> { <a class="el" href="group___enums.html#gga25113f3c8d33e863fd38b3f70f8a5e6eaa2d4e499d6c23ef45381a89612e654d9">PP_INPUTEVENT_MOUSEBUTTON_NONE</a> = -1,
+<a class="el" href="group___enums.html#gga25113f3c8d33e863fd38b3f70f8a5e6eaa44f4ea3c7759e4fce6150f349909f63">PP_INPUTEVENT_MOUSEBUTTON_LEFT</a> = 0,
+<a class="el" href="group___enums.html#gga25113f3c8d33e863fd38b3f70f8a5e6ea3f8a2698990ec1e36943651ca600e3be">PP_INPUTEVENT_MOUSEBUTTON_MIDDLE</a> = 1,
+<a class="el" href="group___enums.html#gga25113f3c8d33e863fd38b3f70f8a5e6ea681614da50d511b516d0a88fbaa6eb5b">PP_INPUTEVENT_MOUSEBUTTON_RIGHT</a> = 2
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gafe68e3c1031daa4a6496845ff47649cd">PP_InputEvent_Class</a> { <br />
+  <a class="el" href="group___enums.html#ggafe68e3c1031daa4a6496845ff47649cda79ccc5180eb39c52ab3207f0c876dd52">PP_INPUTEVENT_CLASS_MOUSE</a> = 1 << 0,
+<a class="el" href="group___enums.html#ggafe68e3c1031daa4a6496845ff47649cda2c3341eacc3a459713ce334b9af0cda8">PP_INPUTEVENT_CLASS_KEYBOARD</a> = 1 << 1,
+<a class="el" href="group___enums.html#ggafe68e3c1031daa4a6496845ff47649cda59d6686dbce1f0dc092cb88a451bb3a6">PP_INPUTEVENT_CLASS_WHEEL</a> = 1 << 2,
+<a class="el" href="group___enums.html#ggafe68e3c1031daa4a6496845ff47649cda19b05264fa31d7e975eba297f9f146af">PP_INPUTEVENT_CLASS_TOUCH</a> = 1 << 3,
+<br />
+  <a class="el" href="group___enums.html#ggafe68e3c1031daa4a6496845ff47649cda1280fe9a85edf74e20e4d503a345ab7d">PP_INPUTEVENT_CLASS_IME</a> = 1 << 4
+<br />
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gad5885a239d04166c8777432c81e39d0a">PP_TouchListType</a> { <a class="el" href="group___enums.html#ggad5885a239d04166c8777432c81e39d0aa739dfd65f4cd719996f20bdd2e7db4ca">PP_TOUCHLIST_TYPE_TOUCHES</a> = 0,
+<a class="el" href="group___enums.html#ggad5885a239d04166c8777432c81e39d0aa89d31d55d67fa0746d1f3bf4050eafff">PP_TOUCHLIST_TYPE_CHANGEDTOUCHES</a> = 1,
+<a class="el" href="group___enums.html#ggad5885a239d04166c8777432c81e39d0aa0682e6c428fed9b900e3d9e56aaa8fca">PP_TOUCHLIST_TYPE_TARGETTOUCHES</a> = 2
+ }</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gaca7296cfec99fcb6646b7144d1d6a0c5">PP_InputEvent_Type</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga21b811ac0484a214a8751aa3e1c959d9">PP_InputEvent_Modifier</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga25113f3c8d33e863fd38b3f70f8a5e6e">PP_InputEvent_MouseButton</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gafe68e3c1031daa4a6496845ff47649cd">PP_InputEvent_Class</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gad5885a239d04166c8777432c81e39d0a">PP_TouchListType</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the Input Event interfaces. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="ac7e4bf41f38afcb87e0a75c8f27ca33f"></a><!-- doxytag: member="ppb_input_event.h::PPB_IME_INPUT_EVENT_INTERFACE" ref="ac7e4bf41f38afcb87e0a75c8f27ca33f" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__input__event_8h.html#ac7e4bf41f38afcb87e0a75c8f27ca33f">PPB_IME_INPUT_EVENT_INTERFACE</a>   <a class="el" href="ppb__input__event_8h.html#ad911c1aed763c2f362037995ffca801a">PPB_IME_INPUT_EVENT_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ad911c1aed763c2f362037995ffca801a"></a><!-- doxytag: member="ppb_input_event.h::PPB_IME_INPUT_EVENT_INTERFACE" ref="ad911c1aed763c2f362037995ffca801a" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__input__event_8h.html#ad911c1aed763c2f362037995ffca801a">PPB_IME_INPUT_EVENT_INTERFACE</a>   "PPB_IMEInputEvent;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a40fd5bca277483a37c2713b8961b5117"></a><!-- doxytag: member="ppb_input_event.h::PPB_INPUT_EVENT_INTERFACE" ref="a40fd5bca277483a37c2713b8961b5117" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__input__event_8h.html#a40fd5bca277483a37c2713b8961b5117">PPB_INPUT_EVENT_INTERFACE</a>   <a class="el" href="ppb__input__event_8h.html#af4e5b597aea9864e7d9aa81c71e781d2">PPB_INPUT_EVENT_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="af4e5b597aea9864e7d9aa81c71e781d2"></a><!-- doxytag: member="ppb_input_event.h::PPB_INPUT_EVENT_INTERFACE" ref="af4e5b597aea9864e7d9aa81c71e781d2" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__input__event_8h.html#af4e5b597aea9864e7d9aa81c71e781d2">PPB_INPUT_EVENT_INTERFACE</a>   "PPB_InputEvent;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a969f9e171a3202249e8dfabaef33c288"></a><!-- doxytag: member="ppb_input_event.h::PPB_KEYBOARD_INPUT_EVENT_INTERFACE" ref="a969f9e171a3202249e8dfabaef33c288" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__input__event_8h.html#a969f9e171a3202249e8dfabaef33c288">PPB_KEYBOARD_INPUT_EVENT_INTERFACE</a>   <a class="el" href="ppb__input__event_8h.html#a0d5e2d948d5a25cd3194a59c21ad992e">PPB_KEYBOARD_INPUT_EVENT_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a0d5e2d948d5a25cd3194a59c21ad992e"></a><!-- doxytag: member="ppb_input_event.h::PPB_KEYBOARD_INPUT_EVENT_INTERFACE" ref="a0d5e2d948d5a25cd3194a59c21ad992e" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__input__event_8h.html#a0d5e2d948d5a25cd3194a59c21ad992e">PPB_KEYBOARD_INPUT_EVENT_INTERFACE</a>   "PPB_KeyboardInputEvent;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a761fcf6df555946b6c2e1a0b6cd01c5e"></a><!-- doxytag: member="ppb_input_event.h::PPB_MOUSE_INPUT_EVENT_INTERFACE" ref="a761fcf6df555946b6c2e1a0b6cd01c5e" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__input__event_8h.html#a761fcf6df555946b6c2e1a0b6cd01c5e">PPB_MOUSE_INPUT_EVENT_INTERFACE</a>   <a class="el" href="ppb__input__event_8h.html#a9887382b4700999b639a2f2de497e104">PPB_MOUSE_INPUT_EVENT_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a9887382b4700999b639a2f2de497e104"></a><!-- doxytag: member="ppb_input_event.h::PPB_MOUSE_INPUT_EVENT_INTERFACE" ref="a9887382b4700999b639a2f2de497e104" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__input__event_8h.html#a9887382b4700999b639a2f2de497e104">PPB_MOUSE_INPUT_EVENT_INTERFACE</a>   "PPB_MouseInputEvent;1.1"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a9ef6ad6634a1d1912b83006862a0e57b"></a><!-- doxytag: member="ppb_input_event.h::PPB_TOUCH_INPUT_EVENT_INTERFACE" ref="a9ef6ad6634a1d1912b83006862a0e57b" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__input__event_8h.html#a9ef6ad6634a1d1912b83006862a0e57b">PPB_TOUCH_INPUT_EVENT_INTERFACE</a>   <a class="el" href="ppb__input__event_8h.html#a36b8536215a705ecc3fd4cd366b0f975">PPB_TOUCH_INPUT_EVENT_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a36b8536215a705ecc3fd4cd366b0f975"></a><!-- doxytag: member="ppb_input_event.h::PPB_TOUCH_INPUT_EVENT_INTERFACE" ref="a36b8536215a705ecc3fd4cd366b0f975" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__input__event_8h.html#a36b8536215a705ecc3fd4cd366b0f975">PPB_TOUCH_INPUT_EVENT_INTERFACE</a>   "PPB_TouchInputEvent;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a2e592782e919e590dd393d421af8850f"></a><!-- doxytag: member="ppb_input_event.h::PPB_WHEEL_INPUT_EVENT_INTERFACE" ref="a2e592782e919e590dd393d421af8850f" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__input__event_8h.html#a2e592782e919e590dd393d421af8850f">PPB_WHEEL_INPUT_EVENT_INTERFACE</a>   <a class="el" href="ppb__input__event_8h.html#a0a7bcd124b8e7677b629b236eabfb563">PPB_WHEEL_INPUT_EVENT_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a0a7bcd124b8e7677b629b236eabfb563"></a><!-- doxytag: member="ppb_input_event.h::PPB_WHEEL_INPUT_EVENT_INTERFACE" ref="a0a7bcd124b8e7677b629b236eabfb563" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__input__event_8h.html#a0a7bcd124b8e7677b629b236eabfb563">PPB_WHEEL_INPUT_EVENT_INTERFACE</a>   "PPB_WheelInputEvent;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__input__event_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/ppb__input__event_8h__incl.png
new file mode 100644
index 0000000..bc0b245
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__input__event_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__instance_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/ppb__instance_8h.html
new file mode 100644
index 0000000..1c115ecf
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__instance_8h.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/ppb_instance.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_instance.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__instance_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__instance_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__instance_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__instance_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___instance__1__0.html">PPB_Instance</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The PPB_Instance interface contains pointers to functions related to the module instance on a web page. <a href="struct_p_p_b___instance__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__instance_8h.html#ad3b639018921516cd4d2d3adcffdbc8f">PPB_INSTANCE_INTERFACE</a>   "PPB_Instance;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__instance_8h.html#ab707353c04e78fe57eba3783692a0eed">PPB_INSTANCE_INTERFACE</a>   <a class="el" href="ppb__instance_8h.html#ad3b639018921516cd4d2d3adcffdbc8f">PPB_INSTANCE_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___instance__1__0.html">PPB_Instance</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaf2ed3cc24968d8681b52cf70eae066ca">PPB_Instance</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_Instance</code> interface implemented by the browser and containing pointers to functions related to the module instance on a web page. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="ab707353c04e78fe57eba3783692a0eed"></a><!-- doxytag: member="ppb_instance.h::PPB_INSTANCE_INTERFACE" ref="ab707353c04e78fe57eba3783692a0eed" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__instance_8h.html#ab707353c04e78fe57eba3783692a0eed">PPB_INSTANCE_INTERFACE</a>   <a class="el" href="ppb__instance_8h.html#ad3b639018921516cd4d2d3adcffdbc8f">PPB_INSTANCE_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ad3b639018921516cd4d2d3adcffdbc8f"></a><!-- doxytag: member="ppb_instance.h::PPB_INSTANCE_INTERFACE" ref="ad3b639018921516cd4d2d3adcffdbc8f" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__instance_8h.html#ad3b639018921516cd4d2d3adcffdbc8f">PPB_INSTANCE_INTERFACE</a>   "PPB_Instance;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__instance_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/ppb__instance_8h__incl.png
new file mode 100644
index 0000000..59bc1af9
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__instance_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__message__loop_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/ppb__message__loop_8h.html
new file mode 100644
index 0000000..4acf75d7
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__message__loop_8h.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/ppb_message_loop.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_message_loop.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__message__loop_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__message__loop_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__message__loop_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__message__loop_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___message_loop__1__0.html">PPB_MessageLoop</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A message loop allows PPAPI calls to be issued on a thread. <a href="struct_p_p_b___message_loop__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__message__loop_8h.html#a9b1fcf10002ff75d323617f920de4468">PPB_MESSAGELOOP_INTERFACE</a>   "PPB_MessageLoop;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__message__loop_8h.html#ae810c1f641977db5a6497704d7b0f4b0">PPB_MESSAGELOOP_INTERFACE</a>   <a class="el" href="ppb__message__loop_8h.html#a9b1fcf10002ff75d323617f920de4468">PPB_MESSAGELOOP_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___message_loop__1__0.html">PPB_MessageLoop</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gae3eb3482b0fb57fb6a4eb05c07908788">PPB_MessageLoop</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Defines the PPB_MessageLoop interface. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="ae810c1f641977db5a6497704d7b0f4b0"></a><!-- doxytag: member="ppb_message_loop.h::PPB_MESSAGELOOP_INTERFACE" ref="ae810c1f641977db5a6497704d7b0f4b0" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__message__loop_8h.html#ae810c1f641977db5a6497704d7b0f4b0">PPB_MESSAGELOOP_INTERFACE</a>   <a class="el" href="ppb__message__loop_8h.html#a9b1fcf10002ff75d323617f920de4468">PPB_MESSAGELOOP_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a9b1fcf10002ff75d323617f920de4468"></a><!-- doxytag: member="ppb_message_loop.h::PPB_MESSAGELOOP_INTERFACE" ref="a9b1fcf10002ff75d323617f920de4468" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__message__loop_8h.html#a9b1fcf10002ff75d323617f920de4468">PPB_MESSAGELOOP_INTERFACE</a>   "PPB_MessageLoop;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__message__loop_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/ppb__message__loop_8h__incl.png
new file mode 100644
index 0000000..f6d2b80
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__message__loop_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__messaging_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/ppb__messaging_8h.html
new file mode 100644
index 0000000..0cbe8d7
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__messaging_8h.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/ppb_messaging.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_messaging.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__messaging_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__messaging_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__messaging_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__messaging_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___messaging__1__0.html">PPB_Messaging</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_Messaging</code> interface is implemented by the browser and is related to sending messages to JavaScript message event listeners on the DOM element associated with specific module instance. <a href="struct_p_p_b___messaging__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__messaging_8h.html#afc64e56f770d45a4556b32cd6568cc77">PPB_MESSAGING_INTERFACE</a>   "PPB_Messaging;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__messaging_8h.html#a558ca32dad39a710cd217aaa09921d92">PPB_MESSAGING_INTERFACE</a>   <a class="el" href="ppb__messaging_8h.html#afc64e56f770d45a4556b32cd6568cc77">PPB_MESSAGING_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___messaging__1__0.html">PPB_Messaging</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gac53fe3a3b5941f8b3608349f58ee24f0">PPB_Messaging</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_Messaging</code> interface implemented by the browser for sending messages to DOM elements associated with a specific module instance. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a558ca32dad39a710cd217aaa09921d92"></a><!-- doxytag: member="ppb_messaging.h::PPB_MESSAGING_INTERFACE" ref="a558ca32dad39a710cd217aaa09921d92" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__messaging_8h.html#a558ca32dad39a710cd217aaa09921d92">PPB_MESSAGING_INTERFACE</a>   <a class="el" href="ppb__messaging_8h.html#afc64e56f770d45a4556b32cd6568cc77">PPB_MESSAGING_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="afc64e56f770d45a4556b32cd6568cc77"></a><!-- doxytag: member="ppb_messaging.h::PPB_MESSAGING_INTERFACE" ref="afc64e56f770d45a4556b32cd6568cc77" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__messaging_8h.html#afc64e56f770d45a4556b32cd6568cc77">PPB_MESSAGING_INTERFACE</a>   "PPB_Messaging;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__messaging_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/ppb__messaging_8h__incl.png
new file mode 100644
index 0000000..6690753
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__messaging_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__mouse__cursor_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/ppb__mouse__cursor_8h.html
new file mode 100644
index 0000000..31679c4
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__mouse__cursor_8h.html
@@ -0,0 +1,120 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/ppb_mouse_cursor.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_mouse_cursor.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__mouse__cursor_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__mouse__cursor_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__mouse__cursor_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__mouse__cursor_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___mouse_cursor__1__0.html">PPB_MouseCursor</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_MouseCursor</code> allows setting the mouse cursor. <a href="struct_p_p_b___mouse_cursor__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__mouse__cursor_8h.html#a5108cd274942fbb6aa1726d32b7b82eb">PPB_MOUSECURSOR_INTERFACE</a>   "PPB_MouseCursor;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__mouse__cursor_8h.html#a9f058eab16725eb940b802f90acb11a9">PPB_MOUSECURSOR_INTERFACE</a>   <a class="el" href="ppb__mouse__cursor_8h.html#a5108cd274942fbb6aa1726d32b7b82eb">PPB_MOUSECURSOR_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___mouse_cursor__1__0.html">PPB_MouseCursor</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gae583d9ea6381e1e4cb7b462c35c5d1de">PPB_MouseCursor</a></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gac53273018386c1db9542d2a06bbe118b">PP_MouseCursor_Type</a> { <br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba1360614abe2d2c3838a42238f75e9ec1">PP_MOUSECURSOR_TYPE_CUSTOM</a> = -1,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba7c0a8b04f51fbf8e12abd4240fb24a9f">PP_MOUSECURSOR_TYPE_POINTER</a> = 0,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba7ee7ede873ec3158179a1ea648bfe677">PP_MOUSECURSOR_TYPE_CROSS</a> = 1,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba5cf81326a94c1150ce98cc15924dee69">PP_MOUSECURSOR_TYPE_HAND</a> = 2,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba705545fdbd4088bf4522b32aa5815877">PP_MOUSECURSOR_TYPE_IBEAM</a> = 3,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118babf8c49b2fc9ee7208b20e7e1f96e2930">PP_MOUSECURSOR_TYPE_WAIT</a> = 4,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bacea1ebe2038e33bb649bcf8ed32f0e7e">PP_MOUSECURSOR_TYPE_HELP</a> = 5,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba3efb608fc10dd3979d4bc0c41654f14b">PP_MOUSECURSOR_TYPE_EASTRESIZE</a> = 6,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba02b638a93841e0f51d234b6643cffcd0">PP_MOUSECURSOR_TYPE_NORTHRESIZE</a> = 7,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118baceb2b9888eed1ef5fe8c5dbc94195b3a">PP_MOUSECURSOR_TYPE_NORTHEASTRESIZE</a> = 8,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bab95b486b6772a79a599c4287f966cd19">PP_MOUSECURSOR_TYPE_NORTHWESTRESIZE</a> = 9,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bac39262939712092e11cc4569b6cab626">PP_MOUSECURSOR_TYPE_SOUTHRESIZE</a> = 10,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba0d7f8011aba0f13ceda6688585b725af">PP_MOUSECURSOR_TYPE_SOUTHEASTRESIZE</a> = 11,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba54f482730eba910a940e1c975f14e2a2">PP_MOUSECURSOR_TYPE_SOUTHWESTRESIZE</a> = 12,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba0c8edb786c8193ef657716a358e327b6">PP_MOUSECURSOR_TYPE_WESTRESIZE</a> = 13,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118babf7026dfaea82565f2527ddbb0383053">PP_MOUSECURSOR_TYPE_NORTHSOUTHRESIZE</a> = 14,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba98177b2980fa939ed33d41c531f06310">PP_MOUSECURSOR_TYPE_EASTWESTRESIZE</a> = 15,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118baf01a2e620b481daeb42b6344843e9e38">PP_MOUSECURSOR_TYPE_NORTHEASTSOUTHWESTRESIZE</a> = 16,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba05d35a31c8af640a6cf2295790e933ee">PP_MOUSECURSOR_TYPE_NORTHWESTSOUTHEASTRESIZE</a> = 17,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bab163a58c75a983ac943d39827c0976cd">PP_MOUSECURSOR_TYPE_COLUMNRESIZE</a> = 18,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bac4d90e13c8d17e32ee9498b795d2f4ca">PP_MOUSECURSOR_TYPE_ROWRESIZE</a> = 19,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba6dbf3de573762e2322d6e8a2392b19fb">PP_MOUSECURSOR_TYPE_MIDDLEPANNING</a> = 20,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba9fec33093306cea2ea6bb6810e8f9040">PP_MOUSECURSOR_TYPE_EASTPANNING</a> = 21,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba0805b4d3a42bb560a656247a57ed6fe0">PP_MOUSECURSOR_TYPE_NORTHPANNING</a> = 22,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118babeaeb782ba084c45e0d12f2bf428a9c3">PP_MOUSECURSOR_TYPE_NORTHEASTPANNING</a> = 23,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba2590e0dc133a8b4534c475abd60c2e1d">PP_MOUSECURSOR_TYPE_NORTHWESTPANNING</a> = 24,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bac9ab4fdcaccb7dcf3a9e0c5edf056e92">PP_MOUSECURSOR_TYPE_SOUTHPANNING</a> = 25,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bacf7c5132070bb6fd8e86ffcafb1dd8b6">PP_MOUSECURSOR_TYPE_SOUTHEASTPANNING</a> = 26,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118baebe615cd19bad5b076b2dd9d86dcd825">PP_MOUSECURSOR_TYPE_SOUTHWESTPANNING</a> = 27,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba8c357f06fc1fc96c091b378d10cc4f02">PP_MOUSECURSOR_TYPE_WESTPANNING</a> = 28,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bab6757be35df5a1e246b3ce8b80c92fbd">PP_MOUSECURSOR_TYPE_MOVE</a> = 29,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba52c5c4259a391557c045b0b82cc0a1fa">PP_MOUSECURSOR_TYPE_VERTICALTEXT</a> = 30,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba62afaa44930d75f750fdf28199511194">PP_MOUSECURSOR_TYPE_CELL</a> = 31,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bad73cecab74f94844438e494ff1439b9f">PP_MOUSECURSOR_TYPE_CONTEXTMENU</a> = 32,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118baca9b4bef41f4c4bd90e81573357b137c">PP_MOUSECURSOR_TYPE_ALIAS</a> = 33,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118babda91fe9ce56b304d95a1ce01fbe8084">PP_MOUSECURSOR_TYPE_PROGRESS</a> = 34,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba1c6cb6e16ac90b8829175e8af9a4a72d">PP_MOUSECURSOR_TYPE_NODROP</a> = 35,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bacee11626427a6fa36653243c4d551608">PP_MOUSECURSOR_TYPE_COPY</a> = 36,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba7a9b1b3187b0bd011b5e19380d4fd698">PP_MOUSECURSOR_TYPE_NONE</a> = 37,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba7d10d5fcc4d9e6aaed4af83246de15a0">PP_MOUSECURSOR_TYPE_NOTALLOWED</a> = 38,
+<br />
+  <a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba203b038de96b903e253e29aea5a66460">PP_MOUSECURSOR_TYPE_ZOOMIN</a> = 39,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118ba797321d4cad9a863a5338318912f3a98">PP_MOUSECURSOR_TYPE_ZOOMOUT</a> = 40,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118bafc45b71a6185639e12ac2827a641bdaa">PP_MOUSECURSOR_TYPE_GRAB</a> = 41,
+<a class="el" href="group___enums.html#ggac53273018386c1db9542d2a06bbe118baa242aeb17b35d8e44e449786a2cbcd1c">PP_MOUSECURSOR_TYPE_GRABBING</a> = 42
+<br />
+ }</td></tr>
+</table><h2>
+Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga9b1b55c2ccaa49d084206619c9034dde">PP_COMPILE_ASSERT_ENUM_SIZE_IN_BYTES</a> (<a class="el" href="group___enums.html#gac53273018386c1db9542d2a06bbe118b">PP_MouseCursor_Type</a>, 4)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_MouseCursor</code> interface for setting the mouse cursor. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a9f058eab16725eb940b802f90acb11a9"></a><!-- doxytag: member="ppb_mouse_cursor.h::PPB_MOUSECURSOR_INTERFACE" ref="a9f058eab16725eb940b802f90acb11a9" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__mouse__cursor_8h.html#a9f058eab16725eb940b802f90acb11a9">PPB_MOUSECURSOR_INTERFACE</a>   <a class="el" href="ppb__mouse__cursor_8h.html#a5108cd274942fbb6aa1726d32b7b82eb">PPB_MOUSECURSOR_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a5108cd274942fbb6aa1726d32b7b82eb"></a><!-- doxytag: member="ppb_mouse_cursor.h::PPB_MOUSECURSOR_INTERFACE" ref="a5108cd274942fbb6aa1726d32b7b82eb" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__mouse__cursor_8h.html#a5108cd274942fbb6aa1726d32b7b82eb">PPB_MOUSECURSOR_INTERFACE</a>   "PPB_MouseCursor;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__mouse__cursor_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/ppb__mouse__cursor_8h__incl.png
new file mode 100644
index 0000000..d1ba3a4
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__mouse__cursor_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__mouse__lock_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/ppb__mouse__lock_8h.html
new file mode 100644
index 0000000..04a24dc
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__mouse__lock_8h.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/ppb_mouse_lock.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_mouse_lock.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__mouse__lock_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__mouse__lock_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__mouse__lock_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__mouse__lock_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___mouse_lock__1__0.html">PPB_MouseLock</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_MouseLock</code> interface is implemented by the browser. <a href="struct_p_p_b___mouse_lock__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__mouse__lock_8h.html#a87c8b1ae0950bb6de205bbec68545edd">PPB_MOUSELOCK_INTERFACE</a>   "PPB_MouseLock;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__mouse__lock_8h.html#a61bbe5bd4a3ec739ecd5daf65192db7d">PPB_MOUSELOCK_INTERFACE</a>   <a class="el" href="ppb__mouse__lock_8h.html#a87c8b1ae0950bb6de205bbec68545edd">PPB_MOUSELOCK_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___mouse_lock__1__0.html">PPB_MouseLock</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga9d5fa32b9c90b100400161025fda2617">PPB_MouseLock</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_MouseLock</code> interface for locking the target of mouse events to a specific module instance. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a61bbe5bd4a3ec739ecd5daf65192db7d"></a><!-- doxytag: member="ppb_mouse_lock.h::PPB_MOUSELOCK_INTERFACE" ref="a61bbe5bd4a3ec739ecd5daf65192db7d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__mouse__lock_8h.html#a61bbe5bd4a3ec739ecd5daf65192db7d">PPB_MOUSELOCK_INTERFACE</a>   <a class="el" href="ppb__mouse__lock_8h.html#a87c8b1ae0950bb6de205bbec68545edd">PPB_MOUSELOCK_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a87c8b1ae0950bb6de205bbec68545edd"></a><!-- doxytag: member="ppb_mouse_lock.h::PPB_MOUSELOCK_INTERFACE" ref="a87c8b1ae0950bb6de205bbec68545edd" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__mouse__lock_8h.html#a87c8b1ae0950bb6de205bbec68545edd">PPB_MOUSELOCK_INTERFACE</a>   "PPB_MouseLock;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__mouse__lock_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/ppb__mouse__lock_8h__incl.png
new file mode 100644
index 0000000..d2cf645
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__mouse__lock_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__net__address_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/ppb__net__address_8h.html
new file mode 100644
index 0000000..c0bc7f0
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__net__address_8h.html
@@ -0,0 +1,73 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/ppb_net_address.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_net_address.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__net__address_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__net__address_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__net__address_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__net__address_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___net_address___i_pv4.html">PP_NetAddress_IPv4</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">All members are expressed in network byte order. <a href="struct_p_p___net_address___i_pv4.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___net_address___i_pv6.html">PP_NetAddress_IPv6</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">All members are expressed in network byte order. <a href="struct_p_p___net_address___i_pv6.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___net_address__1__0.html">PPB_NetAddress</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_NetAddress</code> interface provides operations on network addresses. <a href="struct_p_p_b___net_address__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__net__address_8h.html#aa487d14ecdf0f4ce95f95f429599b940">PPB_NETADDRESS_INTERFACE</a>   "PPB_NetAddress;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__net__address_8h.html#a4797048cd8b1d0ab96d600d0f2003f88">PPB_NETADDRESS_INTERFACE</a>   <a class="el" href="ppb__net__address_8h.html#aa487d14ecdf0f4ce95f95f429599b940">PPB_NETADDRESS_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___net_address__1__0.html">PPB_NetAddress</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gad6c325ff5a0a74f318a680971d0a7c52">PPB_NetAddress</a></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga43636bcadf9aa312a4c345d210ae6c55">PP_NetAddress_Family</a> { <a class="el" href="group___enums.html#gga43636bcadf9aa312a4c345d210ae6c55a2aef50ef77ad0122b649f0b9ac4c41bc">PP_NETADDRESS_FAMILY_UNSPECIFIED</a> = 0,
+<a class="el" href="group___enums.html#gga43636bcadf9aa312a4c345d210ae6c55a054684e064e8d819f8b2d80640196585">PP_NETADDRESS_FAMILY_IPV4</a> = 1,
+<a class="el" href="group___enums.html#gga43636bcadf9aa312a4c345d210ae6c55aa70bb3acced932eb4fe7df3aae85c27a">PP_NETADDRESS_FAMILY_IPV6</a> = 2
+ }</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga43636bcadf9aa312a4c345d210ae6c55">PP_NetAddress_Family</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga34eaf167d3bf1a00281de167719ca604">PP_NetAddress_IPv4</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___structs.html#ga1301bb0d95a4b2e8907002b3bdc8f6d9">PP_NetAddress_IPv6</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_NetAddress</code> interface. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a4797048cd8b1d0ab96d600d0f2003f88"></a><!-- doxytag: member="ppb_net_address.h::PPB_NETADDRESS_INTERFACE" ref="a4797048cd8b1d0ab96d600d0f2003f88" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__net__address_8h.html#a4797048cd8b1d0ab96d600d0f2003f88">PPB_NETADDRESS_INTERFACE</a>   <a class="el" href="ppb__net__address_8h.html#aa487d14ecdf0f4ce95f95f429599b940">PPB_NETADDRESS_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="aa487d14ecdf0f4ce95f95f429599b940"></a><!-- doxytag: member="ppb_net_address.h::PPB_NETADDRESS_INTERFACE" ref="aa487d14ecdf0f4ce95f95f429599b940" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__net__address_8h.html#aa487d14ecdf0f4ce95f95f429599b940">PPB_NETADDRESS_INTERFACE</a>   "PPB_NetAddress;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__net__address_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/ppb__net__address_8h__incl.png
new file mode 100644
index 0000000..5410897e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__net__address_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__network__list_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/ppb__network__list_8h.html
new file mode 100644
index 0000000..78afffb5
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__network__list_8h.html
@@ -0,0 +1,72 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/ppb_network_list.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_network_list.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__network__list_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__network__list_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__network__list_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__network__list_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_list__1__0.html">PPB_NetworkList</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_NetworkList</code> is used to represent a list of network interfaces and their configuration. <a href="struct_p_p_b___network_list__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__network__list_8h.html#ac0b7e69aedfaf3e0dd033d17634b0747">PPB_NETWORKLIST_INTERFACE</a>   "PPB_NetworkList;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__network__list_8h.html#a9d022e173e890387820ddb636a8eedfe">PPB_NETWORKLIST_INTERFACE</a>   <a class="el" href="ppb__network__list_8h.html#ac0b7e69aedfaf3e0dd033d17634b0747">PPB_NETWORKLIST_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___network_list__1__0.html">PPB_NetworkList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga675af1709086b2a750d28da442c41f8a">PPB_NetworkList</a></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga1c967cb753eb468493b3bf72e6733983">PP_NetworkList_Type</a> { <a class="el" href="group___enums.html#gga1c967cb753eb468493b3bf72e6733983a6d8ddd32de577965df0d44df0e0acfdd">PP_NETWORKLIST_TYPE_UNKNOWN</a> = 0,
+<a class="el" href="group___enums.html#gga1c967cb753eb468493b3bf72e6733983a6eaef40fe1d62ca5bcfcc1974adc29f9">PP_NETWORKLIST_TYPE_ETHERNET</a> = 1,
+<a class="el" href="group___enums.html#gga1c967cb753eb468493b3bf72e6733983a9a47925bee0d3bd71739475b4c5654ed">PP_NETWORKLIST_TYPE_WIFI</a> = 2,
+<a class="el" href="group___enums.html#gga1c967cb753eb468493b3bf72e6733983ab1c83c6942b208101789971522b3a8c9">PP_NETWORKLIST_TYPE_CELLULAR</a> = 3
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga9188881b5d3346626db0ea8e6aaecf1f">PP_NetworkList_State</a> { <a class="el" href="group___enums.html#gga9188881b5d3346626db0ea8e6aaecf1fa561469f97b38b69868d1cce1142722b6">PP_NETWORKLIST_STATE_DOWN</a> = 0,
+<a class="el" href="group___enums.html#gga9188881b5d3346626db0ea8e6aaecf1fa3b4b789d490cd2d3119a188a79eca0f6">PP_NETWORKLIST_STATE_UP</a> = 1
+ }</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga1c967cb753eb468493b3bf72e6733983">PP_NetworkList_Type</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga9188881b5d3346626db0ea8e6aaecf1f">PP_NetworkList_State</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_NetworkList</code> interface. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a9d022e173e890387820ddb636a8eedfe"></a><!-- doxytag: member="ppb_network_list.h::PPB_NETWORKLIST_INTERFACE" ref="a9d022e173e890387820ddb636a8eedfe" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__network__list_8h.html#a9d022e173e890387820ddb636a8eedfe">PPB_NETWORKLIST_INTERFACE</a>   <a class="el" href="ppb__network__list_8h.html#ac0b7e69aedfaf3e0dd033d17634b0747">PPB_NETWORKLIST_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ac0b7e69aedfaf3e0dd033d17634b0747"></a><!-- doxytag: member="ppb_network_list.h::PPB_NETWORKLIST_INTERFACE" ref="ac0b7e69aedfaf3e0dd033d17634b0747" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__network__list_8h.html#ac0b7e69aedfaf3e0dd033d17634b0747">PPB_NETWORKLIST_INTERFACE</a>   "PPB_NetworkList;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__network__list_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/ppb__network__list_8h__incl.png
new file mode 100644
index 0000000..1481d79
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__network__list_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__network__monitor_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/ppb__network__monitor_8h.html
new file mode 100644
index 0000000..923690e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__network__monitor_8h.html
@@ -0,0 +1,59 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/ppb_network_monitor.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_network_monitor.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__network__monitor_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__network__monitor_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__network__monitor_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__network__monitor_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_monitor__1__0.html">PPB_NetworkMonitor</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_NetworkMonitor</code> allows to get network interfaces configuration and monitor network configuration changes. <a href="struct_p_p_b___network_monitor__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__network__monitor_8h.html#aa1c835159cc390a53f853281e62a969f">PPB_NETWORKMONITOR_INTERFACE</a>   "PPB_NetworkMonitor;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__network__monitor_8h.html#a1a8be64663de54d6d189673531f93008">PPB_NETWORKMONITOR_INTERFACE</a>   <a class="el" href="ppb__network__monitor_8h.html#aa1c835159cc390a53f853281e62a969f">PPB_NETWORKMONITOR_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___network_monitor__1__0.html">PPB_NetworkMonitor</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga873d8c5cd49f7b3c8ad5b4caabd1e8e6">PPB_NetworkMonitor</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_NetworkMonitor</code> interface. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a1a8be64663de54d6d189673531f93008"></a><!-- doxytag: member="ppb_network_monitor.h::PPB_NETWORKMONITOR_INTERFACE" ref="a1a8be64663de54d6d189673531f93008" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__network__monitor_8h.html#a1a8be64663de54d6d189673531f93008">PPB_NETWORKMONITOR_INTERFACE</a>   <a class="el" href="ppb__network__monitor_8h.html#aa1c835159cc390a53f853281e62a969f">PPB_NETWORKMONITOR_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="aa1c835159cc390a53f853281e62a969f"></a><!-- doxytag: member="ppb_network_monitor.h::PPB_NETWORKMONITOR_INTERFACE" ref="aa1c835159cc390a53f853281e62a969f" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__network__monitor_8h.html#aa1c835159cc390a53f853281e62a969f">PPB_NETWORKMONITOR_INTERFACE</a>   "PPB_NetworkMonitor;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__network__monitor_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/ppb__network__monitor_8h__incl.png
new file mode 100644
index 0000000..7e271c6
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__network__monitor_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__network__proxy_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/ppb__network__proxy_8h.html
new file mode 100644
index 0000000..99d11cf
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__network__proxy_8h.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/ppb_network_proxy.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_network_proxy.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__network__proxy_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__network__proxy_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__network__proxy_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__network__proxy_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_proxy__1__0.html">PPB_NetworkProxy</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This interface provides a way to determine the appropriate proxy settings for a given URL. <a href="struct_p_p_b___network_proxy__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__network__proxy_8h.html#a51bdbe7e4706cc8c5e455ceb47a34472">PPB_NETWORKPROXY_INTERFACE</a>   "PPB_NetworkProxy;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__network__proxy_8h.html#aa951f1e83ded5d77558f770127d5765b">PPB_NETWORKPROXY_INTERFACE</a>   <a class="el" href="ppb__network__proxy_8h.html#a51bdbe7e4706cc8c5e455ceb47a34472">PPB_NETWORKPROXY_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___network_proxy__1__0.html">PPB_NetworkProxy</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaf8338a682417267c8525446ef1de85b1">PPB_NetworkProxy</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_NetworkProxy</code> interface. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="aa951f1e83ded5d77558f770127d5765b"></a><!-- doxytag: member="ppb_network_proxy.h::PPB_NETWORKPROXY_INTERFACE" ref="aa951f1e83ded5d77558f770127d5765b" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__network__proxy_8h.html#aa951f1e83ded5d77558f770127d5765b">PPB_NETWORKPROXY_INTERFACE</a>   <a class="el" href="ppb__network__proxy_8h.html#a51bdbe7e4706cc8c5e455ceb47a34472">PPB_NETWORKPROXY_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a51bdbe7e4706cc8c5e455ceb47a34472"></a><!-- doxytag: member="ppb_network_proxy.h::PPB_NETWORKPROXY_INTERFACE" ref="a51bdbe7e4706cc8c5e455ceb47a34472" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__network__proxy_8h.html#a51bdbe7e4706cc8c5e455ceb47a34472">PPB_NETWORKPROXY_INTERFACE</a>   "PPB_NetworkProxy;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__network__proxy_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/ppb__network__proxy_8h__incl.png
new file mode 100644
index 0000000..74f2727
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__network__proxy_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__tcp__socket_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/ppb__tcp__socket_8h.html
new file mode 100644
index 0000000..b2f7bc1f
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__tcp__socket_8h.html
@@ -0,0 +1,67 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/ppb_tcp_socket.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_tcp_socket.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__tcp__socket_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__tcp__socket_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__tcp__socket_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__tcp__socket_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html">PPB_TCPSocket</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_TCPSocket</code> interface provides TCP socket operations. <a href="struct_p_p_b___t_c_p_socket__1__1.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__tcp__socket_8h.html#a12b0fabc454cb99a6d4c8352c6f22d71">PPB_TCPSOCKET_INTERFACE</a>   "PPB_TCPSocket;1.1"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__tcp__socket_8h.html#a29ecaef1552f19b223e6c93475d8788c">PPB_TCPSOCKET_INTERFACE</a>   <a class="el" href="ppb__tcp__socket_8h.html#a12b0fabc454cb99a6d4c8352c6f22d71">PPB_TCPSOCKET_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html">PPB_TCPSocket</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga0f72e14a6cf9631bd733ded1f8ba4d9f">PPB_TCPSocket</a></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga1557c0bbce8739a3418e6027a9c44e12">PP_TCPSocket_Option</a> { <a class="el" href="group___enums.html#gga1557c0bbce8739a3418e6027a9c44e12a4b17558654d1df4452aa98f7d2609a10">PP_TCPSOCKET_OPTION_NO_DELAY</a> = 0,
+<a class="el" href="group___enums.html#gga1557c0bbce8739a3418e6027a9c44e12a61ce27ba7853d05f7af51be1bed5d1a6">PP_TCPSOCKET_OPTION_SEND_BUFFER_SIZE</a> = 1,
+<a class="el" href="group___enums.html#gga1557c0bbce8739a3418e6027a9c44e12aef57736e294acb30fb7b3b2f4a425f72">PP_TCPSOCKET_OPTION_RECV_BUFFER_SIZE</a> = 2
+ }</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga1557c0bbce8739a3418e6027a9c44e12">PP_TCPSocket_Option</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_TCPSocket</code> interface. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a29ecaef1552f19b223e6c93475d8788c"></a><!-- doxytag: member="ppb_tcp_socket.h::PPB_TCPSOCKET_INTERFACE" ref="a29ecaef1552f19b223e6c93475d8788c" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__tcp__socket_8h.html#a29ecaef1552f19b223e6c93475d8788c">PPB_TCPSOCKET_INTERFACE</a>   <a class="el" href="ppb__tcp__socket_8h.html#a12b0fabc454cb99a6d4c8352c6f22d71">PPB_TCPSOCKET_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a12b0fabc454cb99a6d4c8352c6f22d71"></a><!-- doxytag: member="ppb_tcp_socket.h::PPB_TCPSOCKET_INTERFACE" ref="a12b0fabc454cb99a6d4c8352c6f22d71" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__tcp__socket_8h.html#a12b0fabc454cb99a6d4c8352c6f22d71">PPB_TCPSOCKET_INTERFACE</a>   "PPB_TCPSocket;1.1"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__tcp__socket_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/ppb__tcp__socket_8h__incl.png
new file mode 100644
index 0000000..33a16e1a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__tcp__socket_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__text__input__controller_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/ppb__text__input__controller_8h.html
new file mode 100644
index 0000000..e82ab73
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__text__input__controller_8h.html
@@ -0,0 +1,76 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/ppb_text_input_controller.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_text_input_controller.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__text__input__controller_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__text__input__controller_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__text__input__controller_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__text__input__controller_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___text_input_controller__1__0.html">PPB_TextInputController</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><code>PPB_TextInputController</code> provides a set of functions for giving hints to the browser about the text input status of plugins, and functions for controlling input method editors (IMEs). <a href="struct_p_p_b___text_input_controller__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__text__input__controller_8h.html#a6ca7f2ae09c011c13d12c79ba155e12a">PPB_TEXTINPUTCONTROLLER_INTERFACE</a>   "PPB_TextInputController;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__text__input__controller_8h.html#a9a28f7fd2db84c2cd550ed272070c0ee">PPB_TEXTINPUTCONTROLLER_INTERFACE</a>   <a class="el" href="ppb__text__input__controller_8h.html#a6ca7f2ae09c011c13d12c79ba155e12a">PPB_TEXTINPUTCONTROLLER_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___text_input_controller__1__0.html">PPB_TextInputController</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gab387085f6044f3a0b1631d119d22a942">PPB_TextInputController</a></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga5fef49ee4c2cc6dcead825340da0f116">PP_TextInput_Type</a> { <br />
+  <a class="el" href="group___enums.html#gga5fef49ee4c2cc6dcead825340da0f116a0d75c884156553959d65252e65aa0916">PP_TEXTINPUT_TYPE_NONE</a> = 0,
+<a class="el" href="group___enums.html#gga5fef49ee4c2cc6dcead825340da0f116a0e5e4072fce915eca7e4dfd7c639626c">PP_TEXTINPUT_TYPE_TEXT</a> = 1,
+<a class="el" href="group___enums.html#gga5fef49ee4c2cc6dcead825340da0f116a00f508676278dd45e0335a8d5d715114">PP_TEXTINPUT_TYPE_PASSWORD</a> = 2,
+<a class="el" href="group___enums.html#gga5fef49ee4c2cc6dcead825340da0f116a0d7975532097315f198617ad5e59bc32">PP_TEXTINPUT_TYPE_SEARCH</a> = 3,
+<br />
+  <a class="el" href="group___enums.html#gga5fef49ee4c2cc6dcead825340da0f116a027963b61eb55438f92662e72e939cf8">PP_TEXTINPUT_TYPE_EMAIL</a> = 4,
+<a class="el" href="group___enums.html#gga5fef49ee4c2cc6dcead825340da0f116af71a3fb3f651ad5b417592433278fd1e">PP_TEXTINPUT_TYPE_NUMBER</a> = 5,
+<a class="el" href="group___enums.html#gga5fef49ee4c2cc6dcead825340da0f116a181e9bd71e6a97acd6c5dace9f0b5fb3">PP_TEXTINPUT_TYPE_TELEPHONE</a> = 6,
+<a class="el" href="group___enums.html#gga5fef49ee4c2cc6dcead825340da0f116ad4371ecdd1a6631a78d4721d83062394">PP_TEXTINPUT_TYPE_URL</a> = 7
+<br />
+ }</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga5fef49ee4c2cc6dcead825340da0f116">PP_TextInput_Type</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_TextInputController</code> interface. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a9a28f7fd2db84c2cd550ed272070c0ee"></a><!-- doxytag: member="ppb_text_input_controller.h::PPB_TEXTINPUTCONTROLLER_INTERFACE" ref="a9a28f7fd2db84c2cd550ed272070c0ee" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__text__input__controller_8h.html#a9a28f7fd2db84c2cd550ed272070c0ee">PPB_TEXTINPUTCONTROLLER_INTERFACE</a>   <a class="el" href="ppb__text__input__controller_8h.html#a6ca7f2ae09c011c13d12c79ba155e12a">PPB_TEXTINPUTCONTROLLER_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a6ca7f2ae09c011c13d12c79ba155e12a"></a><!-- doxytag: member="ppb_text_input_controller.h::PPB_TEXTINPUTCONTROLLER_INTERFACE" ref="a6ca7f2ae09c011c13d12c79ba155e12a" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__text__input__controller_8h.html#a6ca7f2ae09c011c13d12c79ba155e12a">PPB_TEXTINPUTCONTROLLER_INTERFACE</a>   "PPB_TextInputController;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__text__input__controller_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/ppb__text__input__controller_8h__incl.png
new file mode 100644
index 0000000..f53085a1
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__text__input__controller_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__udp__socket_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/ppb__udp__socket_8h.html
new file mode 100644
index 0000000..3253463
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__udp__socket_8h.html
@@ -0,0 +1,68 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/ppb_udp_socket.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_udp_socket.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__udp__socket_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__udp__socket_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__udp__socket_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__udp__socket_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html">PPB_UDPSocket</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_UDPSocket</code> interface provides UDP socket operations. <a href="struct_p_p_b___u_d_p_socket__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__udp__socket_8h.html#aafc1aecb9a8f2c3f8eed80a93a77763c">PPB_UDPSOCKET_INTERFACE</a>   "PPB_UDPSocket;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__udp__socket_8h.html#a673aeb3fceb5ed977b7b8683f674cbfd">PPB_UDPSOCKET_INTERFACE</a>   <a class="el" href="ppb__udp__socket_8h.html#aafc1aecb9a8f2c3f8eed80a93a77763c">PPB_UDPSOCKET_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html">PPB_UDPSocket</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaf04d893ccf01c5d1cfcadee5fcc869d1">PPB_UDPSocket</a></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga1a8472fa3e7150615c45c38fa8c12ce2">PP_UDPSocket_Option</a> { <a class="el" href="group___enums.html#gga1a8472fa3e7150615c45c38fa8c12ce2a79568403b8927bf98bea0f2d38469984">PP_UDPSOCKET_OPTION_ADDRESS_REUSE</a> = 0,
+<a class="el" href="group___enums.html#gga1a8472fa3e7150615c45c38fa8c12ce2aeceda8fe978a52382b96939de7707c00">PP_UDPSOCKET_OPTION_BROADCAST</a> = 1,
+<a class="el" href="group___enums.html#gga1a8472fa3e7150615c45c38fa8c12ce2a905f0adde2912a5db26883d45fb75d57">PP_UDPSOCKET_OPTION_SEND_BUFFER_SIZE</a> = 2,
+<a class="el" href="group___enums.html#gga1a8472fa3e7150615c45c38fa8c12ce2a1264eb1d6d16eb3a074ee3d21ebb3b64">PP_UDPSOCKET_OPTION_RECV_BUFFER_SIZE</a> = 3
+ }</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga1a8472fa3e7150615c45c38fa8c12ce2">PP_UDPSocket_Option</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_UDPSocket</code> interface. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a673aeb3fceb5ed977b7b8683f674cbfd"></a><!-- doxytag: member="ppb_udp_socket.h::PPB_UDPSOCKET_INTERFACE" ref="a673aeb3fceb5ed977b7b8683f674cbfd" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__udp__socket_8h.html#a673aeb3fceb5ed977b7b8683f674cbfd">PPB_UDPSOCKET_INTERFACE</a>   <a class="el" href="ppb__udp__socket_8h.html#aafc1aecb9a8f2c3f8eed80a93a77763c">PPB_UDPSOCKET_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="aafc1aecb9a8f2c3f8eed80a93a77763c"></a><!-- doxytag: member="ppb_udp_socket.h::PPB_UDPSOCKET_INTERFACE" ref="aafc1aecb9a8f2c3f8eed80a93a77763c" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__udp__socket_8h.html#aafc1aecb9a8f2c3f8eed80a93a77763c">PPB_UDPSOCKET_INTERFACE</a>   "PPB_UDPSocket;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__udp__socket_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/ppb__udp__socket_8h__incl.png
new file mode 100644
index 0000000..cc0e976
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__udp__socket_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__url__loader_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/ppb__url__loader_8h.html
new file mode 100644
index 0000000..e28e290
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__url__loader_8h.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/ppb_url_loader.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_url_loader.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__url__loader_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__url__loader_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__url__loader_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__url__loader_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html">PPB_URLLoader</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <b>PPB_URLLoader</b> interface contains pointers to functions for loading URLs. <a href="struct_p_p_b___u_r_l_loader__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__url__loader_8h.html#adebf43440c53ea088f68ae376a7c7bbb">PPB_URLLOADER_INTERFACE</a>   "PPB_URLLoader;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__url__loader_8h.html#ae1fa8c5cdfccb7ea67e184b1e5e1009e">PPB_URLLOADER_INTERFACE</a>   <a class="el" href="ppb__url__loader_8h.html#adebf43440c53ea088f68ae376a7c7bbb">PPB_URLLOADER_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html">PPB_URLLoader</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga307f562a9e41991de7c80b75cd7f379c">PPB_URLLoader</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <b>PPB_URLLoader</b> interface for loading URLs. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="ae1fa8c5cdfccb7ea67e184b1e5e1009e"></a><!-- doxytag: member="ppb_url_loader.h::PPB_URLLOADER_INTERFACE" ref="ae1fa8c5cdfccb7ea67e184b1e5e1009e" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__url__loader_8h.html#ae1fa8c5cdfccb7ea67e184b1e5e1009e">PPB_URLLOADER_INTERFACE</a>   <a class="el" href="ppb__url__loader_8h.html#adebf43440c53ea088f68ae376a7c7bbb">PPB_URLLOADER_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="adebf43440c53ea088f68ae376a7c7bbb"></a><!-- doxytag: member="ppb_url_loader.h::PPB_URLLOADER_INTERFACE" ref="adebf43440c53ea088f68ae376a7c7bbb" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__url__loader_8h.html#adebf43440c53ea088f68ae376a7c7bbb">PPB_URLLOADER_INTERFACE</a>   "PPB_URLLoader;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__url__loader_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/ppb__url__loader_8h__incl.png
new file mode 100644
index 0000000..d0303bd
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__url__loader_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__url__request__info_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/ppb__url__request__info_8h.html
new file mode 100644
index 0000000..5d72887a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__url__request__info_8h.html
@@ -0,0 +1,84 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/ppb_url_request_info.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_url_request_info.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__url__request__info_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__url__request__info_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__url__request__info_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__url__request__info_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html">PPB_URLRequestInfo</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_URLRequestInfo</code> interface is used to create and handle URL requests. <a href="struct_p_p_b___u_r_l_request_info__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__url__request__info_8h.html#a1624264dba578e2c15b257f7680a43de">PPB_URLREQUESTINFO_INTERFACE</a>   "PPB_URLRequestInfo;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__url__request__info_8h.html#a61dc8b05683833153b9368eabebc5441">PPB_URLREQUESTINFO_INTERFACE</a>   <a class="el" href="ppb__url__request__info_8h.html#a1624264dba578e2c15b257f7680a43de">PPB_URLREQUESTINFO_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html">PPB_URLRequestInfo</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gad60387934d9e235d3d145ee5a1fb4e74">PPB_URLRequestInfo</a></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga41975630f0a4c49e47d4a21754f8402d">PP_URLRequestProperty</a> { <br />
+  <a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da89e44812e771fed9df0ff8994690e44d">PP_URLREQUESTPROPERTY_URL</a> = 0,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da9cb5229069aac201622dbaa9cbca592c">PP_URLREQUESTPROPERTY_METHOD</a> = 1,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402dac4b3809e34561a77c75b31eac1589e8d">PP_URLREQUESTPROPERTY_HEADERS</a> = 2,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402dac43d267f888233c994bd1ca2b5b6b249">PP_URLREQUESTPROPERTY_STREAMTOFILE</a> = 3,
+<br />
+  <a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da5f1270ecf041c6c0a6ef351eb0c12127">PP_URLREQUESTPROPERTY_FOLLOWREDIRECTS</a> = 4,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da6846ea1e9c4ef7e09ea0f330a90cb7a6">PP_URLREQUESTPROPERTY_RECORDDOWNLOADPROGRESS</a> = 5,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da9202c5a8c6afdc6fa9808ab21b95376c">PP_URLREQUESTPROPERTY_RECORDUPLOADPROGRESS</a> = 6,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da6130d3b9dc8ae434752612ef155e3a38">PP_URLREQUESTPROPERTY_CUSTOMREFERRERURL</a> = 7,
+<br />
+  <a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da23f6523485b5bedf17882fb7a8796c03">PP_URLREQUESTPROPERTY_ALLOWCROSSORIGINREQUESTS</a> = 8,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da7da4140fde998f227f82d8064e9f5460">PP_URLREQUESTPROPERTY_ALLOWCREDENTIALS</a> = 9,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da094e978814d887d1888a2652aa91fc8b">PP_URLREQUESTPROPERTY_CUSTOMCONTENTTRANSFERENCODING</a> = 10,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da69ab9c81542c755313fc906d27396a9e">PP_URLREQUESTPROPERTY_PREFETCHBUFFERUPPERTHRESHOLD</a> = 11,
+<br />
+  <a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402da8529403a539c1f604f8b0507078d804d">PP_URLREQUESTPROPERTY_PREFETCHBUFFERLOWERTHRESHOLD</a> = 12,
+<a class="el" href="group___enums.html#gga41975630f0a4c49e47d4a21754f8402dacf34504e827fdce2895f2b504cdd0653">PP_URLREQUESTPROPERTY_CUSTOMUSERAGENT</a> = 13
+<br />
+ }</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga41975630f0a4c49e47d4a21754f8402d">PP_URLRequestProperty</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_URLRequestInfo</code> API for creating and manipulating URL requests. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a61dc8b05683833153b9368eabebc5441"></a><!-- doxytag: member="ppb_url_request_info.h::PPB_URLREQUESTINFO_INTERFACE" ref="a61dc8b05683833153b9368eabebc5441" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__url__request__info_8h.html#a61dc8b05683833153b9368eabebc5441">PPB_URLREQUESTINFO_INTERFACE</a>   <a class="el" href="ppb__url__request__info_8h.html#a1624264dba578e2c15b257f7680a43de">PPB_URLREQUESTINFO_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a1624264dba578e2c15b257f7680a43de"></a><!-- doxytag: member="ppb_url_request_info.h::PPB_URLREQUESTINFO_INTERFACE" ref="a1624264dba578e2c15b257f7680a43de" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__url__request__info_8h.html#a1624264dba578e2c15b257f7680a43de">PPB_URLREQUESTINFO_INTERFACE</a>   "PPB_URLRequestInfo;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__url__request__info_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/ppb__url__request__info_8h__incl.png
new file mode 100644
index 0000000..ff58698
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__url__request__info_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__url__response__info_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/ppb__url__response__info_8h.html
new file mode 100644
index 0000000..e96ec43
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__url__response__info_8h.html
@@ -0,0 +1,74 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/ppb_url_response_info.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_url_response_info.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__url__response__info_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__url__response__info_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__url__response__info_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__url__response__info_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_response_info__1__0.html">PPB_URLResponseInfo</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The PPB_URLResponseInfo interface contains APIs for examining URL responses. <a href="struct_p_p_b___u_r_l_response_info__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__url__response__info_8h.html#a3703eb2a16b1386517bcd3d7074e94ff">PPB_URLRESPONSEINFO_INTERFACE</a>   "PPB_URLResponseInfo;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__url__response__info_8h.html#a788cf0f4f93d8cbfbc834b5921188f35">PPB_URLRESPONSEINFO_INTERFACE</a>   <a class="el" href="ppb__url__response__info_8h.html#a3703eb2a16b1386517bcd3d7074e94ff">PPB_URLRESPONSEINFO_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___u_r_l_response_info__1__0.html">PPB_URLResponseInfo</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gad63e57584aea115126b6922b141cf745">PPB_URLResponseInfo</a></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga642e6199b27df69aad84aff5597041e0">PP_URLResponseProperty</a> { <br />
+  <a class="el" href="group___enums.html#gga642e6199b27df69aad84aff5597041e0a805e0970808bd8d36cb02171dca7a734">PP_URLRESPONSEPROPERTY_URL</a> = 0,
+<a class="el" href="group___enums.html#gga642e6199b27df69aad84aff5597041e0aaaba524cc005207e2f226400e6a14d8e">PP_URLRESPONSEPROPERTY_REDIRECTURL</a> = 1,
+<a class="el" href="group___enums.html#gga642e6199b27df69aad84aff5597041e0abc45cd41ad54d2350626651b34db6927">PP_URLRESPONSEPROPERTY_REDIRECTMETHOD</a> = 2,
+<a class="el" href="group___enums.html#gga642e6199b27df69aad84aff5597041e0abc04191395637d0a4858657f2edd1ce3">PP_URLRESPONSEPROPERTY_STATUSCODE</a> = 3,
+<br />
+  <a class="el" href="group___enums.html#gga642e6199b27df69aad84aff5597041e0a0224e3907e7efc9ff8d916b0cb7b3287">PP_URLRESPONSEPROPERTY_STATUSLINE</a> = 4,
+<a class="el" href="group___enums.html#gga642e6199b27df69aad84aff5597041e0a45c014f3cb40e884677387855c3d977b">PP_URLRESPONSEPROPERTY_HEADERS</a> = 5
+<br />
+ }</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga642e6199b27df69aad84aff5597041e0">PP_URLResponseProperty</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_URLResponseInfo</code> API for examining URL responses. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a788cf0f4f93d8cbfbc834b5921188f35"></a><!-- doxytag: member="ppb_url_response_info.h::PPB_URLRESPONSEINFO_INTERFACE" ref="a788cf0f4f93d8cbfbc834b5921188f35" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__url__response__info_8h.html#a788cf0f4f93d8cbfbc834b5921188f35">PPB_URLRESPONSEINFO_INTERFACE</a>   <a class="el" href="ppb__url__response__info_8h.html#a3703eb2a16b1386517bcd3d7074e94ff">PPB_URLRESPONSEINFO_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a3703eb2a16b1386517bcd3d7074e94ff"></a><!-- doxytag: member="ppb_url_response_info.h::PPB_URLRESPONSEINFO_INTERFACE" ref="a3703eb2a16b1386517bcd3d7074e94ff" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__url__response__info_8h.html#a3703eb2a16b1386517bcd3d7074e94ff">PPB_URLRESPONSEINFO_INTERFACE</a>   "PPB_URLResponseInfo;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__url__response__info_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/ppb__url__response__info_8h__incl.png
new file mode 100644
index 0000000..3055039
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__url__response__info_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__var_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/ppb__var_8h.html
new file mode 100644
index 0000000..cda9044
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__var_8h.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/ppb_var.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_var.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__var_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__var_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__var_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__var_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var__1__1.html">PPB_Var</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">PPB_Var API. <a href="struct_p_p_b___var__1__1.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__var_8h.html#acc1cbb0daac02e06063221b751084502">PPB_VAR_INTERFACE</a>   "PPB_Var;1.1"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__var_8h.html#a0d345a2704bcdbc588c4227b46747041">PPB_VAR_INTERFACE</a>   <a class="el" href="ppb__var_8h.html#acc1cbb0daac02e06063221b751084502">PPB_VAR_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___var__1__1.html">PPB_Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga7363a88a6e5058841915641c1b2923ad">PPB_Var</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_Var</code> struct. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a0d345a2704bcdbc588c4227b46747041"></a><!-- doxytag: member="ppb_var.h::PPB_VAR_INTERFACE" ref="a0d345a2704bcdbc588c4227b46747041" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__var_8h.html#a0d345a2704bcdbc588c4227b46747041">PPB_VAR_INTERFACE</a>   <a class="el" href="ppb__var_8h.html#acc1cbb0daac02e06063221b751084502">PPB_VAR_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="acc1cbb0daac02e06063221b751084502"></a><!-- doxytag: member="ppb_var.h::PPB_VAR_INTERFACE" ref="acc1cbb0daac02e06063221b751084502" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__var_8h.html#acc1cbb0daac02e06063221b751084502">PPB_VAR_INTERFACE</a>   "PPB_Var;1.1"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__var_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/ppb__var_8h__incl.png
new file mode 100644
index 0000000..c8bbd75c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__var_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__var__array_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/ppb__var__array_8h.html
new file mode 100644
index 0000000..f3aa875
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__var__array_8h.html
@@ -0,0 +1,57 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/ppb_var_array.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_var_array.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__var__array_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__var__array_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__var__array_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__var__array_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_array__1__0.html">PPB_VarArray</a></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__var__array_8h.html#a244ad07738d77a4d11d8009a7d69a5aa">PPB_VAR_ARRAY_INTERFACE</a>   "PPB_VarArray;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__var__array_8h.html#a45d67f25be216695420b237b1deeca3f">PPB_VAR_ARRAY_INTERFACE</a>   <a class="el" href="ppb__var__array_8h.html#a244ad07738d77a4d11d8009a7d69a5aa">PPB_VAR_ARRAY_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___var_array__1__0.html">PPB_VarArray</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaad75327f1ecc75e58c2805fc4740d3c6">PPB_VarArray</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_VarArray</code> struct providing a way to interact with array vars. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a45d67f25be216695420b237b1deeca3f"></a><!-- doxytag: member="ppb_var_array.h::PPB_VAR_ARRAY_INTERFACE" ref="a45d67f25be216695420b237b1deeca3f" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__var__array_8h.html#a45d67f25be216695420b237b1deeca3f">PPB_VAR_ARRAY_INTERFACE</a>   <a class="el" href="ppb__var__array_8h.html#a244ad07738d77a4d11d8009a7d69a5aa">PPB_VAR_ARRAY_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a244ad07738d77a4d11d8009a7d69a5aa"></a><!-- doxytag: member="ppb_var_array.h::PPB_VAR_ARRAY_INTERFACE" ref="a244ad07738d77a4d11d8009a7d69a5aa" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__var__array_8h.html#a244ad07738d77a4d11d8009a7d69a5aa">PPB_VAR_ARRAY_INTERFACE</a>   "PPB_VarArray;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__var__array_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/ppb__var__array_8h__incl.png
new file mode 100644
index 0000000..764558e5
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__var__array_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__var__array__buffer_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/ppb__var__array__buffer_8h.html
new file mode 100644
index 0000000..241e8a6
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__var__array__buffer_8h.html
@@ -0,0 +1,59 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/ppb_var_array_buffer.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_var_array_buffer.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__var__array__buffer_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__var__array__buffer_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__var__array__buffer_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__var__array__buffer_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_array_buffer__1__0.html">PPB_VarArrayBuffer</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_VarArrayBuffer</code> interface provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous sequence of bytes. <a href="struct_p_p_b___var_array_buffer__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__var__array__buffer_8h.html#aacd03d05467e3a617c0a1c068fa422c7">PPB_VAR_ARRAY_BUFFER_INTERFACE</a>   "PPB_VarArrayBuffer;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__var__array__buffer_8h.html#a2b7e1cca43218ed9eb3c92b24089ecac">PPB_VAR_ARRAY_BUFFER_INTERFACE</a>   <a class="el" href="ppb__var__array__buffer_8h.html#aacd03d05467e3a617c0a1c068fa422c7">PPB_VAR_ARRAY_BUFFER_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___var_array_buffer__1__0.html">PPB_VarArrayBuffer</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gab26d5bb032f5438d02faf5bdf7b208cb">PPB_VarArrayBuffer</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_VarArrayBuffer</code> struct providing a way to interact with JavaScript ArrayBuffers. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a2b7e1cca43218ed9eb3c92b24089ecac"></a><!-- doxytag: member="ppb_var_array_buffer.h::PPB_VAR_ARRAY_BUFFER_INTERFACE" ref="a2b7e1cca43218ed9eb3c92b24089ecac" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__var__array__buffer_8h.html#a2b7e1cca43218ed9eb3c92b24089ecac">PPB_VAR_ARRAY_BUFFER_INTERFACE</a>   <a class="el" href="ppb__var__array__buffer_8h.html#aacd03d05467e3a617c0a1c068fa422c7">PPB_VAR_ARRAY_BUFFER_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="aacd03d05467e3a617c0a1c068fa422c7"></a><!-- doxytag: member="ppb_var_array_buffer.h::PPB_VAR_ARRAY_BUFFER_INTERFACE" ref="aacd03d05467e3a617c0a1c068fa422c7" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__var__array__buffer_8h.html#aacd03d05467e3a617c0a1c068fa422c7">PPB_VAR_ARRAY_BUFFER_INTERFACE</a>   "PPB_VarArrayBuffer;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__var__array__buffer_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/ppb__var__array__buffer_8h__incl.png
new file mode 100644
index 0000000..7cc9ba4
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__var__array__buffer_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__var__dictionary_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/ppb__var__dictionary_8h.html
new file mode 100644
index 0000000..28de778
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__var__dictionary_8h.html
@@ -0,0 +1,59 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/ppb_var_dictionary.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_var_dictionary.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__var__dictionary_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__var__dictionary_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__var__dictionary_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__var__dictionary_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_dictionary__1__0.html">PPB_VarDictionary</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A dictionary var contains key-value pairs with unique keys. <a href="struct_p_p_b___var_dictionary__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__var__dictionary_8h.html#a33d58f4be531cacb629c9eb33ab8cdc2">PPB_VAR_DICTIONARY_INTERFACE</a>   "PPB_VarDictionary;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__var__dictionary_8h.html#ac9d41ef2449d860ee3b429c148bd6be9">PPB_VAR_DICTIONARY_INTERFACE</a>   <a class="el" href="ppb__var__dictionary_8h.html#a33d58f4be531cacb629c9eb33ab8cdc2">PPB_VAR_DICTIONARY_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak" />
+<a class="el" href="struct_p_p_b___var_dictionary__1__0.html">PPB_VarDictionary</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga69826004b5c32232c9639090f3e1db2e">PPB_VarDictionary</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_VarDictionary</code> struct providing a way to interact with dictionary vars. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="ac9d41ef2449d860ee3b429c148bd6be9"></a><!-- doxytag: member="ppb_var_dictionary.h::PPB_VAR_DICTIONARY_INTERFACE" ref="ac9d41ef2449d860ee3b429c148bd6be9" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__var__dictionary_8h.html#ac9d41ef2449d860ee3b429c148bd6be9">PPB_VAR_DICTIONARY_INTERFACE</a>   <a class="el" href="ppb__var__dictionary_8h.html#a33d58f4be531cacb629c9eb33ab8cdc2">PPB_VAR_DICTIONARY_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a33d58f4be531cacb629c9eb33ab8cdc2"></a><!-- doxytag: member="ppb_var_dictionary.h::PPB_VAR_DICTIONARY_INTERFACE" ref="a33d58f4be531cacb629c9eb33ab8cdc2" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__var__dictionary_8h.html#a33d58f4be531cacb629c9eb33ab8cdc2">PPB_VAR_DICTIONARY_INTERFACE</a>   "PPB_VarDictionary;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__var__dictionary_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/ppb__var__dictionary_8h__incl.png
new file mode 100644
index 0000000..51d729c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__var__dictionary_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__view_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/ppb__view_8h.html
new file mode 100644
index 0000000..baa2c19
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__view_8h.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/ppb_view.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_view.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__view_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__view_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__view_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__view_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___view__1__1.html">PPB_View</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><code>PPB_View</code> represents the state of the view of an instance. <a href="struct_p_p_b___view__1__1.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__view_8h.html#a0aa91bef3e37c8a98b77417dcf9a7a6a">PPB_VIEW_INTERFACE</a>   "PPB_View;1.1"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__view_8h.html#a3597f47b815dffc7e9cf250a107e7d3e">PPB_VIEW_INTERFACE</a>   <a class="el" href="ppb__view_8h.html#a0aa91bef3e37c8a98b77417dcf9a7a6a">PPB_VIEW_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___view__1__1.html">PPB_View</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaccc39c5c499011d13be37e23868a04f3">PPB_View</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_View</code> struct representing the state of the view of an instance. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a3597f47b815dffc7e9cf250a107e7d3e"></a><!-- doxytag: member="ppb_view.h::PPB_VIEW_INTERFACE" ref="a3597f47b815dffc7e9cf250a107e7d3e" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__view_8h.html#a3597f47b815dffc7e9cf250a107e7d3e">PPB_VIEW_INTERFACE</a>   <a class="el" href="ppb__view_8h.html#a0aa91bef3e37c8a98b77417dcf9a7a6a">PPB_VIEW_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a0aa91bef3e37c8a98b77417dcf9a7a6a"></a><!-- doxytag: member="ppb_view.h::PPB_VIEW_INTERFACE" ref="a0aa91bef3e37c8a98b77417dcf9a7a6a" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__view_8h.html#a0aa91bef3e37c8a98b77417dcf9a7a6a">PPB_VIEW_INTERFACE</a>   "PPB_View;1.1"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__view_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/ppb__view_8h__incl.png
new file mode 100644
index 0000000..144fc5a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__view_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__websocket_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/ppb__websocket_8h.html
new file mode 100644
index 0000000..0f3cf99
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__websocket_8h.html
@@ -0,0 +1,97 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/ppb_websocket.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppb_websocket.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppb__websocket_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__websocket_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__websocket_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppb__websocket_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___web_socket__1__0.html">PPB_WebSocket</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPB_WebSocket</code> interface provides bi-directional, full-duplex, communications over a single TCP socket. <a href="struct_p_p_b___web_socket__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__websocket_8h.html#ad613dc4aff545f9e9885c415f1673107">PPB_WEBSOCKET_INTERFACE</a>   "PPB_WebSocket;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppb__websocket_8h.html#a6d56a012c9350b4cc4e55b668d3fbe75">PPB_WEBSOCKET_INTERFACE</a>   <a class="el" href="ppb__websocket_8h.html#ad613dc4aff545f9e9885c415f1673107">PPB_WEBSOCKET_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_b___web_socket__1__0.html">PPB_WebSocket</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gad0e152d14cefb0b480228f3fc7070faf">PPB_WebSocket</a></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gade61cdf6a7470769b571925694d91a89">PP_WebSocketReadyState</a> { <br />
+  <a class="el" href="group___enums.html#ggade61cdf6a7470769b571925694d91a89a6c603b9df214e22d8b8202431866b26b">PP_WEBSOCKETREADYSTATE_INVALID</a> = -1,
+<a class="el" href="group___enums.html#ggade61cdf6a7470769b571925694d91a89a9ad491ea639e22b598d4e8cab463acd9">PP_WEBSOCKETREADYSTATE_CONNECTING</a> = 0,
+<a class="el" href="group___enums.html#ggade61cdf6a7470769b571925694d91a89a60f99e31f237d57df167d70e7c1ada7d">PP_WEBSOCKETREADYSTATE_OPEN</a> = 1,
+<a class="el" href="group___enums.html#ggade61cdf6a7470769b571925694d91a89a45ce2585ba8b200c6c02112098df6447">PP_WEBSOCKETREADYSTATE_CLOSING</a> = 2,
+<br />
+  <a class="el" href="group___enums.html#ggade61cdf6a7470769b571925694d91a89a43865a04fac402be4f589d2c7f9f02f4">PP_WEBSOCKETREADYSTATE_CLOSED</a> = 3
+<br />
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga8458f33f09ecc56fcf486c60b844678d">PP_WebSocketCloseCode</a> { <br />
+  <a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678dace8b6cbd5ab6bdecc5762b8753702d47">PP_WEBSOCKETSTATUSCODE_NOT_SPECIFIED</a> = 1005,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678daff82b3d825f09240d64479d5ae0a2e00">PP_WEBSOCKETSTATUSCODE_NORMAL_CLOSURE</a> = 1000,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da9d8d5c41a6592a609324249950468fb4">PP_WEBSOCKETSTATUSCODE_GOING_AWAY</a> = 1001,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678daf20b614979599d2a2ed79543618d6ef4">PP_WEBSOCKETSTATUSCODE_PROTOCOL_ERROR</a> = 1002,
+<br />
+  <a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da4c63e46fd3e2a3b03fdcc577431f85ba">PP_WEBSOCKETSTATUSCODE_UNSUPPORTED_DATA</a> = 1003,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da75580d49b265525d2f8591be2aa02fe6">PP_WEBSOCKETSTATUSCODE_NO_STATUS_RECEIVED</a> = 1005,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678dad80b864c592819db0cb640d2b6e74a3f">PP_WEBSOCKETSTATUSCODE_ABNORMAL_CLOSURE</a> = 1006,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678daea768048eaff4826bf06550d8da0dd42">PP_WEBSOCKETSTATUSCODE_INVALID_FRAME_PAYLOAD_DATA</a> = 1007,
+<br />
+  <a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da4d4405b66c4b436c9bb31dfa4fa71523">PP_WEBSOCKETSTATUSCODE_POLICY_VIOLATION</a> = 1008,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da7c8d17601c982c62a933a3f721c049ef">PP_WEBSOCKETSTATUSCODE_MESSAGE_TOO_BIG</a> = 1009,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da5fae5457554a0cad877ccfa1d5636b8d">PP_WEBSOCKETSTATUSCODE_MANDATORY_EXTENSION</a> = 1010,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da7318b30a65ea442445e754453a73be81">PP_WEBSOCKETSTATUSCODE_INTERNAL_SERVER_ERROR</a> = 1011,
+<br />
+  <a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da8aef76170a2836b651922555aa26348d">PP_WEBSOCKETSTATUSCODE_TLS_HANDSHAKE</a> = 1015,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da3a87714e399ce00177f60f85c9a993ba">PP_WEBSOCKETSTATUSCODE_USER_REGISTERED_MIN</a> = 3000,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da08c67e1fcd33b07c350be618d7d72403">PP_WEBSOCKETSTATUSCODE_USER_REGISTERED_MAX</a> = 3999,
+<a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da491bd1d7c9ada2c129062beb9eaeded1">PP_WEBSOCKETSTATUSCODE_USER_PRIVATE_MIN</a> = 4000,
+<br />
+  <a class="el" href="group___enums.html#gga8458f33f09ecc56fcf486c60b844678da242327b17ab568d625627236de721e5b">PP_WEBSOCKETSTATUSCODE_USER_PRIVATE_MAX</a> = 4999
+<br />
+ }</td></tr>
+</table><h2>
+Variables</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#gade61cdf6a7470769b571925694d91a89">PP_WebSocketReadyState</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___enums.html#ga8458f33f09ecc56fcf486c60b844678d">PP_WebSocketCloseCode</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPB_WebSocket</code> interface providing bi-directional, full-duplex, communications over a single TCP socket. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a6d56a012c9350b4cc4e55b668d3fbe75"></a><!-- doxytag: member="ppb_websocket.h::PPB_WEBSOCKET_INTERFACE" ref="a6d56a012c9350b4cc4e55b668d3fbe75" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__websocket_8h.html#a6d56a012c9350b4cc4e55b668d3fbe75">PPB_WEBSOCKET_INTERFACE</a>   <a class="el" href="ppb__websocket_8h.html#ad613dc4aff545f9e9885c415f1673107">PPB_WEBSOCKET_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ad613dc4aff545f9e9885c415f1673107"></a><!-- doxytag: member="ppb_websocket.h::PPB_WEBSOCKET_INTERFACE" ref="ad613dc4aff545f9e9885c415f1673107" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppb__websocket_8h.html#ad613dc4aff545f9e9885c415f1673107">PPB_WEBSOCKET_INTERFACE</a>   "PPB_WebSocket;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppb__websocket_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/ppb__websocket_8h__incl.png
new file mode 100644
index 0000000..c8f86f66
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppb__websocket_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppp_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/ppp_8h.html
new file mode 100644
index 0000000..60774a3
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppp_8h.html
@@ -0,0 +1,32 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/ppp.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppp.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppp_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppp_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppp_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppp_8h">
+</map>
+</div>
+</div><h2>
+Typedefs</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">typedef int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#gae33224cdac15cf8596127fe7b5f08325">PP_InitializeModule_Func</a> )(<a class="el" href="group___typedefs.html#gab780dd451cd7f51284cb752edd88f9a0">PP_Module</a> module, <a class="el" href="group___typedefs.html#ga68ad7c927b86e0c29d890603edd33154">PPB_GetInterface</a> get_browser_interface)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#gad2b49167bcbf6c2c895ffb1a61bc720c">PP_ShutdownModule_Func</a> )(void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef const void *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group___typedefs.html#ga893cfdc559fdf7ae3004816357c3d7e9">PP_GetInterface_Func</a> )(const char *interface_name)</td></tr>
+</table><h2>
+Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga2fc7b396531c19417d8d7171d56da8b6">PPP_InitializeModule</a> (<a class="el" href="group___typedefs.html#gab780dd451cd7f51284cb752edd88f9a0">PP_Module</a> module, <a class="el" href="group___typedefs.html#ga68ad7c927b86e0c29d890603edd33154">PPB_GetInterface</a> get_browser_interface)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#gaa3021aba7ddc17a8cecb4bc4f8374e98">PPP_ShutdownModule</a> (void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const void * </td><td class="memItemRight" valign="bottom"><a class="el" href="group___functions.html#ga4127b148b2bd0f3bc2c078dd38cbe4cf">PPP_GetInterface</a> (const char *interface_name)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines three functions that your module must implement to interact with the browser. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppp_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/ppp_8h__incl.png
new file mode 100644
index 0000000..8247598
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppp_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppp__graphics__3d_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/ppp__graphics__3d_8h.html
new file mode 100644
index 0000000..82bc490
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppp__graphics__3d_8h.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/ppp_graphics_3d.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppp_graphics_3d.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppp__graphics__3d_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppp__graphics__3d_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppp__graphics__3d_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppp__graphics__3d_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___graphics3_d__1__0.html">PPP_Graphics3D</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><code>PPP_Graphics3D</code> defines the notification interface for a 3D graphics context. <a href="struct_p_p_p___graphics3_d__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppp__graphics__3d_8h.html#a24bc6750e56195c99461408d10a3e184">PPP_GRAPHICS_3D_INTERFACE</a>   "PPP_Graphics_3D;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppp__graphics__3d_8h.html#a127a18c58f8a81afc706963ce70ba1a0">PPP_GRAPHICS_3D_INTERFACE</a>   <a class="el" href="ppp__graphics__3d_8h.html#a24bc6750e56195c99461408d10a3e184">PPP_GRAPHICS_3D_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_p___graphics3_d__1__0.html">PPP_Graphics3D</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gab9b763d2ae6ef08a8f18069728f418eb">PPP_Graphics3D</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Defines the <code>PPP_Graphics3D</code> struct representing a 3D graphics context within the browser. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a127a18c58f8a81afc706963ce70ba1a0"></a><!-- doxytag: member="ppp_graphics_3d.h::PPP_GRAPHICS_3D_INTERFACE" ref="a127a18c58f8a81afc706963ce70ba1a0" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppp__graphics__3d_8h.html#a127a18c58f8a81afc706963ce70ba1a0">PPP_GRAPHICS_3D_INTERFACE</a>   <a class="el" href="ppp__graphics__3d_8h.html#a24bc6750e56195c99461408d10a3e184">PPP_GRAPHICS_3D_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a24bc6750e56195c99461408d10a3e184"></a><!-- doxytag: member="ppp_graphics_3d.h::PPP_GRAPHICS_3D_INTERFACE" ref="a24bc6750e56195c99461408d10a3e184" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppp__graphics__3d_8h.html#a24bc6750e56195c99461408d10a3e184">PPP_GRAPHICS_3D_INTERFACE</a>   "PPP_Graphics_3D;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppp__graphics__3d_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/ppp__graphics__3d_8h__incl.png
new file mode 100644
index 0000000..55c6a4b
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppp__graphics__3d_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppp__input__event_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/ppp__input__event_8h.html
new file mode 100644
index 0000000..108dc158
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppp__input__event_8h.html
@@ -0,0 +1,57 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/ppp_input_event.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppp_input_event.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppp__input__event_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppp__input__event_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppp__input__event_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppp__input__event_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___input_event__0__1.html">PPP_InputEvent</a></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppp__input__event_8h.html#afcc2e3ed6316bc950b7668d24f1c0476">PPP_INPUT_EVENT_INTERFACE</a>   "PPP_InputEvent;0.1"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppp__input__event_8h.html#a6e94d8b829723cdeff16b7433c87bbea">PPP_INPUT_EVENT_INTERFACE</a>   <a class="el" href="ppp__input__event_8h.html#afcc2e3ed6316bc950b7668d24f1c0476">PPP_INPUT_EVENT_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_p___input_event__0__1.html">PPP_InputEvent</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga9c2577b1c089f77e1e467d74bd97a940">PPP_InputEvent</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API for receiving input events from the browser. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a6e94d8b829723cdeff16b7433c87bbea"></a><!-- doxytag: member="ppp_input_event.h::PPP_INPUT_EVENT_INTERFACE" ref="a6e94d8b829723cdeff16b7433c87bbea" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppp__input__event_8h.html#a6e94d8b829723cdeff16b7433c87bbea">PPP_INPUT_EVENT_INTERFACE</a>   <a class="el" href="ppp__input__event_8h.html#afcc2e3ed6316bc950b7668d24f1c0476">PPP_INPUT_EVENT_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="afcc2e3ed6316bc950b7668d24f1c0476"></a><!-- doxytag: member="ppp_input_event.h::PPP_INPUT_EVENT_INTERFACE" ref="afcc2e3ed6316bc950b7668d24f1c0476" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppp__input__event_8h.html#afcc2e3ed6316bc950b7668d24f1c0476">PPP_INPUT_EVENT_INTERFACE</a>   "PPP_InputEvent;0.1"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppp__input__event_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/ppp__input__event_8h__incl.png
new file mode 100644
index 0000000..c71aa1d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppp__input__event_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppp__instance_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/ppp__instance_8h.html
new file mode 100644
index 0000000..8b59c65
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppp__instance_8h.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/ppp_instance.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppp_instance.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppp__instance_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppp__instance_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppp__instance_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppp__instance_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___instance__1__1.html">PPP_Instance</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPP_Instance</code> interface contains pointers to a series of functions that you must implement in your module. <a href="struct_p_p_p___instance__1__1.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppp__instance_8h.html#a0e284783d75d3b9a3c84a0feb39d7024">PPP_INSTANCE_INTERFACE</a>   "PPP_Instance;1.1"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppp__instance_8h.html#ae1a0f9616b76b6b42649565ed1081fc1">PPP_INSTANCE_INTERFACE</a>   <a class="el" href="ppp__instance_8h.html#a0e284783d75d3b9a3c84a0feb39d7024">PPP_INSTANCE_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_p___instance__1__1.html">PPP_Instance</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga3397638d116e4171368bf18fcb91ef11">PPP_Instance</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPP_Instance</code> structure - a series of pointers to methods that you must implement in your module. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="ae1a0f9616b76b6b42649565ed1081fc1"></a><!-- doxytag: member="ppp_instance.h::PPP_INSTANCE_INTERFACE" ref="ae1a0f9616b76b6b42649565ed1081fc1" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppp__instance_8h.html#ae1a0f9616b76b6b42649565ed1081fc1">PPP_INSTANCE_INTERFACE</a>   <a class="el" href="ppp__instance_8h.html#a0e284783d75d3b9a3c84a0feb39d7024">PPP_INSTANCE_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a0e284783d75d3b9a3c84a0feb39d7024"></a><!-- doxytag: member="ppp_instance.h::PPP_INSTANCE_INTERFACE" ref="a0e284783d75d3b9a3c84a0feb39d7024" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppp__instance_8h.html#a0e284783d75d3b9a3c84a0feb39d7024">PPP_INSTANCE_INTERFACE</a>   "PPP_Instance;1.1"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppp__instance_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/ppp__instance_8h__incl.png
new file mode 100644
index 0000000..6d1cd895
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppp__instance_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppp__messaging_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/ppp__messaging_8h.html
new file mode 100644
index 0000000..a5e8a90
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppp__messaging_8h.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/ppp_messaging.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppp_messaging.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppp__messaging_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppp__messaging_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppp__messaging_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppp__messaging_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___messaging__1__0.html">PPP_Messaging</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPP_Messaging</code> interface contains pointers to functions that you must implement to handle postMessage events on the associated DOM element. <a href="struct_p_p_p___messaging__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppp__messaging_8h.html#a2b15920cef3b0b108e4e08ae39ba0b2b">PPP_MESSAGING_INTERFACE</a>   "PPP_Messaging;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppp__messaging_8h.html#a7ea9cbd07fe30bc0d6e3a71a02d7adbb">PPP_MESSAGING_INTERFACE</a>   <a class="el" href="ppp__messaging_8h.html#a2b15920cef3b0b108e4e08ae39ba0b2b">PPP_MESSAGING_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_p___messaging__1__0.html">PPP_Messaging</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga1b4374f30360ab34679a159083db7e4d">PPP_Messaging</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the PPP_Messaging interface containing pointers to functions that you must implement to handle postMessage messages on the associated DOM element. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a7ea9cbd07fe30bc0d6e3a71a02d7adbb"></a><!-- doxytag: member="ppp_messaging.h::PPP_MESSAGING_INTERFACE" ref="a7ea9cbd07fe30bc0d6e3a71a02d7adbb" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppp__messaging_8h.html#a7ea9cbd07fe30bc0d6e3a71a02d7adbb">PPP_MESSAGING_INTERFACE</a>   <a class="el" href="ppp__messaging_8h.html#a2b15920cef3b0b108e4e08ae39ba0b2b">PPP_MESSAGING_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a2b15920cef3b0b108e4e08ae39ba0b2b"></a><!-- doxytag: member="ppp_messaging.h::PPP_MESSAGING_INTERFACE" ref="a2b15920cef3b0b108e4e08ae39ba0b2b" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppp__messaging_8h.html#a2b15920cef3b0b108e4e08ae39ba0b2b">PPP_MESSAGING_INTERFACE</a>   "PPP_Messaging;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppp__messaging_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/ppp__messaging_8h__incl.png
new file mode 100644
index 0000000..e5c85f2
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppp__messaging_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppp__mouse__lock_8h.html b/native_client_sdk/doc_generated/pepper_stable/c/ppp__mouse__lock_8h.html
new file mode 100644
index 0000000..7d4fabe
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppp__mouse__lock_8h.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/c/ppp_mouse_lock.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for ppp_mouse_lock.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="ppp__mouse__lock_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppp__mouse__lock_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppp__mouse__lock_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2c_2ppp__mouse__lock_8h">
+</map>
+</div>
+</div><h2>
+Data Structures</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___mouse_lock__1__0.html">PPP_MouseLock</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>PPP_MouseLock</code> interface contains a function that you must implement to receive mouse lock events from the browser. <a href="struct_p_p_p___mouse_lock__1__0.html#details">More...</a><br /></td></tr>
+</table><h2>
+Defines</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppp__mouse__lock_8h.html#a71f74bf4d04a8ac6901b473452f4d7e6">PPP_MOUSELOCK_INTERFACE</a>   "PPP_MouseLock;1.0"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ppp__mouse__lock_8h.html#a2ce52a0566f0ee91721052673ca521ec">PPP_MOUSELOCK_INTERFACE</a>   <a class="el" href="ppp__mouse__lock_8h.html#a71f74bf4d04a8ac6901b473452f4d7e6">PPP_MOUSELOCK_INTERFACE</a></td></tr>
+</table><h2>
+Typedefs</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_p_p_p___mouse_lock__1__0.html">PPP_MouseLock</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gae600e8f5b6005b02378e6eb9f51b11cb">PPP_MouseLock</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the <code>PPP_MouseLock</code> interface containing a function that you must implement to receive mouse lock events from the browser. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a2ce52a0566f0ee91721052673ca521ec"></a><!-- doxytag: member="ppp_mouse_lock.h::PPP_MOUSELOCK_INTERFACE" ref="a2ce52a0566f0ee91721052673ca521ec" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppp__mouse__lock_8h.html#a2ce52a0566f0ee91721052673ca521ec">PPP_MOUSELOCK_INTERFACE</a>   <a class="el" href="ppp__mouse__lock_8h.html#a71f74bf4d04a8ac6901b473452f4d7e6">PPP_MOUSELOCK_INTERFACE</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a71f74bf4d04a8ac6901b473452f4d7e6"></a><!-- doxytag: member="ppp_mouse_lock.h::PPP_MOUSELOCK_INTERFACE" ref="a71f74bf4d04a8ac6901b473452f4d7e6" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="ppp__mouse__lock_8h.html#a71f74bf4d04a8ac6901b473452f4d7e6">PPP_MOUSELOCK_INTERFACE</a>   "PPP_MouseLock;1.0"</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/ppp__mouse__lock_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/c/ppp__mouse__lock_8h__incl.png
new file mode 100644
index 0000000..c227331
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/ppp__mouse__lock_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___array_output.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___array_output.html
new file mode 100644
index 0000000..0a1c2a4
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___array_output.html
@@ -0,0 +1,74 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_ArrayOutput Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_ArrayOutput" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gaa363de651fad7342a37ec58375276af7">PP_ArrayOutput_GetDataBuffer</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___array_output.html#acfd88c0475e6518cc9ed058c85744c58">GetDataBuffer</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___array_output.html#a6323083ee2b06f902c9c334c6b10a6d0">user_data</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>A structure that defines a way for the browser to return arrays of data to the plugin. </p>
+<p>The browser can not allocate memory on behalf of the plugin because the plugin and browser may have different allocators.</p>
+<p>Array output works by having the browser call to the plugin to allocate a buffer, and then the browser will copy the contents of the array into that buffer.</p>
+<p>In C, you would typically implement this as follows:</p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">struct </span>MyArrayOutput {
+ <span class="keywordtype">void</span>* data;
+ <span class="keywordtype">int</span> element_count;
+ };
+ <span class="keywordtype">void</span>* MyGetDataBuffer(<span class="keywordtype">void</span>* <a class="code" href="struct_p_p___array_output.html#a6323083ee2b06f902c9c334c6b10a6d0" title="Data that is passed to the allocation function.">user_data</a>, uint32_t count, uint32_t size) {
+ MyArrayOutput* output = (MyArrayOutput*)user_data;
+ output->element_count = count;
+ <span class="keywordflow">if</span> (size) {
+ output->data = malloc(count * size);
+ <span class="keywordflow">if</span> (!output->data) <span class="comment">// Be careful to set size properly on malloc failure.</span>
+ output->element_count = 0;
+ } <span class="keywordflow">else</span> {
+ output->data = NULL;
+ }
+ <span class="keywordflow">return</span> output->data;
+ }
+ <span class="keywordtype">void</span> MyFunction() {
+ MyArrayOutput array = { NULL, 0 };
+ <a class="code" href="struct_p_p___array_output.html" title="A structure that defines a way for the browser to return arrays of data to the plugin.">PP_ArrayOutput</a> output = { &MyGetDataBuffer, &array };
+ ppb_foo->GetData(&output);
+ }
+</pre></div> </div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="acfd88c0475e6518cc9ed058c85744c58"></a><!-- doxytag: member="PP_ArrayOutput::GetDataBuffer" ref="acfd88c0475e6518cc9ed058c85744c58" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gaa363de651fad7342a37ec58375276af7">PP_ArrayOutput_GetDataBuffer</a> <a class="el" href="struct_p_p___array_output.html#acfd88c0475e6518cc9ed058c85744c58">PP_ArrayOutput::GetDataBuffer</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A pointer to the allocation function that the browser will call. </p>
+</div>
+</div>
+<a class="anchor" id="a6323083ee2b06f902c9c334c6b10a6d0"></a><!-- doxytag: member="PP_ArrayOutput::user_data" ref="a6323083ee2b06f902c9c334c6b10a6d0" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void* <a class="el" href="struct_p_p___array_output.html#a6323083ee2b06f902c9c334c6b10a6d0">PP_ArrayOutput::user_data</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Data that is passed to the allocation function. </p>
+<p>Typically, this is used to communicate how the data should be stored. </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="pp__array__output_8h.html">pp_array_output.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___completion_callback.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___completion_callback.html
new file mode 100644
index 0000000..520c960
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___completion_callback.html
@@ -0,0 +1,80 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_CompletionCallback Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_CompletionCallback" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#ga6fe12e1a41df5e10103a811036d4d8d2">PP_CompletionCallback_Func</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___completion_callback.html#ac8919fd5c44ffdde5e659b51bc696ed4">func</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___completion_callback.html#a7a35a0fdb8e1c49c738e29bbc93066cb">user_data</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___completion_callback.html#a4bd2d9440bc8dc18eeeca2d464156a38">flags</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p><code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> is a common mechanism for supporting potentially asynchronous calls in browser interfaces. </p>
+<p>Any method that takes a <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> can be used in one of three different ways:</p>
+<ul>
+<li>Required: The callback will always be invoked asynchronously on the thread where the associated PPB method was invoked. The method will always return PP_OK_COMPLETIONPENDING when a required callback, and the callback will be invoked later (barring system or thread shutdown; see PPB_MessageLoop for details). Required callbacks are the default. <br />
+<br />
+ NOTE: If you use a required callback on a background thread, you must have created and attached a PPB_MessageLoop. Otherwise, the system can not run your callback on that thread, and will instead emit a log message and crash your plugin to make the problem more obvious.</li>
+</ul>
+<ul>
+<li>Optional: The callback may be invoked asynchronously, or the PPB method may complete synchronously if it can do so without blocking. If the method will complete asynchronously, it will return PP_OK_COMPLETIONPENDING. Otherwise, it will complete synchronously and return an appropriate code (see below for more information on the return code). Optional callbacks are generally more difficult to use correctly than Required callbacks, but can provide better performance for some APIs (especially APIs with buffered reads, such as PPB_URLLoader or PPB_FileIO). <br />
+<br />
+ NOTE: If you use an optional callback on a background thread, and you have not created and attached a PPB_MessageLoop, then the method you invoke will fail without running and return PP_ERROR_NO_MESSAGE_LOOP.</li>
+</ul>
+<ul>
+<li>Blocking: In this case, the callback's function pointer is NULL, and the invoked method must complete synchronously. The method will run to completion and return an appropriate code when finished (see below for more information). Blocking completion callbacks are only supported on background threads. <br />
+<br />
+<code><a class="el" href="group___functions.html#ga340e452b4931d17bd44928769490e282" title="PP_BlockUntilComplete() is used in place of an actual completion callback to request blocking behavio...">PP_BlockUntilComplete()</a></code> provides a convenient way to specify blocking behavior. Refer to <code>PP_BlockUntilComplete</code> for more information.</li>
+</ul>
+<p>When the callback is run asynchronously, the result parameter passed to <code>func</code> is an int32_t that, if negative indicates an error code whose meaning is specific to the calling method (refer to <code>pp_error.h</code> for further information). A positive or 0 value is a return result indicating success whose meaning depends on the calling method (e.g. number of bytes read). </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a4bd2d9440bc8dc18eeeca2d464156a38"></a><!-- doxytag: member="PP_CompletionCallback::flags" ref="a4bd2d9440bc8dc18eeeca2d464156a38" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="struct_p_p___completion_callback.html#a4bd2d9440bc8dc18eeeca2d464156a38">PP_CompletionCallback::flags</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Flags used to control how non-NULL callbacks are scheduled by asynchronous methods. </p>
+</div>
+</div>
+<a class="anchor" id="ac8919fd5c44ffdde5e659b51bc696ed4"></a><!-- doxytag: member="PP_CompletionCallback::func" ref="ac8919fd5c44ffdde5e659b51bc696ed4" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#ga6fe12e1a41df5e10103a811036d4d8d2">PP_CompletionCallback_Func</a> <a class="el" href="struct_p_p___completion_callback.html#ac8919fd5c44ffdde5e659b51bc696ed4">PP_CompletionCallback::func</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value is a callback function that will be called, or NULL if this is a blocking completion callback. </p>
+</div>
+</div>
+<a class="anchor" id="a7a35a0fdb8e1c49c738e29bbc93066cb"></a><!-- doxytag: member="PP_CompletionCallback::user_data" ref="a7a35a0fdb8e1c49c738e29bbc93066cb" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void* <a class="el" href="struct_p_p___completion_callback.html#a7a35a0fdb8e1c49c738e29bbc93066cb">PP_CompletionCallback::user_data</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value is a pointer to user data passed to a callback function. </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="pp__completion__callback_8h.html">pp_completion_callback.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___directory_entry.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___directory_entry.html
new file mode 100644
index 0000000..bbf4b643
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___directory_entry.html
@@ -0,0 +1,45 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_DirectoryEntry Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_DirectoryEntry" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___directory_entry.html#ada81c580e377562d3e5090a6fd7ed994">file_ref</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga36f6dfbe9c1e98540c5247f790746427">PP_FileType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___directory_entry.html#aed7b550aee67d58a321e0ca57a59333d">file_type</a></td></tr>
+</table>
+<hr /><h2>Field Documentation</h2>
+<a class="anchor" id="ada81c580e377562d3e5090a6fd7ed994"></a><!-- doxytag: member="PP_DirectoryEntry::file_ref" ref="ada81c580e377562d3e5090a6fd7ed994" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> <a class="el" href="struct_p_p___directory_entry.html#ada81c580e377562d3e5090a6fd7ed994">PP_DirectoryEntry::file_ref</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="aed7b550aee67d58a321e0ca57a59333d"></a><!-- doxytag: member="PP_DirectoryEntry::file_type" ref="aed7b550aee67d58a321e0ca57a59333d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga36f6dfbe9c1e98540c5247f790746427">PP_FileType</a> <a class="el" href="struct_p_p___directory_entry.html#aed7b550aee67d58a321e0ca57a59333d">PP_DirectoryEntry::file_type</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="pp__directory__entry_8h.html">pp_directory_entry.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___file_info.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___file_info.html
new file mode 100644
index 0000000..81b09bb
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___file_info.html
@@ -0,0 +1,105 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_FileInfo Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_FileInfo" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___file_info.html#a8e477e77e1938f657ae282139f628368">size</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga36f6dfbe9c1e98540c5247f790746427">PP_FileType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___file_info.html#a2b38985af2a482ddd196cd40b13378f5">type</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga87b353f2ec8935c9c3294daff612c145">PP_FileSystemType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___file_info.html#a02a26955ced1a31ba23806c7cc22676a">system_type</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___file_info.html#ae440d0229864ae7eed164cce2e517c1c">creation_time</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___file_info.html#aa28b1c96d04220ed40f711126032ad20">last_access_time</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___file_info.html#a08c89b213b808c573fbe98079bab7a56">last_modified_time</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="struct_p_p___file_info.html" title="The PP_FileInfo struct represents all information about a file, such as size, type, and creation time.">PP_FileInfo</a></code> struct represents all information about a file, such as size, type, and creation time. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="ae440d0229864ae7eed164cce2e517c1c"></a><!-- doxytag: member="PP_FileInfo::creation_time" ref="ae440d0229864ae7eed164cce2e517c1c" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a> <a class="el" href="struct_p_p___file_info.html#ae440d0229864ae7eed164cce2e517c1c">PP_FileInfo::creation_time</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the creation time of the file. </p>
+</div>
+</div>
+<a class="anchor" id="aa28b1c96d04220ed40f711126032ad20"></a><!-- doxytag: member="PP_FileInfo::last_access_time" ref="aa28b1c96d04220ed40f711126032ad20" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a> <a class="el" href="struct_p_p___file_info.html#aa28b1c96d04220ed40f711126032ad20">PP_FileInfo::last_access_time</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the last time the file was accessed. </p>
+</div>
+</div>
+<a class="anchor" id="a08c89b213b808c573fbe98079bab7a56"></a><!-- doxytag: member="PP_FileInfo::last_modified_time" ref="a08c89b213b808c573fbe98079bab7a56" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a> <a class="el" href="struct_p_p___file_info.html#a08c89b213b808c573fbe98079bab7a56">PP_FileInfo::last_modified_time</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the last time the file was modified. </p>
+</div>
+</div>
+<a class="anchor" id="a8e477e77e1938f657ae282139f628368"></a><!-- doxytag: member="PP_FileInfo::size" ref="a8e477e77e1938f657ae282139f628368" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int64_t <a class="el" href="struct_p_p___file_info.html#a8e477e77e1938f657ae282139f628368">PP_FileInfo::size</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the size of the file measured in bytes. </p>
+</div>
+</div>
+<a class="anchor" id="a02a26955ced1a31ba23806c7cc22676a"></a><!-- doxytag: member="PP_FileInfo::system_type" ref="a02a26955ced1a31ba23806c7cc22676a" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga87b353f2ec8935c9c3294daff612c145">PP_FileSystemType</a> <a class="el" href="struct_p_p___file_info.html#a02a26955ced1a31ba23806c7cc22676a">PP_FileInfo::system_type</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the file system type of the file as defined by the <code>PP_FileSystemType</code> enum. </p>
+</div>
+</div>
+<a class="anchor" id="a2b38985af2a482ddd196cd40b13378f5"></a><!-- doxytag: member="PP_FileInfo::type" ref="a2b38985af2a482ddd196cd40b13378f5" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga36f6dfbe9c1e98540c5247f790746427">PP_FileType</a> <a class="el" href="struct_p_p___file_info.html#a2b38985af2a482ddd196cd40b13378f5">PP_FileInfo::type</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the type of file as defined by the <code>PP_FileType</code> enum. </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="pp__file__info_8h.html">pp_file_info.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___float_point.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___float_point.html
new file mode 100644
index 0000000..8653a8c1
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___float_point.html
@@ -0,0 +1,47 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_FloatPoint Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_FloatPoint" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___float_point.html#a40405bdfc98bbc0fe7aa8c065d971947">x</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___float_point.html#a9662ff4361457b92ef5bab02b3850521">y</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <a class="el" href="struct_p_p___float_point.html" title="The PP_FloatPoint structure defines the floating-point x and y coordinates of a point.">PP_FloatPoint</a> structure defines the floating-point x and y coordinates of a point. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a40405bdfc98bbc0fe7aa8c065d971947"></a><!-- doxytag: member="PP_FloatPoint::x" ref="a40405bdfc98bbc0fe7aa8c065d971947" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="struct_p_p___float_point.html#a40405bdfc98bbc0fe7aa8c065d971947">PP_FloatPoint::x</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a9662ff4361457b92ef5bab02b3850521"></a><!-- doxytag: member="PP_FloatPoint::y" ref="a9662ff4361457b92ef5bab02b3850521" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="struct_p_p___float_point.html#a9662ff4361457b92ef5bab02b3850521">PP_FloatPoint::y</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="pp__point_8h.html">pp_point.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___gamepad_sample_data.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___gamepad_sample_data.html
new file mode 100644
index 0000000..45041624
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___gamepad_sample_data.html
@@ -0,0 +1,136 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_GamepadSampleData Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_GamepadSampleData" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___gamepad_sample_data.html#a27e25af2c4d7278951c71d5a71821db5">axes_length</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___gamepad_sample_data.html#a044a97b221c1e87e26ecbd39b584b416">axes</a> [16]</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___gamepad_sample_data.html#ae58bc687fc618e4a957dda7cd087bd58">buttons_length</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___gamepad_sample_data.html#ac9b7def0b695e6009e685b79d883a9a2">buttons</a> [32]</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___gamepad_sample_data.html#af832f6af0964f9023d712712a6e3afc7">timestamp</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___gamepad_sample_data.html#a0a4d0498f6beecb54628a4f1919c48e3">id</a> [128]</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___gamepad_sample_data.html#ae955efce5fcd9de08ab8d4c7f52d0af7">connected</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">char </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___gamepad_sample_data.html#aad71d81059bd5880ebd79bc3b9e55cd5">unused_pad_</a> [4]</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The data for one gamepad device. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a044a97b221c1e87e26ecbd39b584b416"></a><!-- doxytag: member="PP_GamepadSampleData::axes" ref="a044a97b221c1e87e26ecbd39b584b416" args="[16]" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="struct_p_p___gamepad_sample_data.html#a044a97b221c1e87e26ecbd39b584b416">PP_GamepadSampleData::axes</a>[16]</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Normalized values for the axes, indices valid up to |axes_length|-1. </p>
+<p>Axis values range from -1..1, and are in order of "importance". </p>
+</div>
+</div>
+<a class="anchor" id="a27e25af2c4d7278951c71d5a71821db5"></a><!-- doxytag: member="PP_GamepadSampleData::axes_length" ref="a27e25af2c4d7278951c71d5a71821db5" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="struct_p_p___gamepad_sample_data.html#a27e25af2c4d7278951c71d5a71821db5">PP_GamepadSampleData::axes_length</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Number of valid elements in the |axes| array. </p>
+</div>
+</div>
+<a class="anchor" id="ac9b7def0b695e6009e685b79d883a9a2"></a><!-- doxytag: member="PP_GamepadSampleData::buttons" ref="ac9b7def0b695e6009e685b79d883a9a2" args="[32]" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="struct_p_p___gamepad_sample_data.html#ac9b7def0b695e6009e685b79d883a9a2">PP_GamepadSampleData::buttons</a>[32]</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Normalized values for the buttons, indices valid up to |buttons_length|. </p>
+<ul>
+<li>1. Button values range from 0..1, and are in order of importance. </li>
+</ul>
+</div>
+</div>
+<a class="anchor" id="ae58bc687fc618e4a957dda7cd087bd58"></a><!-- doxytag: member="PP_GamepadSampleData::buttons_length" ref="ae58bc687fc618e4a957dda7cd087bd58" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="struct_p_p___gamepad_sample_data.html#ae58bc687fc618e4a957dda7cd087bd58">PP_GamepadSampleData::buttons_length</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Number of valid elements in the |buttons| array. </p>
+</div>
+</div>
+<a class="anchor" id="ae955efce5fcd9de08ab8d4c7f52d0af7"></a><!-- doxytag: member="PP_GamepadSampleData::connected" ref="ae955efce5fcd9de08ab8d4c7f52d0af7" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> <a class="el" href="struct_p_p___gamepad_sample_data.html#ae955efce5fcd9de08ab8d4c7f52d0af7">PP_GamepadSampleData::connected</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Is there a gamepad connected at this index? If this is false, no other data in this structure is valid. </p>
+</div>
+</div>
+<a class="anchor" id="a0a4d0498f6beecb54628a4f1919c48e3"></a><!-- doxytag: member="PP_GamepadSampleData::id" ref="a0a4d0498f6beecb54628a4f1919c48e3" args="[128]" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint16_t <a class="el" href="struct_p_p___gamepad_sample_data.html#a0a4d0498f6beecb54628a4f1919c48e3">PP_GamepadSampleData::id</a>[128]</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Identifier for the type of device/manufacturer. </p>
+</div>
+</div>
+<a class="anchor" id="af832f6af0964f9023d712712a6e3afc7"></a><!-- doxytag: member="PP_GamepadSampleData::timestamp" ref="af832f6af0964f9023d712712a6e3afc7" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">double <a class="el" href="struct_p_p___gamepad_sample_data.html#af832f6af0964f9023d712712a6e3afc7">PP_GamepadSampleData::timestamp</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Monotonically increasing value that is incremented when the data have been updated. </p>
+</div>
+</div>
+<a class="anchor" id="aad71d81059bd5880ebd79bc3b9e55cd5"></a><!-- doxytag: member="PP_GamepadSampleData::unused_pad_" ref="aad71d81059bd5880ebd79bc3b9e55cd5" args="[4]" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">char <a class="el" href="struct_p_p___gamepad_sample_data.html#aad71d81059bd5880ebd79bc3b9e55cd5">PP_GamepadSampleData::unused_pad_</a>[4]</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="ppb__gamepad_8h.html">ppb_gamepad.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___gamepads_sample_data.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___gamepads_sample_data.html
new file mode 100644
index 0000000..65c9453
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___gamepads_sample_data.html
@@ -0,0 +1,62 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_GamepadsSampleData Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_GamepadsSampleData" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___gamepads_sample_data.html#abc9c0c8b20cfe0219a5ab4e38dd5a800">length</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">char </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___gamepads_sample_data.html#a0664781b0f25af5206d134cb04543235">unused_pad_</a> [4]</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___gamepad_sample_data.html">PP_GamepadSampleData</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___gamepads_sample_data.html#ab0fa87f088fef743ba879a2f91363bfe">items</a> [4]</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The data for all gamepads connected to the system. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="ab0fa87f088fef743ba879a2f91363bfe"></a><!-- doxytag: member="PP_GamepadsSampleData::items" ref="ab0fa87f088fef743ba879a2f91363bfe" args="[4]" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___gamepad_sample_data.html">PP_GamepadSampleData</a> <a class="el" href="struct_p_p___gamepads_sample_data.html#ab0fa87f088fef743ba879a2f91363bfe">PP_GamepadsSampleData::items</a>[4]</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Data for an individual gamepad device connected to the system. </p>
+</div>
+</div>
+<a class="anchor" id="abc9c0c8b20cfe0219a5ab4e38dd5a800"></a><!-- doxytag: member="PP_GamepadsSampleData::length" ref="abc9c0c8b20cfe0219a5ab4e38dd5a800" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="struct_p_p___gamepads_sample_data.html#abc9c0c8b20cfe0219a5ab4e38dd5a800">PP_GamepadsSampleData::length</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Number of valid elements in the |items| array. </p>
+</div>
+</div>
+<a class="anchor" id="a0664781b0f25af5206d134cb04543235"></a><!-- doxytag: member="PP_GamepadsSampleData::unused_pad_" ref="a0664781b0f25af5206d134cb04543235" args="[4]" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">char <a class="el" href="struct_p_p___gamepads_sample_data.html#a0664781b0f25af5206d134cb04543235">PP_GamepadsSampleData::unused_pad_</a>[4]</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="ppb__gamepad_8h.html">ppb_gamepad.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___host_resolver___hint.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___host_resolver___hint.html
new file mode 100644
index 0000000..908383c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___host_resolver___hint.html
@@ -0,0 +1,49 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_HostResolver_Hint Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_HostResolver_Hint" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga43636bcadf9aa312a4c345d210ae6c55">PP_NetAddress_Family</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___host_resolver___hint.html#a22e79f1dd67a5a618fcb4d26adda5734">family</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___host_resolver___hint.html#a9feab0c247ac0011f6f3dbed28eeae1e">flags</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p><code><a class="el" href="struct_p_p___host_resolver___hint.html" title="PP_HostResolver_Hint represents hints for host resolution.">PP_HostResolver_Hint</a></code> represents hints for host resolution. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a22e79f1dd67a5a618fcb4d26adda5734"></a><!-- doxytag: member="PP_HostResolver_Hint::family" ref="a22e79f1dd67a5a618fcb4d26adda5734" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga43636bcadf9aa312a4c345d210ae6c55">PP_NetAddress_Family</a> <a class="el" href="struct_p_p___host_resolver___hint.html#a22e79f1dd67a5a618fcb4d26adda5734">PP_HostResolver_Hint::family</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Network address family. </p>
+</div>
+</div>
+<a class="anchor" id="a9feab0c247ac0011f6f3dbed28eeae1e"></a><!-- doxytag: member="PP_HostResolver_Hint::flags" ref="a9feab0c247ac0011f6f3dbed28eeae1e" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="struct_p_p___host_resolver___hint.html#a9feab0c247ac0011f6f3dbed28eeae1e">PP_HostResolver_Hint::flags</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Combination of flags from <code>PP_HostResolver_Flag</code>. </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="ppb__host__resolver_8h.html">ppb_host_resolver.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___image_data_desc.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___image_data_desc.html
new file mode 100644
index 0000000..266eba49
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___image_data_desc.html
@@ -0,0 +1,64 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_ImageDataDesc Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_ImageDataDesc" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga2ee7ad01799553e5f17bdaa35dd952ee">PP_ImageDataFormat</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___image_data_desc.html#a0a621fd3704227310f14ba47323a80e1">format</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___size.html">PP_Size</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___image_data_desc.html#ad5b1dc56bf041929e1b54c7c96d1bd85">size</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___image_data_desc.html#a27f743f8f59a611853815865681bead6">stride</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="struct_p_p___image_data_desc.html" title="The PP_ImageDataDesc structure represents a description of image data.">PP_ImageDataDesc</a></code> structure represents a description of image data. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a0a621fd3704227310f14ba47323a80e1"></a><!-- doxytag: member="PP_ImageDataDesc::format" ref="a0a621fd3704227310f14ba47323a80e1" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga2ee7ad01799553e5f17bdaa35dd952ee">PP_ImageDataFormat</a> <a class="el" href="struct_p_p___image_data_desc.html#a0a621fd3704227310f14ba47323a80e1">PP_ImageDataDesc::format</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents one of the image data types in the <code>PP_ImageDataFormat</code> enum. </p>
+</div>
+</div>
+<a class="anchor" id="ad5b1dc56bf041929e1b54c7c96d1bd85"></a><!-- doxytag: member="PP_ImageDataDesc::size" ref="ad5b1dc56bf041929e1b54c7c96d1bd85" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___size.html">PP_Size</a> <a class="el" href="struct_p_p___image_data_desc.html#ad5b1dc56bf041929e1b54c7c96d1bd85">PP_ImageDataDesc::size</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the size of the bitmap in pixels. </p>
+</div>
+</div>
+<a class="anchor" id="a27f743f8f59a611853815865681bead6"></a><!-- doxytag: member="PP_ImageDataDesc::stride" ref="a27f743f8f59a611853815865681bead6" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="struct_p_p___image_data_desc.html#a27f743f8f59a611853815865681bead6">PP_ImageDataDesc::stride</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the row width in bytes. </p>
+<p>This may be different than width * 4 since there may be padding at the end of the lines. </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="ppb__image__data_8h.html">ppb_image_data.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___input_event___character.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___input_event___character.html
new file mode 100644
index 0000000..1706741
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___input_event___character.html
@@ -0,0 +1,52 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_InputEvent_Character Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_InputEvent_Character" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___character.html#a6505d006cdb0e52d39e94b540b923b9a">modifier</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">char </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___character.html#ac5e8c1dbf5c8ae33f22b8781ff5f1760">text</a> [5]</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="struct_p_p___input_event___character.html" title="The PP_InputEvent_Character struct represents a typed character event.">PP_InputEvent_Character</a></code> struct represents a typed character event. </p>
+<p>Normally, the program will receive a key down event, followed by a character event, followed by a key up event. The character event will have any modifier keys applied. Obvious examples are symbols, where Shift-5 gives you a ''. The key down and up events will give you the scan code for the "5" key, and the character event will give you the '' character.</p>
+<p>You may not get a character event for all key down events if the key doesn't generate a character. Likewise, you may actually get multiple character events in a row. For example, some locales have an accent key that modifies the next character typed. You might get this stream of events: accent down, accent up (it didn't generate a character), letter key down, letter with accent character event (it was modified by the previous accent key), letter key up. If the letter can't be combined with the accent, like an umlaut and an 'R', the system might send umlaut down, umlaut up, 'R' key down, umlaut character (can't combine it with 'R', so just send the raw umlaut so it isn't lost"), 'R' character event, 'R' key up. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a6505d006cdb0e52d39e94b540b923b9a"></a><!-- doxytag: member="PP_InputEvent_Character::modifier" ref="a6505d006cdb0e52d39e94b540b923b9a" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="struct_p_p___input_event___character.html#a6505d006cdb0e52d39e94b540b923b9a">PP_InputEvent_Character::modifier</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A combination of the <code>PP_InputEvent_Modifier</code> flags. </p>
+</div>
+</div>
+<a class="anchor" id="ac5e8c1dbf5c8ae33f22b8781ff5f1760"></a><!-- doxytag: member="PP_InputEvent_Character::text" ref="ac5e8c1dbf5c8ae33f22b8781ff5f1760" args="[5]" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">char <a class="el" href="struct_p_p___input_event___character.html#ac5e8c1dbf5c8ae33f22b8781ff5f1760">PP_InputEvent_Character::text</a>[5]</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the typed character as a single null-terminated UTF-8 character. </p>
+<p>Any unused bytes will be filled with null bytes. Since the maximum UTF-8 character is 4 bytes, there will always be at least one null at the end so you can treat this as a null-terminated UTF-8 string. </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="pp__input__event_8h.html">pp_input_event.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___input_event___key.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___input_event___key.html
new file mode 100644
index 0000000..16110fd
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___input_event___key.html
@@ -0,0 +1,53 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_InputEvent_Key Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_InputEvent_Key" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___key.html#a13f50c267c45d439f009094515c75c10">modifier</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___key.html#ad7b017ab264c307ce846d5df8a8bf867">key_code</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="struct_p_p___input_event___key.html" title="The PP_InputEvent_Key struct represents a key up or key down event.">PP_InputEvent_Key</a></code> struct represents a key up or key down event. </p>
+<p>Key up and key down events correspond to physical keys on the keyboard. The actual character that the user typed (if any) will be delivered in a "character" event.</p>
+<p>If the user loses focus on the module while a key is down, a key up event might not occur. For example, if the module has focus and the user presses and holds the shift key, the module will see a "shift down" message. Then if the user clicks elsewhere on the web page, the module's focus will be lost and no more input events will be delivered.</p>
+<p>If your module depends on receiving key up events, it should also handle "lost focus" as the equivalent of "all keys up." </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="ad7b017ab264c307ce846d5df8a8bf867"></a><!-- doxytag: member="PP_InputEvent_Key::key_code" ref="ad7b017ab264c307ce846d5df8a8bf867" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="struct_p_p___input_event___key.html#ad7b017ab264c307ce846d5df8a8bf867">PP_InputEvent_Key::key_code</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value reflects the DOM KeyboardEvent <code>keyCode</code> field. </p>
+<p>Chrome populates this with the Windows-style Virtual Key code of the key. </p>
+</div>
+</div>
+<a class="anchor" id="a13f50c267c45d439f009094515c75c10"></a><!-- doxytag: member="PP_InputEvent_Key::modifier" ref="a13f50c267c45d439f009094515c75c10" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="struct_p_p___input_event___key.html#a13f50c267c45d439f009094515c75c10">PP_InputEvent_Key::modifier</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value is a bit field combination of the EVENT_MODIFIER flags. </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="pp__input__event_8h.html">pp_input_event.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___input_event___mouse.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___input_event___mouse.html
new file mode 100644
index 0000000..3ceae9e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___input_event___mouse.html
@@ -0,0 +1,93 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_InputEvent_Mouse Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_InputEvent_Mouse" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___mouse.html#ade5934096b842e08d4a2b5361efde0ba">modifier</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga25113f3c8d33e863fd38b3f70f8a5e6e">PP_InputEvent_MouseButton</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___mouse.html#a09969e4a48363691517970cd8b374e84">button</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___mouse.html#a12569a7a8bff2107c2a2d67376d26c07">x</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___mouse.html#a19be12e2e7b9007209594ce85912b398">y</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___mouse.html#ad608b42b29ff4f93f63e7dee287ad1d9">click_count</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="struct_p_p___input_event___mouse.html" title="The PP_InputEvent_Mouse struct represents all mouse events except mouse wheel events.">PP_InputEvent_Mouse</a></code> struct represents all mouse events except mouse wheel events. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a09969e4a48363691517970cd8b374e84"></a><!-- doxytag: member="PP_InputEvent_Mouse::button" ref="a09969e4a48363691517970cd8b374e84" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga25113f3c8d33e863fd38b3f70f8a5e6e">PP_InputEvent_MouseButton</a> <a class="el" href="struct_p_p___input_event___mouse.html#a09969e4a48363691517970cd8b374e84">PP_InputEvent_Mouse::button</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the button that changed for mouse down or up events. </p>
+<p>This value will be <code>PP_EVENT_MOUSEBUTTON_NONE</code> for mouse move, enter, and leave events. </p>
+</div>
+</div>
+<a class="anchor" id="ad608b42b29ff4f93f63e7dee287ad1d9"></a><!-- doxytag: member="PP_InputEvent_Mouse::click_count" ref="ad608b42b29ff4f93f63e7dee287ad1d9" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="struct_p_p___input_event___mouse.html#ad608b42b29ff4f93f63e7dee287ad1d9">PP_InputEvent_Mouse::click_count</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ade5934096b842e08d4a2b5361efde0ba"></a><!-- doxytag: member="PP_InputEvent_Mouse::modifier" ref="ade5934096b842e08d4a2b5361efde0ba" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="struct_p_p___input_event___mouse.html#ade5934096b842e08d4a2b5361efde0ba">PP_InputEvent_Mouse::modifier</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value is a bit field combination of the <code>PP_InputEvent_Modifier</code> flags. </p>
+</div>
+</div>
+<a class="anchor" id="a12569a7a8bff2107c2a2d67376d26c07"></a><!-- doxytag: member="PP_InputEvent_Mouse::x" ref="a12569a7a8bff2107c2a2d67376d26c07" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="struct_p_p___input_event___mouse.html#a12569a7a8bff2107c2a2d67376d26c07">PP_InputEvent_Mouse::x</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This values represents the x coordinate of the mouse when the event occurred. </p>
+<p>In most, but not all, cases these coordinates will just be integers. For example, the plugin element might be arbitrarily scaled or transformed in the DOM, and translating a mouse event into the coordinate space of the plugin will give non-integer values. </p>
+</div>
+</div>
+<a class="anchor" id="a19be12e2e7b9007209594ce85912b398"></a><!-- doxytag: member="PP_InputEvent_Mouse::y" ref="a19be12e2e7b9007209594ce85912b398" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="struct_p_p___input_event___mouse.html#a19be12e2e7b9007209594ce85912b398">PP_InputEvent_Mouse::y</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This values represents the y coordinate of the mouse when the event occurred. </p>
+<p>In most, but not all, cases these coordinates will just be integers. For example, the plugin element might be arbitrarily scaled or transformed in the DOM, and translating a mouse event into the coordinate space of the plugin will give non-integer values. </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="pp__input__event_8h.html">pp_input_event.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___input_event___wheel.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___input_event___wheel.html
new file mode 100644
index 0000000..63a13a2
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___input_event___wheel.html
@@ -0,0 +1,117 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_InputEvent_Wheel Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_InputEvent_Wheel" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___wheel.html#ad4af418584f964e9191e78be05bbb3f7">modifier</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___wheel.html#aed0a1a8148ecfb7efe2443c412b8904d">delta_x</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___wheel.html#a51339c7b39cce3073f98f8a7f048f69d">delta_y</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___wheel.html#a0ebc9809d9333e68b63ad7dc7c421775">wheel_ticks_x</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___wheel.html#af39e6e81fc7166e745e3fdb4b4d3ff4e">wheel_ticks_y</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___wheel.html#ad51a5319a1eb82706371d495e397e909">scroll_by_page</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="struct_p_p___input_event___wheel.html" title="The PP_InputEvent_Wheel struct represents all mouse wheel events.">PP_InputEvent_Wheel</a></code> struct represents all mouse wheel events. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="aed0a1a8148ecfb7efe2443c412b8904d"></a><!-- doxytag: member="PP_InputEvent_Wheel::delta_x" ref="aed0a1a8148ecfb7efe2443c412b8904d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="struct_p_p___input_event___wheel.html#aed0a1a8148ecfb7efe2443c412b8904d">PP_InputEvent_Wheel::delta_x</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The mouse wheel's horizontal scroll amount. </p>
+<p>A scroll to the right (where the content moves left) is represented as positive values, and a scroll to the left (where the content moves right) is represented as negative values.</p>
+<p>The units are either in pixels (when scroll_by_page is false) or pages (when scroll_by_page is true). For example, delta_y = -3 means scroll up 3 pixels when scroll_by_page is false, and scroll up 3 pages when scroll_by_page is true.</p>
+<p>This amount is system dependent and will take into account the user's preferred scroll sensitivity and potentially also nonlinear acceleration based on the speed of the scrolling.</p>
+<p>Devices will be of varying resolution. Some mice with large detents will only generate integer scroll amounts. But fractional values are also possible, for example, on some trackpads and newer mice that don't have "clicks". </p>
+</div>
+</div>
+<a class="anchor" id="a51339c7b39cce3073f98f8a7f048f69d"></a><!-- doxytag: member="PP_InputEvent_Wheel::delta_y" ref="a51339c7b39cce3073f98f8a7f048f69d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="struct_p_p___input_event___wheel.html#a51339c7b39cce3073f98f8a7f048f69d">PP_InputEvent_Wheel::delta_y</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The mouse wheel's vertical scroll amount. </p>
+<p>A scroll down (where the content moves up) is represented as positive values, and a scroll up (where the content moves down) is represented as negative values.</p>
+<p>The units are either in pixels (when scroll_by_page is false) or pages (when scroll_by_page is true). For example, delta_y = -3 means scroll up 3 pixels when scroll_by_page is false, and scroll up 3 pages when scroll_by_page is true.</p>
+<p>This amount is system dependent and will take into account the user's preferred scroll sensitivity and potentially also nonlinear acceleration based on the speed of the scrolling.</p>
+<p>Devices will be of varying resolution. Some mice with large detents will only generate integer scroll amounts. But fractional values are also possible, for example, on some trackpads and newer mice that don't have "clicks". </p>
+</div>
+</div>
+<a class="anchor" id="ad4af418584f964e9191e78be05bbb3f7"></a><!-- doxytag: member="PP_InputEvent_Wheel::modifier" ref="ad4af418584f964e9191e78be05bbb3f7" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="struct_p_p___input_event___wheel.html#ad4af418584f964e9191e78be05bbb3f7">PP_InputEvent_Wheel::modifier</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents a combination of the <code>EVENT_MODIFIER</code> flags. </p>
+</div>
+</div>
+<a class="anchor" id="ad51a5319a1eb82706371d495e397e909"></a><!-- doxytag: member="PP_InputEvent_Wheel::scroll_by_page" ref="ad51a5319a1eb82706371d495e397e909" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> <a class="el" href="struct_p_p___input_event___wheel.html#ad51a5319a1eb82706371d495e397e909">PP_InputEvent_Wheel::scroll_by_page</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Indicates if the scroll <code>delta_x</code>/<code>delta_y</code> indicates pages or lines to scroll by. </p>
+<p>When true, the user is requesting to scroll by pages. </p>
+</div>
+</div>
+<a class="anchor" id="a0ebc9809d9333e68b63ad7dc7c421775"></a><!-- doxytag: member="PP_InputEvent_Wheel::wheel_ticks_x" ref="a0ebc9809d9333e68b63ad7dc7c421775" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="struct_p_p___input_event___wheel.html#a0ebc9809d9333e68b63ad7dc7c421775">PP_InputEvent_Wheel::wheel_ticks_x</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The number of "clicks" of the scroll wheel that have produced the event. </p>
+<p>The value may have system-specific acceleration applied to it, depending on the device. The positive and negative meanings are the same as for <code>delta_x</code> and <code>delta_y</code>.</p>
+<p>If you are scrolling, you probably want to use the delta values above. These tick events can be useful if you aren't doing actual scrolling and don't want or pixel values. An example may be cycling between different items in a game.</p>
+<p>You may receive fractional values for the wheel ticks if the mouse wheel is high resolution or doesn't have "clicks". If your program wants discrete events (as in the "picking items" example) you should accumulate fractional click values from multiple messages until the total value reaches positive or negative one. This should represent a similar amount of scrolling as for a mouse that has a discrete mouse wheel. </p>
+</div>
+</div>
+<a class="anchor" id="af39e6e81fc7166e745e3fdb4b4d3ff4e"></a><!-- doxytag: member="PP_InputEvent_Wheel::wheel_ticks_y" ref="af39e6e81fc7166e745e3fdb4b4d3ff4e" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="struct_p_p___input_event___wheel.html#af39e6e81fc7166e745e3fdb4b4d3ff4e">PP_InputEvent_Wheel::wheel_ticks_y</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents. </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="pp__input__event_8h.html">pp_input_event.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___net_address___i_pv4.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___net_address___i_pv4.html
new file mode 100644
index 0000000..994f246
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___net_address___i_pv4.html
@@ -0,0 +1,49 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_NetAddress_IPv4 Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_NetAddress_IPv4" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___net_address___i_pv4.html#a2357e390da5fdf3d57239b5af50a184d">port</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___net_address___i_pv4.html#a075897f0f5212cce73a114ab4c96775d">addr</a> [4]</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>All members are expressed in network byte order. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a075897f0f5212cce73a114ab4c96775d"></a><!-- doxytag: member="PP_NetAddress_IPv4::addr" ref="a075897f0f5212cce73a114ab4c96775d" args="[4]" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint8_t <a class="el" href="struct_p_p___net_address___i_pv4.html#a075897f0f5212cce73a114ab4c96775d">PP_NetAddress_IPv4::addr</a>[4]</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>IPv4 address. </p>
+</div>
+</div>
+<a class="anchor" id="a2357e390da5fdf3d57239b5af50a184d"></a><!-- doxytag: member="PP_NetAddress_IPv4::port" ref="a2357e390da5fdf3d57239b5af50a184d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint16_t <a class="el" href="struct_p_p___net_address___i_pv4.html#a2357e390da5fdf3d57239b5af50a184d">PP_NetAddress_IPv4::port</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Port number. </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="ppb__net__address_8h.html">ppb_net_address.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___net_address___i_pv6.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___net_address___i_pv6.html
new file mode 100644
index 0000000..75e679b
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___net_address___i_pv6.html
@@ -0,0 +1,49 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_NetAddress_IPv6 Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_NetAddress_IPv6" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___net_address___i_pv6.html#a33221e899ef2126330c7ff53218ea63d">port</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___net_address___i_pv6.html#a11e248d3d3063f4a2fc351efadf93783">addr</a> [16]</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>All members are expressed in network byte order. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a11e248d3d3063f4a2fc351efadf93783"></a><!-- doxytag: member="PP_NetAddress_IPv6::addr" ref="a11e248d3d3063f4a2fc351efadf93783" args="[16]" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint8_t <a class="el" href="struct_p_p___net_address___i_pv6.html#a11e248d3d3063f4a2fc351efadf93783">PP_NetAddress_IPv6::addr</a>[16]</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>IPv6 address. </p>
+</div>
+</div>
+<a class="anchor" id="a33221e899ef2126330c7ff53218ea63d"></a><!-- doxytag: member="PP_NetAddress_IPv6::port" ref="a33221e899ef2126330c7ff53218ea63d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint16_t <a class="el" href="struct_p_p___net_address___i_pv6.html#a33221e899ef2126330c7ff53218ea63d">PP_NetAddress_IPv6::port</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Port number. </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="ppb__net__address_8h.html">ppb_net_address.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___point.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___point.html
new file mode 100644
index 0000000..c3f06f53
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___point.html
@@ -0,0 +1,49 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_Point Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_Point" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___point.html#a563cc77d7d3154cbb60bc95f0607a5e4">x</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___point.html#a93087f8866bb309f9d69e1ae5d40e852">y</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <a class="el" href="struct_p_p___point.html" title="The PP_Point structure defines the integer x and y coordinates of a point.">PP_Point</a> structure defines the integer x and y coordinates of a point. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a563cc77d7d3154cbb60bc95f0607a5e4"></a><!-- doxytag: member="PP_Point::x" ref="a563cc77d7d3154cbb60bc95f0607a5e4" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="struct_p_p___point.html#a563cc77d7d3154cbb60bc95f0607a5e4">PP_Point::x</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the horizontal coordinate of a point, starting with 0 as the left-most coordinate. </p>
+</div>
+</div>
+<a class="anchor" id="a93087f8866bb309f9d69e1ae5d40e852"></a><!-- doxytag: member="PP_Point::y" ref="a93087f8866bb309f9d69e1ae5d40e852" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="struct_p_p___point.html#a93087f8866bb309f9d69e1ae5d40e852">PP_Point::y</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the vertical coordinate of a point, starting with 0 as the top-most coordinate. </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="pp__point_8h.html">pp_point.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___rect.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___rect.html
new file mode 100644
index 0000000..c64c7e7
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___rect.html
@@ -0,0 +1,49 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_Rect Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_Rect" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___point.html">PP_Point</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___rect.html#a9c0921483c30057de10cf63c8832dfd3">point</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___size.html">PP_Size</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___rect.html#a25ce3087fc0893c518d907ba04b8e10b">size</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="struct_p_p___rect.html" title="The PP_Rect struct contains the size and location of a 2D rectangle.">PP_Rect</a></code> struct contains the size and location of a 2D rectangle. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a9c0921483c30057de10cf63c8832dfd3"></a><!-- doxytag: member="PP_Rect::point" ref="a9c0921483c30057de10cf63c8832dfd3" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___point.html">PP_Point</a> <a class="el" href="struct_p_p___rect.html#a9c0921483c30057de10cf63c8832dfd3">PP_Rect::point</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the x and y coordinates of the upper-left corner of the rectangle. </p>
+</div>
+</div>
+<a class="anchor" id="a25ce3087fc0893c518d907ba04b8e10b"></a><!-- doxytag: member="PP_Rect::size" ref="a25ce3087fc0893c518d907ba04b8e10b" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___size.html">PP_Size</a> <a class="el" href="struct_p_p___rect.html#a25ce3087fc0893c518d907ba04b8e10b">PP_Rect::size</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the width and height of the rectangle. </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="pp__rect_8h.html">pp_rect.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___size.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___size.html
new file mode 100644
index 0000000..a22965b
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___size.html
@@ -0,0 +1,49 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_Size Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_Size" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___size.html#ae90a3149307a54902cd3a146592353cd">width</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___size.html#ae6eec60ae0ac7e860744eaf0fbab8690">height</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="struct_p_p___size.html" title="The PP_Size struct contains the size of a 2D rectangle.">PP_Size</a></code> struct contains the size of a 2D rectangle. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="ae6eec60ae0ac7e860744eaf0fbab8690"></a><!-- doxytag: member="PP_Size::height" ref="ae6eec60ae0ac7e860744eaf0fbab8690" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="struct_p_p___size.html#ae6eec60ae0ac7e860744eaf0fbab8690">PP_Size::height</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the height of the rectangle. </p>
+</div>
+</div>
+<a class="anchor" id="ae90a3149307a54902cd3a146592353cd"></a><!-- doxytag: member="PP_Size::width" ref="ae90a3149307a54902cd3a146592353cd" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="struct_p_p___size.html#ae90a3149307a54902cd3a146592353cd">PP_Size::width</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the width of the rectangle. </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="pp__size_8h.html">pp_size.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___touch_point.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___touch_point.html
new file mode 100644
index 0000000..96f3b8a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___touch_point.html
@@ -0,0 +1,93 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_TouchPoint Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_TouchPoint" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___touch_point.html#a27542ca67fc89c4fe41050750b80fc3b">id</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___float_point.html">PP_FloatPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___touch_point.html#a5c2dfab481eaafbd40c9b837fc6f9106">position</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___float_point.html">PP_FloatPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___touch_point.html#abcf813398210aaeaa587858f90139292">radius</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___touch_point.html#a8861a485f64399c787093d7fbf609b89">rotation_angle</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___touch_point.html#a3af90cd7d4415434a1f18a23eb28b2d9">pressure</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="struct_p_p___touch_point.html" title="The PP_TouchPoint struct represents all information about a single touch point, such as position...">PP_TouchPoint</a></code> struct represents all information about a single touch point, such as position, id, rotation angle, and pressure. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a27542ca67fc89c4fe41050750b80fc3b"></a><!-- doxytag: member="PP_TouchPoint::id" ref="a27542ca67fc89c4fe41050750b80fc3b" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="struct_p_p___touch_point.html#a27542ca67fc89c4fe41050750b80fc3b">PP_TouchPoint::id</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the identifier for this TouchPoint. </p>
+<p>The id corresponds to the order in which the points were pressed. For example, the first point to be pressed has an id of 0, the second has an id of 1, and so on. An id can be reused when a touch point is released. For example, if two fingers are down, with id 0 and 1, and finger 0 releases, the next finger to be pressed can be assigned to id 0. </p>
+</div>
+</div>
+<a class="anchor" id="a5c2dfab481eaafbd40c9b837fc6f9106"></a><!-- doxytag: member="PP_TouchPoint::position" ref="a5c2dfab481eaafbd40c9b837fc6f9106" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___float_point.html">PP_FloatPoint</a> <a class="el" href="struct_p_p___touch_point.html#a5c2dfab481eaafbd40c9b837fc6f9106">PP_TouchPoint::position</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the x and y pixel position of this TouchPoint relative to the upper-left of the module instance receiving the event. </p>
+</div>
+</div>
+<a class="anchor" id="a3af90cd7d4415434a1f18a23eb28b2d9"></a><!-- doxytag: member="PP_TouchPoint::pressure" ref="a3af90cd7d4415434a1f18a23eb28b2d9" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="struct_p_p___touch_point.html#a3af90cd7d4415434a1f18a23eb28b2d9">PP_TouchPoint::pressure</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the pressure applied to this TouchPoint. </p>
+<p>This value is typically between 0 and 1, with 0 indicating no pressure and 1 indicating some maximum pressure. Scaling differs depending on the hardware and the value is not guaranteed to stay within that range. </p>
+</div>
+</div>
+<a class="anchor" id="abcf813398210aaeaa587858f90139292"></a><!-- doxytag: member="PP_TouchPoint::radius" ref="abcf813398210aaeaa587858f90139292" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___float_point.html">PP_FloatPoint</a> <a class="el" href="struct_p_p___touch_point.html#abcf813398210aaeaa587858f90139292">PP_TouchPoint::radius</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the elliptical radii, in screen pixels, in the x and y direction of this TouchPoint. </p>
+</div>
+</div>
+<a class="anchor" id="a8861a485f64399c787093d7fbf609b89"></a><!-- doxytag: member="PP_TouchPoint::rotation_angle" ref="a8861a485f64399c787093d7fbf609b89" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="struct_p_p___touch_point.html#a8861a485f64399c787093d7fbf609b89">PP_TouchPoint::rotation_angle</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This value represents the angle of rotation in degrees of the elliptical model of this TouchPoint clockwise from "up.". </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="pp__touch__point_8h.html">pp_touch_point.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___var.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___var.html
new file mode 100644
index 0000000..d97b9414
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p___var.html
@@ -0,0 +1,66 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_Var Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_Var" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga9815041477d810724e44da862f9852ed">PP_VarType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___var.html#a80a9be8f342e8d849d4911e5585a8123">type</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___var.html#aa0b507acd514bb2644341721b838b870">padding</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">union <a class="el" href="union_p_p___var_value.html">PP_VarValue</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___var.html#ada122d12bf6da5cf78699a170d188542">value</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PP_VAR</code> struct is a variant data type and can contain any value of one of the types named in the <code>PP_VarType</code> enum. </p>
+<p>This structure is for passing data between native code which can be strongly typed and the browser (JavaScript) which isn't strongly typed.</p>
+<p>JavaScript has a "number" type for holding a number, and does not differentiate between floating point and integer numbers. The JavaScript operations will try to optimize operations by using integers when possible, but could end up with doubles. Therefore, you can't assume a numeric <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> will be the type you expect. Your code should be capable of handling either int32_t or double for numeric PP_Vars sent from JavaScript. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="aa0b507acd514bb2644341721b838b870"></a><!-- doxytag: member="PP_Var::padding" ref="aa0b507acd514bb2644341721b838b870" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="struct_p_p___var.html#aa0b507acd514bb2644341721b838b870">PP_Var::padding</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <code>padding</code> ensures <code>value</code> is aligned on an 8-byte boundary relative to the start of the struct. </p>
+<p>Some compilers align doubles on 8-byte boundaries for 32-bit x86, and some align on 4-byte boundaries. </p>
+</div>
+</div>
+<a class="anchor" id="a80a9be8f342e8d849d4911e5585a8123"></a><!-- doxytag: member="PP_Var::type" ref="a80a9be8f342e8d849d4911e5585a8123" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga9815041477d810724e44da862f9852ed">PP_VarType</a> <a class="el" href="struct_p_p___var.html#a80a9be8f342e8d849d4911e5585a8123">PP_Var::type</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ada122d12bf6da5cf78699a170d188542"></a><!-- doxytag: member="PP_Var::value" ref="ada122d12bf6da5cf78699a170d188542" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">union <a class="el" href="union_p_p___var_value.html">PP_VarValue</a> <a class="el" href="struct_p_p___var.html#ada122d12bf6da5cf78699a170d188542">PP_Var::value</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This <code>value</code> represents the contents of the <a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a>. </p>
+<p>Only one of the fields of <code>value</code> is valid at a time based upon <code>type</code>. </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="pp__var_8h.html">pp_var.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___audio__1__1.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___audio__1__1.html
new file mode 100644
index 0000000..03c0c1f
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___audio__1__1.html
@@ -0,0 +1,151 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_Audio Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_Audio" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio__1__1.html#a9714ecad5eeefae9d5d98c5ea29ac5ce">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> config, <a class="el" href="group___typedefs.html#ga2ec91970f3cb75769ce631b3b732803e">PPB_Audio_Callback</a> audio_callback, void *user_data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio__1__1.html#af516cae7c19f1439d630fd58049db85b">IsAudio</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio__1__1.html#a85615368f68e629eaeef6507e6b5f8b3">GetCurrentConfig</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> audio)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio__1__1.html#a764b5ba357af0f781839c4f696615a23">StartPlayback</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> audio)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio__1__1.html#a82049c2fbe4f151839fd13f8d10e8395">StopPlayback</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> audio)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_Audio</code> interface contains pointers to several functions for handling audio resources. </p>
+<p>Refer to the <a href="/native-client/{{pepperversion}}/devguide/coding/audio">Audio</a> chapter in the Developer's Guide for information on using this interface. Please see descriptions for each <code>PPB_Audio</code> and <code>PPB_AudioConfig</code> function for more details. A C example using <code>PPB_Audio</code> and <code>PPB_AudioConfig</code> follows.</p>
+<p><b>Example: </b></p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">void</span> audio_callback(<span class="keywordtype">void</span>* sample_buffer,
+ uint32_t buffer_size_in_bytes,
+ <span class="keywordtype">void</span>* user_data) {
+ ... quickly fill in the buffer with samples and <span class="keywordflow">return</span> to caller ...
+ }
+
+ ...Assume the application has cached the audio configuration <span class="keyword">interface </span>in
+ audio_config_interface and the audio interface in
+ audio_interface...
+
+ uint32_t count = audio_config_interface->RecommendSampleFrameCount(
+ <a class="code" href="group___enums.html#ggaee750c350655f2fb0fe04c04029e0ff8ac6d1056f50ebe082622d3250def41a54">PP_AUDIOSAMPLERATE_44100</a>, 4096);
+ <a class="code" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7" title="This typedef represents an opaque handle assigned by the browser to the resource.">PP_Resource</a> pp_audio_config = audio_config_interface->CreateStereo16Bit(
+ pp_instance, <a class="code" href="group___enums.html#ggaee750c350655f2fb0fe04c04029e0ff8ac6d1056f50ebe082622d3250def41a54">PP_AUDIOSAMPLERATE_44100</a>, count);
+ <a class="code" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7" title="This typedef represents an opaque handle assigned by the browser to the resource.">PP_Resource</a> pp_audio = audio_interface->Create(pp_instance, pp_audio_config,
+ audio_callback, NULL);
+ audio_interface->StartPlayback(pp_audio);
+
+ ...audio_callback() will now be periodically invoked on a separate thread...
+</pre></div> </div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a9714ecad5eeefae9d5d98c5ea29ac5ce"></a><!-- doxytag: member="PPB_Audio::Create" ref="a9714ecad5eeefae9d5d98c5ea29ac5ce" args=")(PP_Instance instance, PP_Resource config, PPB_Audio_Callback audio_callback, void *user_data)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___audio__1__1.html#a9714ecad5eeefae9d5d98c5ea29ac5ce">PPB_Audio::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> config, <a class="el" href="group___typedefs.html#ga2ec91970f3cb75769ce631b3b732803e">PPB_Audio_Callback</a> audio_callback, void *user_data)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___audio__1__1.html#a9714ecad5eeefae9d5d98c5ea29ac5ce" title="Create() creates an audio resource.">Create()</a> creates an audio resource. </p>
+<p>No sound will be heard until <a class="el" href="struct_p_p_b___audio__1__1.html#a764b5ba357af0f781839c4f696615a23" title="StartPlayback() starts the playback of the audio resource and begins periodically calling the callbac...">StartPlayback()</a> is called. The callback is called with the buffer address and given user data whenever the buffer needs to be filled. From within the callback, you should not call <code>PPB_Audio</code> functions. The callback will be called on a different thread than the one which created the interface. For performance-critical applications (i.e. low-latency audio), the callback should avoid blocking or calling functions that can obtain locks, such as malloc. The layout and the size of the buffer passed to the audio callback will be determined by the device configuration and is specified in the <code>AudioConfig</code> documentation.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">config</td><td>A <code>PP_Resource</code> corresponding to an audio config resource. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">audio_callback</td><td>A <code>PPB_Audio_Callback</code> callback function that the browser calls when it needs more samples to play. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">user_data</td><td>A pointer to user data used in the callback function.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> containing the audio resource if successful or 0 if the configuration cannot be honored or the callback is null. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a85615368f68e629eaeef6507e6b5f8b3"></a><!-- doxytag: member="PPB_Audio::GetCurrentConfig" ref="a85615368f68e629eaeef6507e6b5f8b3" args=")(PP_Resource audio)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___audio__1__1.html#a85615368f68e629eaeef6507e6b5f8b3">PPB_Audio::GetCurrentConfig</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> audio)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>GetCurrrentConfig() returns an audio config resource for the given audio resource. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">config</td><td>A <code>PP_Resource</code> corresponding to an audio resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> containing the audio config resource if successful. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="af516cae7c19f1439d630fd58049db85b"></a><!-- doxytag: member="PPB_Audio::IsAudio" ref="af516cae7c19f1439d630fd58049db85b" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___audio__1__1.html#af516cae7c19f1439d630fd58049db85b">PPB_Audio::IsAudio</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___audio__1__1.html#af516cae7c19f1439d630fd58049db85b" title="IsAudio() determines if the provided resource is an audio resource.">IsAudio()</a> determines if the provided resource is an audio resource. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a generic resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> containing containing <code>PP_TRUE</code> if the given resource is an Audio resource, otherwise <code>PP_FALSE</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a764b5ba357af0f781839c4f696615a23"></a><!-- doxytag: member="PPB_Audio::StartPlayback" ref="a764b5ba357af0f781839c4f696615a23" args=")(PP_Resource audio)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___audio__1__1.html#a764b5ba357af0f781839c4f696615a23">PPB_Audio::StartPlayback</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> audio)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___audio__1__1.html#a764b5ba357af0f781839c4f696615a23" title="StartPlayback() starts the playback of the audio resource and begins periodically calling the callbac...">StartPlayback()</a> starts the playback of the audio resource and begins periodically calling the callback. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">config</td><td>A <code>PP_Resource</code> corresponding to an audio resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> containing <code>PP_TRUE</code> if successful, otherwise <code>PP_FALSE</code>. Also returns <code>PP_TRUE</code> (and be a no-op) if called while playback is already in progress. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a82049c2fbe4f151839fd13f8d10e8395"></a><!-- doxytag: member="PPB_Audio::StopPlayback" ref="a82049c2fbe4f151839fd13f8d10e8395" args=")(PP_Resource audio)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___audio__1__1.html#a82049c2fbe4f151839fd13f8d10e8395">PPB_Audio::StopPlayback</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> audio)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___audio__1__1.html#a82049c2fbe4f151839fd13f8d10e8395" title="StopPlayback() stops the playback of the audio resource.">StopPlayback()</a> stops the playback of the audio resource. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">config</td><td>A <code>PP_Resource</code> corresponding to an audio resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> containing <code>PP_TRUE</code> if successful, otherwise <code>PP_FALSE</code>. Also returns <code>PP_TRUE</code> (and is a no-op) if called while playback is already stopped. If a callback is in progress, <a class="el" href="struct_p_p_b___audio__1__1.html#a82049c2fbe4f151839fd13f8d10e8395" title="StopPlayback() stops the playback of the audio resource.">StopPlayback()</a> will block until the callback completes. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="ppb__audio_8h.html">ppb_audio.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___audio_config__1__1.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___audio_config__1__1.html
new file mode 100644
index 0000000..22f07cb
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___audio_config__1__1.html
@@ -0,0 +1,160 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_AudioConfig Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_AudioConfig" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio_config__1__1.html#a541f636cd6818dbf09ff3680701753ae">CreateStereo16Bit</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#gaee750c350655f2fb0fe04c04029e0ff8">PP_AudioSampleRate</a> sample_rate, uint32_t sample_frame_count)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio_config__1__1.html#ad8e61c620a5b2081302e741c94aef921">RecommendSampleFrameCount</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#gaee750c350655f2fb0fe04c04029e0ff8">PP_AudioSampleRate</a> sample_rate, uint32_t requested_sample_frame_count)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio_config__1__1.html#a51282d6afa187ef1fc3a3a559735e209">IsAudioConfig</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#gaee750c350655f2fb0fe04c04029e0ff8">PP_AudioSampleRate</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio_config__1__1.html#a3e9e2d57f89f78d5373f09e9a6bcac72">GetSampleRate</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> config)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio_config__1__1.html#a743a6033adee1e3e8e4822d72e0ccc68">GetSampleFrameCount</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> config)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#gaee750c350655f2fb0fe04c04029e0ff8">PP_AudioSampleRate</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___audio_config__1__1.html#a7c6808dbbfba59c85facd85548a0199c">RecommendSampleRate</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_AudioConfig</code> interface contains pointers to several functions for establishing your audio configuration within the browser. </p>
+<p>This interface only supports 16-bit stereo output.</p>
+<p>Refer to the <a href="/native-client/{{pepperversion}}/devguide/coding/audio">Audio </a> chapter in the Developer's Guide for information on using this interface. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a541f636cd6818dbf09ff3680701753ae"></a><!-- doxytag: member="PPB_AudioConfig::CreateStereo16Bit" ref="a541f636cd6818dbf09ff3680701753ae" args=")(PP_Instance instance, PP_AudioSampleRate sample_rate, uint32_t sample_frame_count)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___audio_config__1__1.html#a541f636cd6818dbf09ff3680701753ae">PPB_AudioConfig::CreateStereo16Bit</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#gaee750c350655f2fb0fe04c04029e0ff8">PP_AudioSampleRate</a> sample_rate, uint32_t sample_frame_count)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>CreateStereo16bit() creates a 16 bit audio configuration resource. </p>
+<p>The <code>sample_rate</code> should be the result of calling <code>RecommendSampleRate</code> and <code>sample_frame_count</code> should be the result of calling <code>RecommendSampleFrameCount</code>. If the sample frame count or bit rate isn't supported, this function will fail and return a null resource.</p>
+<p>A single sample frame on a stereo device means one value for the left channel and one value for the right channel.</p>
+<p>Buffer layout for a stereo int16 configuration: <code>int16_t *buffer16;</code> <code>buffer16[0]</code> is the first left channel sample. <code>buffer16[1]</code> is the first right channel sample. <code>buffer16[2]</code> is the second left channel sample. <code>buffer16[3]</code> is the second right channel sample. ... <code>buffer16[2 * (sample_frame_count - 1)]</code> is the last left channel sample. <code>buffer16[2 * (sample_frame_count - 1) + 1]</code> is the last right channel sample. Data will always be in the native endian format of the platform.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">sample_rate</td><td>A <code>PP_AudioSampleRate</code> which is either <code>PP_AUDIOSAMPLERATE_44100</code> or <code>PP_AUDIOSAMPLERATE_48000</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">sample_frame_count</td><td>A <code>uint32_t</code> frame count returned from the <code>RecommendSampleFrameCount</code> function.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> containing the <code>PPB_Audio_Config</code> if successful or a null resource if the sample frame count or bit rate are not supported. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a743a6033adee1e3e8e4822d72e0ccc68"></a><!-- doxytag: member="PPB_AudioConfig::GetSampleFrameCount" ref="a743a6033adee1e3e8e4822d72e0ccc68" args=")(PP_Resource config)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t(* <a class="el" href="struct_p_p_b___audio_config__1__1.html#a743a6033adee1e3e8e4822d72e0ccc68">PPB_AudioConfig::GetSampleFrameCount</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> config)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___audio_config__1__1.html#a743a6033adee1e3e8e4822d72e0ccc68" title="GetSampleFrameCount() returns the sample frame count for the given PPB_Audio_Config.">GetSampleFrameCount()</a> returns the sample frame count for the given <code>PPB_Audio_Config</code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">config</td><td>A <code>PP_Resource</code> corresponding to an audio config resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>uint32_t</code> containing sample frame count or 0 if the resource is invalid. Refer to <a class="el" href="struct_p_p_b___audio_config__1__1.html#ad8e61c620a5b2081302e741c94aef921" title="RecommendSampleFrameCount() returns the supported sample frame count closest to the requested count...">RecommendSampleFrameCount()</a> for more on sample frame counts. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a3e9e2d57f89f78d5373f09e9a6bcac72"></a><!-- doxytag: member="PPB_AudioConfig::GetSampleRate" ref="a3e9e2d57f89f78d5373f09e9a6bcac72" args=")(PP_Resource config)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#gaee750c350655f2fb0fe04c04029e0ff8">PP_AudioSampleRate</a>(* <a class="el" href="struct_p_p_b___audio_config__1__1.html#a3e9e2d57f89f78d5373f09e9a6bcac72">PPB_AudioConfig::GetSampleRate</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> config)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___audio_config__1__1.html#a3e9e2d57f89f78d5373f09e9a6bcac72" title="GetSampleRate() returns the sample rate for the given PPB_Audio_Config.">GetSampleRate()</a> returns the sample rate for the given <code>PPB_Audio_Config</code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">config</td><td>A <code>PP_Resource</code> corresponding to a <code>PPB_Audio_Config</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_AudioSampleRate</code> containing sample rate or <code>PP_AUDIOSAMPLERATE_NONE</code> if the resource is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a51282d6afa187ef1fc3a3a559735e209"></a><!-- doxytag: member="PPB_AudioConfig::IsAudioConfig" ref="a51282d6afa187ef1fc3a3a559735e209" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___audio_config__1__1.html#a51282d6afa187ef1fc3a3a559735e209">PPB_AudioConfig::IsAudioConfig</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___audio_config__1__1.html#a51282d6afa187ef1fc3a3a559735e209" title="IsAudioConfig() determines if the given resource is a PPB_Audio_Config.">IsAudioConfig()</a> determines if the given resource is a <code>PPB_Audio_Config</code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to an audio config resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> containing <code>PP_TRUE</code> if the given resource is an <code>AudioConfig</code> resource, otherwise <code>PP_FALSE</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ad8e61c620a5b2081302e741c94aef921"></a><!-- doxytag: member="PPB_AudioConfig::RecommendSampleFrameCount" ref="ad8e61c620a5b2081302e741c94aef921" args=")(PP_Instance instance, PP_AudioSampleRate sample_rate, uint32_t requested_sample_frame_count)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t(* <a class="el" href="struct_p_p_b___audio_config__1__1.html#ad8e61c620a5b2081302e741c94aef921">PPB_AudioConfig::RecommendSampleFrameCount</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#gaee750c350655f2fb0fe04c04029e0ff8">PP_AudioSampleRate</a> sample_rate, uint32_t requested_sample_frame_count)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___audio_config__1__1.html#ad8e61c620a5b2081302e741c94aef921" title="RecommendSampleFrameCount() returns the supported sample frame count closest to the requested count...">RecommendSampleFrameCount()</a> returns the supported sample frame count closest to the requested count. </p>
+<p>The sample frame count determines the overall latency of audio. Since one "frame" is always buffered in advance, smaller frame counts will yield lower latency, but higher CPU utilization.</p>
+<p>Supported sample frame counts will vary by hardware and system (consider that the local system might be anywhere from a cell phone or a high-end audio workstation). Sample counts less than <code>PP_AUDIOMINSAMPLEFRAMECOUNT</code> and greater than <code>PP_AUDIOMAXSAMPLEFRAMECOUNT</code> are never supported on any system, but values in between aren't necessarily valid. This function will return a supported count closest to the requested frame count.</p>
+<p><a class="el" href="struct_p_p_b___audio_config__1__1.html#ad8e61c620a5b2081302e741c94aef921" title="RecommendSampleFrameCount() returns the supported sample frame count closest to the requested count...">RecommendSampleFrameCount()</a> result is intended for audio output devices.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td></td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">sample_rate</td><td>A <code>PP_AudioSampleRate</code> which is either <code>PP_AUDIOSAMPLERATE_44100</code> or <code>PP_AUDIOSAMPLERATE_48000.</code> </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">requested_sample_frame_count</td><td>A <code>uint_32t</code> requested frame count.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>uint32_t</code> containing the recommended sample frame count if successful. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a7c6808dbbfba59c85facd85548a0199c"></a><!-- doxytag: member="PPB_AudioConfig::RecommendSampleRate" ref="a7c6808dbbfba59c85facd85548a0199c" args=")(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#gaee750c350655f2fb0fe04c04029e0ff8">PP_AudioSampleRate</a>(* <a class="el" href="struct_p_p_b___audio_config__1__1.html#a7c6808dbbfba59c85facd85548a0199c">PPB_AudioConfig::RecommendSampleRate</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___audio_config__1__1.html#a7c6808dbbfba59c85facd85548a0199c" title="RecommendSampleRate() returns the native sample rate that the browser is using in the backend...">RecommendSampleRate()</a> returns the native sample rate that the browser is using in the backend. </p>
+<p>Applications that use the recommended sample rate will have potentially better latency and fidelity. The return value is intended for audio output devices. If the output sample rate cannot be determined, this function can return PP_AUDIOSAMPLERATE_NONE.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td></td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>uint32_t</code> containing the recommended sample frame count if successful. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="ppb__audio__config_8h.html">ppb_audio_config.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___console__1__0.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___console__1__0.html
new file mode 100644
index 0000000..54bf6745
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___console__1__0.html
@@ -0,0 +1,50 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_Console Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_Console" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___console__1__0.html#ae54272123735f49c8d7eb09cb2e1e368">Log</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#gac39067c0883ec80b94290dd2a3bae440">PP_LogLevel</a> level, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> value)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___console__1__0.html#a87a75566f5b86ebb6e2b7bf529d6ade1">LogWithSource</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#gac39067c0883ec80b94290dd2a3bae440">PP_LogLevel</a> level, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> source, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> value)</td></tr>
+</table>
+<hr /><h2>Field Documentation</h2>
+<a class="anchor" id="ae54272123735f49c8d7eb09cb2e1e368"></a><!-- doxytag: member="PPB_Console::Log" ref="ae54272123735f49c8d7eb09cb2e1e368" args=")(PP_Instance instance, PP_LogLevel level, struct PP_Var value)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___console__1__0.html#ae54272123735f49c8d7eb09cb2e1e368">PPB_Console::Log</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#gac39067c0883ec80b94290dd2a3bae440">PP_LogLevel</a> level, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> value)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Logs the given message to the JavaScript console associated with the given plugin instance with the given logging level. </p>
+<p>The name of the plugin issuing the log message will be automatically prepended to the message. The value may be any type of Var. </p>
+</div>
+</div>
+<a class="anchor" id="a87a75566f5b86ebb6e2b7bf529d6ade1"></a><!-- doxytag: member="PPB_Console::LogWithSource" ref="a87a75566f5b86ebb6e2b7bf529d6ade1" args=")(PP_Instance instance, PP_LogLevel level, struct PP_Var source, struct PP_Var value)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___console__1__0.html#a87a75566f5b86ebb6e2b7bf529d6ade1">PPB_Console::LogWithSource</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#gac39067c0883ec80b94290dd2a3bae440">PP_LogLevel</a> level, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> source, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> value)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Logs a message to the console with the given source information rather than using the internal PPAPI plugin name. </p>
+<p>The name must be a string var.</p>
+<p>The regular log function will automatically prepend the name of your plugin to the message as the "source" of the message. Some plugins may wish to override this. For example, if your plugin is a Python interpreter, you would want log messages to contain the source .py file doing the log statement rather than have "python" show up in the console. </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="ppb__console_8h.html">ppb_console.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___core__1__0.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___core__1__0.html
new file mode 100644
index 0000000..049e023
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___core__1__0.html
@@ -0,0 +1,134 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_Core Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_Core" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___core__1__0.html#a63ea7047ef5278cc3735dbfd60bd5b81">AddRefResource</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___core__1__0.html#af3163aefc33071af39cd085a0a2d44fe">ReleaseResource</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___core__1__0.html#abae0871b4efc729f4658c37543242857">GetTime</a> )(void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#ga71cb1042cdeb38d7881b121f3b09ce94">PP_TimeTicks</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___core__1__0.html#ad6b66e732c6a592605b7b83c7bddd97d">GetTimeTicks</a> )(void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___core__1__0.html#ad23da4428f462f9f387bab423e93d1f4">CallOnMainThread</a> )(int32_t delay_in_milliseconds, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback, int32_t result)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___core__1__0.html#a2f784682b530b66ed3de692154298e17">IsMainThread</a> )(void)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_Core</code> interface contains pointers to functions related to memory management, time, and threads on the browser. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a63ea7047ef5278cc3735dbfd60bd5b81"></a><!-- doxytag: member="PPB_Core::AddRefResource" ref="a63ea7047ef5278cc3735dbfd60bd5b81" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___core__1__0.html#a63ea7047ef5278cc3735dbfd60bd5b81">PPB_Core::AddRefResource</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___core__1__0.html#a63ea7047ef5278cc3735dbfd60bd5b81" title="AddRefResource() adds a reference to a resource.">AddRefResource()</a> adds a reference to a resource. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">config</td><td>A <code>PP_Resource</code> corresponding to a resource. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ad23da4428f462f9f387bab423e93d1f4"></a><!-- doxytag: member="PPB_Core::CallOnMainThread" ref="ad23da4428f462f9f387bab423e93d1f4" args=")(int32_t delay_in_milliseconds, struct PP_CompletionCallback callback, int32_t result)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___core__1__0.html#ad23da4428f462f9f387bab423e93d1f4">PPB_Core::CallOnMainThread</a>)(int32_t delay_in_milliseconds, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback, int32_t result)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___core__1__0.html#ad23da4428f462f9f387bab423e93d1f4" title="CallOnMainThread() schedules work to be executed on the main module thread after the specified delay...">CallOnMainThread()</a> schedules work to be executed on the main module thread after the specified delay. </p>
+<p>The delay may be 0 to specify a call back as soon as possible.</p>
+<p>The <code>result</code> parameter will just be passed as the second argument to the callback. Many applications won't need this, but it allows a module to emulate calls of some callbacks which do use this value.</p>
+<p><b>Note:</b> CallOnMainThread, even when used from the main thread with a delay of 0 milliseconds, will never directly invoke the callback. Even in this case, the callback will be scheduled asynchronously.</p>
+<p><b>Note:</b> If the browser is shutting down or if the module has no instances, then the callback function may not be called.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">delay_in_milliseconds</td><td>An int32_t delay in milliseconds. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> callback function that the browser will call after the specified delay. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">result</td><td>An int32_t that the browser will pass to the given <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="abae0871b4efc729f4658c37543242857"></a><!-- doxytag: member="PPB_Core::GetTime" ref="abae0871b4efc729f4658c37543242857" args=")(void)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a>(* <a class="el" href="struct_p_p_b___core__1__0.html#abae0871b4efc729f4658c37543242857">PPB_Core::GetTime</a>)(void)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___core__1__0.html#abae0871b4efc729f4658c37543242857" title='GetTime() returns the "wall clock time" according to the browser.'>GetTime()</a> returns the "wall clock time" according to the browser. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Time</code> containing the "wall clock time" according to the browser. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ad6b66e732c6a592605b7b83c7bddd97d"></a><!-- doxytag: member="PPB_Core::GetTimeTicks" ref="ad6b66e732c6a592605b7b83c7bddd97d" args=")(void)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#ga71cb1042cdeb38d7881b121f3b09ce94">PP_TimeTicks</a>(* <a class="el" href="struct_p_p_b___core__1__0.html#ad6b66e732c6a592605b7b83c7bddd97d">PPB_Core::GetTimeTicks</a>)(void)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___core__1__0.html#ad6b66e732c6a592605b7b83c7bddd97d" title='GetTimeTicks() returns the "tick time" according to the browser.'>GetTimeTicks()</a> returns the "tick time" according to the browser. </p>
+<p>This clock is used by the browser when passing some event times to the module (e.g. using the <code>PP_InputEvent::time_stamp_seconds</code> field). It is not correlated to any actual wall clock time (like <a class="el" href="struct_p_p_b___core__1__0.html#abae0871b4efc729f4658c37543242857" title='GetTime() returns the "wall clock time" according to the browser.'>GetTime()</a>). Because of this, it will not run change if the user changes their computer clock.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_TimeTicks</code> containing the "tick time" according to the browser. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2f784682b530b66ed3de692154298e17"></a><!-- doxytag: member="PPB_Core::IsMainThread" ref="a2f784682b530b66ed3de692154298e17" args=")(void)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___core__1__0.html#a2f784682b530b66ed3de692154298e17">PPB_Core::IsMainThread</a>)(void)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___core__1__0.html#a2f784682b530b66ed3de692154298e17" title="IsMainThread() returns true if the current thread is the main pepper thread.">IsMainThread()</a> returns true if the current thread is the main pepper thread. </p>
+<p>This function is useful for implementing sanity checks, and deciding if dispatching using <a class="el" href="struct_p_p_b___core__1__0.html#ad23da4428f462f9f387bab423e93d1f4" title="CallOnMainThread() schedules work to be executed on the main module thread after the specified delay...">CallOnMainThread()</a> is required.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> containing <code>PP_TRUE</code> if the current thread is the main pepper thread, otherwise <code>PP_FALSE</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="af3163aefc33071af39cd085a0a2d44fe"></a><!-- doxytag: member="PPB_Core::ReleaseResource" ref="af3163aefc33071af39cd085a0a2d44fe" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___core__1__0.html#af3163aefc33071af39cd085a0a2d44fe">PPB_Core::ReleaseResource</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___core__1__0.html#af3163aefc33071af39cd085a0a2d44fe" title="ReleaseResource() removes a reference from a resource.">ReleaseResource()</a> removes a reference from a resource. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">config</td><td>A <code>PP_Resource</code> corresponding to a resource. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="ppb__core_8h.html">ppb_core.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___file_i_o__1__1.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___file_i_o__1__1.html
new file mode 100644
index 0000000..e3c9ac7
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___file_i_o__1__1.html
@@ -0,0 +1,284 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_FileIO Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_FileIO" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_i_o__1__1.html#aedb8773ba67e4c2a1ed3f3a249bb5e30">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_i_o__1__1.html#a09429d1ccad3a300cdc459f2ae4816e7">IsFileIO</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_i_o__1__1.html#a860b24adbb67188de3fd66db44ff961e">Open</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_io, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref, int32_t open_flags, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_i_o__1__1.html#acf7c4d3f2712e5aa436b2ac1588ada02">Query</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_io, struct <a class="el" href="struct_p_p___file_info.html">PP_FileInfo</a> *info, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_i_o__1__1.html#a9f680131d9df0129d79492eb1b41edfc">Touch</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_io, <a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a> last_access_time, <a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a> last_modified_time, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_i_o__1__1.html#ad9295a1eb59a2b31df2e522ec7794f0d">Read</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_io, int64_t offset, char *buffer, int32_t bytes_to_read, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_i_o__1__1.html#a4cbaeff3318200d3913127553ad90aad">Write</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_io, int64_t offset, const char *buffer, int32_t bytes_to_write, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_i_o__1__1.html#aea6686b51ee5a9ef40c2442a7faa652f">SetLength</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_io, int64_t length, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_i_o__1__1.html#acf97d8e09d27253b6eb0b9ca9e7b20b1">Flush</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_io, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_i_o__1__1.html#af321f0590ecd269b728106235e260e26">Close</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_io)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_i_o__1__1.html#a85f0de223c9011c79df5b063ecd4a89f">ReadToArray</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_io, int64_t offset, int32_t max_read_length, struct <a class="el" href="struct_p_p___array_output.html">PP_ArrayOutput</a> *output, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_FileIO</code> struct is used to operate on a regular file (PP_FileType_Regular). </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="af321f0590ecd269b728106235e260e26"></a><!-- doxytag: member="PPB_FileIO::Close" ref="af321f0590ecd269b728106235e260e26" args=")(PP_Resource file_io)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___file_i_o__1__1.html#af321f0590ecd269b728106235e260e26">PPB_FileIO::Close</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_io)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_i_o__1__1.html#af321f0590ecd269b728106235e260e26" title="Close() cancels any IO that may be pending, and closes the FileIO object.">Close()</a> cancels any IO that may be pending, and closes the FileIO object. </p>
+<p>Any pending callbacks will still run, reporting <code>PP_ERROR_ABORTED</code> if pending IO was interrupted. It is not valid to call <a class="el" href="struct_p_p_b___file_i_o__1__1.html#a860b24adbb67188de3fd66db44ff961e" title="Open() opens the specified regular file for I/O according to the given open flags, which is a bit-mask of the PP_FileOpenFlags values.">Open()</a> again after a call to this method. <b>Note:</b> If the FileIO object is destroyed, and it is still open, then it will be implicitly closed, so you are not required to call <a class="el" href="struct_p_p_b___file_i_o__1__1.html#af321f0590ecd269b728106235e260e26" title="Close() cancels any IO that may be pending, and closes the FileIO object.">Close()</a>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_io</td><td>A <code>PP_Resource</code> corresponding to a file FileIO. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="aedb8773ba67e4c2a1ed3f3a249bb5e30"></a><!-- doxytag: member="PPB_FileIO::Create" ref="aedb8773ba67e4c2a1ed3f3a249bb5e30" args=")(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___file_i_o__1__1.html#aedb8773ba67e4c2a1ed3f3a249bb5e30">PPB_FileIO::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_i_o__1__1.html#aedb8773ba67e4c2a1ed3f3a249bb5e30" title="Create() creates a new FileIO object.">Create()</a> creates a new FileIO object. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying the instance with the file.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> corresponding to a FileIO if successful or 0 if the module is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="acf97d8e09d27253b6eb0b9ca9e7b20b1"></a><!-- doxytag: member="PPB_FileIO::Flush" ref="acf97d8e09d27253b6eb0b9ca9e7b20b1" args=")(PP_Resource file_io, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___file_i_o__1__1.html#acf97d8e09d27253b6eb0b9ca9e7b20b1">PPB_FileIO::Flush</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_io, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_i_o__1__1.html#acf97d8e09d27253b6eb0b9ca9e7b20b1" title="Flush() flushes changes to disk.">Flush()</a> flushes changes to disk. </p>
+<p>This call can be very expensive! The FileIO object must have been opened with write access and there must be no other operations pending.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_io</td><td>A <code>PP_Resource</code> corresponding to a file FileIO. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion of <a class="el" href="struct_p_p_b___file_i_o__1__1.html#acf97d8e09d27253b6eb0b9ca9e7b20b1" title="Flush() flushes changes to disk.">Flush()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. PP_ERROR_FAILED will be returned if the file isn't opened, and PP_ERROR_INPROGRESS will be returned if there is another operation pending. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a09429d1ccad3a300cdc459f2ae4816e7"></a><!-- doxytag: member="PPB_FileIO::IsFileIO" ref="a09429d1ccad3a300cdc459f2ae4816e7" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___file_i_o__1__1.html#a09429d1ccad3a300cdc459f2ae4816e7">PPB_FileIO::IsFileIO</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_i_o__1__1.html#a09429d1ccad3a300cdc459f2ae4816e7" title="IsFileIO() determines if the provided resource is a FileIO.">IsFileIO()</a> determines if the provided resource is a FileIO. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a FileIO.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the resource is a <code>PPB_FileIO</code>, <code>PP_FALSE</code> if the resource is invalid or some type other than <code>PPB_FileIO</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a860b24adbb67188de3fd66db44ff961e"></a><!-- doxytag: member="PPB_FileIO::Open" ref="a860b24adbb67188de3fd66db44ff961e" args=")(PP_Resource file_io, PP_Resource file_ref, int32_t open_flags, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___file_i_o__1__1.html#a860b24adbb67188de3fd66db44ff961e">PPB_FileIO::Open</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_io, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref, int32_t open_flags, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_i_o__1__1.html#a860b24adbb67188de3fd66db44ff961e" title="Open() opens the specified regular file for I/O according to the given open flags, which is a bit-mask of the PP_FileOpenFlags values.">Open()</a> opens the specified regular file for I/O according to the given open flags, which is a bit-mask of the <code>PP_FileOpenFlags</code> values. </p>
+<p>Upon success, the corresponding file is classified as "in use" by this FileIO object until such time as the FileIO object is closed or destroyed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_io</td><td>A <code>PP_Resource</code> corresponding to a FileIO. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">file_ref</td><td>A <code>PP_Resource</code> corresponding to a file reference. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">open_flags</td><td>A bit-mask of the <code>PP_FileOpenFlags</code> values. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion of <a class="el" href="struct_p_p_b___file_i_o__1__1.html#a860b24adbb67188de3fd66db44ff961e" title="Open() opens the specified regular file for I/O according to the given open flags, which is a bit-mask of the PP_FileOpenFlags values.">Open()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="acf7c4d3f2712e5aa436b2ac1588ada02"></a><!-- doxytag: member="PPB_FileIO::Query" ref="acf7c4d3f2712e5aa436b2ac1588ada02" args=")(PP_Resource file_io, struct PP_FileInfo *info, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___file_i_o__1__1.html#acf7c4d3f2712e5aa436b2ac1588ada02">PPB_FileIO::Query</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_io, struct <a class="el" href="struct_p_p___file_info.html">PP_FileInfo</a> *info, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_i_o__1__1.html#acf7c4d3f2712e5aa436b2ac1588ada02" title="Query() queries info about the file opened by this FileIO object.">Query()</a> queries info about the file opened by this FileIO object. </p>
+<p>The FileIO object must be opened, and there must be no other operations pending.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_io</td><td>A <code>PP_Resource</code> corresponding to a FileIO. </td></tr>
+<tr><td class="paramdir">[out]</td><td class="paramname">info</td><td>The <code><a class="el" href="struct_p_p___file_info.html" title="The PP_FileInfo struct represents all information about a file, such as size, type, and creation time.">PP_FileInfo</a></code> structure representing all information about the file. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion of <a class="el" href="struct_p_p_b___file_i_o__1__1.html#acf7c4d3f2712e5aa436b2ac1588ada02" title="Query() queries info about the file opened by this FileIO object.">Query()</a>. <code>info</code> must remain valid until after the callback runs. If you pass a blocking callback, <code>info</code> must remain valid until after <a class="el" href="struct_p_p_b___file_i_o__1__1.html#acf7c4d3f2712e5aa436b2ac1588ada02" title="Query() queries info about the file opened by this FileIO object.">Query()</a> returns.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. PP_ERROR_FAILED will be returned if the file isn't opened, and PP_ERROR_INPROGRESS will be returned if there is another operation pending. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ad9295a1eb59a2b31df2e522ec7794f0d"></a><!-- doxytag: member="PPB_FileIO::Read" ref="ad9295a1eb59a2b31df2e522ec7794f0d" args=")(PP_Resource file_io, int64_t offset, char *buffer, int32_t bytes_to_read, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___file_i_o__1__1.html#ad9295a1eb59a2b31df2e522ec7794f0d">PPB_FileIO::Read</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_io, int64_t offset, char *buffer, int32_t bytes_to_read, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_i_o__1__1.html#ad9295a1eb59a2b31df2e522ec7794f0d" title="Read() reads from an offset in the file.">Read()</a> reads from an offset in the file. </p>
+<p>The size of the buffer must be large enough to hold the specified number of bytes to read. This function might perform a partial read, meaning all the requested bytes might not be returned, even if the end of the file has not been reached. The FileIO object must have been opened with read access.</p>
+<p><a class="el" href="struct_p_p_b___file_i_o__1__1.html#a85f0de223c9011c79df5b063ecd4a89f" title="ReadToArray() reads from an offset in the file.">ReadToArray()</a> is preferred to <a class="el" href="struct_p_p_b___file_i_o__1__1.html#ad9295a1eb59a2b31df2e522ec7794f0d" title="Read() reads from an offset in the file.">Read()</a> when doing asynchronous operations.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_io</td><td>A <code>PP_Resource</code> corresponding to a file FileIO. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">offset</td><td>The offset into the file. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">buffer</td><td>The buffer to hold the specified number of bytes read. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">bytes_to_read</td><td>The number of bytes to read from <code>offset</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion of <a class="el" href="struct_p_p_b___file_i_o__1__1.html#ad9295a1eb59a2b31df2e522ec7794f0d" title="Read() reads from an offset in the file.">Read()</a>. <code>buffer</code> must remain valid until after the callback runs. If you pass a blocking callback, <code>buffer</code> must remain valid until after <a class="el" href="struct_p_p_b___file_i_o__1__1.html#ad9295a1eb59a2b31df2e522ec7794f0d" title="Read() reads from an offset in the file.">Read()</a> returns.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The number of bytes read or an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. If the return value is 0, then end-of-file was reached. It is valid to call <a class="el" href="struct_p_p_b___file_i_o__1__1.html#ad9295a1eb59a2b31df2e522ec7794f0d" title="Read() reads from an offset in the file.">Read()</a> multiple times with a completion callback to queue up parallel reads from the file, but pending reads cannot be interleaved with other operations. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a85f0de223c9011c79df5b063ecd4a89f"></a><!-- doxytag: member="PPB_FileIO::ReadToArray" ref="a85f0de223c9011c79df5b063ecd4a89f" args=")(PP_Resource file_io, int64_t offset, int32_t max_read_length, struct PP_ArrayOutput *output, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___file_i_o__1__1.html#a85f0de223c9011c79df5b063ecd4a89f">PPB_FileIO::ReadToArray</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_io, int64_t offset, int32_t max_read_length, struct <a class="el" href="struct_p_p___array_output.html">PP_ArrayOutput</a> *output, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_i_o__1__1.html#a85f0de223c9011c79df5b063ecd4a89f" title="ReadToArray() reads from an offset in the file.">ReadToArray()</a> reads from an offset in the file. </p>
+<p>A <a class="el" href="struct_p_p___array_output.html" title="A structure that defines a way for the browser to return arrays of data to the plugin.">PP_ArrayOutput</a> must be provided so that output will be stored in its allocated buffer. This function might perform a partial read. The FileIO object must have been opened with read access.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_io</td><td>A <code>PP_Resource</code> corresponding to a file FileIO. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">offset</td><td>The offset into the file. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">max_read_length</td><td>The maximum number of bytes to read from <code>offset</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">output</td><td>A <code><a class="el" href="struct_p_p___array_output.html" title="A structure that defines a way for the browser to return arrays of data to the plugin.">PP_ArrayOutput</a></code> to hold the output data. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion of <a class="el" href="struct_p_p_b___file_i_o__1__1.html#a85f0de223c9011c79df5b063ecd4a89f" title="ReadToArray() reads from an offset in the file.">ReadToArray()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The number of bytes read or an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. If the return value is 0, then end-of-file was reached. It is valid to call <a class="el" href="struct_p_p_b___file_i_o__1__1.html#a85f0de223c9011c79df5b063ecd4a89f" title="ReadToArray() reads from an offset in the file.">ReadToArray()</a> multiple times with a completion callback to queue up parallel reads from the file, but pending reads cannot be interleaved with other operations. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aea6686b51ee5a9ef40c2442a7faa652f"></a><!-- doxytag: member="PPB_FileIO::SetLength" ref="aea6686b51ee5a9ef40c2442a7faa652f" args=")(PP_Resource file_io, int64_t length, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___file_i_o__1__1.html#aea6686b51ee5a9ef40c2442a7faa652f">PPB_FileIO::SetLength</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_io, int64_t length, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_i_o__1__1.html#aea6686b51ee5a9ef40c2442a7faa652f" title="SetLength() sets the length of the file.">SetLength()</a> sets the length of the file. </p>
+<p>If the file size is extended, then the extended area of the file is zero-filled. The FileIO object must have been opened with write access and there must be no other operations pending.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_io</td><td>A <code>PP_Resource</code> corresponding to a file FileIO. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>The length of the file to be set. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion of <a class="el" href="struct_p_p_b___file_i_o__1__1.html#aea6686b51ee5a9ef40c2442a7faa652f" title="SetLength() sets the length of the file.">SetLength()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. PP_ERROR_FAILED will be returned if the file isn't opened, and PP_ERROR_INPROGRESS will be returned if there is another operation pending. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a9f680131d9df0129d79492eb1b41edfc"></a><!-- doxytag: member="PPB_FileIO::Touch" ref="a9f680131d9df0129d79492eb1b41edfc" args=")(PP_Resource file_io, PP_Time last_access_time, PP_Time last_modified_time, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___file_i_o__1__1.html#a9f680131d9df0129d79492eb1b41edfc">PPB_FileIO::Touch</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_io, <a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a> last_access_time, <a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a> last_modified_time, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_i_o__1__1.html#a9f680131d9df0129d79492eb1b41edfc" title="Touch() Updates time stamps for the file opened by this FileIO object.">Touch()</a> Updates time stamps for the file opened by this FileIO object. </p>
+<p>This function will fail if the FileIO object has not been opened. The FileIO object must be opened, and there must be no other operations pending.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_io</td><td>A <code>PP_Resource</code> corresponding to a file FileIO. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">last_access_time</td><td>The last time the FileIO was accessed. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">last_modified_time</td><td>The last time the FileIO was modified. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion of <a class="el" href="struct_p_p_b___file_i_o__1__1.html#a9f680131d9df0129d79492eb1b41edfc" title="Touch() Updates time stamps for the file opened by this FileIO object.">Touch()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. PP_ERROR_FAILED will be returned if the file isn't opened, and PP_ERROR_INPROGRESS will be returned if there is another operation pending. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a4cbaeff3318200d3913127553ad90aad"></a><!-- doxytag: member="PPB_FileIO::Write" ref="a4cbaeff3318200d3913127553ad90aad" args=")(PP_Resource file_io, int64_t offset, const char *buffer, int32_t bytes_to_write, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___file_i_o__1__1.html#a4cbaeff3318200d3913127553ad90aad">PPB_FileIO::Write</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_io, int64_t offset, const char *buffer, int32_t bytes_to_write, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_i_o__1__1.html#a4cbaeff3318200d3913127553ad90aad" title="Write() writes to an offset in the file.">Write()</a> writes to an offset in the file. </p>
+<p>This function might perform a partial write. The FileIO object must have been opened with write access.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_io</td><td>A <code>PP_Resource</code> corresponding to a file FileIO. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">offset</td><td>The offset into the file. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">buffer</td><td>The buffer to hold the specified number of bytes read. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">bytes_to_write</td><td>The number of bytes to write to <code>offset</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion of <a class="el" href="struct_p_p_b___file_i_o__1__1.html#a4cbaeff3318200d3913127553ad90aad" title="Write() writes to an offset in the file.">Write()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The number of bytes written or an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. If the return value is 0, then end-of-file was reached. It is valid to call <a class="el" href="struct_p_p_b___file_i_o__1__1.html#a4cbaeff3318200d3913127553ad90aad" title="Write() writes to an offset in the file.">Write()</a> multiple times with a completion callback to queue up parallel writes to the file, but pending writes cannot be interleaved with other operations. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="ppb__file__io_8h.html">ppb_file_io.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___file_ref__1__1.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___file_ref__1__1.html
new file mode 100644
index 0000000..ca13a5e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___file_ref__1__1.html
@@ -0,0 +1,293 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_FileRef Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_FileRef" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_ref__1__1.html#a1a0c44abc2871da16a90981c43868779">Create</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_system, const char *path)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_ref__1__1.html#ae998d21192bd40cace066525b9c3e9c6">IsFileRef</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga87b353f2ec8935c9c3294daff612c145">PP_FileSystemType</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_ref__1__1.html#a128273a294c91f89c7fdf28fa1e5bfd4">GetFileSystemType</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_ref__1__1.html#a9e3287e2ff3c3bd0c98d862331208946">GetName</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_ref__1__1.html#acfdb265af3374482f5001bbcb5cdc72b">GetPath</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_ref__1__1.html#adf4183623ba385624897c5e00bbd566e">GetParent</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_ref__1__1.html#a394ba9ea353c5c3e8d67aa6b3c4cfffc">MakeDirectory</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> directory_ref, <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> make_ancestors, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_ref__1__1.html#aaf322e4e78cf8d831517e1d8cf103753">Touch</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref, <a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a> last_access_time, <a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a> last_modified_time, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_ref__1__1.html#ab4e0802884972c2703575256705e5d5c">Delete</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_ref__1__1.html#a0366164d2c3161ad9e6c307b054e6893">Rename</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> new_file_ref, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_ref__1__1.html#ab03ff579771224526c6ff10ae79cdd5a">Query</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref, struct <a class="el" href="struct_p_p___file_info.html">PP_FileInfo</a> *info, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_ref__1__1.html#a57ae7af1f217a56d9bae1a120de94ea7">ReadDirectoryEntries</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref, struct <a class="el" href="struct_p_p___array_output.html">PP_ArrayOutput</a> output, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_FileRef</code> struct represents a "weak pointer" to a file in a file system. </p>
+<p>This struct contains a <code>PP_FileSystemType</code> identifier and a file path string. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a1a0c44abc2871da16a90981c43868779"></a><!-- doxytag: member="PPB_FileRef::Create" ref="a1a0c44abc2871da16a90981c43868779" args=")(PP_Resource file_system, const char *path)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___file_ref__1__1.html#a1a0c44abc2871da16a90981c43868779">PPB_FileRef::Create</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_system, const char *path)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_ref__1__1.html#a1a0c44abc2871da16a90981c43868779" title="Create() creates a weak pointer to a file in the given file system.">Create()</a> creates a weak pointer to a file in the given file system. </p>
+<p>File paths are POSIX style.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a file system. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">path</td><td>A path to the file. Must begin with a '/' character.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> corresponding to a file reference if successful or 0 if the path is malformed. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab4e0802884972c2703575256705e5d5c"></a><!-- doxytag: member="PPB_FileRef::Delete" ref="ab4e0802884972c2703575256705e5d5c" args=")(PP_Resource file_ref, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___file_ref__1__1.html#ab4e0802884972c2703575256705e5d5c">PPB_FileRef::Delete</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_ref__1__1.html#ab4e0802884972c2703575256705e5d5c" title="Delete() deletes a file or directory.">Delete()</a> deletes a file or directory. </p>
+<p>If <code>file_ref</code> refers to a directory, then the directory must be empty. It is an error to delete a file or directory that is in use. It is not valid to delete a file in the external file system.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_ref</td><td>A <code>PP_Resource</code> corresponding to a file reference. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion of <a class="el" href="struct_p_p_b___file_ref__1__1.html#ab4e0802884972c2703575256705e5d5c" title="Delete() deletes a file or directory.">Delete()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a128273a294c91f89c7fdf28fa1e5bfd4"></a><!-- doxytag: member="PPB_FileRef::GetFileSystemType" ref="a128273a294c91f89c7fdf28fa1e5bfd4" args=")(PP_Resource file_ref)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga87b353f2ec8935c9c3294daff612c145">PP_FileSystemType</a>(* <a class="el" href="struct_p_p_b___file_ref__1__1.html#a128273a294c91f89c7fdf28fa1e5bfd4">PPB_FileRef::GetFileSystemType</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_ref__1__1.html#a128273a294c91f89c7fdf28fa1e5bfd4" title="GetFileSystemType() returns the type of the file system.">GetFileSystemType()</a> returns the type of the file system. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_ref</td><td>A <code>PP_Resource</code> corresponding to a file reference.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_FileSystemType</code> with the file system type if valid or <code>PP_FILESYSTEMTYPE_INVALID</code> if the provided resource is not a valid file reference. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a9e3287e2ff3c3bd0c98d862331208946"></a><!-- doxytag: member="PPB_FileRef::GetName" ref="a9e3287e2ff3c3bd0c98d862331208946" args=")(PP_Resource file_ref)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___file_ref__1__1.html#a9e3287e2ff3c3bd0c98d862331208946">PPB_FileRef::GetName</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_ref__1__1.html#a9e3287e2ff3c3bd0c98d862331208946" title="GetName() returns the name of the file.">GetName()</a> returns the name of the file. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_ref</td><td>A <code>PP_Resource</code> corresponding to a file reference.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> containing the name of the file. The value returned by this function does not include any path components (such as the name of the parent directory, for example). It is just the name of the file. Use <a class="el" href="struct_p_p_b___file_ref__1__1.html#acfdb265af3374482f5001bbcb5cdc72b" title="GetPath() returns the absolute path of the file.">GetPath()</a> to get the full file path. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="adf4183623ba385624897c5e00bbd566e"></a><!-- doxytag: member="PPB_FileRef::GetParent" ref="adf4183623ba385624897c5e00bbd566e" args=")(PP_Resource file_ref)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___file_ref__1__1.html#adf4183623ba385624897c5e00bbd566e">PPB_FileRef::GetParent</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_ref__1__1.html#adf4183623ba385624897c5e00bbd566e" title="GetParent() returns the parent directory of this file.">GetParent()</a> returns the parent directory of this file. </p>
+<p>If <code>file_ref</code> points to the root of the filesystem, then the root is returned.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_ref</td><td>A <code>PP_Resource</code> corresponding to a file reference.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> containing the parent directory of the file. This function fails if the file system type is <code>PP_FileSystemType_External</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="acfdb265af3374482f5001bbcb5cdc72b"></a><!-- doxytag: member="PPB_FileRef::GetPath" ref="acfdb265af3374482f5001bbcb5cdc72b" args=")(PP_Resource file_ref)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___file_ref__1__1.html#acfdb265af3374482f5001bbcb5cdc72b">PPB_FileRef::GetPath</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_ref__1__1.html#acfdb265af3374482f5001bbcb5cdc72b" title="GetPath() returns the absolute path of the file.">GetPath()</a> returns the absolute path of the file. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_ref</td><td>A <code>PP_Resource</code> corresponding to a file reference.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> containing the absolute path of the file. This function fails if the file system type is <code>PP_FileSystemType_External</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ae998d21192bd40cace066525b9c3e9c6"></a><!-- doxytag: member="PPB_FileRef::IsFileRef" ref="ae998d21192bd40cace066525b9c3e9c6" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___file_ref__1__1.html#ae998d21192bd40cace066525b9c3e9c6">PPB_FileRef::IsFileRef</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_ref__1__1.html#ae998d21192bd40cace066525b9c3e9c6" title="IsFileRef() determines if the provided resource is a file reference.">IsFileRef()</a> determines if the provided resource is a file reference. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a file reference.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the resource is a <code>PPB_FileRef</code>, <code>PP_FALSE</code> if the resource is invalid or some type other than <code>PPB_FileRef</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a394ba9ea353c5c3e8d67aa6b3c4cfffc"></a><!-- doxytag: member="PPB_FileRef::MakeDirectory" ref="a394ba9ea353c5c3e8d67aa6b3c4cfffc" args=")(PP_Resource directory_ref, PP_Bool make_ancestors, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___file_ref__1__1.html#a394ba9ea353c5c3e8d67aa6b3c4cfffc">PPB_FileRef::MakeDirectory</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> directory_ref, <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> make_ancestors, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_ref__1__1.html#a394ba9ea353c5c3e8d67aa6b3c4cfffc" title="MakeDirectory() makes a new directory in the file system as well as any parent directories if the mak...">MakeDirectory()</a> makes a new directory in the file system as well as any parent directories if the <code>make_ancestors</code> argument is <code>PP_TRUE</code>. </p>
+<p>It is not valid to make a directory in the external file system.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_ref</td><td>A <code>PP_Resource</code> corresponding to a file reference. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">make_ancestors</td><td>A <code>PP_Bool</code> set to <code>PP_TRUE</code> to make ancestor directories or <code>PP_FALSE</code> if ancestor directories are not needed.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. Succeeds if the directory already exists. Fails if ancestor directories do not exist and <code>make_ancestors</code> was passed as <code>PP_FALSE</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab03ff579771224526c6ff10ae79cdd5a"></a><!-- doxytag: member="PPB_FileRef::Query" ref="ab03ff579771224526c6ff10ae79cdd5a" args=")(PP_Resource file_ref, struct PP_FileInfo *info, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___file_ref__1__1.html#ab03ff579771224526c6ff10ae79cdd5a">PPB_FileRef::Query</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref, struct <a class="el" href="struct_p_p___file_info.html">PP_FileInfo</a> *info, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_ref__1__1.html#ab03ff579771224526c6ff10ae79cdd5a" title="Query() queries info about a file or directory.">Query()</a> queries info about a file or directory. </p>
+<p>You must have access to read this file or directory if it exists in the external filesystem.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_ref</td><td>A <code>PP_Resource</code> corresponding to a file reference. </td></tr>
+<tr><td class="paramdir">[out]</td><td class="paramname">info</td><td>A pointer to a <code><a class="el" href="struct_p_p___file_info.html" title="The PP_FileInfo struct represents all information about a file, such as size, type, and creation time.">PP_FileInfo</a></code> which will be populated with information about the file or directory. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion of <a class="el" href="struct_p_p_b___file_ref__1__1.html#ab03ff579771224526c6ff10ae79cdd5a" title="Query() queries info about a file or directory.">Query()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a57ae7af1f217a56d9bae1a120de94ea7"></a><!-- doxytag: member="PPB_FileRef::ReadDirectoryEntries" ref="a57ae7af1f217a56d9bae1a120de94ea7" args=")(PP_Resource file_ref, struct PP_ArrayOutput output, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___file_ref__1__1.html#a57ae7af1f217a56d9bae1a120de94ea7">PPB_FileRef::ReadDirectoryEntries</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref, struct <a class="el" href="struct_p_p___array_output.html">PP_ArrayOutput</a> output, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_ref__1__1.html#a57ae7af1f217a56d9bae1a120de94ea7" title="ReadDirectoryEntries() reads all entries in a directory.">ReadDirectoryEntries()</a> reads all entries in a directory. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_ref</td><td>A <code>PP_Resource</code> corresponding to a directory reference. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">output</td><td>An output array which will receive <code><a class="el" href="struct_p_p___directory_entry.html">PP_DirectoryEntry</a></code> objects on success. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to run on completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a0366164d2c3161ad9e6c307b054e6893"></a><!-- doxytag: member="PPB_FileRef::Rename" ref="a0366164d2c3161ad9e6c307b054e6893" args=")(PP_Resource file_ref, PP_Resource new_file_ref, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___file_ref__1__1.html#a0366164d2c3161ad9e6c307b054e6893">PPB_FileRef::Rename</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> new_file_ref, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_ref__1__1.html#a0366164d2c3161ad9e6c307b054e6893" title="Rename() renames a file or directory.">Rename()</a> renames a file or directory. </p>
+<p>Arguments <code>file_ref</code> and <code>new_file_ref</code> must both refer to files in the same file system. It is an error to rename a file or directory that is in use. It is not valid to rename a file in the external file system.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_ref</td><td>A <code>PP_Resource</code> corresponding to a file reference. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">new_file_ref</td><td>A <code>PP_Resource</code> corresponding to a new file reference. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion of <a class="el" href="struct_p_p_b___file_ref__1__1.html#a0366164d2c3161ad9e6c307b054e6893" title="Rename() renames a file or directory.">Rename()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aaf322e4e78cf8d831517e1d8cf103753"></a><!-- doxytag: member="PPB_FileRef::Touch" ref="aaf322e4e78cf8d831517e1d8cf103753" args=")(PP_Resource file_ref, PP_Time last_access_time, PP_Time last_modified_time, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___file_ref__1__1.html#aaf322e4e78cf8d831517e1d8cf103753">PPB_FileRef::Touch</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref, <a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a> last_access_time, <a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a> last_modified_time, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_ref__1__1.html#aaf322e4e78cf8d831517e1d8cf103753" title="Touch() Updates time stamps for a file.">Touch()</a> Updates time stamps for a file. </p>
+<p>You must have write access to the file if it exists in the external filesystem.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_ref</td><td>A <code>PP_Resource</code> corresponding to a file reference. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">last_access_time</td><td>The last time the file was accessed. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">last_modified_time</td><td>The last time the file was modified. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion of <a class="el" href="struct_p_p_b___file_ref__1__1.html#aaf322e4e78cf8d831517e1d8cf103753" title="Touch() Updates time stamps for a file.">Touch()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="ppb__file__ref_8h.html">ppb_file_ref.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___file_system__1__0.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___file_system__1__0.html
new file mode 100644
index 0000000..38bfb06
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___file_system__1__0.html
@@ -0,0 +1,109 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_FileSystem Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_FileSystem" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_system__1__0.html#a14946dd216cfe9cf786b2c1442588083">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#ga87b353f2ec8935c9c3294daff612c145">PP_FileSystemType</a> type)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_system__1__0.html#a4d65860ba1d916f2488bab25e89d2dba">IsFileSystem</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_system__1__0.html#a9add9cdffaa742c8d19c33a73bca9e3a">Open</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_system, int64_t expected_size, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga87b353f2ec8935c9c3294daff612c145">PP_FileSystemType</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___file_system__1__0.html#a59a9fed00deae5bfbc9480184232ab68">GetType</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_system)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_FileSystem</code> struct identifies the file system type associated with a file. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a14946dd216cfe9cf786b2c1442588083"></a><!-- doxytag: member="PPB_FileSystem::Create" ref="a14946dd216cfe9cf786b2c1442588083" args=")(PP_Instance instance, PP_FileSystemType type)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___file_system__1__0.html#a14946dd216cfe9cf786b2c1442588083">PPB_FileSystem::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#ga87b353f2ec8935c9c3294daff612c145">PP_FileSystemType</a> type)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_system__1__0.html#a14946dd216cfe9cf786b2c1442588083" title="Create() creates a file system object of the given type.">Create()</a> creates a file system object of the given type. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying the instance with the file. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>A file system type as defined by <code>PP_FileSystemType</code> enum (except PP_FILESYSTEMTYPE_ISOLATED, which is currently not supported). </td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> corresponding to a file system if successful. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a59a9fed00deae5bfbc9480184232ab68"></a><!-- doxytag: member="PPB_FileSystem::GetType" ref="a59a9fed00deae5bfbc9480184232ab68" args=")(PP_Resource file_system)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga87b353f2ec8935c9c3294daff612c145">PP_FileSystemType</a>(* <a class="el" href="struct_p_p_b___file_system__1__0.html#a59a9fed00deae5bfbc9480184232ab68">PPB_FileSystem::GetType</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_system)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_system__1__0.html#a59a9fed00deae5bfbc9480184232ab68" title="GetType() returns the type of the provided file system.">GetType()</a> returns the type of the provided file system. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_system</td><td>A <code>PP_Resource</code> corresponding to a file system.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_FileSystemType</code> with the file system type if valid or <code>PP_FILESYSTEMTYPE_INVALID</code> if the provided resource is not a valid file system. It is valid to call this function even before <a class="el" href="struct_p_p_b___file_system__1__0.html#a9add9cdffaa742c8d19c33a73bca9e3a" title="Open() opens the file system.">Open()</a> completes. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a4d65860ba1d916f2488bab25e89d2dba"></a><!-- doxytag: member="PPB_FileSystem::IsFileSystem" ref="a4d65860ba1d916f2488bab25e89d2dba" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___file_system__1__0.html#a4d65860ba1d916f2488bab25e89d2dba">PPB_FileSystem::IsFileSystem</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_system__1__0.html#a4d65860ba1d916f2488bab25e89d2dba" title="IsFileSystem() determines if the provided resource is a file system.">IsFileSystem()</a> determines if the provided resource is a file system. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a file system.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the resource is a <code>PPB_FileSystem</code>, <code>PP_FALSE</code> if the resource is invalid or some type other than <code>PPB_FileSystem</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a9add9cdffaa742c8d19c33a73bca9e3a"></a><!-- doxytag: member="PPB_FileSystem::Open" ref="a9add9cdffaa742c8d19c33a73bca9e3a" args=")(PP_Resource file_system, int64_t expected_size, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___file_system__1__0.html#a9add9cdffaa742c8d19c33a73bca9e3a">PPB_FileSystem::Open</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_system, int64_t expected_size, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___file_system__1__0.html#a9add9cdffaa742c8d19c33a73bca9e3a" title="Open() opens the file system.">Open()</a> opens the file system. </p>
+<p>A file system must be opened before running any other operation on it.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_system</td><td>A <code>PP_Resource</code> corresponding to a file system.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">expected_size</td><td>The expected size of the file system. Note that this does not request quota; to do that, you must either invoke requestQuota from JavaScript: <a href="http://www.html5rocks.com/en/tutorials/file/filesystem/#toc-requesting-quota">http://www.html5rocks.com/en/tutorials/file/filesystem/#toc-requesting-quota</a> or set the unlimitedStorage permission for Chrome Web Store apps: <a href="http://code.google.com/chrome/extensions/manifest.html#permissions">http://code.google.com/chrome/extensions/manifest.html#permissions</a></td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion of <a class="el" href="struct_p_p_b___file_system__1__0.html#a9add9cdffaa742c8d19c33a73bca9e3a" title="Open() opens the file system.">Open()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="ppb__file__system_8h.html">ppb_file_system.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___fullscreen__1__0.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___fullscreen__1__0.html
new file mode 100644
index 0000000..45ae3603
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___fullscreen__1__0.html
@@ -0,0 +1,90 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_Fullscreen Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_Fullscreen" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___fullscreen__1__0.html#a8b6a560d3a57b6df9395b5dcf138cd1d">IsFullscreen</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___fullscreen__1__0.html#a1074f98a5800667313de626b0ed8ad27">SetFullscreen</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> fullscreen)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___fullscreen__1__0.html#afc4e416a40c4bf0ed1dd0cae74547c86">GetScreenSize</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, struct <a class="el" href="struct_p_p___size.html">PP_Size</a> *size)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_Fullscreen</code> interface is implemented by the browser. </p>
+<p>This interface provides a way of checking the current screen mode and toggling fullscreen mode. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="afc4e416a40c4bf0ed1dd0cae74547c86"></a><!-- doxytag: member="PPB_Fullscreen::GetScreenSize" ref="afc4e416a40c4bf0ed1dd0cae74547c86" args=")(PP_Instance instance, struct PP_Size *size)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___fullscreen__1__0.html#afc4e416a40c4bf0ed1dd0cae74547c86">PPB_Fullscreen::GetScreenSize</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, struct <a class="el" href="struct_p_p___size.html">PP_Size</a> *size)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___fullscreen__1__0.html#afc4e416a40c4bf0ed1dd0cae74547c86" title="GetScreenSize() gets the size of the screen in pixels.">GetScreenSize()</a> gets the size of the screen in pixels. </p>
+<p>The module instance will be resized to this size when <a class="el" href="struct_p_p_b___fullscreen__1__0.html#a1074f98a5800667313de626b0ed8ad27" title="SetFullscreen() switches the module instance to and from fullscreen mode.">SetFullscreen()</a> is called to enter fullscreen mode.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module. </td></tr>
+<tr><td class="paramdir">[out]</td><td class="paramname">size</td><td>The size of the entire screen in pixels.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> on success or <code>PP_FALSE</code> on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a8b6a560d3a57b6df9395b5dcf138cd1d"></a><!-- doxytag: member="PPB_Fullscreen::IsFullscreen" ref="a8b6a560d3a57b6df9395b5dcf138cd1d" args=")(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___fullscreen__1__0.html#a8b6a560d3a57b6df9395b5dcf138cd1d">PPB_Fullscreen::IsFullscreen</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___fullscreen__1__0.html#a8b6a560d3a57b6df9395b5dcf138cd1d" title="IsFullscreen() checks whether the module instance is currently in fullscreen mode.">IsFullscreen()</a> checks whether the module instance is currently in fullscreen mode. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the module instance is in fullscreen mode, <code>PP_FALSE</code> if the module instance is not in fullscreen mode. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a1074f98a5800667313de626b0ed8ad27"></a><!-- doxytag: member="PPB_Fullscreen::SetFullscreen" ref="a1074f98a5800667313de626b0ed8ad27" args=")(PP_Instance instance, PP_Bool fullscreen)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___fullscreen__1__0.html#a1074f98a5800667313de626b0ed8ad27">PPB_Fullscreen::SetFullscreen</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> fullscreen)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___fullscreen__1__0.html#a1074f98a5800667313de626b0ed8ad27" title="SetFullscreen() switches the module instance to and from fullscreen mode.">SetFullscreen()</a> switches the module instance to and from fullscreen mode. </p>
+<p>The transition to and from fullscreen mode is asynchronous. During the transition, <a class="el" href="struct_p_p_b___fullscreen__1__0.html#a8b6a560d3a57b6df9395b5dcf138cd1d" title="IsFullscreen() checks whether the module instance is currently in fullscreen mode.">IsFullscreen()</a> will return the previous value and no 2D or 3D device can be bound. The transition ends at DidChangeView() when <a class="el" href="struct_p_p_b___fullscreen__1__0.html#a8b6a560d3a57b6df9395b5dcf138cd1d" title="IsFullscreen() checks whether the module instance is currently in fullscreen mode.">IsFullscreen()</a> returns the new value. You might receive other DidChangeView() calls while in transition.</p>
+<p>The transition to fullscreen mode can only occur while the browser is processing a user gesture, even if <code>PP_TRUE</code> is returned.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">fullscreen</td><td><code>PP_TRUE</code> to enter fullscreen mode, or <code>PP_FALSE</code> to exit fullscreen mode.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> on success or <code>PP_FALSE</code> on failure. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="ppb__fullscreen_8h.html">ppb_fullscreen.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___gamepad__1__0.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___gamepad__1__0.html
new file mode 100644
index 0000000..b5d5fea5
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___gamepad__1__0.html
@@ -0,0 +1,35 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_Gamepad Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_Gamepad" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___gamepad__1__0.html#a0245687e881a8bc182f9c0641046277a">Sample</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, struct <a class="el" href="struct_p_p___gamepads_sample_data.html">PP_GamepadsSampleData</a> *data)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_Gamepad</code> interface allows retrieving data from gamepad/joystick devices that are connected to the system. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a0245687e881a8bc182f9c0641046277a"></a><!-- doxytag: member="PPB_Gamepad::Sample" ref="a0245687e881a8bc182f9c0641046277a" args=")(PP_Instance instance, struct PP_GamepadsSampleData *data)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___gamepad__1__0.html#a0245687e881a8bc182f9c0641046277a">PPB_Gamepad::Sample</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, struct <a class="el" href="struct_p_p___gamepads_sample_data.html">PP_GamepadsSampleData</a> *data)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Samples the current state of the available gamepads. </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="ppb__gamepad_8h.html">ppb_gamepad.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___graphics2_d__1__1.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___graphics2_d__1__1.html
new file mode 100644
index 0000000..72025f3
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___graphics2_d__1__1.html
@@ -0,0 +1,235 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_Graphics2D Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_Graphics2D" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a034e6a3df2bccb119a087874e7cf18ed">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, const struct <a class="el" href="struct_p_p___size.html">PP_Size</a> *size, <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> is_always_opaque)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a8d634407f71b52367901e8c807f3bb15">IsGraphics2D</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics2_d__1__1.html#ae9aae546a51e35ee85688e0f80907fc3">Describe</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> graphics_2d, struct <a class="el" href="struct_p_p___size.html">PP_Size</a> *size, <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> *is_always_opaque)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a912e5704c150c4228ee4ec326e7cb1bb">PaintImageData</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> graphics_2d, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> image_data, const struct <a class="el" href="struct_p_p___point.html">PP_Point</a> *top_left, const struct <a class="el" href="struct_p_p___rect.html">PP_Rect</a> *src_rect)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a2242719819a82b11b0e3f71c4a19f461">Scroll</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> graphics_2d, const struct <a class="el" href="struct_p_p___rect.html">PP_Rect</a> *clip_rect, const struct <a class="el" href="struct_p_p___point.html">PP_Point</a> *amount)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics2_d__1__1.html#ae5cfb7616fe383d9fedee88131f4b9ff">ReplaceContents</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> graphics_2d, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> image_data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a46607be26d07e4af31b56ef0791022fa">Flush</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> graphics_2d, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics2_d__1__1.html#ad809f5d73448def11577d54147fa268e">SetScale</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, float scale)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a9e284dc50e55e87c5367e9f081f44045">GetScale</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p><code>PPB_Graphics2D</code> defines the interface for a 2D graphics context. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a034e6a3df2bccb119a087874e7cf18ed"></a><!-- doxytag: member="PPB_Graphics2D::Create" ref="a034e6a3df2bccb119a087874e7cf18ed" args=")(PP_Instance instance, const struct PP_Size *size, PP_Bool is_always_opaque)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a034e6a3df2bccb119a087874e7cf18ed">PPB_Graphics2D::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, const struct <a class="el" href="struct_p_p___size.html">PP_Size</a> *size, <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> is_always_opaque)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a034e6a3df2bccb119a087874e7cf18ed" title="Create() creates a 2D graphics context.">Create()</a> creates a 2D graphics context. </p>
+<p>The returned graphics context will not be bound to the module instance on creation (call BindGraphics() on the module instance to bind the returned graphics context to the module instance).</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The module instance. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>The size of the graphic context. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">is_always_opaque</td><td>Set the <code>is_always_opaque</code> flag to <code>PP_TRUE</code> if you know that you will be painting only opaque data to this context. This option will disable blending when compositing the module with the web page, which might give higher performance on some computers.</td></tr>
+</table>
+</dd>
+</dl>
+<p>If you set <code>is_always_opaque</code>, your alpha channel should always be set to 0xFF or there may be painting artifacts. The alpha values overwrite the destination alpha values without blending when <code>is_always_opaque</code> is true.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> containing the 2D graphics context if successful or 0 if unsuccessful. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ae9aae546a51e35ee85688e0f80907fc3"></a><!-- doxytag: member="PPB_Graphics2D::Describe" ref="ae9aae546a51e35ee85688e0f80907fc3" args=")(PP_Resource graphics_2d, struct PP_Size *size, PP_Bool *is_always_opaque)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___graphics2_d__1__1.html#ae9aae546a51e35ee85688e0f80907fc3">PPB_Graphics2D::Describe</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> graphics_2d, struct <a class="el" href="struct_p_p___size.html">PP_Size</a> *size, <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> *is_always_opaque)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___graphics2_d__1__1.html#ae9aae546a51e35ee85688e0f80907fc3" title="Describe() retrieves the configuration for the given graphics context, filling the given values (whic...">Describe()</a> retrieves the configuration for the given graphics context, filling the given values (which must not be <code>NULL</code>). </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>The 2D Graphics resource. </td></tr>
+<tr><td class="paramdir">[in,out]</td><td class="paramname">size</td><td>The size of the 2D graphics context in the browser. </td></tr>
+<tr><td class="paramdir">[in,out]</td><td class="paramname">is_always_opaque</td><td>Identifies whether only opaque data will be painted.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>PP_TRUE</code> on success or <code>PP_FALSE</code> if the resource is invalid. The output parameters will be set to 0 on a <code>PP_FALSE</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a46607be26d07e4af31b56ef0791022fa"></a><!-- doxytag: member="PPB_Graphics2D::Flush" ref="a46607be26d07e4af31b56ef0791022fa" args=")(PP_Resource graphics_2d, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a46607be26d07e4af31b56ef0791022fa">PPB_Graphics2D::Flush</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> graphics_2d, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a46607be26d07e4af31b56ef0791022fa" title="Flush() flushes any enqueued paint, scroll, and replace commands to the backing store.">Flush()</a> flushes any enqueued paint, scroll, and replace commands to the backing store. </p>
+<p>This function actually executes the updates, and causes a repaint of the webpage, assuming this graphics context is bound to a module instance.</p>
+<p><a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a46607be26d07e4af31b56ef0791022fa" title="Flush() flushes any enqueued paint, scroll, and replace commands to the backing store.">Flush()</a> runs in asynchronous mode. Specify a callback function and the argument for that callback function. The callback function will be executed on the calling thread when the image has been painted to the screen. While you are waiting for a flush callback, additional calls to <a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a46607be26d07e4af31b56ef0791022fa" title="Flush() flushes any enqueued paint, scroll, and replace commands to the backing store.">Flush()</a> will fail.</p>
+<p>Because the callback is executed (or thread unblocked) only when the instance's image is actually on the screen, this function provides a way to rate limit animations. By waiting until the image is on the screen before painting the next frame, you can ensure you're not flushing 2D graphics faster than the screen can be updated.</p>
+<p><b>Unbound contexts</b> If the context is not bound to a module instance, you will still get a callback. The callback will execute after <a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a46607be26d07e4af31b56ef0791022fa" title="Flush() flushes any enqueued paint, scroll, and replace commands to the backing store.">Flush()</a> returns to avoid reentrancy. The callback will not wait until anything is painted to the screen because there will be nothing on the screen. The timing of this callback is not guaranteed and may be deprioritized by the browser because it is not affecting the user experience.</p>
+<p><b>Off-screen instances</b> If the context is bound to an instance that is currently not visible (for example, scrolled out of view) it will behave like the "unbound context" case.</p>
+<p><b>Detaching a context</b> If you detach a context from a module instance, any pending flush callbacks will be converted into the "unbound context" case.</p>
+<p><b>Released contexts</b> A callback may or may not get called even if you have released all of your references to the context. This scenario can occur if there are internal references to the context suggesting it has not been internally destroyed (for example, if it is still bound to an instance) or due to other implementation details. As a result, you should be careful to check that flush callbacks are for the context you expect and that you're capable of handling callbacks for unreferenced contexts.</p>
+<p><b>Shutdown</b> If a module instance is removed when a flush is pending, the callback will not be executed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">graphics_2d</td><td>The 2D Graphics resource. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code>CompletionCallback</code> to be called when the image has been painted on the screen.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>PP_OK</code> on success or <code>PP_ERROR_BADRESOURCE</code> if the graphics context is invalid, <code>PP_ERROR_BADARGUMENT</code> if the callback is null and flush is being called from the main thread of the module, or <code>PP_ERROR_INPROGRESS</code> if a flush is already pending that has not issued its callback yet. In the failure case, nothing will be updated and no callback will be scheduled. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a9e284dc50e55e87c5367e9f081f44045"></a><!-- doxytag: member="PPB_Graphics2D::GetScale" ref="a9e284dc50e55e87c5367e9f081f44045" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float(* <a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a9e284dc50e55e87c5367e9f081f44045">PPB_Graphics2D::GetScale</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a8d634407f71b52367901e8c807f3bb15"></a><!-- doxytag: member="PPB_Graphics2D::IsGraphics2D" ref="a8d634407f71b52367901e8c807f3bb15" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a8d634407f71b52367901e8c807f3bb15">PPB_Graphics2D::IsGraphics2D</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a8d634407f71b52367901e8c807f3bb15" title="IsGraphics2D() determines if the given resource is a valid Graphics2D.">IsGraphics2D()</a> determines if the given resource is a valid <code>Graphics2D</code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>Graphics2D</code> context resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>PP_TRUE if the given resource is a valid <code>Graphics2D</code>, <code>PP_FALSE</code> if it is an invalid resource or is a resource of another type. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a912e5704c150c4228ee4ec326e7cb1bb"></a><!-- doxytag: member="PPB_Graphics2D::PaintImageData" ref="a912e5704c150c4228ee4ec326e7cb1bb" args=")(PP_Resource graphics_2d, PP_Resource image_data, const struct PP_Point *top_left, const struct PP_Rect *src_rect)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a912e5704c150c4228ee4ec326e7cb1bb">PPB_Graphics2D::PaintImageData</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> graphics_2d, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> image_data, const struct <a class="el" href="struct_p_p___point.html">PP_Point</a> *top_left, const struct <a class="el" href="struct_p_p___rect.html">PP_Rect</a> *src_rect)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a912e5704c150c4228ee4ec326e7cb1bb" title="PaintImageData() enqueues a paint of the given image into the context.">PaintImageData()</a> enqueues a paint of the given image into the context. </p>
+<p>This function has no effect until you call <a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a46607be26d07e4af31b56ef0791022fa" title="Flush() flushes any enqueued paint, scroll, and replace commands to the backing store.">Flush()</a> As a result, what counts is the contents of the bitmap when you call <a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a46607be26d07e4af31b56ef0791022fa" title="Flush() flushes any enqueued paint, scroll, and replace commands to the backing store.">Flush()</a>, not when you call this function.</p>
+<p>The provided image will be placed at <code>top_left</code> from the top left of the context's internal backing store. Then the pixels contained in <code>src_rect</code> will be copied into the backing store. This means that the rectangle being painted will be at <code>src_rect</code> offset by <code>top_left</code>.</p>
+<p>The <code>src_rect</code> is specified in the coordinate system of the image being painted, not the context. For the common case of copying the entire image, you may specify an empty <code>src_rect</code>.</p>
+<p>The painted area of the source bitmap must fall entirely within the context. Attempting to paint outside of the context will result in an error. However, the source bitmap may fall outside the context, as long as the <code>src_rect</code> subset of it falls entirely within the context.</p>
+<p>There are two methods most modules will use for painting. The first method is to generate a new <code>ImageData</code> and then paint it. In this case, you'll set the location of your painting to <code>top_left</code> and set <code>src_rect</code> to <code>NULL</code>. The second is that you're generating small invalid regions out of a larger bitmap representing your entire instance. In this case, you would set the location of your image to (0,0) and then set <code>src_rect</code> to the pixels you changed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>The 2D Graphics resource. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">image</td><td>The <code>ImageData</code> to be painted. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">top_left</td><td>A <code>Point</code> representing the <code>top_left</code> location where the <code>ImageData</code> will be painted. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">src_rect</td><td>The rectangular area where the <code>ImageData</code> will be painted. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ae5cfb7616fe383d9fedee88131f4b9ff"></a><!-- doxytag: member="PPB_Graphics2D::ReplaceContents" ref="ae5cfb7616fe383d9fedee88131f4b9ff" args=")(PP_Resource graphics_2d, PP_Resource image_data)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___graphics2_d__1__1.html#ae5cfb7616fe383d9fedee88131f4b9ff">PPB_Graphics2D::ReplaceContents</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> graphics_2d, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> image_data)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___graphics2_d__1__1.html#ae5cfb7616fe383d9fedee88131f4b9ff" title="ReplaceContents() provides a slightly more efficient way to paint the entire module's image...">ReplaceContents()</a> provides a slightly more efficient way to paint the entire module's image. </p>
+<p>Normally, calling <a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a912e5704c150c4228ee4ec326e7cb1bb" title="PaintImageData() enqueues a paint of the given image into the context.">PaintImageData()</a> requires that the browser copy the pixels out of the image and into the graphics context's backing store. This function replaces the graphics context's backing store with the given image, avoiding the copy.</p>
+<p>The new image must be the exact same size as this graphics context. If the new image uses a different image format than the browser's native bitmap format (use <code><a class="el" href="struct_p_p_b___image_data__1__0.html#adba78e8f9e623809b6b23419dbce4d65" title="GetNativeImageDataFormat() returns the browser's preferred format for image data.">PPB_ImageData.GetNativeImageDataFormat()</a></code> to retrieve the format), then a conversion will be done inside the browser which may slow the performance a little bit.</p>
+<p><b>Note:</b> The new image will not be painted until you call <a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a46607be26d07e4af31b56ef0791022fa" title="Flush() flushes any enqueued paint, scroll, and replace commands to the backing store.">Flush()</a>.</p>
+<p>After this call, you should take care to release your references to the image. If you paint to the image after <a class="el" href="struct_p_p_b___graphics2_d__1__1.html#ae5cfb7616fe383d9fedee88131f4b9ff" title="ReplaceContents() provides a slightly more efficient way to paint the entire module's image...">ReplaceContents()</a>, there is the possibility of significant painting artifacts because the page might use partially-rendered data when copying out of the backing store.</p>
+<p>In the case of an animation, you will want to allocate a new image for the next frame. It is best if you wait until the flush callback has executed before allocating this bitmap. This gives the browser the option of caching the previous backing store and handing it back to you (assuming the sizes match). In the optimal case, this means no bitmaps are allocated during the animation, and the backing store and "front buffer" (which the plugin is painting into) are just being swapped back and forth.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">graphics_2d</td><td>The 2D Graphics resource. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">image</td><td>The <code>ImageData</code> to be painted. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a2242719819a82b11b0e3f71c4a19f461"></a><!-- doxytag: member="PPB_Graphics2D::Scroll" ref="a2242719819a82b11b0e3f71c4a19f461" args=")(PP_Resource graphics_2d, const struct PP_Rect *clip_rect, const struct PP_Point *amount)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a2242719819a82b11b0e3f71c4a19f461">PPB_Graphics2D::Scroll</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> graphics_2d, const struct <a class="el" href="struct_p_p___rect.html">PP_Rect</a> *clip_rect, const struct <a class="el" href="struct_p_p___point.html">PP_Point</a> *amount)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a2242719819a82b11b0e3f71c4a19f461" title="Scroll() enqueues a scroll of the context's backing store.">Scroll()</a> enqueues a scroll of the context's backing store. </p>
+<p>This function has no effect until you call <a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a46607be26d07e4af31b56ef0791022fa" title="Flush() flushes any enqueued paint, scroll, and replace commands to the backing store.">Flush()</a>. The data within the provided clipping rectangle will be shifted by (dx, dy) pixels.</p>
+<p>This function will result in some exposed region which will have undefined contents. The module should call <a class="el" href="struct_p_p_b___graphics2_d__1__1.html#a912e5704c150c4228ee4ec326e7cb1bb" title="PaintImageData() enqueues a paint of the given image into the context.">PaintImageData()</a> on these exposed regions to give the correct contents.</p>
+<p>The scroll can be larger than the area of the clipping rectangle, which means the current image will be scrolled out of the rectangle. This scenario is not an error but will result in a no-op.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">graphics_2d</td><td>The 2D Graphics resource. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">clip</td><td>The clipping rectangle. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">amount</td><td>The amount the area in the clipping rectangle will shifted. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ad809f5d73448def11577d54147fa268e"></a><!-- doxytag: member="PPB_Graphics2D::SetScale" ref="ad809f5d73448def11577d54147fa268e" args=")(PP_Resource resource, float scale)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___graphics2_d__1__1.html#ad809f5d73448def11577d54147fa268e">PPB_Graphics2D::SetScale</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, float scale)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___graphics2_d__1__1.html#ad809f5d73448def11577d54147fa268e" title="SetScale() sets the scale factor that will be applied when painting the graphics context onto the out...">SetScale()</a> sets the scale factor that will be applied when painting the graphics context onto the output device. </p>
+<p>Typically, if rendering at device resolution is desired, the context would be created with the width and height scaled up by the view's GetDeviceScale and SetScale called with a scale of 1.0 / GetDeviceScale(). For example, if the view resource passed to DidChangeView has a rectangle of (w=200, h=100) and a device scale of 2.0, one would call Create with a size of (w=400, h=200) and then call SetScale with 0.5. One would then treat each pixel in the context as a single device pixel.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>Graphics2D</code> context resource. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">scale</td><td>The scale to apply when painting.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>PP_TRUE</code> on success or <code>PP_FALSE</code> if the resource is invalid or the scale factor is 0 or less. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="ppb__graphics__2d_8h.html">ppb_graphics_2d.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___graphics3_d__1__0.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___graphics3_d__1__0.html
new file mode 100644
index 0000000..38e0eae
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___graphics3_d__1__0.html
@@ -0,0 +1,297 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_Graphics3D Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_Graphics3D" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#a80698c6d8c8b04e07d08c4595e0e977b">GetAttribMaxValue</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> instance, int32_t attribute, int32_t *value)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#a818bc5829aac77215321b30f85e26e01">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> share_context, const int32_t attrib_list[])</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#af59ffbcc71e08386f66594a138ab4ea5">IsGraphics3D</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#aae3be34b7308c4510a3952b06fb7d6d9">GetAttribs</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> context, int32_t attrib_list[])</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#a093c4674cef82a08f5726bed8361d49d">SetAttribs</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> context, const int32_t attrib_list[])</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#ae6e9764a94663000dcb2aa610fac724c">GetError</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> context)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#a3bea5a6f3fc77df73c1cf4f02d32b4ec">ResizeBuffers</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> context, int32_t width, int32_t height)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#a293c6941c0da084267ffba3954793497">SwapBuffers</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> context, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p><code>PPB_Graphics3D</code> defines the interface for a 3D graphics context. </p>
+<p><b>Example usage from plugin code:</b></p>
+<p><b>Setup:</b> </p>
+<div class="fragment"><pre class="fragment"> <a class="code" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7" title="This typedef represents an opaque handle assigned by the browser to the resource.">PP_Resource</a> context;
+ int32_t attribs[] = {<a class="code" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a378f15587369cdefbcf565bc8f15db2c" title="Width of surface in pixels.">PP_GRAPHICS3DATTRIB_WIDTH</a>, 800,
+ <a class="code" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8ac37b92e8426753d7a24d0cf193a5923d" title="Height of surface in pixels.">PP_GRAPHICS3DATTRIB_HEIGHT</a>, 800,
+ <a class="code" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a66b15e43e8159f71751be033d44fda21" title="Attrib list terminator.">PP_GRAPHICS3DATTRIB_NONE</a>};
+ context = g3d->Create(instance, 0, attribs);
+ inst->BindGraphics(instance, context);
+</pre></div><p><b>Present one frame:</b> </p>
+<div class="fragment"><pre class="fragment"> <a class="code" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a> callback = {
+ DidFinishSwappingBuffers, 0, <a class="code" href="group___enums.html#gga7610f0fba2396d46384859caa4d91798a6eedc0f315784a4cb47c5806b828c7cc" title="By default any non-NULL callback will always invoked asynchronously, on success or error...">PP_COMPLETIONCALLBACK_FLAG_NONE</a>,
+ };
+ gles2->Clear(context, GL_COLOR_BUFFER_BIT);
+ g3d->SwapBuffers(context, callback);
+</pre></div><p><b>Shutdown:</b> </p>
+<div class="fragment"><pre class="fragment"> core->ReleaseResource(context);
+</pre></div> </div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a818bc5829aac77215321b30f85e26e01"></a><!-- doxytag: member="PPB_Graphics3D::Create" ref="a818bc5829aac77215321b30f85e26e01" args=")(PP_Instance instance, PP_Resource share_context, const int32_t attrib_list[])" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___graphics3_d__1__0.html#a818bc5829aac77215321b30f85e26e01">PPB_Graphics3D::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> share_context, const int32_t attrib_list[])</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#a818bc5829aac77215321b30f85e26e01" title="Create() creates and initializes a 3D rendering context.">Create()</a> creates and initializes a 3D rendering context. </p>
+<p>The returned context is off-screen to start with. It must be attached to a plugin instance using <code><a class="el" href="struct_p_p_b___instance__1__0.html#ae5b0da2fc0975c82213f687d96434625" title="BindGraphics() binds the given graphics as the current display surface.">PPB_Instance::BindGraphics</a></code> to draw on the web page.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The module instance.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">share_context</td><td>The 3D context with which the created context would share resources. If <code>share_context</code> is not 0, then all shareable data, as defined by the client API (note that for OpenGL and OpenGL ES, shareable data excludes texture objects named 0) will be shared by <code>share_context</code><code>, all other contexts </code><code>share_context</code> already shares with, and the newly created context. An arbitrary number of <code>PPB_Graphics3D</code> can share data in this fashion.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">attrib_list</td><td><code></code><code>specifies a list of attributes for the context. It is a list of attribute name-value pairs in which each attribute is immediately followed by the corresponding desired value. The list is terminated with </code><code>PP_GRAPHICS3DATTRIB_NONE</code>. The <code>attrib_list</code><code> may be 0 or empty (first attribute is </code><code>PP_GRAPHICS3DATTRIB_NONE</code>). If an attribute is not specified in <code>attrib_list</code>, then the default value is used (it is said to be specified implicitly). Attributes for the context are chosen according to an attribute-specific criteria. Attributes can be classified into two categories:<ul>
+<li>AtLeast: The attribute value in the returned context meets or exceeds the value specified in <code>attrib_list</code>.</li>
+<li>Exact: The attribute value in the returned context is equal to the value specified in <code>attrib_list</code>.</li>
+</ul>
+</td></tr>
+</table>
+</dd>
+</dl>
+<p>Attributes that can be specified in <code>attrib_list</code> include:</p>
+<ul>
+<li><code></code><code></code><code></code><code></code><code>PP_GRAPHICS3DATTRIB_ALPHA_SIZE</code>: Category: AtLeast Default: 0.</li>
+<li><code></code><code></code><code></code><code></code><code>PP_GRAPHICS3DATTRIB_BLUE_SIZE</code>: Category: AtLeast Default: 0.</li>
+<li><code></code><code></code><code></code><code></code><code>PP_GRAPHICS3DATTRIB_GREEN_SIZE</code>: Category: AtLeast Default: 0.</li>
+<li><code></code><code></code><code></code><code></code><code>PP_GRAPHICS3DATTRIB_RED_SIZE</code>: Category: AtLeast Default: 0.</li>
+<li><code></code><code></code><code></code><code></code><code>PP_GRAPHICS3DATTRIB_DEPTH_SIZE</code>: Category: AtLeast Default: 0.</li>
+<li><code></code><code></code><code></code><code></code><code>PP_GRAPHICS3DATTRIB_STENCIL_SIZE</code>: Category: AtLeast Default: 0.</li>
+<li><code></code><code></code><code></code><code></code><code>PP_GRAPHICS3DATTRIB_SAMPLES</code>: Category: AtLeast Default: 0.</li>
+<li><code></code><code></code><code></code><code></code><code>PP_GRAPHICS3DATTRIB_SAMPLE_BUFFERS</code>: Category: AtLeast Default: 0.</li>
+<li><code></code><code></code><code></code><code></code><code>PP_GRAPHICS3DATTRIB_WIDTH</code>: Category: Exact Default: 0.</li>
+<li><code></code><code></code><code></code><code></code><code>PP_GRAPHICS3DATTRIB_HEIGHT</code>: Category: Exact Default: 0.</li>
+<li><code></code><code></code><code></code><code></code><code>PP_GRAPHICS3DATTRIB_SWAP_BEHAVIOR</code>: Category: Exact Default: Implementation defined.</li>
+</ul>
+<p><code></code><code></code><code></code><code> </code></p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> containing the 3D graphics context if successful or 0 if unsuccessful. </dd></dl>
+<p></p>
+</div>
+</div>
+<a class="anchor" id="a80698c6d8c8b04e07d08c4595e0e977b"></a><!-- doxytag: member="PPB_Graphics3D::GetAttribMaxValue" ref="a80698c6d8c8b04e07d08c4595e0e977b" args=")(PP_Resource instance, int32_t attribute, int32_t *value)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___graphics3_d__1__0.html#a80698c6d8c8b04e07d08c4595e0e977b">PPB_Graphics3D::GetAttribMaxValue</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> instance, int32_t attribute, int32_t *value)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#a80698c6d8c8b04e07d08c4595e0e977b" title="GetAttribMaxValue() retrieves the maximum supported value for the given attribute.">GetAttribMaxValue()</a> retrieves the maximum supported value for the given attribute. </p>
+<p>This function may be used to check if a particular attribute value is supported before attempting to create a context.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The module instance. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">attribute</td><td>The attribute for which maximum value is queried. Attributes that can be queried for include:<ul>
+<li><code>PP_GRAPHICS3DATTRIB_ALPHA_SIZE</code></li>
+<li><code>PP_GRAPHICS3DATTRIB_BLUE_SIZE</code></li>
+<li><code>PP_GRAPHICS3DATTRIB_GREEN_SIZE</code></li>
+<li><code>PP_GRAPHICS3DATTRIB_RED_SIZE</code></li>
+<li><code>PP_GRAPHICS3DATTRIB_DEPTH_SIZE</code></li>
+<li><code>PP_GRAPHICS3DATTRIB_STENCIL_SIZE</code></li>
+<li><code>PP_GRAPHICS3DATTRIB_SAMPLES</code></li>
+<li><code>PP_GRAPHICS3DATTRIB_SAMPLE_BUFFERS</code></li>
+<li><code>PP_GRAPHICS3DATTRIB_WIDTH</code></li>
+<li><code>PP_GRAPHICS3DATTRIB_HEIGHT</code> </li>
+</ul>
+</td></tr>
+<tr><td class="paramdir">[out]</td><td class="paramname">value</td><td>The maximum supported value for <code>attribute</code></td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>PP_TRUE</code> on success or the following on error:<ul>
+<li><code>PP_ERROR_BADRESOURCE</code> if <code>instance</code> is invalid</li>
+<li><code>PP_ERROR_BADARGUMENT</code> if <code>attribute</code> is invalid or <code>value</code> is 0 </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<a class="anchor" id="aae3be34b7308c4510a3952b06fb7d6d9"></a><!-- doxytag: member="PPB_Graphics3D::GetAttribs" ref="aae3be34b7308c4510a3952b06fb7d6d9" args=")(PP_Resource context, int32_t attrib_list[])" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___graphics3_d__1__0.html#aae3be34b7308c4510a3952b06fb7d6d9">PPB_Graphics3D::GetAttribs</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> context, int32_t attrib_list[])</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#aae3be34b7308c4510a3952b06fb7d6d9" title="GetAttribs() retrieves the value for each attribute in attrib_list.">GetAttribs()</a> retrieves the value for each attribute in <code>attrib_list</code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>The 3D graphics context. </td></tr>
+<tr><td class="paramdir">[in,out]</td><td class="paramname">attrib_list</td><td>The list of attributes that are queried. <code>attrib_list</code> has the same structure as described for <code><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#a818bc5829aac77215321b30f85e26e01" title="Create() creates and initializes a 3D rendering context.">PPB_Graphics3D::Create</a></code>. It is both input and output structure for this function. All attributes specified in <code><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#a818bc5829aac77215321b30f85e26e01" title="Create() creates and initializes a 3D rendering context.">PPB_Graphics3D::Create</a></code> can be queried for.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>PP_OK</code> on success or:<ul>
+<li><code>PP_ERROR_BADRESOURCE</code> if context is invalid</li>
+<li><code>PP_ERROR_BADARGUMENT</code> if attrib_list is 0 or any attribute in the <code>attrib_list</code> is not a valid attribute.</li>
+</ul>
+</dd></dl>
+<p><b>Example usage:</b> To get the values for rgb bits in the color buffer, this function must be called as following: </p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">int</span> attrib_list[] = {<a class="code" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a7caad99c8c857fdb804c6755551398f5" title="Bits of Red in the color buffer.">PP_GRAPHICS3DATTRIB_RED_SIZE</a>, 0,
+ <a class="code" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8ade95a6e685ca23522da80c1703d294a7" title="Bits of Green in the color buffer.">PP_GRAPHICS3DATTRIB_GREEN_SIZE</a>, 0,
+ <a class="code" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a519cd199423721033780ee13ecb0e60b" title="Bits of Blue in the color buffer.">PP_GRAPHICS3DATTRIB_BLUE_SIZE</a>, 0,
+ <a class="code" href="group___enums.html#gga7df48e1c55f6401beea2a1b9c07967e8a66b15e43e8159f71751be033d44fda21" title="Attrib list terminator.">PP_GRAPHICS3DATTRIB_NONE</a>};
+ <a class="code" href="struct_p_p_b___graphics3_d__1__0.html#aae3be34b7308c4510a3952b06fb7d6d9" title="GetAttribs() retrieves the value for each attribute in attrib_list.">GetAttribs</a>(context, attrib_list);
+ <span class="keywordtype">int</span> red_bits = attrib_list[1];
+ <span class="keywordtype">int</span> green_bits = attrib_list[3];
+ <span class="keywordtype">int</span> blue_bits = attrib_list[5];
+</pre></div>
+</div>
+</div>
+<a class="anchor" id="ae6e9764a94663000dcb2aa610fac724c"></a><!-- doxytag: member="PPB_Graphics3D::GetError" ref="ae6e9764a94663000dcb2aa610fac724c" args=")(PP_Resource context)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___graphics3_d__1__0.html#ae6e9764a94663000dcb2aa610fac724c">PPB_Graphics3D::GetError</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> context)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#ae6e9764a94663000dcb2aa610fac724c" title="GetError() returns the current state of the given 3D context.">GetError()</a> returns the current state of the given 3D context. </p>
+<p>The recoverable error conditions that have no side effect are detected and returned immediately by all functions in this interface. In addition the implementation may get into a fatal state while processing a command. In this case the application must destroy the context and reinitialize client API state and objects to continue rendering.</p>
+<p>Note that the same error code is also returned in the SwapBuffers callback. It is recommended to handle error in the SwapBuffers callback because GetError is synchronous. This function may be useful in rare cases where drawing a frame is expensive and you want to verify the result of ResizeBuffers before attempting to draw a frame.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">The</td><td>3D graphics context. </td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns:<ul>
+<li><code>PP_OK</code> if no error</li>
+<li><code>PP_ERROR_NOMEMORY</code></li>
+<li><code>PP_ERROR_CONTEXT_LOST</code> </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<a class="anchor" id="af59ffbcc71e08386f66594a138ab4ea5"></a><!-- doxytag: member="PPB_Graphics3D::IsGraphics3D" ref="af59ffbcc71e08386f66594a138ab4ea5" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___graphics3_d__1__0.html#af59ffbcc71e08386f66594a138ab4ea5">PPB_Graphics3D::IsGraphics3D</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#af59ffbcc71e08386f66594a138ab4ea5" title="IsGraphics3D() determines if the given resource is a valid Graphics3D context.">IsGraphics3D()</a> determines if the given resource is a valid <code>Graphics3D</code> context. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>Graphics3D</code> context resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>PP_TRUE if the given resource is a valid <code>Graphics3D</code>, <code>PP_FALSE</code> if it is an invalid resource or is a resource of another type. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a3bea5a6f3fc77df73c1cf4f02d32b4ec"></a><!-- doxytag: member="PPB_Graphics3D::ResizeBuffers" ref="a3bea5a6f3fc77df73c1cf4f02d32b4ec" args=")(PP_Resource context, int32_t width, int32_t height)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___graphics3_d__1__0.html#a3bea5a6f3fc77df73c1cf4f02d32b4ec">PPB_Graphics3D::ResizeBuffers</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> context, int32_t width, int32_t height)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#a3bea5a6f3fc77df73c1cf4f02d32b4ec" title="ResizeBuffers() resizes the backing surface for context.">ResizeBuffers()</a> resizes the backing surface for context. </p>
+<p>If the surface could not be resized due to insufficient resources, <code>PP_ERROR_NOMEMORY</code> error is returned on the next <code>SwapBuffers</code> callback.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>The 3D graphics context. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">width</td><td>The width of the backing surface. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">height</td><td>The height of the backing surface. </td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>PP_OK</code> on success or:<ul>
+<li><code>PP_ERROR_BADRESOURCE</code> if context is invalid.</li>
+<li><code>PP_ERROR_BADARGUMENT</code> if the value specified for <code>width</code> or <code>height</code> is less than zero. </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<a class="anchor" id="a093c4674cef82a08f5726bed8361d49d"></a><!-- doxytag: member="PPB_Graphics3D::SetAttribs" ref="a093c4674cef82a08f5726bed8361d49d" args=")(PP_Resource context, const int32_t attrib_list[])" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___graphics3_d__1__0.html#a093c4674cef82a08f5726bed8361d49d">PPB_Graphics3D::SetAttribs</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> context, const int32_t attrib_list[])</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#a093c4674cef82a08f5726bed8361d49d" title="SetAttribs() sets the values for each attribute in attrib_list.">SetAttribs()</a> sets the values for each attribute in <code>attrib_list</code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>The 3D graphics context. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">attrib_list</td><td>The list of attributes whose values need to be set. <code>attrib_list</code> has the same structure as described for <code><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#a818bc5829aac77215321b30f85e26e01" title="Create() creates and initializes a 3D rendering context.">PPB_Graphics3D::Create</a></code>. Attributes that can be specified are:<ul>
+<li><code>PP_GRAPHICS3DATTRIB_SWAP_BEHAVIOR</code></li>
+</ul>
+</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>PP_OK</code> on success or:<ul>
+<li><code>PP_ERROR_BADRESOURCE</code> if <code>context</code> is invalid.</li>
+<li><code>PP_ERROR_BADARGUMENT</code> if <code>attrib_list</code> is 0 or any attribute in the <code>attrib_list</code> is not a valid attribute. </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<a class="anchor" id="a293c6941c0da084267ffba3954793497"></a><!-- doxytag: member="PPB_Graphics3D::SwapBuffers" ref="a293c6941c0da084267ffba3954793497" args=")(PP_Resource context, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___graphics3_d__1__0.html#a293c6941c0da084267ffba3954793497">PPB_Graphics3D::SwapBuffers</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> context, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___graphics3_d__1__0.html#a293c6941c0da084267ffba3954793497" title="SwapBuffers() makes the contents of the color buffer available for compositing.">SwapBuffers()</a> makes the contents of the color buffer available for compositing. </p>
+<p>This function has no effect on off-screen surfaces - ones not bound to any plugin instance. The contents of ancillary buffers are always undefined after calling <code>SwapBuffers</code>. The contents of the color buffer are undefined if the value of the <code>PP_GRAPHICS3DATTRIB_SWAP_BEHAVIOR</code> attribute of context is not <code>PP_GRAPHICS3DATTRIB_BUFFER_PRESERVED</code>.</p>
+<p><code>SwapBuffers</code> runs in asynchronous mode. Specify a callback function and the argument for that callback function. The callback function will be executed on the calling thread after the color buffer has been composited with rest of the html page. While you are waiting for a SwapBuffers callback, additional calls to SwapBuffers will fail.</p>
+<p>Because the callback is executed (or thread unblocked) only when the plugin's current state is actually on the screen, this function provides a way to rate limit animations. By waiting until the image is on the screen before painting the next frame, you can ensure you're not generating updates faster than the screen can be updated.</p>
+<p>SwapBuffers performs an implicit flush operation on context. If the context gets into an unrecoverable error condition while processing a command, the error code will be returned as the argument for the callback. The callback may return the following error codes:</p>
+<ul>
+<li><code>PP_ERROR_NOMEMORY</code></li>
+<li><code>PP_ERROR_CONTEXT_LOST</code> Note that the same error code may also be obtained by calling GetError.</li>
+</ul>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>The 3D graphics context. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>The callback that will executed when <code>SwapBuffers</code> completes.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns PP_OK on success or:<ul>
+<li><code>PP_ERROR_BADRESOURCE</code> if context is invalid.</li>
+<li><code>PP_ERROR_BADARGUMENT</code> if callback is invalid. </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="ppb__graphics__3d_8h.html">ppb_graphics_3d.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___host_resolver__1__0.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___host_resolver__1__0.html
new file mode 100644
index 0000000..567652df
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___host_resolver__1__0.html
@@ -0,0 +1,154 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_HostResolver Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_HostResolver" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___host_resolver__1__0.html#a7dfb4977c9bb0b3efb8016393e1adcc1">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___host_resolver__1__0.html#a26202fbec754f45ec43e1b7479f07365">IsHostResolver</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___host_resolver__1__0.html#a006c54c355fc4258fc1c9e75e8861dea">Resolve</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> host_resolver, const char *host, uint16_t port, const struct <a class="el" href="struct_p_p___host_resolver___hint.html">PP_HostResolver_Hint</a> *hint, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___host_resolver__1__0.html#a5edb535ad2bdc3db835ef7ec57f98f49">GetCanonicalName</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> host_resolver)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___host_resolver__1__0.html#afe9dc8c673c2a12331eceaf60ecba911">GetNetAddressCount</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> host_resolver)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___host_resolver__1__0.html#a7202ffb6c7b6d02da4ece9e748aaa886">GetNetAddress</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> host_resolver, uint32_t index)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_HostResolver</code> interface supports host name resolution. </p>
+<p>Permissions: In order to run <code><a class="el" href="struct_p_p_b___host_resolver__1__0.html#a006c54c355fc4258fc1c9e75e8861dea" title="Requests resolution of a host name.">Resolve()</a></code>, apps permission <code>socket</code> with subrule <code>resolve-host</code> is required. For more details about network communication permissions, please see: <a href="http://developer.chrome.com/apps/app_network.html">http://developer.chrome.com/apps/app_network.html</a> </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a7dfb4977c9bb0b3efb8016393e1adcc1"></a><!-- doxytag: member="PPB_HostResolver::Create" ref="a7dfb4977c9bb0b3efb8016393e1adcc1" args=")(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___host_resolver__1__0.html#a7dfb4977c9bb0b3efb8016393e1adcc1">PPB_HostResolver::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Creates a host resolver resource. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> corresponding to a host reslover or 0 on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a5edb535ad2bdc3db835ef7ec57f98f49"></a><!-- doxytag: member="PPB_HostResolver::GetCanonicalName" ref="a5edb535ad2bdc3db835ef7ec57f98f49" args=")(PP_Resource host_resolver)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___host_resolver__1__0.html#a5edb535ad2bdc3db835ef7ec57f98f49">PPB_HostResolver::GetCanonicalName</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> host_resolver)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the canonical name of the host. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">host_resolver</td><td>A <code>PP_Resource</code> corresponding to a host resolver.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A string <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> on success, which is an empty string if <code>PP_HOSTRESOLVER_FLAG_CANONNAME</code> is not set in the hint flags when calling <code><a class="el" href="struct_p_p_b___host_resolver__1__0.html#a006c54c355fc4258fc1c9e75e8861dea" title="Requests resolution of a host name.">Resolve()</a></code>; an undefined <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> if there is a pending <code><a class="el" href="struct_p_p_b___host_resolver__1__0.html#a006c54c355fc4258fc1c9e75e8861dea" title="Requests resolution of a host name.">Resolve()</a></code> call or the previous <code><a class="el" href="struct_p_p_b___host_resolver__1__0.html#a006c54c355fc4258fc1c9e75e8861dea" title="Requests resolution of a host name.">Resolve()</a></code> call failed. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a7202ffb6c7b6d02da4ece9e748aaa886"></a><!-- doxytag: member="PPB_HostResolver::GetNetAddress" ref="a7202ffb6c7b6d02da4ece9e748aaa886" args=")(PP_Resource host_resolver, uint32_t index)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___host_resolver__1__0.html#a7202ffb6c7b6d02da4ece9e748aaa886">PPB_HostResolver::GetNetAddress</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> host_resolver, uint32_t index)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets a network address. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">host_resolver</td><td>A <code>PP_Resource</code> corresponding to a host resolver. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>An index indicating which address to return.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PPB_NetAddress</code> resource on success; 0 if there is a pending <code><a class="el" href="struct_p_p_b___host_resolver__1__0.html#a006c54c355fc4258fc1c9e75e8861dea" title="Requests resolution of a host name.">Resolve()</a></code> call or the previous <code><a class="el" href="struct_p_p_b___host_resolver__1__0.html#a006c54c355fc4258fc1c9e75e8861dea" title="Requests resolution of a host name.">Resolve()</a></code> call failed, or the specified index is out of range. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="afe9dc8c673c2a12331eceaf60ecba911"></a><!-- doxytag: member="PPB_HostResolver::GetNetAddressCount" ref="afe9dc8c673c2a12331eceaf60ecba911" args=")(PP_Resource host_resolver)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t(* <a class="el" href="struct_p_p_b___host_resolver__1__0.html#afe9dc8c673c2a12331eceaf60ecba911">PPB_HostResolver::GetNetAddressCount</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> host_resolver)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the number of network addresses. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">host_resolver</td><td>A <code>PP_Resource</code> corresponding to a host resolver.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The number of available network addresses on success; 0 if there is a pending <code><a class="el" href="struct_p_p_b___host_resolver__1__0.html#a006c54c355fc4258fc1c9e75e8861dea" title="Requests resolution of a host name.">Resolve()</a></code> call or the previous <code><a class="el" href="struct_p_p_b___host_resolver__1__0.html#a006c54c355fc4258fc1c9e75e8861dea" title="Requests resolution of a host name.">Resolve()</a></code> call failed. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a26202fbec754f45ec43e1b7479f07365"></a><!-- doxytag: member="PPB_HostResolver::IsHostResolver" ref="a26202fbec754f45ec43e1b7479f07365" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___host_resolver__1__0.html#a26202fbec754f45ec43e1b7479f07365">PPB_HostResolver::IsHostResolver</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Determines if a given resource is a host resolver. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> to check.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the input is a <code>PPB_HostResolver</code> resource; <code>PP_FALSE</code> otherwise. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a006c54c355fc4258fc1c9e75e8861dea"></a><!-- doxytag: member="PPB_HostResolver::Resolve" ref="a006c54c355fc4258fc1c9e75e8861dea" args=")(PP_Resource host_resolver, const char *host, uint16_t port, const struct PP_HostResolver_Hint *hint, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___host_resolver__1__0.html#a006c54c355fc4258fc1c9e75e8861dea">PPB_HostResolver::Resolve</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> host_resolver, const char *host, uint16_t port, const struct <a class="el" href="struct_p_p___host_resolver___hint.html">PP_HostResolver_Hint</a> *hint, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Requests resolution of a host name. </p>
+<p>If the call completes successfully, the results can be retrieved by <code><a class="el" href="struct_p_p_b___host_resolver__1__0.html#a5edb535ad2bdc3db835ef7ec57f98f49" title="Gets the canonical name of the host.">GetCanonicalName()</a></code>, <code><a class="el" href="struct_p_p_b___host_resolver__1__0.html#afe9dc8c673c2a12331eceaf60ecba911" title="Gets the number of network addresses.">GetNetAddressCount()</a></code> and <code><a class="el" href="struct_p_p_b___host_resolver__1__0.html#a7202ffb6c7b6d02da4ece9e748aaa886" title="Gets a network address.">GetNetAddress()</a></code>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">host_resolver</td><td>A <code>PP_Resource</code> corresponding to a host resolver. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">host</td><td>The host name (or IP address literal) to resolve. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">port</td><td>The port number to be set in the resulting network addresses. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">hint</td><td>A <code><a class="el" href="struct_p_p___host_resolver___hint.html" title="PP_HostResolver_Hint represents hints for host resolution.">PP_HostResolver_Hint</a></code> structure providing hints for host resolution. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. <code>PP_ERROR_NOACCESS</code> will be returned if the caller doesn't have required permissions. <code>PP_ERROR_NAME_NOT_RESOLVED</code> will be returned if the host name couldn't be resolved. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="ppb__host__resolver_8h.html">ppb_host_resolver.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___i_m_e_input_event__1__0.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___i_m_e_input_event__1__0.html
new file mode 100644
index 0000000..760e4bd
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___i_m_e_input_event__1__0.html
@@ -0,0 +1,178 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_IMEInputEvent Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_IMEInputEvent" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#ad4bd2c64c71c9af07c110e47d64d94c4">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#gaca7296cfec99fcb6646b7144d1d6a0c5">PP_InputEvent_Type</a> type, <a class="el" href="group___typedefs.html#ga71cb1042cdeb38d7881b121f3b09ce94">PP_TimeTicks</a> time_stamp, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> text, uint32_t segment_number, const uint32_t segment_offsets[], int32_t target_segment, uint32_t selection_start, uint32_t selection_end)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a73a886654b174d99af7f52c13272dce0">IsIMEInputEvent</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a107e031acc73b3c620b0d92245952e6e">GetText</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> ime_event)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a1b3d8e023aa9400dff5b3a32a49cc018">GetSegmentNumber</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> ime_event)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a5d469ddc9be36e60eda5ab74878da205">GetSegmentOffset</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> ime_event, uint32_t index)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#ac4891be932c004cff409df47fe4627fa">GetTargetSegment</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> ime_event)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a42150bcee1b6416ec89780343ce2b30a">GetSelection</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> ime_event, uint32_t *start, uint32_t *end)</td></tr>
+</table>
+<hr /><h2>Field Documentation</h2>
+<a class="anchor" id="ad4bd2c64c71c9af07c110e47d64d94c4"></a><!-- doxytag: member="PPB_IMEInputEvent::Create" ref="ad4bd2c64c71c9af07c110e47d64d94c4" args=")(PP_Instance instance, PP_InputEvent_Type type, PP_TimeTicks time_stamp, struct PP_Var text, uint32_t segment_number, const uint32_t segment_offsets[], int32_t target_segment, uint32_t selection_start, uint32_t selection_end)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#ad4bd2c64c71c9af07c110e47d64d94c4">PPB_IMEInputEvent::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#gaca7296cfec99fcb6646b7144d1d6a0c5">PP_InputEvent_Type</a> type, <a class="el" href="group___typedefs.html#ga71cb1042cdeb38d7881b121f3b09ce94">PP_TimeTicks</a> time_stamp, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> text, uint32_t segment_number, const uint32_t segment_offsets[], int32_t target_segment, uint32_t selection_start, uint32_t selection_end)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#ad4bd2c64c71c9af07c110e47d64d94c4" title="Create() creates an IME input event with the given parameters.">Create()</a> creates an IME input event with the given parameters. </p>
+<p>Normally you will get an IME event passed through the <code>HandleInputEvent</code> and will not need to create them, but some applications may want to create their own for internal use.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance for which this event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>A <code>PP_InputEvent_Type</code> identifying the type of input event. The type must be one of the IME event types.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">time_stamp</td><td>A <code>PP_TimeTicks</code> indicating the time when the event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">text</td><td>The string returned by <code>GetText</code>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">segment_number</td><td>The number returned by <code>GetSegmentNumber</code>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">segment_offsets</td><td>The array of numbers returned by <code>GetSegmentOffset</code>. If <code>segment_number</code> is zero, the number of elements of the array should be zero. If <code>segment_number</code> is non-zero, the length of the array must be <code>segment_number</code> + 1.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">target_segment</td><td>The number returned by <code>GetTargetSegment</code>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">selection_start</td><td>The start index returned by <code>GetSelection</code>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">selection_end</td><td>The end index returned by <code>GetSelection</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> containing the new IME input event. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a1b3d8e023aa9400dff5b3a32a49cc018"></a><!-- doxytag: member="PPB_IMEInputEvent::GetSegmentNumber" ref="a1b3d8e023aa9400dff5b3a32a49cc018" args=")(PP_Resource ime_event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t(* <a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a1b3d8e023aa9400dff5b3a32a49cc018">PPB_IMEInputEvent::GetSegmentNumber</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> ime_event)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a1b3d8e023aa9400dff5b3a32a49cc018" title="GetSegmentNumber() returns the number of segments in the composition text.">GetSegmentNumber()</a> returns the number of segments in the composition text. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">ime_event</td><td>A <code>PP_Resource</code> corresponding to an IME event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The number of segments. For events other than COMPOSITION_UPDATE, returns 0. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a5d469ddc9be36e60eda5ab74878da205"></a><!-- doxytag: member="PPB_IMEInputEvent::GetSegmentOffset" ref="a5d469ddc9be36e60eda5ab74878da205" args=")(PP_Resource ime_event, uint32_t index)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t(* <a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a5d469ddc9be36e60eda5ab74878da205">PPB_IMEInputEvent::GetSegmentOffset</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> ime_event, uint32_t index)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a5d469ddc9be36e60eda5ab74878da205" title="GetSegmentOffset() returns the position of the index-th segmentation point in the composition text...">GetSegmentOffset()</a> returns the position of the index-th segmentation point in the composition text. </p>
+<p>The position is given by a byte-offset (not a character-offset) of the string returned by <a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a107e031acc73b3c620b0d92245952e6e" title="GetText() returns the composition text as a UTF-8 string for the given IME event.">GetText()</a>. It always satisfies 0=GetSegmentOffset(0) < ... < GetSegmentOffset(i) < GetSegmentOffset(i+1) < ... < GetSegmentOffset(<a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a1b3d8e023aa9400dff5b3a32a49cc018" title="GetSegmentNumber() returns the number of segments in the composition text.">GetSegmentNumber()</a>)=(byte-length of <a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a107e031acc73b3c620b0d92245952e6e" title="GetText() returns the composition text as a UTF-8 string for the given IME event.">GetText()</a>). Note that [GetSegmentOffset(i), GetSegmentOffset(i+1)) represents the range of the i-th segment, and hence <a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a1b3d8e023aa9400dff5b3a32a49cc018" title="GetSegmentNumber() returns the number of segments in the composition text.">GetSegmentNumber()</a> can be a valid argument to this function instead of an off-by-1 error.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">ime_event</td><td>A <code>PP_Resource</code> corresponding to an IME event.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>An integer indicating a segment.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The byte-offset of the segmentation point. If the event is not COMPOSITION_UPDATE or index is out of range, returns 0. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a42150bcee1b6416ec89780343ce2b30a"></a><!-- doxytag: member="PPB_IMEInputEvent::GetSelection" ref="a42150bcee1b6416ec89780343ce2b30a" args=")(PP_Resource ime_event, uint32_t *start, uint32_t *end)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a42150bcee1b6416ec89780343ce2b30a">PPB_IMEInputEvent::GetSelection</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> ime_event, uint32_t *start, uint32_t *end)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a42150bcee1b6416ec89780343ce2b30a" title="GetSelection() returns the range selected by caret in the composition text.">GetSelection()</a> returns the range selected by caret in the composition text. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">ime_event</td><td>A <code>PP_Resource</code> corresponding to an IME event.</td></tr>
+<tr><td class="paramdir">[out]</td><td class="paramname">start</td><td>The start position of the current selection.</td></tr>
+<tr><td class="paramdir">[out]</td><td class="paramname">end</td><td>The end position of the current selection. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ac4891be932c004cff409df47fe4627fa"></a><!-- doxytag: member="PPB_IMEInputEvent::GetTargetSegment" ref="ac4891be932c004cff409df47fe4627fa" args=")(PP_Resource ime_event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#ac4891be932c004cff409df47fe4627fa">PPB_IMEInputEvent::GetTargetSegment</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> ime_event)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#ac4891be932c004cff409df47fe4627fa" title="GetTargetSegment() returns the index of the current target segment of composition.">GetTargetSegment()</a> returns the index of the current target segment of composition. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">ime_event</td><td>A <code>PP_Resource</code> corresponding to an IME event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An integer indicating the index of the target segment. When there is no active target segment, or the event is not COMPOSITION_UPDATE, returns -1. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a107e031acc73b3c620b0d92245952e6e"></a><!-- doxytag: member="PPB_IMEInputEvent::GetText" ref="a107e031acc73b3c620b0d92245952e6e" args=")(PP_Resource ime_event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a107e031acc73b3c620b0d92245952e6e">PPB_IMEInputEvent::GetText</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> ime_event)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a107e031acc73b3c620b0d92245952e6e" title="GetText() returns the composition text as a UTF-8 string for the given IME event.">GetText()</a> returns the composition text as a UTF-8 string for the given IME event. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">ime_event</td><td>A <code>PP_Resource</code> corresponding to an IME event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A string var representing the composition text. For non-IME input events the return value will be an undefined var. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a73a886654b174d99af7f52c13272dce0"></a><!-- doxytag: member="PPB_IMEInputEvent::IsIMEInputEvent" ref="a73a886654b174d99af7f52c13272dce0" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a73a886654b174d99af7f52c13272dce0">PPB_IMEInputEvent::IsIMEInputEvent</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___i_m_e_input_event__1__0.html#a73a886654b174d99af7f52c13272dce0" title="IsIMEInputEvent() determines if a resource is an IME event.">IsIMEInputEvent()</a> determines if a resource is an IME event. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to an event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the given resource is a valid input event. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="ppb__input__event_8h.html">ppb_input_event.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___image_data__1__0.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___image_data__1__0.html
new file mode 100644
index 0000000..45987c8
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___image_data__1__0.html
@@ -0,0 +1,168 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_ImageData Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_ImageData" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga2ee7ad01799553e5f17bdaa35dd952ee">PP_ImageDataFormat</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___image_data__1__0.html#adba78e8f9e623809b6b23419dbce4d65">GetNativeImageDataFormat</a> )(void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___image_data__1__0.html#a451a583a5caa74bdc735e324de282b82">IsImageDataFormatSupported</a> )(<a class="el" href="group___enums.html#ga2ee7ad01799553e5f17bdaa35dd952ee">PP_ImageDataFormat</a> format)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___image_data__1__0.html#ab7146e66c91e651259ef9d81bcee7776">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#ga2ee7ad01799553e5f17bdaa35dd952ee">PP_ImageDataFormat</a> format, const struct <a class="el" href="struct_p_p___size.html">PP_Size</a> *size, <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> init_to_zero)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___image_data__1__0.html#a1e208943ea241fc4050d0190a0e92492">IsImageData</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> image_data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___image_data__1__0.html#a0598a298c53b777d9909f80c70987629">Describe</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> image_data, struct <a class="el" href="struct_p_p___image_data_desc.html">PP_ImageDataDesc</a> *desc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___image_data__1__0.html#a2e7d4b40b88c0680b263db05745055e9">Map</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> image_data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___image_data__1__0.html#ab0fc702469c51be79b2f8b74d9148c81">Unmap</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> image_data)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_ImageData</code> interface contains pointers to several functions for determining the browser's treatment of image data. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="ab7146e66c91e651259ef9d81bcee7776"></a><!-- doxytag: member="PPB_ImageData::Create" ref="ab7146e66c91e651259ef9d81bcee7776" args=")(PP_Instance instance, PP_ImageDataFormat format, const struct PP_Size *size, PP_Bool init_to_zero)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___image_data__1__0.html#ab7146e66c91e651259ef9d81bcee7776">PPB_ImageData::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#ga2ee7ad01799553e5f17bdaa35dd952ee">PP_ImageDataFormat</a> format, const struct <a class="el" href="struct_p_p___size.html">PP_Size</a> *size, <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> init_to_zero)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___image_data__1__0.html#ab7146e66c91e651259ef9d81bcee7776" title="Create() allocates an image data resource with the given format and size.">Create()</a> allocates an image data resource with the given format and size. </p>
+<p>For security reasons, if uninitialized, the bitmap will not contain random memory, but may contain data from a previous image produced by the same module if the bitmap was cached and re-used.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>The desired image data format. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>A pointer to a <code><a class="el" href="struct_p_p___size.html" title="The PP_Size struct contains the size of a 2D rectangle.">PP_Size</a></code> containing the image size. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">init_to_zero</td><td>A <code>PP_Bool</code> to determine transparency at creation. Set the <code>init_to_zero</code> flag if you want the bitmap initialized to transparent during the creation process. If this flag is not set, the current contents of the bitmap will be undefined, and the module should be sure to set all the pixels.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> with a nonzero ID on success or zero on failure. Failure means the instance, image size, or format was invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a0598a298c53b777d9909f80c70987629"></a><!-- doxytag: member="PPB_ImageData::Describe" ref="a0598a298c53b777d9909f80c70987629" args=")(PP_Resource image_data, struct PP_ImageDataDesc *desc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___image_data__1__0.html#a0598a298c53b777d9909f80c70987629">PPB_ImageData::Describe</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> image_data, struct <a class="el" href="struct_p_p___image_data_desc.html">PP_ImageDataDesc</a> *desc)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___image_data__1__0.html#a0598a298c53b777d9909f80c70987629" title="Describe() computes the description of the image data.">Describe()</a> computes the description of the image data. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">image_data</td><td>A <code>PP_Resource</code> corresponding to image data. </td></tr>
+<tr><td class="paramdir">[in,out]</td><td class="paramname">desc</td><td>A pointer to a <code><a class="el" href="struct_p_p___image_data_desc.html" title="The PP_ImageDataDesc structure represents a description of image data.">PP_ImageDataDesc</a></code> containing the description.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> with <code>PP_TRUE</code> on success or <code>PP_FALSE</code> if the resource is not an image data. On <code>PP_FALSE</code>, the <code>desc</code> structure will be filled with 0. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="adba78e8f9e623809b6b23419dbce4d65"></a><!-- doxytag: member="PPB_ImageData::GetNativeImageDataFormat" ref="adba78e8f9e623809b6b23419dbce4d65" args=")(void)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga2ee7ad01799553e5f17bdaa35dd952ee">PP_ImageDataFormat</a>(* <a class="el" href="struct_p_p_b___image_data__1__0.html#adba78e8f9e623809b6b23419dbce4d65">PPB_ImageData::GetNativeImageDataFormat</a>)(void)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___image_data__1__0.html#adba78e8f9e623809b6b23419dbce4d65" title="GetNativeImageDataFormat() returns the browser's preferred format for image data.">GetNativeImageDataFormat()</a> returns the browser's preferred format for image data. </p>
+<p>The browser uses this format internally for painting. Other formats may require internal conversions to paint or may have additional restrictions depending on the function.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_ImageDataFormat</code> containing the preferred format. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a1e208943ea241fc4050d0190a0e92492"></a><!-- doxytag: member="PPB_ImageData::IsImageData" ref="a1e208943ea241fc4050d0190a0e92492" args=")(PP_Resource image_data)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___image_data__1__0.html#a1e208943ea241fc4050d0190a0e92492">PPB_ImageData::IsImageData</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> image_data)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___image_data__1__0.html#a1e208943ea241fc4050d0190a0e92492" title="IsImageData() determines if a given resource is image data.">IsImageData()</a> determines if a given resource is image data. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">image_data</td><td>A <code>PP_Resource</code> corresponding to image data.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> with <code>PP_TRUE</code> if the given resource is an image data or <code>PP_FALSE</code> if the resource is invalid or some type other than image data. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a451a583a5caa74bdc735e324de282b82"></a><!-- doxytag: member="PPB_ImageData::IsImageDataFormatSupported" ref="a451a583a5caa74bdc735e324de282b82" args=")(PP_ImageDataFormat format)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___image_data__1__0.html#a451a583a5caa74bdc735e324de282b82">PPB_ImageData::IsImageDataFormatSupported</a>)(<a class="el" href="group___enums.html#ga2ee7ad01799553e5f17bdaa35dd952ee">PP_ImageDataFormat</a> format)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___image_data__1__0.html#a451a583a5caa74bdc735e324de282b82" title="IsImageDataFormatSupported() determines if the given image data format is supported by the browser...">IsImageDataFormatSupported()</a> determines if the given image data format is supported by the browser. </p>
+<p>Note: <code>PP_IMAGEDATAFORMAT_BGRA_PREMUL</code> and <code>PP_IMAGEDATAFORMAT_RGBA_PREMUL</code> formats are always supported. Other image formats do not make this guarantee, and should be checked first with <a class="el" href="struct_p_p_b___image_data__1__0.html#a451a583a5caa74bdc735e324de282b82" title="IsImageDataFormatSupported() determines if the given image data format is supported by the browser...">IsImageDataFormatSupported()</a> before using.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>The image data format.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> with <code>PP_TRUE</code> if the given image data format is supported by the browser. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2e7d4b40b88c0680b263db05745055e9"></a><!-- doxytag: member="PPB_ImageData::Map" ref="a2e7d4b40b88c0680b263db05745055e9" args=")(PP_Resource image_data)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void*(* <a class="el" href="struct_p_p_b___image_data__1__0.html#a2e7d4b40b88c0680b263db05745055e9">PPB_ImageData::Map</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> image_data)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___image_data__1__0.html#a2e7d4b40b88c0680b263db05745055e9" title="Map() maps an image data into the module address space.">Map()</a> maps an image data into the module address space. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">image_data</td><td>A <code>PP_Resource</code> corresponding to image data.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A pointer to the beginning of the data. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab0fc702469c51be79b2f8b74d9148c81"></a><!-- doxytag: member="PPB_ImageData::Unmap" ref="ab0fc702469c51be79b2f8b74d9148c81" args=")(PP_Resource image_data)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___image_data__1__0.html#ab0fc702469c51be79b2f8b74d9148c81">PPB_ImageData::Unmap</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> image_data)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Unmap is a pointer to a function that unmaps an image data from the module address space. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">image_data</td><td>A <code>PP_Resource</code> corresponding to image data. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="ppb__image__data_8h.html">ppb_image_data.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___input_event__1__0.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___input_event__1__0.html
new file mode 100644
index 0000000..0eb5039
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___input_event__1__0.html
@@ -0,0 +1,182 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_InputEvent Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_InputEvent" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___input_event__1__0.html#a369d79730ad84d0b8dee9127c114086e">RequestInputEvents</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, uint32_t event_classes)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___input_event__1__0.html#a42dcc8edf80141680e919258f3066069">RequestFilteringInputEvents</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, uint32_t event_classes)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___input_event__1__0.html#aec4b0db6ac3dca03f4d3a1c034f84a5a">ClearInputEventRequest</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, uint32_t event_classes)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___input_event__1__0.html#a292409d067d969ee6357af350f6fb544">IsInputEvent</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#gaca7296cfec99fcb6646b7144d1d6a0c5">PP_InputEvent_Type</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___input_event__1__0.html#a1d83a144ef7cb784a34caabc81786538">GetType</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> event)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#ga71cb1042cdeb38d7881b121f3b09ce94">PP_TimeTicks</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___input_event__1__0.html#a9bf9a261e8161a3a6ec4093ba6f737b2">GetTimeStamp</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> event)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___input_event__1__0.html#a31311048765ee5af6dd3fb62ae014372">GetModifiers</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> event)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_InputEvent</code> interface contains pointers to several functions related to generic input events on the browser. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="aec4b0db6ac3dca03f4d3a1c034f84a5a"></a><!-- doxytag: member="PPB_InputEvent::ClearInputEventRequest" ref="aec4b0db6ac3dca03f4d3a1c034f84a5a" args=")(PP_Instance instance, uint32_t event_classes)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___input_event__1__0.html#aec4b0db6ac3dca03f4d3a1c034f84a5a">PPB_InputEvent::ClearInputEventRequest</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, uint32_t event_classes)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___input_event__1__0.html#aec4b0db6ac3dca03f4d3a1c034f84a5a" title="ClearInputEventRequest() requests that input events corresponding to the given input classes no longe...">ClearInputEventRequest()</a> requests that input events corresponding to the given input classes no longer be delivered to the instance. </p>
+<p>By default, no input events are delivered. If you have previously requested input events via <a class="el" href="struct_p_p_b___input_event__1__0.html#a369d79730ad84d0b8dee9127c114086e" title="RequestInputEvent() requests that input events corresponding to the given input events are delivered ...">RequestInputEvents()</a> or <a class="el" href="struct_p_p_b___input_event__1__0.html#a42dcc8edf80141680e919258f3066069" title="RequestFilteringInputEvents() requests that input events corresponding to the given input events are ...">RequestFilteringInputEvents()</a>, this function will unregister handling for the given instance. This will allow greater browser performance for those events.</p>
+<p>Note that you may still get some input events after clearing the flag if they were dispatched before the request was cleared. For example, if there are 3 mouse move events waiting to be delivered, and you clear the mouse event class during the processing of the first one, you'll still receive the next two. You just won't get more events generated.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramname">instance</td><td>The <code>PP_Instance</code> of the instance requesting to no longer receive the given events.</td></tr>
+<tr><td class="paramname">event_classes</td><td>A combination of flags from <code>PP_InputEvent_Class</code> that identify the classes of events the instance is no longer interested in. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a31311048765ee5af6dd3fb62ae014372"></a><!-- doxytag: member="PPB_InputEvent::GetModifiers" ref="a31311048765ee5af6dd3fb62ae014372" args=")(PP_Resource event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t(* <a class="el" href="struct_p_p_b___input_event__1__0.html#a31311048765ee5af6dd3fb62ae014372">PPB_InputEvent::GetModifiers</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> event)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___input_event__1__0.html#a31311048765ee5af6dd3fb62ae014372" title="GetModifiers() returns a bitfield indicating which modifiers were down at the time of the event...">GetModifiers()</a> returns a bitfield indicating which modifiers were down at the time of the event. </p>
+<p>This is a combination of the flags in the <code>PP_InputEvent_Modifier</code> enum.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to an input event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The modifiers associated with the event, or 0 if the given resource is not a valid event resource. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a9bf9a261e8161a3a6ec4093ba6f737b2"></a><!-- doxytag: member="PPB_InputEvent::GetTimeStamp" ref="a9bf9a261e8161a3a6ec4093ba6f737b2" args=")(PP_Resource event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#ga71cb1042cdeb38d7881b121f3b09ce94">PP_TimeTicks</a>(* <a class="el" href="struct_p_p_b___input_event__1__0.html#a9bf9a261e8161a3a6ec4093ba6f737b2">PPB_InputEvent::GetTimeStamp</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> event)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___input_event__1__0.html#a9bf9a261e8161a3a6ec4093ba6f737b2" title="GetTimeStamp() Returns the time that the event was generated.">GetTimeStamp()</a> Returns the time that the event was generated. </p>
+<p>This will be before the current time since processing and dispatching the event has some overhead. Use this value to compare the times the user generated two events without being sensitive to variable processing time.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to the event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The return value is in time ticks, which is a monotonically increasing clock not related to the wall clock time. It will not change if the user changes their clock or daylight savings time starts, so can be reliably used to compare events. This means, however, that you can't correlate event times to a particular time of day on the system clock. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a1d83a144ef7cb784a34caabc81786538"></a><!-- doxytag: member="PPB_InputEvent::GetType" ref="a1d83a144ef7cb784a34caabc81786538" args=")(PP_Resource event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#gaca7296cfec99fcb6646b7144d1d6a0c5">PP_InputEvent_Type</a>(* <a class="el" href="struct_p_p_b___input_event__1__0.html#a1d83a144ef7cb784a34caabc81786538">PPB_InputEvent::GetType</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> event)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___input_event__1__0.html#a1d83a144ef7cb784a34caabc81786538" title="GetType() returns the type of input event for the given input event resource.">GetType()</a> returns the type of input event for the given input event resource. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to an input event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_InputEvent_Type</code> if its a valid input event or <code>PP_INPUTEVENT_TYPE_UNDEFINED</code> if the resource is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a292409d067d969ee6357af350f6fb544"></a><!-- doxytag: member="PPB_InputEvent::IsInputEvent" ref="a292409d067d969ee6357af350f6fb544" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___input_event__1__0.html#a292409d067d969ee6357af350f6fb544">PPB_InputEvent::IsInputEvent</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___input_event__1__0.html#a292409d067d969ee6357af350f6fb544" title="IsInputEvent() returns true if the given resource is a valid input event resource.">IsInputEvent()</a> returns true if the given resource is a valid input event resource. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a generic resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the given resource is a valid input event resource. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a42dcc8edf80141680e919258f3066069"></a><!-- doxytag: member="PPB_InputEvent::RequestFilteringInputEvents" ref="a42dcc8edf80141680e919258f3066069" args=")(PP_Instance instance, uint32_t event_classes)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___input_event__1__0.html#a42dcc8edf80141680e919258f3066069">PPB_InputEvent::RequestFilteringInputEvents</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, uint32_t event_classes)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___input_event__1__0.html#a42dcc8edf80141680e919258f3066069" title="RequestFilteringInputEvents() requests that input events corresponding to the given input events are ...">RequestFilteringInputEvents()</a> requests that input events corresponding to the given input events are delivered to the instance for filtering. </p>
+<p>By default, no input events are delivered. In most cases you would register to receive events by calling <a class="el" href="struct_p_p_b___input_event__1__0.html#a369d79730ad84d0b8dee9127c114086e" title="RequestInputEvent() requests that input events corresponding to the given input events are delivered ...">RequestInputEvents()</a>. In some cases, however, you may wish to filter events such that they can be bubbled up to the DOM. In this case, register for those classes of events using this function instead of <a class="el" href="struct_p_p_b___input_event__1__0.html#a369d79730ad84d0b8dee9127c114086e" title="RequestInputEvent() requests that input events corresponding to the given input events are delivered ...">RequestInputEvents()</a>.</p>
+<p>Filtering input events requires significantly more overhead than just delivering them to the instance. As such, you should only request filtering in those cases where it's absolutely necessary. The reason is that it requires the browser to stop and block for the instance to handle the input event, rather than sending the input event asynchronously. This can have significant overhead.</p>
+<p><b>Example:</b> </p>
+<div class="fragment"><pre class="fragment"> <a class="code" href="struct_p_p_b___input_event__1__0.html#a369d79730ad84d0b8dee9127c114086e" title="RequestInputEvent() requests that input events corresponding to the given input events are delivered ...">RequestInputEvents</a>(instance, <a class="code" href="group___enums.html#ggafe68e3c1031daa4a6496845ff47649cda79ccc5180eb39c52ab3207f0c876dd52" title="Request mouse input events.">PP_INPUTEVENT_CLASS_MOUSE</a>);
+ <a class="code" href="struct_p_p_b___input_event__1__0.html#a42dcc8edf80141680e919258f3066069" title="RequestFilteringInputEvents() requests that input events corresponding to the given input events are ...">RequestFilteringInputEvents</a>(instance,
+ <a class="code" href="group___enums.html#ggafe68e3c1031daa4a6496845ff47649cda59d6686dbce1f0dc092cb88a451bb3a6" title="Identifies scroll wheel input event.">PP_INPUTEVENT_CLASS_WHEEL</a> | <a class="code" href="group___enums.html#ggafe68e3c1031daa4a6496845ff47649cda2c3341eacc3a459713ce334b9af0cda8" title="Requests keyboard events.">PP_INPUTEVENT_CLASS_KEYBOARD</a>);
+</pre></div><dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_OK</code> if the operation succeeded, <code>PP_ERROR_BADARGUMENT</code> if instance is invalid, or <code>PP_ERROR_NOTSUPPORTED</code> if one of the event class bits were illegal. In the case of an invalid bit, all valid bits will be applied and only the illegal bits will be ignored. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a369d79730ad84d0b8dee9127c114086e"></a><!-- doxytag: member="PPB_InputEvent::RequestInputEvents" ref="a369d79730ad84d0b8dee9127c114086e" args=")(PP_Instance instance, uint32_t event_classes)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___input_event__1__0.html#a369d79730ad84d0b8dee9127c114086e">PPB_InputEvent::RequestInputEvents</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, uint32_t event_classes)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>RequestInputEvent() requests that input events corresponding to the given input events are delivered to the instance. </p>
+<p>It's recommended that you use <a class="el" href="struct_p_p_b___input_event__1__0.html#a42dcc8edf80141680e919258f3066069" title="RequestFilteringInputEvents() requests that input events corresponding to the given input events are ...">RequestFilteringInputEvents()</a> for keyboard events instead of this function so that you don't interfere with normal browser accelerators.</p>
+<p>By default, no input events are delivered. Call this function with the classes of events you are interested in to have them be delivered to the instance. Calling this function will override any previous setting for each specified class of input events (for example, if you previously called <a class="el" href="struct_p_p_b___input_event__1__0.html#a42dcc8edf80141680e919258f3066069" title="RequestFilteringInputEvents() requests that input events corresponding to the given input events are ...">RequestFilteringInputEvents()</a>, this function will set those events to non-filtering mode).</p>
+<p>Input events may have high overhead, so you should only request input events that your plugin will actually handle. For example, the browser may do optimizations for scroll or touch events that can be processed substantially faster if it knows there are no non-default receivers for that message. Requesting that such messages be delivered, even if they are processed very quickly, may have a noticeable effect on the performance of the page.</p>
+<p>Note that synthetic mouse events will be generated from touch events if (and only if) the you do not request touch events.</p>
+<p>When requesting input events through this function, the events will be delivered and <em>not</em> bubbled to the page. This means that even if you aren't interested in the message, no other parts of the page will get a crack at the message.</p>
+<p><b>Example:</b> </p>
+<div class="fragment"><pre class="fragment"> <a class="code" href="struct_p_p_b___input_event__1__0.html#a369d79730ad84d0b8dee9127c114086e" title="RequestInputEvent() requests that input events corresponding to the given input events are delivered ...">RequestInputEvents</a>(instance, <a class="code" href="group___enums.html#ggafe68e3c1031daa4a6496845ff47649cda79ccc5180eb39c52ab3207f0c876dd52" title="Request mouse input events.">PP_INPUTEVENT_CLASS_MOUSE</a>);
+ <a class="code" href="struct_p_p_b___input_event__1__0.html#a42dcc8edf80141680e919258f3066069" title="RequestFilteringInputEvents() requests that input events corresponding to the given input events are ...">RequestFilteringInputEvents</a>(instance,
+ <a class="code" href="group___enums.html#ggafe68e3c1031daa4a6496845ff47649cda59d6686dbce1f0dc092cb88a451bb3a6" title="Identifies scroll wheel input event.">PP_INPUTEVENT_CLASS_WHEEL</a> | <a class="code" href="group___enums.html#ggafe68e3c1031daa4a6496845ff47649cda2c3341eacc3a459713ce334b9af0cda8" title="Requests keyboard events.">PP_INPUTEVENT_CLASS_KEYBOARD</a>);
+</pre></div><dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramname">instance</td><td>The <code>PP_Instance</code> of the instance requesting the given events.</td></tr>
+<tr><td class="paramname">event_classes</td><td>A combination of flags from <code>PP_InputEvent_Class</code> that identifies the classes of events the instance is requesting. The flags are combined by logically ORing their values.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_OK</code> if the operation succeeded, <code>PP_ERROR_BADARGUMENT</code> if instance is invalid, or <code>PP_ERROR_NOTSUPPORTED</code> if one of the event class bits were illegal. In the case of an invalid bit, all valid bits will be applied and only the illegal bits will be ignored. The most common cause of a <code>PP_ERROR_NOTSUPPORTED</code> return value is requesting keyboard events, these must use <a class="el" href="struct_p_p_b___input_event__1__0.html#a42dcc8edf80141680e919258f3066069" title="RequestFilteringInputEvents() requests that input events corresponding to the given input events are ...">RequestFilteringInputEvents()</a>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="ppb__input__event_8h.html">ppb_input_event.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___instance__1__0.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___instance__1__0.html
new file mode 100644
index 0000000..8d1af9b5
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___instance__1__0.html
@@ -0,0 +1,69 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_Instance Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_Instance" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___instance__1__0.html#ae5b0da2fc0975c82213f687d96434625">BindGraphics</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> device)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___instance__1__0.html#a1a7dc39b5aa46596c91299047c6ab8b2">IsFullFrame</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The PPB_Instance interface contains pointers to functions related to the module instance on a web page. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="ae5b0da2fc0975c82213f687d96434625"></a><!-- doxytag: member="PPB_Instance::BindGraphics" ref="ae5b0da2fc0975c82213f687d96434625" args=")(PP_Instance instance, PP_Resource device)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___instance__1__0.html#ae5b0da2fc0975c82213f687d96434625">PPB_Instance::BindGraphics</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> device)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___instance__1__0.html#ae5b0da2fc0975c82213f687d96434625" title="BindGraphics() binds the given graphics as the current display surface.">BindGraphics()</a> binds the given graphics as the current display surface. </p>
+<p>The contents of this device is what will be displayed in the instance's area on the web page. The device must be a 2D or a 3D device.</p>
+<p>You can pass a <code>NULL</code> resource as the device parameter to unbind all devices from the given instance. The instance will then appear transparent. Re-binding the same device will return <code>PP_TRUE</code> and will do nothing.</p>
+<p>Any previously-bound device will be released. It is an error to bind a device when it is already bound to another instance. If you want to move a device between instances, first unbind it from the old one, and then rebind it to the new one.</p>
+<p>Binding a device will invalidate that portion of the web page to flush the contents of the new device to the screen.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A PP_Instance identifying one instance of a module. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">device</td><td>A PP_Resource corresponding to a graphics device.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_Bool</code> containing <code>PP_TRUE</code> if bind was successful or <code>PP_FALSE</code> if the device was not the correct type. On success, a reference to the device will be held by the instance, so the caller can release its reference if it chooses. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a1a7dc39b5aa46596c91299047c6ab8b2"></a><!-- doxytag: member="PPB_Instance::IsFullFrame" ref="a1a7dc39b5aa46596c91299047c6ab8b2" args=")(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___instance__1__0.html#a1a7dc39b5aa46596c91299047c6ab8b2">PPB_Instance::IsFullFrame</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___instance__1__0.html#a1a7dc39b5aa46596c91299047c6ab8b2" title="IsFullFrame() determines if the instance is full-frame.">IsFullFrame()</a> determines if the instance is full-frame. </p>
+<p>Such an instance represents the entire document in a frame rather than an embedded resource. This can happen if the user does a top-level navigation or the page specifies an iframe to a resource with a MIME type registered by the module.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> containing <code>PP_TRUE</code> if the instance is full-frame. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="ppb__instance_8h.html">ppb_instance.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___keyboard_input_event__1__0.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___keyboard_input_event__1__0.html
new file mode 100644
index 0000000..12de128
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___keyboard_input_event__1__0.html
@@ -0,0 +1,112 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_KeyboardInputEvent Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_KeyboardInputEvent" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___keyboard_input_event__1__0.html#a4363d350778229bf8651c14321fc218e">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#gaca7296cfec99fcb6646b7144d1d6a0c5">PP_InputEvent_Type</a> type, <a class="el" href="group___typedefs.html#ga71cb1042cdeb38d7881b121f3b09ce94">PP_TimeTicks</a> time_stamp, uint32_t modifiers, uint32_t key_code, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> character_text)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___keyboard_input_event__1__0.html#aa8adda758cb3b4fcaea97862eb8f5e4f">IsKeyboardInputEvent</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___keyboard_input_event__1__0.html#a6fe1d45a20581608f1d8721e91130876">GetKeyCode</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> key_event)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___keyboard_input_event__1__0.html#a8a03b57ca3bde680dc8065c1d4a2099a">GetCharacterText</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> character_event)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_KeyboardInputEvent</code> interface contains pointers to several functions related to keyboard input events. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a4363d350778229bf8651c14321fc218e"></a><!-- doxytag: member="PPB_KeyboardInputEvent::Create" ref="a4363d350778229bf8651c14321fc218e" args=")(PP_Instance instance, PP_InputEvent_Type type, PP_TimeTicks time_stamp, uint32_t modifiers, uint32_t key_code, struct PP_Var character_text)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___keyboard_input_event__1__0.html#a4363d350778229bf8651c14321fc218e">PPB_KeyboardInputEvent::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#gaca7296cfec99fcb6646b7144d1d6a0c5">PP_InputEvent_Type</a> type, <a class="el" href="group___typedefs.html#ga71cb1042cdeb38d7881b121f3b09ce94">PP_TimeTicks</a> time_stamp, uint32_t modifiers, uint32_t key_code, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> character_text)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Creates a keyboard input event with the given parameters. </p>
+<p>Normally you will get a keyboard event passed through the HandleInputEvent and will not need to create them, but some applications may want to create their own for internal use. The type must be one of the keyboard event types.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance for which this event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>A <code>PP_InputEvent_Type</code> identifying the type of input event.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">time_stamp</td><td>A <code>PP_TimeTicks</code> indicating the time when the event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">modifiers</td><td>A bit field combination of the <code>PP_InputEvent_Modifier</code> flags.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">key_code</td><td>This value reflects the DOM KeyboardEvent <code>keyCode</code> field. Chrome populates this with the Windows-style Virtual Key code of the key.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">character_text</td><td>This value represents the typed character as a UTF-8 string.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> containing the new keyboard input event. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a8a03b57ca3bde680dc8065c1d4a2099a"></a><!-- doxytag: member="PPB_KeyboardInputEvent::GetCharacterText" ref="a8a03b57ca3bde680dc8065c1d4a2099a" args=")(PP_Resource character_event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___keyboard_input_event__1__0.html#a8a03b57ca3bde680dc8065c1d4a2099a">PPB_KeyboardInputEvent::GetCharacterText</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> character_event)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___keyboard_input_event__1__0.html#a8a03b57ca3bde680dc8065c1d4a2099a" title="GetCharacterText() returns the typed character as a UTF-8 string for the given character event...">GetCharacterText()</a> returns the typed character as a UTF-8 string for the given character event. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">character_event</td><td>A <code>PP_Resource</code> corresponding to a keyboard event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A string var representing a single typed character for character input events. For non-character input events the return value will be an undefined var. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a6fe1d45a20581608f1d8721e91130876"></a><!-- doxytag: member="PPB_KeyboardInputEvent::GetKeyCode" ref="a6fe1d45a20581608f1d8721e91130876" args=")(PP_Resource key_event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t(* <a class="el" href="struct_p_p_b___keyboard_input_event__1__0.html#a6fe1d45a20581608f1d8721e91130876">PPB_KeyboardInputEvent::GetKeyCode</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> key_event)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___keyboard_input_event__1__0.html#a6fe1d45a20581608f1d8721e91130876" title="GetKeyCode() returns the DOM keyCode field for the keyboard event.">GetKeyCode()</a> returns the DOM keyCode field for the keyboard event. </p>
+<p>Chrome populates this with the Windows-style Virtual Key code of the key.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">key_event</td><td>A <code>PP_Resource</code> corresponding to a keyboard event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The DOM keyCode field for the keyboard event. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aa8adda758cb3b4fcaea97862eb8f5e4f"></a><!-- doxytag: member="PPB_KeyboardInputEvent::IsKeyboardInputEvent" ref="aa8adda758cb3b4fcaea97862eb8f5e4f" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___keyboard_input_event__1__0.html#aa8adda758cb3b4fcaea97862eb8f5e4f">PPB_KeyboardInputEvent::IsKeyboardInputEvent</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___keyboard_input_event__1__0.html#aa8adda758cb3b4fcaea97862eb8f5e4f" title="IsKeyboardInputEvent() determines if a resource is a keyboard event.">IsKeyboardInputEvent()</a> determines if a resource is a keyboard event. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to an event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the given resource is a valid input event. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="ppb__input__event_8h.html">ppb_input_event.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___message_loop__1__0.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___message_loop__1__0.html
new file mode 100644
index 0000000..f9ac583
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___message_loop__1__0.html
@@ -0,0 +1,227 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_MessageLoop Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_MessageLoop" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___message_loop__1__0.html#a2bbe000366ee68200cb97d956b9e33ef">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___message_loop__1__0.html#ab3ac0fdbe4c56d687bcf316552f0a6f6">GetForMainThread</a> )(void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___message_loop__1__0.html#a8049f2ad6395195a673d801b1eeb65df">GetCurrent</a> )(void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___message_loop__1__0.html#ad7e1c1fb0baf6a0446ffb241a6b226b9">AttachToCurrentThread</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> message_loop)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___message_loop__1__0.html#a2262dd5022845450f77b3601578cc22d">Run</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> message_loop)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___message_loop__1__0.html#a77b0e82e183d5295b0d765f70c4fe7ff">PostWork</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> message_loop, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback, int64_t delay_ms)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___message_loop__1__0.html#adbbdc03661c9ac41df82fffcc566603d">PostQuit</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> message_loop, <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> should_destroy)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>A message loop allows PPAPI calls to be issued on a thread. </p>
+<p>You may not issue any API calls on a thread without creating a message loop. It also allows you to post work to the message loop for a thread.</p>
+<p>To process work posted to the message loop, as well as completion callbacks for asynchronous operations, you must run the message loop via <a class="el" href="struct_p_p_b___message_loop__1__0.html#a2262dd5022845450f77b3601578cc22d" title="Runs the thread message loop.">Run()</a>.</p>
+<p>Note the system manages the lifetime of the instance (and all associated resources). If the instance is deleted from the page, background threads may suddenly see their PP_Resource handles become invalid. In this case, calls will fail with PP_ERROR_BADRESOURCE. If you need to access data associated with your instance, you will probably want to create some kind of threadsafe proxy object that can handle asynchronous destruction of the instance object.</p>
+<p>Typical usage: On the main thread:</p>
+<ul>
+<li>Create the thread yourself (using pthreads).</li>
+<li>Create the message loop resource.</li>
+<li>Pass the message loop resource to your thread's main function.</li>
+<li>Call <a class="el" href="struct_p_p_b___message_loop__1__0.html#a77b0e82e183d5295b0d765f70c4fe7ff" title="Schedules work to run on the given message loop.">PostWork()</a> on the message loop to run functions on the thread.</li>
+</ul>
+<p>From the background thread's main function:</p>
+<ul>
+<li>Call <a class="el" href="struct_p_p_b___message_loop__1__0.html#ad7e1c1fb0baf6a0446ffb241a6b226b9" title="Sets the given message loop resource as being the associated message loop for the currently running t...">AttachToCurrentThread()</a> with the message loop resource.</li>
+<li>Call <a class="el" href="struct_p_p_b___message_loop__1__0.html#a2262dd5022845450f77b3601578cc22d" title="Runs the thread message loop.">Run()</a> with the message loop resource.</li>
+</ul>
+<p>Your callbacks should look like this: </p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">void</span> DoMyWork(<span class="keywordtype">void</span>* user_data, int32_t status) {
+ <span class="keywordflow">if</span> (status != <a class="code" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba5c394615cfa8eaceba77ecedb65dc9cb" title="This value is returned by a function on successful synchronous completion or is passed as a result to...">PP_OK</a>) {
+ Cleanup(); <span class="comment">// e.g. free user_data.</span>
+ <span class="keywordflow">return</span>;
+ }
+ ... <span class="keywordflow">do</span> your work...
+ }
+</pre></div><p> For a C++ example, see ppapi/utility/threading/simple_thread.h</p>
+<p>(You can also create the message loop resource on the background thread, but then the main thread will have no reference to it should you want to call <a class="el" href="struct_p_p_b___message_loop__1__0.html#a77b0e82e183d5295b0d765f70c4fe7ff" title="Schedules work to run on the given message loop.">PostWork()</a>).</p>
+<p>THREAD HANDLING</p>
+<p>The main thread has an implicitly created message loop. The main thread is the thread where PPP_InitializeModule and PPP_Instance functions are called. You can retrieve a reference to this message loop by calling <a class="el" href="struct_p_p_b___message_loop__1__0.html#ab3ac0fdbe4c56d687bcf316552f0a6f6" title="Returns a resource identifying the message loop for the main thread.">GetForMainThread()</a> or, if your code is on the main thread, GetForCurrentThread() will also work.</p>
+<p>Some special threads created by the system can not have message loops. In particular, the background thread created for audio processing has this requirement because it's intended to be highly responsive to keep up with the realtime requirements of audio processing. You can not make PPAPI calls from these threads.</p>
+<p>Once you associate a message loop with a thread, you don't have to keep a reference to it. The system will hold a reference to the message loop for as long as the thread is running. The current message loop can be retrieved using the <a class="el" href="struct_p_p_b___message_loop__1__0.html#a8049f2ad6395195a673d801b1eeb65df" title="Returns a reference to the PPB_MessageLoop object attached to the current thread.">GetCurrent()</a> function.</p>
+<p>It is legal to create threads in your plugin without message loops, but PPAPI calls will fail unless explicitly noted in the documentation.</p>
+<p>You can create a message loop object on a thread and never actually run the message loop. This will allow you to call blocking PPAPI calls (via <a class="el" href="group___functions.html#ga340e452b4931d17bd44928769490e282" title="PP_BlockUntilComplete() is used in place of an actual completion callback to request blocking behavio...">PP_BlockUntilComplete()</a>). If you make any asynchronous calls, the callbacks from those calls will be queued in the message loop and never run. The same thing will happen if work is scheduled after the message loop exits and the message loop is not run again.</p>
+<p>DESTRUCTION AND ERROR HANDLING</p>
+<p>Often, your application will associate memory with completion callbacks. For example, the C++ CompletionCallbackFactory has a small amount of heap-allocated memory for each callback. This memory will be leaked if the callback is never run. To avoid this memory leak, you need to be careful about error handling and shutdown.</p>
+<p>There are a number of cases where posted callbacks will never be run:</p>
+<ul>
+<li>You tear down the thread (via pthreads) without "destroying" the message loop (via PostQuit with should_destroy = PP_TRUE). In this case, any tasks in the message queue will be lost.</li>
+</ul>
+<ul>
+<li>You create a message loop, post callbacks to it, and never run it.</li>
+</ul>
+<ul>
+<li>You quit the message loop via PostQuit with should_destroy set to PP_FALSE. In this case, the system will assume the message loop will be run again later and keep your tasks.</li>
+</ul>
+<p>To do proper shutdown, call PostQuit with should_destroy = PP_TRUE. This will prohibit future work from being posted, and will allow the message loop to run until all pending tasks are run.</p>
+<p>If you post a callback to a message loop that's been destroyed, or to an invalid message loop, PostWork will return an error and will not run the callback. This is true even for callbacks with the "required" flag set, since the system may not even know what thread to issue the error callback on.</p>
+<p>Therefore, you should check for errors from PostWork and destroy any associated memory to avoid leaks. If you're using the C++ CompletionCallbackFactory, use the following pattern: </p>
+<div class="fragment"><pre class="fragment"> pp::CompletionCallback callback = factory_.NewOptionalCallback(...);
+ int32_t result = message_loop.PostWork(callback);
+ <span class="keywordflow">if</span> (result != <a class="code" href="group___enums.html#gga06fc87d81c62e9abb8790b6e5713c55ba5c394615cfa8eaceba77ecedb65dc9cb" title="This value is returned by a function on successful synchronous completion or is passed as a result to...">PP_OK</a>)
+ callback.Run(result);
+</pre></div><p> This will run the callback with an error value, and assumes that the implementation of your callback checks the "result" argument and returns immediately on error. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="ad7e1c1fb0baf6a0446ffb241a6b226b9"></a><!-- doxytag: member="PPB_MessageLoop::AttachToCurrentThread" ref="ad7e1c1fb0baf6a0446ffb241a6b226b9" args=")(PP_Resource message_loop)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___message_loop__1__0.html#ad7e1c1fb0baf6a0446ffb241a6b226b9">PPB_MessageLoop::AttachToCurrentThread</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> message_loop)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sets the given message loop resource as being the associated message loop for the currently running thread. </p>
+<p>You must call this function exactly once on a thread before making any PPAPI calls. A message loop can only be attached to one thread, and the message loop can not be changed later. The message loop will be attached as long as the thread is running or until you quit with should_destroy set to PP_TRUE.</p>
+<p>If this function fails, attempting to run the message loop will fail. Note that you can still post work to the message loop: it will get queued up should the message loop eventually be successfully attached and run.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
+<li>PP_OK: The message loop was successfully attached to the thread and is ready to use.</li>
+<li>PP_ERROR_BADRESOURCE: The given message loop resource is invalid.</li>
+<li>PP_ERROR_INPROGRESS: The current thread already has a message loop attached. This will always be the case for the main thread, which has an implicit system-created message loop attached.</li>
+<li>PP_ERROR_WRONG_THREAD: The current thread type can not have a message loop attached to it. See the interface level discussion about these special threads, which include realtime audio threads. </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2bbe000366ee68200cb97d956b9e33ef"></a><!-- doxytag: member="PPB_MessageLoop::Create" ref="a2bbe000366ee68200cb97d956b9e33ef" args=")(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___message_loop__1__0.html#a2bbe000366ee68200cb97d956b9e33ef">PPB_MessageLoop::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Creates a message loop resource. </p>
+<p>This may be called from any thread. After your thread starts but before issuing any other PPAPI calls on it, you must associate it with a message loop by calling AttachToCurrentThread. </p>
+</div>
+</div>
+<a class="anchor" id="a8049f2ad6395195a673d801b1eeb65df"></a><!-- doxytag: member="PPB_MessageLoop::GetCurrent" ref="a8049f2ad6395195a673d801b1eeb65df" args=")(void)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___message_loop__1__0.html#a8049f2ad6395195a673d801b1eeb65df">PPB_MessageLoop::GetCurrent</a>)(void)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns a reference to the PPB_MessageLoop object attached to the current thread. </p>
+<p>If there is no attached message loop, the return value will be 0. </p>
+</div>
+</div>
+<a class="anchor" id="ab3ac0fdbe4c56d687bcf316552f0a6f6"></a><!-- doxytag: member="PPB_MessageLoop::GetForMainThread" ref="ab3ac0fdbe4c56d687bcf316552f0a6f6" args=")(void)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___message_loop__1__0.html#ab3ac0fdbe4c56d687bcf316552f0a6f6">PPB_MessageLoop::GetForMainThread</a>)(void)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns a resource identifying the message loop for the main thread. </p>
+<p>The main thread always has a message loop created by the system. </p>
+</div>
+</div>
+<a class="anchor" id="adbbdc03661c9ac41df82fffcc566603d"></a><!-- doxytag: member="PPB_MessageLoop::PostQuit" ref="adbbdc03661c9ac41df82fffcc566603d" args=")(PP_Resource message_loop, PP_Bool should_destroy)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___message_loop__1__0.html#adbbdc03661c9ac41df82fffcc566603d">PPB_MessageLoop::PostQuit</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> message_loop, <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> should_destroy)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Posts a quit message to the given message loop's work queue. </p>
+<p>Work posted before that point will be processed before quitting.</p>
+<p>This may be called on the message loop registered for the current thread, or it may be called on the message loop registered for another thread. It is an error to attempt to <a class="el" href="struct_p_p_b___message_loop__1__0.html#adbbdc03661c9ac41df82fffcc566603d" title="Posts a quit message to the given message loop's work queue.">PostQuit()</a> the main thread loop.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramname">should_destroy</td><td>Marks the message loop as being in a destroyed state and prevents further posting of messages.</td></tr>
+</table>
+</dd>
+</dl>
+<p>If you quit a message loop without setting should_destroy, it will still be attached to the thread and you can still run it again by calling <a class="el" href="struct_p_p_b___message_loop__1__0.html#a2262dd5022845450f77b3601578cc22d" title="Runs the thread message loop.">Run()</a> again. If you destroy it, it will be detached from the current thread.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
+<li>PP_OK: The request to quit was successfully posted.</li>
+<li>PP_ERROR_BADRESOURCE: The message loop was invalid.</li>
+<li>PP_ERROR_WRONG_THREAD: You are attempting to quit the main thread. The main thread's message loop is managed by the system and can't be quit. </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<a class="anchor" id="a77b0e82e183d5295b0d765f70c4fe7ff"></a><!-- doxytag: member="PPB_MessageLoop::PostWork" ref="a77b0e82e183d5295b0d765f70c4fe7ff" args=")(PP_Resource message_loop, struct PP_CompletionCallback callback, int64_t delay_ms)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___message_loop__1__0.html#a77b0e82e183d5295b0d765f70c4fe7ff">PPB_MessageLoop::PostWork</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> message_loop, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback, int64_t delay_ms)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Schedules work to run on the given message loop. </p>
+<p>This may be called from any thread. Posted work will be executed in the order it was posted when the message loop is <a class="el" href="struct_p_p_b___message_loop__1__0.html#a2262dd5022845450f77b3601578cc22d" title="Runs the thread message loop.">Run()</a>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramname">message_loop</td><td>The message loop resource.</td></tr>
+<tr><td class="paramname">callback</td><td>The completion callback to execute from the message loop.</td></tr>
+<tr><td class="paramname">delay_ms</td><td>The number of milliseconds to delay execution of the given completion callback. Passing 0 means it will get queued normally and executed in order.</td></tr>
+</table>
+</dd>
+</dl>
+<p>The completion callback will be called with PP_OK as the "result" parameter if it is run normally. It is good practice to check for PP_OK and return early otherwise.</p>
+<p>The "required" flag on the completion callback is ignored. If there is an error posting your callback, the error will be returned from PostWork and the callback will never be run (because there is no appropriate place to run your callback with an error without causing unexpected threading problems). If you associate memory with the completion callback (for example, you're using the C++ CompletionCallbackFactory), you will need to free this or manually run the callback. See "Destruction and error
+ handling" above.</p>
+<p>You can call this function before the message loop has started and the work will get queued until the message loop is run. You can also post work after the message loop has exited as long as should_destroy was PP_FALSE. It will be queued until the next invocation of <a class="el" href="struct_p_p_b___message_loop__1__0.html#a2262dd5022845450f77b3601578cc22d" title="Runs the thread message loop.">Run()</a>.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
+<li>PP_OK: The work was posted to the message loop's queue. As described above, this does not mean that the work has been or will be executed (if you never run the message loop after posting).</li>
+<li>PP_ERROR_BADRESOURCE: The given message loop resource is invalid.</li>
+<li>PP_ERROR_BADARGUMENT: The function pointer for the completion callback is null (this will be the case if you pass <a class="el" href="group___functions.html#ga340e452b4931d17bd44928769490e282" title="PP_BlockUntilComplete() is used in place of an actual completion callback to request blocking behavio...">PP_BlockUntilComplete()</a>).</li>
+<li>PP_ERROR_FAILED: The message loop has been destroyed. </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2262dd5022845450f77b3601578cc22d"></a><!-- doxytag: member="PPB_MessageLoop::Run" ref="a2262dd5022845450f77b3601578cc22d" args=")(PP_Resource message_loop)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___message_loop__1__0.html#a2262dd5022845450f77b3601578cc22d">PPB_MessageLoop::Run</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> message_loop)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Runs the thread message loop. </p>
+<p>Running the message loop is required for you to get issued completion callbacks on the thread.</p>
+<p>The message loop identified by the argument must have been previously successfully attached to the current thread.</p>
+<p>You may not run nested message loops. Since the main thread has an implicit message loop that the system runs, you may not call Run on the main thread.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
+<li>PP_OK: The message loop was successfully run. Note that on success, the message loop will only exit when you call <a class="el" href="struct_p_p_b___message_loop__1__0.html#adbbdc03661c9ac41df82fffcc566603d" title="Posts a quit message to the given message loop's work queue.">PostQuit()</a>.</li>
+<li>PP_ERROR_BADRESOURCE: The given message loop resource is invalid.</li>
+<li>PP_ERROR_WRONG_THREAD: You are attempting to run a message loop that has not been successfully attached to the current thread. Call <a class="el" href="struct_p_p_b___message_loop__1__0.html#ad7e1c1fb0baf6a0446ffb241a6b226b9" title="Sets the given message loop resource as being the associated message loop for the currently running t...">AttachToCurrentThread()</a>.</li>
+<li>PP_ERROR_INPROGRESS: You are attempting to call Run in a nested fashion (Run is already on the stack). This will occur if you attempt to call run on the main thread's message loop (see above). </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="ppb__message__loop_8h.html">ppb_message_loop.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___messaging__1__0.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___messaging__1__0.html
new file mode 100644
index 0000000..7037f10d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___messaging__1__0.html
@@ -0,0 +1,65 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_Messaging Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_Messaging" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___messaging__1__0.html#a7f0412c47b340d21c9c98be2e83dcc53">PostMessage</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> message)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_Messaging</code> interface is implemented by the browser and is related to sending messages to JavaScript message event listeners on the DOM element associated with specific module instance. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a7f0412c47b340d21c9c98be2e83dcc53"></a><!-- doxytag: member="PPB_Messaging::PostMessage" ref="a7f0412c47b340d21c9c98be2e83dcc53" args=")(PP_Instance instance, struct PP_Var message)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___messaging__1__0.html#a7f0412c47b340d21c9c98be2e83dcc53">PPB_Messaging::PostMessage</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> message)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___messaging__1__0.html#a7f0412c47b340d21c9c98be2e83dcc53" title="PostMessage() asynchronously invokes any listeners for message events on the DOM element for the give...">PostMessage()</a> asynchronously invokes any listeners for message events on the DOM element for the given module instance. </p>
+<p>A call to <a class="el" href="struct_p_p_b___messaging__1__0.html#a7f0412c47b340d21c9c98be2e83dcc53" title="PostMessage() asynchronously invokes any listeners for message events on the DOM element for the give...">PostMessage()</a> will not block while the message is processed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">message</td><td>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> containing the data to be sent to JavaScript. <code>message</code> can be any <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> type except <code>PP_VARTYPE_OBJECT</code>. Array/Dictionary types are supported from Chrome M29 onward. All var types are copied when passing them to JavaScript.</td></tr>
+</table>
+</dd>
+</dl>
+<p>When passing array or dictionary <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code>s, the entire reference graph will be converted and transferred. If the reference graph has cycles, the message will not be sent and an error will be logged to the console.</p>
+<p>Listeners for message events in JavaScript code will receive an object conforming to the HTML 5 <code>MessageEvent</code> interface. Specifically, the value of message will be contained as a property called data in the received <code>MessageEvent</code>.</p>
+<p>This messaging system is similar to the system used for listening for messages from Web Workers. Refer to <code><a href="http://www.whatwg.org/specs/web-workers/current-work/">http://www.whatwg.org/specs/web-workers/current-work/</a></code> for further information.</p>
+<p><b>Example:</b></p>
+<div class="fragment"><pre class="fragment"> <body>
+ <<span class="keywordtype">object</span> <span class="keywordtype">id</span>=<span class="stringliteral">"plugin"</span>
+ type=<span class="stringliteral">"application/x-ppapi-postMessage-example"</span>/>
+ <script type=<span class="stringliteral">"text/javascript"</span>>
+ var plugin = document.getElementById(<span class="stringliteral">'plugin'</span>);
+ plugin.addEventListener(<span class="stringliteral">"message"</span>,
+ <span class="keyword">function</span>(message) { alert(message.data); },
+ <span class="keyword">false</span>);
+ </script>
+ </body>
+</pre></div><p>The module instance then invokes <a class="el" href="struct_p_p_b___messaging__1__0.html#a7f0412c47b340d21c9c98be2e83dcc53" title="PostMessage() asynchronously invokes any listeners for message events on the DOM element for the give...">PostMessage()</a> as follows:</p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">char</span> hello_world[] = <span class="stringliteral">"Hello world!"</span>;
+ <a class="code" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a> hello_var = ppb_var_interface->VarFromUtf8(instance,
+ hello_world,
+ <span class="keyword">sizeof</span>(hello_world));
+ ppb_messaging_interface->PostMessage(instance, hello_var); <span class="comment">// Copies var.</span>
+ ppb_var_interface->Release(hello_var);
+</pre></div><p>The browser will pop-up an alert saying "Hello world!" </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="ppb__messaging_8h.html">ppb_messaging.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___mouse_cursor__1__0.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___mouse_cursor__1__0.html
new file mode 100644
index 0000000..64d343f4
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___mouse_cursor__1__0.html
@@ -0,0 +1,47 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_MouseCursor Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_MouseCursor" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___mouse_cursor__1__0.html#affb0522468db2deccac0715c3997c2da">SetCursor</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, enum <a class="el" href="group___enums.html#gac53273018386c1db9542d2a06bbe118b">PP_MouseCursor_Type</a> type, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> image, const struct <a class="el" href="struct_p_p___point.html">PP_Point</a> *hot_spot)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_MouseCursor</code> allows setting the mouse cursor. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="affb0522468db2deccac0715c3997c2da"></a><!-- doxytag: member="PPB_MouseCursor::SetCursor" ref="affb0522468db2deccac0715c3997c2da" args=")(PP_Instance instance, enum PP_MouseCursor_Type type, PP_Resource image, const struct PP_Point *hot_spot)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___mouse_cursor__1__0.html#affb0522468db2deccac0715c3997c2da">PPB_MouseCursor::SetCursor</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, enum <a class="el" href="group___enums.html#gac53273018386c1db9542d2a06bbe118b">PP_MouseCursor_Type</a> type, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> image, const struct <a class="el" href="struct_p_p___point.html">PP_Point</a> *hot_spot)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sets the given mouse cursor. </p>
+<p>The mouse cursor will be in effect whenever the mouse is over the given instance until it is set again by another call. Note that you can hide the mouse cursor by setting it to the <code>PP_MOUSECURSOR_TYPE_NONE</code> type.</p>
+<p>This function allows setting both system defined mouse cursors and custom cursors. To set a system-defined cursor, pass the type you want and set the custom image to 0 and the hot spot to NULL. To set a custom cursor, set the type to <code>PP_MOUSECURSOR_TYPE_CUSTOM</code> and specify your image and hot spot.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying the instance that the mouse cursor will affect.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>A <code>PP_MouseCursor_Type</code> identifying the type of mouse cursor to show.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">image</td><td>A <code>PPB_ImageData</code> resource identifying the custom image to set when the type is <code>PP_MOUSECURSOR_TYPE_CUSTOM</code>. The image must be less than 32 pixels in each direction and must be of the system's native image format. When you are specifying a predefined cursor, this parameter must be 0.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">hot_spot</td><td>When setting a custom cursor, this identifies the pixel position within the given image of the "hot spot" of the cursor. When specifying a stock cursor, this parameter is ignored.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>PP_TRUE on success, or PP_FALSE if the instance or cursor type is invalid, or if the image is too large. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="ppb__mouse__cursor_8h.html">ppb_mouse_cursor.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___mouse_input_event__1__1.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___mouse_input_event__1__1.html
new file mode 100644
index 0000000..e5d1015
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___mouse_input_event__1__1.html
@@ -0,0 +1,148 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_MouseInputEvent Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_MouseInputEvent" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___mouse_input_event__1__1.html#a3bde5af35e13f10a3472132e82b8bb45">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#gaca7296cfec99fcb6646b7144d1d6a0c5">PP_InputEvent_Type</a> type, <a class="el" href="group___typedefs.html#ga71cb1042cdeb38d7881b121f3b09ce94">PP_TimeTicks</a> time_stamp, uint32_t modifiers, <a class="el" href="group___enums.html#ga25113f3c8d33e863fd38b3f70f8a5e6e">PP_InputEvent_MouseButton</a> mouse_button, const struct <a class="el" href="struct_p_p___point.html">PP_Point</a> *mouse_position, int32_t click_count, const struct <a class="el" href="struct_p_p___point.html">PP_Point</a> *mouse_movement)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___mouse_input_event__1__1.html#a4cf50f1f5527cf7e66788d4b47ae1638">IsMouseInputEvent</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga25113f3c8d33e863fd38b3f70f8a5e6e">PP_InputEvent_MouseButton</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___mouse_input_event__1__1.html#a7a90bf6abb794ca5c42af76d8fd71d22">GetButton</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> mouse_event)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___point.html">PP_Point</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___mouse_input_event__1__1.html#ab7c3f20bd61bec3db563a7956fdeb7e0">GetPosition</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> mouse_event)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___mouse_input_event__1__1.html#a2850b783ad0136b5818d876a1a01af22">GetClickCount</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> mouse_event)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___point.html">PP_Point</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___mouse_input_event__1__1.html#a043229000d9f7d9436ae8a963bb6aca1">GetMovement</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> mouse_event)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_MouseInputEvent</code> interface contains pointers to several functions related to mouse input events. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a3bde5af35e13f10a3472132e82b8bb45"></a><!-- doxytag: member="PPB_MouseInputEvent::Create" ref="a3bde5af35e13f10a3472132e82b8bb45" args=")(PP_Instance instance, PP_InputEvent_Type type, PP_TimeTicks time_stamp, uint32_t modifiers, PP_InputEvent_MouseButton mouse_button, const struct PP_Point *mouse_position, int32_t click_count, const struct PP_Point *mouse_movement)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___mouse_input_event__1__1.html#a3bde5af35e13f10a3472132e82b8bb45">PPB_MouseInputEvent::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#gaca7296cfec99fcb6646b7144d1d6a0c5">PP_InputEvent_Type</a> type, <a class="el" href="group___typedefs.html#ga71cb1042cdeb38d7881b121f3b09ce94">PP_TimeTicks</a> time_stamp, uint32_t modifiers, <a class="el" href="group___enums.html#ga25113f3c8d33e863fd38b3f70f8a5e6e">PP_InputEvent_MouseButton</a> mouse_button, const struct <a class="el" href="struct_p_p___point.html">PP_Point</a> *mouse_position, int32_t click_count, const struct <a class="el" href="struct_p_p___point.html">PP_Point</a> *mouse_movement)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___mouse_input_event__1__1.html#a3bde5af35e13f10a3472132e82b8bb45" title="Create() creates a mouse input event with the given parameters.">Create()</a> creates a mouse input event with the given parameters. </p>
+<p>Normally you will get a mouse event passed through the <code>HandleInputEvent</code> and will not need to create them, but some applications may want to create their own for internal use. The type must be one of the mouse event types.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance for which this event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>A <code>PP_InputEvent_Type</code> identifying the type of input event.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">time_stamp</td><td>A <code>PP_TimeTicks</code> indicating the time when the event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">modifiers</td><td>A bit field combination of the <code>PP_InputEvent_Modifier</code> flags.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">mouse_button</td><td>The button that changed for mouse down or up events. This value will be <code>PP_EVENT_MOUSEBUTTON_NONE</code> for mouse move, enter, and leave events.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">mouse_position</td><td>A <code>Point</code> containing the x and y position of the mouse when the event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">mouse_movement</td><td>The change in position of the mouse.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> containing the new mouse input event. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a7a90bf6abb794ca5c42af76d8fd71d22"></a><!-- doxytag: member="PPB_MouseInputEvent::GetButton" ref="a7a90bf6abb794ca5c42af76d8fd71d22" args=")(PP_Resource mouse_event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga25113f3c8d33e863fd38b3f70f8a5e6e">PP_InputEvent_MouseButton</a>(* <a class="el" href="struct_p_p_b___mouse_input_event__1__1.html#a7a90bf6abb794ca5c42af76d8fd71d22">PPB_MouseInputEvent::GetButton</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> mouse_event)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___mouse_input_event__1__1.html#a7a90bf6abb794ca5c42af76d8fd71d22" title="GetButton() returns the mouse button that generated a mouse down or up event.">GetButton()</a> returns the mouse button that generated a mouse down or up event. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">mouse_event</td><td>A <code>PP_Resource</code> corresponding to a mouse event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The mouse button associated with mouse down and up events. This value will be <code>PP_EVENT_MOUSEBUTTON_NONE</code> for mouse move, enter, and leave events, and for all non-mouse events. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2850b783ad0136b5818d876a1a01af22"></a><!-- doxytag: member="PPB_MouseInputEvent::GetClickCount" ref="a2850b783ad0136b5818d876a1a01af22" args=")(PP_Resource mouse_event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___mouse_input_event__1__1.html#a2850b783ad0136b5818d876a1a01af22">PPB_MouseInputEvent::GetClickCount</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> mouse_event)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a043229000d9f7d9436ae8a963bb6aca1"></a><!-- doxytag: member="PPB_MouseInputEvent::GetMovement" ref="a043229000d9f7d9436ae8a963bb6aca1" args=")(PP_Resource mouse_event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___point.html">PP_Point</a>(* <a class="el" href="struct_p_p_b___mouse_input_event__1__1.html#a043229000d9f7d9436ae8a963bb6aca1">PPB_MouseInputEvent::GetMovement</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> mouse_event)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns the change in position of the mouse. </p>
+<p>When the mouse is locked, although the mouse position doesn't actually change, this function still provides movement information, which indicates what the change in position would be had the mouse not been locked.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">mouse_event</td><td>A <code>PP_Resource</code> corresponding to a mouse event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The change in position of the mouse, relative to the previous position. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab7c3f20bd61bec3db563a7956fdeb7e0"></a><!-- doxytag: member="PPB_MouseInputEvent::GetPosition" ref="ab7c3f20bd61bec3db563a7956fdeb7e0" args=")(PP_Resource mouse_event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___point.html">PP_Point</a>(* <a class="el" href="struct_p_p_b___mouse_input_event__1__1.html#ab7c3f20bd61bec3db563a7956fdeb7e0">PPB_MouseInputEvent::GetPosition</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> mouse_event)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___mouse_input_event__1__1.html#ab7c3f20bd61bec3db563a7956fdeb7e0" title="GetPosition() returns the pixel location of a mouse input event.">GetPosition()</a> returns the pixel location of a mouse input event. </p>
+<p>When the mouse is locked, it returns the last known mouse position just as mouse lock was entered.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">mouse_event</td><td>A <code>PP_Resource</code> corresponding to a mouse event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The point associated with the mouse event, relative to the upper- left of the instance receiving the event. These values can be negative for mouse drags. The return value will be (0, 0) for non-mouse events. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a4cf50f1f5527cf7e66788d4b47ae1638"></a><!-- doxytag: member="PPB_MouseInputEvent::IsMouseInputEvent" ref="a4cf50f1f5527cf7e66788d4b47ae1638" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___mouse_input_event__1__1.html#a4cf50f1f5527cf7e66788d4b47ae1638">PPB_MouseInputEvent::IsMouseInputEvent</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___mouse_input_event__1__1.html#a4cf50f1f5527cf7e66788d4b47ae1638" title="IsMouseInputEvent() determines if a resource is a mouse event.">IsMouseInputEvent()</a> determines if a resource is a mouse event. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to an event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the given resource is a valid mouse input event, otherwise <code>PP_FALSE</code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="ppb__input__event_8h.html">ppb_input_event.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___mouse_lock__1__0.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___mouse_lock__1__0.html
new file mode 100644
index 0000000..21fc676
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___mouse_lock__1__0.html
@@ -0,0 +1,67 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_MouseLock Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_MouseLock" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___mouse_lock__1__0.html#ac137bc2d66abfa39428ea67236c85401">LockMouse</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___mouse_lock__1__0.html#a1b9ab648a3638b469be6235d4c76d634">UnlockMouse</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_MouseLock</code> interface is implemented by the browser. </p>
+<p>This interface provides a way of locking the target of mouse events to a single module instance and removing the cursor from view. This mode is useful for certain classes of applications, especially first-person perspective 3D applications and 3D modeling software. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="ac137bc2d66abfa39428ea67236c85401"></a><!-- doxytag: member="PPB_MouseLock::LockMouse" ref="ac137bc2d66abfa39428ea67236c85401" args=")(PP_Instance instance, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___mouse_lock__1__0.html#ac137bc2d66abfa39428ea67236c85401">PPB_MouseLock::LockMouse</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___mouse_lock__1__0.html#ac137bc2d66abfa39428ea67236c85401" title="LockMouse() requests the mouse to be locked.">LockMouse()</a> requests the mouse to be locked. </p>
+<p>While the mouse is locked, the cursor is implicitly hidden from the user. Any movement of the mouse will generate a <code>PP_INPUTEVENT_TYPE_MOUSEMOVE</code> event. The <code>GetPosition()</code> function in the <code>PPB_MouseInputEvent</code> interface reports the last known mouse position just as mouse lock was entered. The <code>GetMovement()</code> function provides relative movement information indicating what the change in position of the mouse would be had it not been locked.</p>
+<p>The browser may revoke the mouse lock for reasons including (but not limited to) the user pressing the ESC key, the user activating another program using a reserved keystroke (e.g. ALT+TAB), or some other system event.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a1b9ab648a3638b469be6235d4c76d634"></a><!-- doxytag: member="PPB_MouseLock::UnlockMouse" ref="a1b9ab648a3638b469be6235d4c76d634" args=")(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___mouse_lock__1__0.html#a1b9ab648a3638b469be6235d4c76d634">PPB_MouseLock::UnlockMouse</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___mouse_lock__1__0.html#a1b9ab648a3638b469be6235d4c76d634" title="UnlockMouse() causes the mouse to be unlocked, allowing it to track user movement again...">UnlockMouse()</a> causes the mouse to be unlocked, allowing it to track user movement again. </p>
+<p>This is an asynchronous operation. The module instance will be notified using the <code>PPP_MouseLock</code> interface when it has lost the mouse lock.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="ppb__mouse__lock_8h.html">ppb_mouse_lock.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___net_address__1__0.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___net_address__1__0.html
new file mode 100644
index 0000000..6bacee93
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___net_address__1__0.html
@@ -0,0 +1,176 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_NetAddress Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_NetAddress" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___net_address__1__0.html#a82fab17541bec1817622932f102afdf9">CreateFromIPv4Address</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, const struct <a class="el" href="struct_p_p___net_address___i_pv4.html">PP_NetAddress_IPv4</a> *ipv4_addr)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___net_address__1__0.html#a7531096a8ddbda89e83b1b57958337df">CreateFromIPv6Address</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, const struct <a class="el" href="struct_p_p___net_address___i_pv6.html">PP_NetAddress_IPv6</a> *ipv6_addr)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___net_address__1__0.html#a13f63cdfe4ee93b2539f73ec23739422">IsNetAddress</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga43636bcadf9aa312a4c345d210ae6c55">PP_NetAddress_Family</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___net_address__1__0.html#a139a1f09d00f0dcfce2eaad70af24124">GetFamily</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___net_address__1__0.html#a7552e536b89cc3aa4415f41a5c7ee7ee">DescribeAsString</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr, <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> include_port)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___net_address__1__0.html#af04c1b08407b0db414d796d2c733f0c0">DescribeAsIPv4Address</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr, struct <a class="el" href="struct_p_p___net_address___i_pv4.html">PP_NetAddress_IPv4</a> *ipv4_addr)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___net_address__1__0.html#a613670dcb447c3c32c2b39c8faa14b88">DescribeAsIPv6Address</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr, struct <a class="el" href="struct_p_p___net_address___i_pv6.html">PP_NetAddress_IPv6</a> *ipv6_addr)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_NetAddress</code> interface provides operations on network addresses. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a82fab17541bec1817622932f102afdf9"></a><!-- doxytag: member="PPB_NetAddress::CreateFromIPv4Address" ref="a82fab17541bec1817622932f102afdf9" args=")(PP_Instance instance, const struct PP_NetAddress_IPv4 *ipv4_addr)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___net_address__1__0.html#a82fab17541bec1817622932f102afdf9">PPB_NetAddress::CreateFromIPv4Address</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, const struct <a class="el" href="struct_p_p___net_address___i_pv4.html">PP_NetAddress_IPv4</a> *ipv4_addr)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Creates a <code>PPB_NetAddress</code> resource with the specified IPv4 address. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">ipv4_addr</td><td>An IPv4 address.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> representing the same address as <code>ipv4_addr</code> or 0 on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a7531096a8ddbda89e83b1b57958337df"></a><!-- doxytag: member="PPB_NetAddress::CreateFromIPv6Address" ref="a7531096a8ddbda89e83b1b57958337df" args=")(PP_Instance instance, const struct PP_NetAddress_IPv6 *ipv6_addr)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___net_address__1__0.html#a7531096a8ddbda89e83b1b57958337df">PPB_NetAddress::CreateFromIPv6Address</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, const struct <a class="el" href="struct_p_p___net_address___i_pv6.html">PP_NetAddress_IPv6</a> *ipv6_addr)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Creates a <code>PPB_NetAddress</code> resource with the specified IPv6 address. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">ipv6_addr</td><td>An IPv6 address.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> representing the same address as <code>ipv6_addr</code> or 0 on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="af04c1b08407b0db414d796d2c733f0c0"></a><!-- doxytag: member="PPB_NetAddress::DescribeAsIPv4Address" ref="af04c1b08407b0db414d796d2c733f0c0" args=")(PP_Resource addr, struct PP_NetAddress_IPv4 *ipv4_addr)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___net_address__1__0.html#af04c1b08407b0db414d796d2c733f0c0">PPB_NetAddress::DescribeAsIPv4Address</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr, struct <a class="el" href="struct_p_p___net_address___i_pv4.html">PP_NetAddress_IPv4</a> *ipv4_addr)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Fills a <code><a class="el" href="struct_p_p___net_address___i_pv4.html" title="All members are expressed in network byte order.">PP_NetAddress_IPv4</a></code> structure if the network address is of <code>PP_NETADDRESS_FAMILY_IPV4</code> address family. </p>
+<p>Note that passing a network address of <code>PP_NETADDRESS_FAMILY_IPV6</code> address family will fail even if the address is an IPv4-mapped IPv6 address.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>A <code>PP_Resource</code> corresponding to a network address. </td></tr>
+<tr><td class="paramdir">[out]</td><td class="paramname">ipv4_addr</td><td>A <code><a class="el" href="struct_p_p___net_address___i_pv4.html" title="All members are expressed in network byte order.">PP_NetAddress_IPv4</a></code> structure to store the result.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> value indicating whether the operation succeeded. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a613670dcb447c3c32c2b39c8faa14b88"></a><!-- doxytag: member="PPB_NetAddress::DescribeAsIPv6Address" ref="a613670dcb447c3c32c2b39c8faa14b88" args=")(PP_Resource addr, struct PP_NetAddress_IPv6 *ipv6_addr)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___net_address__1__0.html#a613670dcb447c3c32c2b39c8faa14b88">PPB_NetAddress::DescribeAsIPv6Address</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr, struct <a class="el" href="struct_p_p___net_address___i_pv6.html">PP_NetAddress_IPv6</a> *ipv6_addr)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Fills a <code><a class="el" href="struct_p_p___net_address___i_pv6.html" title="All members are expressed in network byte order.">PP_NetAddress_IPv6</a></code> structure if the network address is of <code>PP_NETADDRESS_FAMILY_IPV6</code> address family. </p>
+<p>Note that passing a network address of <code>PP_NETADDRESS_FAMILY_IPV4</code> address family will fail - this method doesn't map it to an IPv6 address.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>A <code>PP_Resource</code> corresponding to a network address. </td></tr>
+<tr><td class="paramdir">[out]</td><td class="paramname">ipv6_addr</td><td>A <code><a class="el" href="struct_p_p___net_address___i_pv6.html" title="All members are expressed in network byte order.">PP_NetAddress_IPv6</a></code> structure to store the result.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> value indicating whether the operation succeeded. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a7552e536b89cc3aa4415f41a5c7ee7ee"></a><!-- doxytag: member="PPB_NetAddress::DescribeAsString" ref="a7552e536b89cc3aa4415f41a5c7ee7ee" args=")(PP_Resource addr, PP_Bool include_port)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___net_address__1__0.html#a7552e536b89cc3aa4415f41a5c7ee7ee">PPB_NetAddress::DescribeAsString</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr, <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> include_port)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns a human-readable description of the network address. </p>
+<p>The description is in the form of host [ ":" port ] and conforms to <a href="http://tools.ietf.org/html/rfc3986#section-3.2">http://tools.ietf.org/html/rfc3986#section-3.2</a> for IPv4 and IPv6 addresses (e.g., "192.168.0.1", "192.168.0.1:99", or "[::1]:80").</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>A <code>PP_Resource</code> corresponding to a network address. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">include_port</td><td>Whether to include the port number in the description.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A string <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> on success; an undefined <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a139a1f09d00f0dcfce2eaad70af24124"></a><!-- doxytag: member="PPB_NetAddress::GetFamily" ref="a139a1f09d00f0dcfce2eaad70af24124" args=")(PP_Resource addr)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga43636bcadf9aa312a4c345d210ae6c55">PP_NetAddress_Family</a>(* <a class="el" href="struct_p_p_b___net_address__1__0.html#a139a1f09d00f0dcfce2eaad70af24124">PPB_NetAddress::GetFamily</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the address family. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>A <code>PP_Resource</code> corresponding to a network address.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The address family on success; <code>PP_NETADDRESS_FAMILY_UNSPECIFIED</code> on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a13f63cdfe4ee93b2539f73ec23739422"></a><!-- doxytag: member="PPB_NetAddress::IsNetAddress" ref="a13f63cdfe4ee93b2539f73ec23739422" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___net_address__1__0.html#a13f63cdfe4ee93b2539f73ec23739422">PPB_NetAddress::IsNetAddress</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Determines if a given resource is a network address. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> to check.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the input is a <code>PPB_NetAddress</code> resource; <code>PP_FALSE</code> otherwise. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="ppb__net__address_8h.html">ppb_net_address.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___network_list__1__0.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___network_list__1__0.html
new file mode 100644
index 0000000..f6c50b7
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___network_list__1__0.html
@@ -0,0 +1,197 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_NetworkList Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_NetworkList" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_list__1__0.html#ac8ab7ecff9909962a839d10f6e571954">IsNetworkList</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_list__1__0.html#a9240190a389e0068088e604704b153de">GetCount</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_list__1__0.html#a59fdecb98a8a25e7bf257d7106d74bae">GetName</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, uint32_t index)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga1c967cb753eb468493b3bf72e6733983">PP_NetworkList_Type</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_list__1__0.html#ae272fca616d11a27ea09c06a0659e0cc">GetType</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, uint32_t index)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga9188881b5d3346626db0ea8e6aaecf1f">PP_NetworkList_State</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_list__1__0.html#a2d9043e33c1c09f9eeea4b49be1629b1">GetState</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, uint32_t index)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_list__1__0.html#a0dcbe767aed13b3b3492343eb0aa9756">GetIpAddresses</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, uint32_t index, struct <a class="el" href="struct_p_p___array_output.html">PP_ArrayOutput</a> output)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_list__1__0.html#a54e77303af12f276181b32ff94820bd8">GetDisplayName</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, uint32_t index)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_list__1__0.html#a19ecaf7b4627fe7f5d2b0edf02232e8f">GetMTU</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, uint32_t index)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_NetworkList</code> is used to represent a list of network interfaces and their configuration. </p>
+<p>The content of the list is immutable. The current networks configuration can be received using the <code>PPB_NetworkMonitor</code> interface. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a9240190a389e0068088e604704b153de"></a><!-- doxytag: member="PPB_NetworkList::GetCount" ref="a9240190a389e0068088e604704b153de" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t(* <a class="el" href="struct_p_p_b___network_list__1__0.html#a9240190a389e0068088e604704b153de">PPB_NetworkList::GetCount</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets number of interfaces in the list. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a network list.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns number of available network interfaces or 0 if the list has never been updated. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a54e77303af12f276181b32ff94820bd8"></a><!-- doxytag: member="PPB_NetworkList::GetDisplayName" ref="a54e77303af12f276181b32ff94820bd8" args=")(PP_Resource resource, uint32_t index)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___network_list__1__0.html#a54e77303af12f276181b32ff94820bd8">PPB_NetworkList::GetDisplayName</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, uint32_t index)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets display name of a network interface. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a network list. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>Index of the network interface.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns display name for the network interface with the specified <code>index</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a0dcbe767aed13b3b3492343eb0aa9756"></a><!-- doxytag: member="PPB_NetworkList::GetIpAddresses" ref="a0dcbe767aed13b3b3492343eb0aa9756" args=")(PP_Resource resource, uint32_t index, struct PP_ArrayOutput output)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___network_list__1__0.html#a0dcbe767aed13b3b3492343eb0aa9756">PPB_NetworkList::GetIpAddresses</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, uint32_t index, struct <a class="el" href="struct_p_p___array_output.html">PP_ArrayOutput</a> output)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets list of IP addresses for a network interface. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a network list. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>Index of the network interface. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">output</td><td>An output array which will receive <code>PPB_NetAddress</code> resources on success. Please note that the ref count of those resources has already been increased by 1 for the caller.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a19ecaf7b4627fe7f5d2b0edf02232e8f"></a><!-- doxytag: member="PPB_NetworkList::GetMTU" ref="a19ecaf7b4627fe7f5d2b0edf02232e8f" args=")(PP_Resource resource, uint32_t index)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t(* <a class="el" href="struct_p_p_b___network_list__1__0.html#a19ecaf7b4627fe7f5d2b0edf02232e8f">PPB_NetworkList::GetMTU</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, uint32_t index)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets MTU (Maximum Transmission Unit) of a network interface. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a network list. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>Index of the network interface.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns MTU for the network interface with the specified <code>index</code> or 0 if MTU is unknown. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a59fdecb98a8a25e7bf257d7106d74bae"></a><!-- doxytag: member="PPB_NetworkList::GetName" ref="a59fdecb98a8a25e7bf257d7106d74bae" args=")(PP_Resource resource, uint32_t index)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___network_list__1__0.html#a59fdecb98a8a25e7bf257d7106d74bae">PPB_NetworkList::GetName</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, uint32_t index)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets name of a network interface. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a network list. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>Index of the network interface.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns name for the network interface with the specified <code>index</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2d9043e33c1c09f9eeea4b49be1629b1"></a><!-- doxytag: member="PPB_NetworkList::GetState" ref="a2d9043e33c1c09f9eeea4b49be1629b1" args=")(PP_Resource resource, uint32_t index)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga9188881b5d3346626db0ea8e6aaecf1f">PP_NetworkList_State</a>(* <a class="el" href="struct_p_p_b___network_list__1__0.html#a2d9043e33c1c09f9eeea4b49be1629b1">PPB_NetworkList::GetState</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, uint32_t index)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets state of a network interface. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a network list. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>Index of the network interface.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns current state of the network interface with the specified <code>index</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ae272fca616d11a27ea09c06a0659e0cc"></a><!-- doxytag: member="PPB_NetworkList::GetType" ref="ae272fca616d11a27ea09c06a0659e0cc" args=")(PP_Resource resource, uint32_t index)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga1c967cb753eb468493b3bf72e6733983">PP_NetworkList_Type</a>(* <a class="el" href="struct_p_p_b___network_list__1__0.html#ae272fca616d11a27ea09c06a0659e0cc">PPB_NetworkList::GetType</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, uint32_t index)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets type of a network interface. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a network list. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>Index of the network interface.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns type of the network interface with the specified <code>index</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ac8ab7ecff9909962a839d10f6e571954"></a><!-- doxytag: member="PPB_NetworkList::IsNetworkList" ref="ac8ab7ecff9909962a839d10f6e571954" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___network_list__1__0.html#ac8ab7ecff9909962a839d10f6e571954">PPB_NetworkList::IsNetworkList</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Determines if the specified <code>resource</code> is a <code>NetworkList</code> object. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>PP_TRUE</code> if <code>resource</code> is a <code>PPB_NetworkList</code>, <code>PP_FALSE</code> otherwise. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="ppb__network__list_8h.html">ppb_network_list.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___network_monitor__1__0.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___network_monitor__1__0.html
new file mode 100644
index 0000000..7e5b441
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___network_monitor__1__0.html
@@ -0,0 +1,88 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_NetworkMonitor Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_NetworkMonitor" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_monitor__1__0.html#a854eb22d3a1241f6d03602392fa7a6af">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_monitor__1__0.html#ade2323702ca75e315fac9e4fa6a9f5d5">UpdateNetworkList</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> network_monitor, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> *network_list, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_monitor__1__0.html#ac631ae11ea28c1274eed22b7725ccfe4">IsNetworkMonitor</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_NetworkMonitor</code> allows to get network interfaces configuration and monitor network configuration changes. </p>
+<p>Permissions: Apps permission <code>socket</code> with subrule <code>network-state</code> is required for <code><a class="el" href="struct_p_p_b___network_monitor__1__0.html#ade2323702ca75e315fac9e4fa6a9f5d5" title="Gets current network configuration.">UpdateNetworkList()</a></code>. For more details about network communication permissions, please see: <a href="http://developer.chrome.com/apps/app_network.html">http://developer.chrome.com/apps/app_network.html</a> </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a854eb22d3a1241f6d03602392fa7a6af"></a><!-- doxytag: member="PPB_NetworkMonitor::Create" ref="a854eb22d3a1241f6d03602392fa7a6af" args=")(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___network_monitor__1__0.html#a854eb22d3a1241f6d03602392fa7a6af">PPB_NetworkMonitor::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Creates a Network Monitor resource. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> corresponding to a network monitor or 0 on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ac631ae11ea28c1274eed22b7725ccfe4"></a><!-- doxytag: member="PPB_NetworkMonitor::IsNetworkMonitor" ref="ac631ae11ea28c1274eed22b7725ccfe4" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___network_monitor__1__0.html#ac631ae11ea28c1274eed22b7725ccfe4">PPB_NetworkMonitor::IsNetworkMonitor</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Determines if the specified <code>resource</code> is a <code>NetworkMonitor</code> object. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>PP_TRUE</code> if <code>resource</code> is a <code>PPB_NetworkMonitor</code>, <code>PP_FALSE</code> otherwise. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ade2323702ca75e315fac9e4fa6a9f5d5"></a><!-- doxytag: member="PPB_NetworkMonitor::UpdateNetworkList" ref="ade2323702ca75e315fac9e4fa6a9f5d5" args=")(PP_Resource network_monitor, PP_Resource *network_list, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___network_monitor__1__0.html#ade2323702ca75e315fac9e4fa6a9f5d5">PPB_NetworkMonitor::UpdateNetworkList</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> network_monitor, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> *network_list, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets current network configuration. </p>
+<p>When called for the first time, completes as soon as the current network configuration is received from the browser. Each consequent call will wait for network list changes, returning a new <code>PPB_NetworkList</code> resource every time.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">network_monitor</td><td>A <code>PP_Resource</code> corresponding to a network monitor. </td></tr>
+<tr><td class="paramdir">[out]</td><td class="paramname">network_list</td><td>The <code>PPB_NetworkList</code><code> resource with the current state of network interfaces. </code></td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td><code></code><code>A </code><code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code></code><code> An int32_t containing an error code from </code><code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. <code>PP_ERROR_NOACCESS</code> will be returned if the caller doesn't have required permissions. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="ppb__network__monitor_8h.html">ppb_network_monitor.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___network_proxy__1__0.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___network_proxy__1__0.html
new file mode 100644
index 0000000..5e00d06
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___network_proxy__1__0.html
@@ -0,0 +1,47 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_NetworkProxy Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_NetworkProxy" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_proxy__1__0.html#af417cbf01c96db637472ac31bb4c6fbb">GetProxyForURL</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> url, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> *proxy_string, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This interface provides a way to determine the appropriate proxy settings for a given URL. </p>
+<p>Permissions: Apps permission <code>socket</code> with subrule <code>resolve-proxy</code> is required for using this API. For more details about network communication permissions, please see: <a href="http://developer.chrome.com/apps/app_network.html">http://developer.chrome.com/apps/app_network.html</a> </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="af417cbf01c96db637472ac31bb4c6fbb"></a><!-- doxytag: member="PPB_NetworkProxy::GetProxyForURL" ref="af417cbf01c96db637472ac31bb4c6fbb" args=")(PP_Instance instance, struct PP_Var url, struct PP_Var *proxy_string, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___network_proxy__1__0.html#af417cbf01c96db637472ac31bb4c6fbb">PPB_NetworkProxy::GetProxyForURL</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> url, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> *proxy_string, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Retrieves the proxy that will be used for the given URL. </p>
+<p>The result will be a string in PAC format. For more details about PAC format, please see <a href="http://en.wikipedia.org/wiki/Proxy_auto-config">http://en.wikipedia.org/wiki/Proxy_auto-config</a></p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">url</td><td>A string <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> containing a URL.</td></tr>
+<tr><td class="paramdir">[out]</td><td class="paramname">proxy_string</td><td>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> that GetProxyForURL will set upon successful completion. If the call fails, <code>proxy_string </code> will be unchanged. Otherwise, it will be set to a string <code> <a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> containing the appropriate PAC string for <code>url</code>. If set, <code>proxy_string</code> will have a reference count of 1 which the plugin must manage.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="ppb__network__proxy_8h.html">ppb_network_proxy.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___t_c_p_socket__1__1.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___t_c_p_socket__1__1.html
new file mode 100644
index 0000000..0202f4be
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___t_c_p_socket__1__1.html
@@ -0,0 +1,318 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_TCPSocket Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_TCPSocket" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#a615cb349fbe99e25ae09078091c87b43">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#afe32ae060181370e12c93c206964a58f">IsTCPSocket</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#aae9a2f9ced445ca28a21721a0df5c567">Bind</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#a1d12313b4681e48fa6f9b789d26414cb">Connect</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#ab64edd222b040500767f5c9182358b68">GetLocalAddress</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#af28b600fcdf657ca31dd2e9218a774e1">GetRemoteAddress</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#ab4bd707da2d9d2136c59a08b3de2ce32">Read</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket, char *buffer, int32_t bytes_to_read, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#adea2cbc4e8487f2f26c2126983f9c856">Write</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket, const char *buffer, int32_t bytes_to_write, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#af3b28d2bf3f44d89e434e158854bea69">Listen</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket, int32_t backlog, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#a444d931c7fbb40e47cca8c55d57250f7">Accept</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> *accepted_tcp_socket, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#afc2d9d7577df96bd0ac8f3cc6f503266">Close</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#ab64ed8f1f7b4c3dce8d3493fb894ea0d">SetOption</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket, <a class="el" href="group___enums.html#ga1557c0bbce8739a3418e6027a9c44e12">PP_TCPSocket_Option</a> name, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> value, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_TCPSocket</code> interface provides TCP socket operations. </p>
+<p>Permissions: Apps permission <code>socket</code> with subrule <code>tcp-connect</code> is required for <code><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#a1d12313b4681e48fa6f9b789d26414cb" title="Connects the socket to the given address.">Connect()</a></code>; subrule <code>tcp-listen</code> is required for <code><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#af3b28d2bf3f44d89e434e158854bea69" title="Starts listening.">Listen()</a></code>. For more details about network communication permissions, please see: <a href="http://developer.chrome.com/apps/app_network.html">http://developer.chrome.com/apps/app_network.html</a> </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a444d931c7fbb40e47cca8c55d57250f7"></a><!-- doxytag: member="PPB_TCPSocket::Accept" ref="a444d931c7fbb40e47cca8c55d57250f7" args=")(PP_Resource tcp_socket, PP_Resource *accepted_tcp_socket, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#a444d931c7fbb40e47cca8c55d57250f7">PPB_TCPSocket::Accept</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> *accepted_tcp_socket, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Accepts a connection. </p>
+<p>The socket must be listening.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">tcp_socket</td><td>A <code>PP_Resource</code> corresponding to a TCP socket. </td></tr>
+<tr><td class="paramdir">[out]</td><td class="paramname">accepted_tcp_socket</td><td>Stores the accepted TCP socket on success. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>, including (but not limited to):<ul>
+<li><code>PP_ERROR_CONNECTION_ABORTED</code>: A connection has been aborted. </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<a class="anchor" id="aae9a2f9ced445ca28a21721a0df5c567"></a><!-- doxytag: member="PPB_TCPSocket::Bind" ref="aae9a2f9ced445ca28a21721a0df5c567" args=")(PP_Resource tcp_socket, PP_Resource addr, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#aae9a2f9ced445ca28a21721a0df5c567">PPB_TCPSocket::Bind</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Binds the socket to the given address. </p>
+<p>The socket must not be bound.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">tcp_socket</td><td>A <code>PP_Resource</code> corresponding to a TCP socket. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>A <code>PPB_NetAddress</code> resource. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>, including (but not limited to):<ul>
+<li><code>PP_ERROR_ADDRESS_IN_USE</code>: the address is already in use.</li>
+<li><code>PP_ERROR_ADDRESS_INVALID</code>: the address is invalid. </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<a class="anchor" id="afc2d9d7577df96bd0ac8f3cc6f503266"></a><!-- doxytag: member="PPB_TCPSocket::Close" ref="afc2d9d7577df96bd0ac8f3cc6f503266" args=")(PP_Resource tcp_socket)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#afc2d9d7577df96bd0ac8f3cc6f503266">PPB_TCPSocket::Close</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Cancels all pending operations and closes the socket. </p>
+<p>Any pending callbacks will still run, reporting <code>PP_ERROR_ABORTED</code> if pending IO was interrupted. After a call to this method, no output buffer pointers passed into previous <code><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#ab4bd707da2d9d2136c59a08b3de2ce32" title="Reads data from the socket.">Read()</a></code> or <code><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#a444d931c7fbb40e47cca8c55d57250f7" title="Accepts a connection.">Accept()</a></code> calls will be accessed. It is not valid to call <code><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#a1d12313b4681e48fa6f9b789d26414cb" title="Connects the socket to the given address.">Connect()</a></code> or <code><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#af3b28d2bf3f44d89e434e158854bea69" title="Starts listening.">Listen()</a></code> again.</p>
+<p>The socket is implicitly closed if it is destroyed, so you are not required to call this method.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">tcp_socket</td><td>A <code>PP_Resource</code> corresponding to a TCP socket. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a1d12313b4681e48fa6f9b789d26414cb"></a><!-- doxytag: member="PPB_TCPSocket::Connect" ref="a1d12313b4681e48fa6f9b789d26414cb" args=")(PP_Resource tcp_socket, PP_Resource addr, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#a1d12313b4681e48fa6f9b789d26414cb">PPB_TCPSocket::Connect</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Connects the socket to the given address. </p>
+<p>The socket must not be listening. Binding the socket beforehand is optional.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">tcp_socket</td><td>A <code>PP_Resource</code> corresponding to a TCP socket. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>A <code>PPB_NetAddress</code> resource. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>, including (but not limited to):<ul>
+<li><code>PP_ERROR_NOACCESS</code>: the caller doesn't have required permissions.</li>
+<li><code>PP_ERROR_ADDRESS_UNREACHABLE</code>: <code>addr</code> is unreachable.</li>
+<li><code>PP_ERROR_CONNECTION_REFUSED</code>: the connection attempt was refused.</li>
+<li><code>PP_ERROR_CONNECTION_FAILED</code>: the connection attempt failed.</li>
+<li><code>PP_ERROR_CONNECTION_TIMEDOUT</code>: the connection attempt timed out.</li>
+</ul>
+</dd></dl>
+<p>Since version 1.1, if the socket is listening/connected or has a pending listen/connect request, <code><a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#a1d12313b4681e48fa6f9b789d26414cb" title="Connects the socket to the given address.">Connect()</a></code> will fail without starting a connection attempt; otherwise, any failure during the connection attempt will cause the socket to be closed. </p>
+</div>
+</div>
+<a class="anchor" id="a615cb349fbe99e25ae09078091c87b43"></a><!-- doxytag: member="PPB_TCPSocket::Create" ref="a615cb349fbe99e25ae09078091c87b43" args=")(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#a615cb349fbe99e25ae09078091c87b43">PPB_TCPSocket::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Creates a TCP socket resource. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> corresponding to a TCP socket or 0 on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab64edd222b040500767f5c9182358b68"></a><!-- doxytag: member="PPB_TCPSocket::GetLocalAddress" ref="ab64edd222b040500767f5c9182358b68" args=")(PP_Resource tcp_socket)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#ab64edd222b040500767f5c9182358b68">PPB_TCPSocket::GetLocalAddress</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the local address of the socket, if it is bound. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">tcp_socket</td><td>A <code>PP_Resource</code> corresponding to a TCP socket.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PPB_NetAddress</code> resource on success or 0 on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="af28b600fcdf657ca31dd2e9218a774e1"></a><!-- doxytag: member="PPB_TCPSocket::GetRemoteAddress" ref="af28b600fcdf657ca31dd2e9218a774e1" args=")(PP_Resource tcp_socket)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#af28b600fcdf657ca31dd2e9218a774e1">PPB_TCPSocket::GetRemoteAddress</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the remote address of the socket, if it is connected. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">tcp_socket</td><td>A <code>PP_Resource</code> corresponding to a TCP socket.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PPB_NetAddress</code> resource on success or 0 on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="afe32ae060181370e12c93c206964a58f"></a><!-- doxytag: member="PPB_TCPSocket::IsTCPSocket" ref="afe32ae060181370e12c93c206964a58f" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#afe32ae060181370e12c93c206964a58f">PPB_TCPSocket::IsTCPSocket</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Determines if a given resource is a TCP socket. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> to check.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the input is a <code>PPB_TCPSocket</code> resource; <code>PP_FALSE</code> otherwise. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="af3b28d2bf3f44d89e434e158854bea69"></a><!-- doxytag: member="PPB_TCPSocket::Listen" ref="af3b28d2bf3f44d89e434e158854bea69" args=")(PP_Resource tcp_socket, int32_t backlog, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#af3b28d2bf3f44d89e434e158854bea69">PPB_TCPSocket::Listen</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket, int32_t backlog, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Starts listening. </p>
+<p>The socket must be bound and not connected.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">tcp_socket</td><td>A <code>PP_Resource</code> corresponding to a TCP socket. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">backlog</td><td>A hint to determine the maximum length to which the queue of pending connections may grow. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>, including (but not limited to):<ul>
+<li><code>PP_ERROR_NOACCESS</code>: the caller doesn't have required permissions.</li>
+<li><code>PP_ERROR_ADDRESS_IN_USE</code>: Another socket is already listening on the same port. </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab4bd707da2d9d2136c59a08b3de2ce32"></a><!-- doxytag: member="PPB_TCPSocket::Read" ref="ab4bd707da2d9d2136c59a08b3de2ce32" args=")(PP_Resource tcp_socket, char *buffer, int32_t bytes_to_read, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#ab4bd707da2d9d2136c59a08b3de2ce32">PPB_TCPSocket::Read</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket, char *buffer, int32_t bytes_to_read, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Reads data from the socket. </p>
+<p>The socket must be connected. It may perform a partial read.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">tcp_socket</td><td>A <code>PP_Resource</code> corresponding to a TCP socket. </td></tr>
+<tr><td class="paramdir">[out]</td><td class="paramname">buffer</td><td>The buffer to store the received data on success. It must be at least as large as <code>bytes_to_read</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">bytes_to_read</td><td>The number of bytes to read. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A non-negative number on success to indicate how many bytes have been read, 0 means that end-of-file was reached; otherwise, an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab64ed8f1f7b4c3dce8d3493fb894ea0d"></a><!-- doxytag: member="PPB_TCPSocket::SetOption" ref="ab64ed8f1f7b4c3dce8d3493fb894ea0d" args=")(PP_Resource tcp_socket, PP_TCPSocket_Option name, struct PP_Var value, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#ab64ed8f1f7b4c3dce8d3493fb894ea0d">PPB_TCPSocket::SetOption</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket, <a class="el" href="group___enums.html#ga1557c0bbce8739a3418e6027a9c44e12">PP_TCPSocket_Option</a> name, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> value, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sets a socket option on the TCP socket. </p>
+<p>Please see the <code>PP_TCPSocket_Option</code> description for option names, value types and allowed values.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">tcp_socket</td><td>A <code>PP_Resource</code> corresponding to a TCP socket. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>The option to set. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The option value to set. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="adea2cbc4e8487f2f26c2126983f9c856"></a><!-- doxytag: member="PPB_TCPSocket::Write" ref="adea2cbc4e8487f2f26c2126983f9c856" args=")(PP_Resource tcp_socket, const char *buffer, int32_t bytes_to_write, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___t_c_p_socket__1__1.html#adea2cbc4e8487f2f26c2126983f9c856">PPB_TCPSocket::Write</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> tcp_socket, const char *buffer, int32_t bytes_to_write, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Writes data to the socket. </p>
+<p>The socket must be connected. It may perform a partial write.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">tcp_socket</td><td>A <code>PP_Resource</code> corresponding to a TCP socket. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">buffer</td><td>The buffer containing the data to write. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">bytes_to_write</td><td>The number of bytes to write. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A non-negative number on success to indicate how many bytes have been written; otherwise, an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="ppb__tcp__socket_8h.html">ppb_tcp_socket.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___text_input_controller__1__0.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___text_input_controller__1__0.html
new file mode 100644
index 0000000..3d38bf1
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___text_input_controller__1__0.html
@@ -0,0 +1,82 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_TextInputController Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_TextInputController" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___text_input_controller__1__0.html#a4cb36e7536a78dc5893c288c2885cb97">SetTextInputType</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#ga5fef49ee4c2cc6dcead825340da0f116">PP_TextInput_Type</a> type)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___text_input_controller__1__0.html#ab34cfc4db88d4387845317042ceb63af">UpdateCaretPosition</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, const struct <a class="el" href="struct_p_p___rect.html">PP_Rect</a> *caret)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___text_input_controller__1__0.html#a4b05a8a76a6daadab941fb24ce5d23ce">CancelCompositionText</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___text_input_controller__1__0.html#aca1b52ba11e4384255eeecd90fc45ba5">UpdateSurroundingText</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> text, uint32_t caret, uint32_t anchor)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p><code>PPB_TextInputController</code> provides a set of functions for giving hints to the browser about the text input status of plugins, and functions for controlling input method editors (IMEs). </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a4b05a8a76a6daadab941fb24ce5d23ce"></a><!-- doxytag: member="PPB_TextInputController::CancelCompositionText" ref="a4b05a8a76a6daadab941fb24ce5d23ce" args=")(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___text_input_controller__1__0.html#a4b05a8a76a6daadab941fb24ce5d23ce">PPB_TextInputController::CancelCompositionText</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Cancels the current composition in IME. </p>
+</div>
+</div>
+<a class="anchor" id="a4cb36e7536a78dc5893c288c2885cb97"></a><!-- doxytag: member="PPB_TextInputController::SetTextInputType" ref="a4cb36e7536a78dc5893c288c2885cb97" args=")(PP_Instance instance, PP_TextInput_Type type)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___text_input_controller__1__0.html#a4cb36e7536a78dc5893c288c2885cb97">PPB_TextInputController::SetTextInputType</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#ga5fef49ee4c2cc6dcead825340da0f116">PP_TextInput_Type</a> type)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Informs the browser about the current text input mode of the plugin. </p>
+<p>Typical use of this information in the browser is to properly display/suppress tools for supporting text inputs (such as virtual keyboards in touch screen based devices, or input method editors often used for composing East Asian characters). </p>
+</div>
+</div>
+<a class="anchor" id="ab34cfc4db88d4387845317042ceb63af"></a><!-- doxytag: member="PPB_TextInputController::UpdateCaretPosition" ref="ab34cfc4db88d4387845317042ceb63af" args=")(PP_Instance instance, const struct PP_Rect *caret)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___text_input_controller__1__0.html#ab34cfc4db88d4387845317042ceb63af">PPB_TextInputController::UpdateCaretPosition</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, const struct <a class="el" href="struct_p_p___rect.html">PP_Rect</a> *caret)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Informs the browser about the coordinates of the text input caret area. </p>
+<p>Typical use of this information in the browser is to layout IME windows etc. </p>
+</div>
+</div>
+<a class="anchor" id="aca1b52ba11e4384255eeecd90fc45ba5"></a><!-- doxytag: member="PPB_TextInputController::UpdateSurroundingText" ref="aca1b52ba11e4384255eeecd90fc45ba5" args=")(PP_Instance instance, struct PP_Var text, uint32_t caret, uint32_t anchor)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___text_input_controller__1__0.html#aca1b52ba11e4384255eeecd90fc45ba5">PPB_TextInputController::UpdateSurroundingText</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> text, uint32_t caret, uint32_t anchor)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Informs the browser about the current text selection and surrounding text. </p>
+<p><code>text</code> is a UTF-8 string that contains the current range of text selection in the plugin. <code>caret</code> is the byte-index of the caret position within <code>text</code>. <code>anchor</code> is the byte-index of the anchor position (i.e., if a range of text is selected, it is the other edge of selection different from <code>caret</code>. If there are no selection, <code>anchor</code> is equal to <code>caret</code>.</p>
+<p>Typical use of this information in the browser is to enable "reconversion" features of IME that puts back the already committed text into the pre-commit composition state. Another use is to improve the precision of suggestion of IME by taking the context into account (e.g., if the caret looks to be on the beginning of a sentence, suggest capital letters in a virtual keyboard).</p>
+<p>When the focus is not on text, call this function setting <code>text</code> to an empty string and <code>caret</code> and <code>anchor</code> to zero. Also, the plugin should send the empty text when it does not want to reveal the selection to IME (e.g., when the surrounding text is containing password text). </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="ppb__text__input__controller_8h.html">ppb_text_input_controller.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___touch_input_event__1__0.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___touch_input_event__1__0.html
new file mode 100644
index 0000000..48b523a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___touch_input_event__1__0.html
@@ -0,0 +1,157 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_TouchInputEvent Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_TouchInputEvent" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___touch_input_event__1__0.html#a34366a8a64a16fee610eaeac7ecc8ae3">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#gaca7296cfec99fcb6646b7144d1d6a0c5">PP_InputEvent_Type</a> type, <a class="el" href="group___typedefs.html#ga71cb1042cdeb38d7881b121f3b09ce94">PP_TimeTicks</a> time_stamp, uint32_t modifiers)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___touch_input_event__1__0.html#abf9e7c7977ee60b29c2207a674f263c9">AddTouchPoint</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> touch_event, <a class="el" href="group___enums.html#gad5885a239d04166c8777432c81e39d0a">PP_TouchListType</a> list, const struct <a class="el" href="struct_p_p___touch_point.html">PP_TouchPoint</a> *point)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___touch_input_event__1__0.html#a1bed0c3d25f593b85ba26cb6e0c0bbab">IsTouchInputEvent</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___touch_input_event__1__0.html#af762fe8562a13c15a06b5825cf3b3bb9">GetTouchCount</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, <a class="el" href="group___enums.html#gad5885a239d04166c8777432c81e39d0a">PP_TouchListType</a> list)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___touch_point.html">PP_TouchPoint</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___touch_input_event__1__0.html#a1d108acb025c5a9ce74c15034955de63">GetTouchByIndex</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, <a class="el" href="group___enums.html#gad5885a239d04166c8777432c81e39d0a">PP_TouchListType</a> list, uint32_t index)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___touch_point.html">PP_TouchPoint</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___touch_input_event__1__0.html#a401d82dc926d1c2bbc32c5b91ee9e0d5">GetTouchById</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, <a class="el" href="group___enums.html#gad5885a239d04166c8777432c81e39d0a">PP_TouchListType</a> list, uint32_t touch_id)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_TouchInputEvent</code> interface contains pointers to several functions related to touch events. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="abf9e7c7977ee60b29c2207a674f263c9"></a><!-- doxytag: member="PPB_TouchInputEvent::AddTouchPoint" ref="abf9e7c7977ee60b29c2207a674f263c9" args=")(PP_Resource touch_event, PP_TouchListType list, const struct PP_TouchPoint *point)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___touch_input_event__1__0.html#abf9e7c7977ee60b29c2207a674f263c9">PPB_TouchInputEvent::AddTouchPoint</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> touch_event, <a class="el" href="group___enums.html#gad5885a239d04166c8777432c81e39d0a">PP_TouchListType</a> list, const struct <a class="el" href="struct_p_p___touch_point.html">PP_TouchPoint</a> *point)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Adds a touch point to the touch event in the specified touch-list. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">touch_event</td><td>A <code>PP_Resource</code> corresponding to a touch event.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">list</td><td>The list to add the touch point to.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">point</td><td>The point to add to the list. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a34366a8a64a16fee610eaeac7ecc8ae3"></a><!-- doxytag: member="PPB_TouchInputEvent::Create" ref="a34366a8a64a16fee610eaeac7ecc8ae3" args=")(PP_Instance instance, PP_InputEvent_Type type, PP_TimeTicks time_stamp, uint32_t modifiers)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___touch_input_event__1__0.html#a34366a8a64a16fee610eaeac7ecc8ae3">PPB_TouchInputEvent::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#gaca7296cfec99fcb6646b7144d1d6a0c5">PP_InputEvent_Type</a> type, <a class="el" href="group___typedefs.html#ga71cb1042cdeb38d7881b121f3b09ce94">PP_TimeTicks</a> time_stamp, uint32_t modifiers)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Creates a touch input event with the given parameters. </p>
+<p>Normally you will get a touch event passed through the HandleInputEvent and will not need to create them, but some applications may want to create their own for internal use. The type must be one of the touch event types. This newly created touch input event does not have any touch point in any of the touch-point lists. <code>AddTouchPoint</code> should be called to add the touch-points.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance for which this event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>A <code>PP_InputEvent_Type</code> identifying the type of input event.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">time_stamp</td><td>A <code>PP_TimeTicks</code> indicating the time when the event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">modifiers</td><td>A bit field combination of the <code>PP_InputEvent_Modifier</code> flags.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> containing the new touch input event. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a401d82dc926d1c2bbc32c5b91ee9e0d5"></a><!-- doxytag: member="PPB_TouchInputEvent::GetTouchById" ref="a401d82dc926d1c2bbc32c5b91ee9e0d5" args=")(PP_Resource resource, PP_TouchListType list, uint32_t touch_id)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___touch_point.html">PP_TouchPoint</a>(* <a class="el" href="struct_p_p_b___touch_input_event__1__0.html#a401d82dc926d1c2bbc32c5b91ee9e0d5">PPB_TouchInputEvent::GetTouchById</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, <a class="el" href="group___enums.html#gad5885a239d04166c8777432c81e39d0a">PP_TouchListType</a> list, uint32_t touch_id)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns the touch-point with the specified touch-id in the specified list. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a touch event.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">list</td><td>The list.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">touch_id</td><td>The id of the touch-point.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___touch_point.html" title="The PP_TouchPoint struct represents all information about a single touch point, such as position...">PP_TouchPoint</a></code> representing the touch-point. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a1d108acb025c5a9ce74c15034955de63"></a><!-- doxytag: member="PPB_TouchInputEvent::GetTouchByIndex" ref="a1d108acb025c5a9ce74c15034955de63" args=")(PP_Resource resource, PP_TouchListType list, uint32_t index)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___touch_point.html">PP_TouchPoint</a>(* <a class="el" href="struct_p_p_b___touch_input_event__1__0.html#a1d108acb025c5a9ce74c15034955de63">PPB_TouchInputEvent::GetTouchByIndex</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, <a class="el" href="group___enums.html#gad5885a239d04166c8777432c81e39d0a">PP_TouchListType</a> list, uint32_t index)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns the touch-point at the specified index from the specified list. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a touch event.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">list</td><td>The list.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>The index.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___touch_point.html" title="The PP_TouchPoint struct represents all information about a single touch point, such as position...">PP_TouchPoint</a></code> representing the touch-point. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="af762fe8562a13c15a06b5825cf3b3bb9"></a><!-- doxytag: member="PPB_TouchInputEvent::GetTouchCount" ref="af762fe8562a13c15a06b5825cf3b3bb9" args=")(PP_Resource resource, PP_TouchListType list)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t(* <a class="el" href="struct_p_p_b___touch_input_event__1__0.html#af762fe8562a13c15a06b5825cf3b3bb9">PPB_TouchInputEvent::GetTouchCount</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, <a class="el" href="group___enums.html#gad5885a239d04166c8777432c81e39d0a">PP_TouchListType</a> list)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns the number of touch-points in the specified list. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a touch event.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">list</td><td>The list.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The number of touch-points in the specified list. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a1bed0c3d25f593b85ba26cb6e0c0bbab"></a><!-- doxytag: member="PPB_TouchInputEvent::IsTouchInputEvent" ref="a1bed0c3d25f593b85ba26cb6e0c0bbab" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___touch_input_event__1__0.html#a1bed0c3d25f593b85ba26cb6e0c0bbab">PPB_TouchInputEvent::IsTouchInputEvent</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___touch_input_event__1__0.html#a1bed0c3d25f593b85ba26cb6e0c0bbab" title="IsTouchInputEvent() determines if a resource is a touch event.">IsTouchInputEvent()</a> determines if a resource is a touch event. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to an event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the given resource is a valid touch input event, otherwise <code>PP_FALSE</code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="ppb__input__event_8h.html">ppb_input_event.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___u_d_p_socket__1__0.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___u_d_p_socket__1__0.html
new file mode 100644
index 0000000..67036a2
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___u_d_p_socket__1__0.html
@@ -0,0 +1,208 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_UDPSocket Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_UDPSocket" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#a48dfac97beb8bef209ea79efaf5b0c32">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#a90de8c0e342ab04bc6d2439b2e0543a5">IsUDPSocket</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#a0cae18760f8e9c4f06f160edab542c46">Bind</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> udp_socket, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#aa71b3888a2edf12c7bccd69d4ddcbbb6">GetBoundAddress</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> udp_socket)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#a6f7b8cb60ad4279ac52feba6acca9cc2">RecvFrom</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> udp_socket, char *buffer, int32_t num_bytes, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> *addr, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#a9b78201046b292b6292f0d5bf55d3f76">SendTo</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> udp_socket, const char *buffer, int32_t num_bytes, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#a8b34e95d8f1ca113f2c806fb9b64d3e9">Close</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> udp_socket)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#a3def770b12177d3fa8faf36e184cc528">SetOption</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> udp_socket, <a class="el" href="group___enums.html#ga1a8472fa3e7150615c45c38fa8c12ce2">PP_UDPSocket_Option</a> name, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> value, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_UDPSocket</code> interface provides UDP socket operations. </p>
+<p>Permissions: Apps permission <code>socket</code> with subrule <code>udp-bind</code> is required for <code><a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#a0cae18760f8e9c4f06f160edab542c46" title="Binds the socket to the given address.">Bind()</a></code>; subrule <code>udp-send-to</code> is required for <code><a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#a9b78201046b292b6292f0d5bf55d3f76" title="Sends data to a specific destination.">SendTo()</a></code>. For more details about network communication permissions, please see: <a href="http://developer.chrome.com/apps/app_network.html">http://developer.chrome.com/apps/app_network.html</a> </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a0cae18760f8e9c4f06f160edab542c46"></a><!-- doxytag: member="PPB_UDPSocket::Bind" ref="a0cae18760f8e9c4f06f160edab542c46" args=")(PP_Resource udp_socket, PP_Resource addr, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#a0cae18760f8e9c4f06f160edab542c46">PPB_UDPSocket::Bind</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> udp_socket, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Binds the socket to the given address. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">udp_socket</td><td>A <code>PP_Resource</code> corresponding to a UDP socket. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>A <code>PPB_NetAddress</code> resource. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. <code>PP_ERROR_NOACCESS</code> will be returned if the caller doesn't have required permissions. <code>PP_ERROR_ADDRESS_IN_USE</code> will be returned if the address is already in use. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a8b34e95d8f1ca113f2c806fb9b64d3e9"></a><!-- doxytag: member="PPB_UDPSocket::Close" ref="a8b34e95d8f1ca113f2c806fb9b64d3e9" args=")(PP_Resource udp_socket)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#a8b34e95d8f1ca113f2c806fb9b64d3e9">PPB_UDPSocket::Close</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> udp_socket)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Cancels all pending reads and writes, and closes the socket. </p>
+<p>Any pending callbacks will still run, reporting <code>PP_ERROR_ABORTED</code> if pending IO was interrupted. After a call to this method, no output parameters passed into previous <code><a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#a6f7b8cb60ad4279ac52feba6acca9cc2" title="Receives data from the socket and stores the source address.">RecvFrom()</a></code> calls will be accessed. It is not valid to call <code><a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#a0cae18760f8e9c4f06f160edab542c46" title="Binds the socket to the given address.">Bind()</a></code> again.</p>
+<p>The socket is implicitly closed if it is destroyed, so you are not required to call this method.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">udp_socket</td><td>A <code>PP_Resource</code> corresponding to a UDP socket. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a48dfac97beb8bef209ea79efaf5b0c32"></a><!-- doxytag: member="PPB_UDPSocket::Create" ref="a48dfac97beb8bef209ea79efaf5b0c32" args=")(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#a48dfac97beb8bef209ea79efaf5b0c32">PPB_UDPSocket::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Creates a UDP socket resource. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> corresponding to a UDP socket or 0 on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aa71b3888a2edf12c7bccd69d4ddcbbb6"></a><!-- doxytag: member="PPB_UDPSocket::GetBoundAddress" ref="aa71b3888a2edf12c7bccd69d4ddcbbb6" args=")(PP_Resource udp_socket)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#aa71b3888a2edf12c7bccd69d4ddcbbb6">PPB_UDPSocket::GetBoundAddress</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> udp_socket)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the address that the socket is bound to. </p>
+<p>The socket must be bound.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">udp_socket</td><td>A <code>PP_Resource</code> corresponding to a UDP socket.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PPB_NetAddress</code> resource on success or 0 on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a90de8c0e342ab04bc6d2439b2e0543a5"></a><!-- doxytag: member="PPB_UDPSocket::IsUDPSocket" ref="a90de8c0e342ab04bc6d2439b2e0543a5" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#a90de8c0e342ab04bc6d2439b2e0543a5">PPB_UDPSocket::IsUDPSocket</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Determines if a given resource is a UDP socket. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> to check.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the input is a <code>PPB_UDPSocket</code> resource; <code>PP_FALSE</code> otherwise. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a6f7b8cb60ad4279ac52feba6acca9cc2"></a><!-- doxytag: member="PPB_UDPSocket::RecvFrom" ref="a6f7b8cb60ad4279ac52feba6acca9cc2" args=")(PP_Resource udp_socket, char *buffer, int32_t num_bytes, PP_Resource *addr, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#a6f7b8cb60ad4279ac52feba6acca9cc2">PPB_UDPSocket::RecvFrom</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> udp_socket, char *buffer, int32_t num_bytes, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> *addr, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Receives data from the socket and stores the source address. </p>
+<p>The socket must be bound.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">udp_socket</td><td>A <code>PP_Resource</code> corresponding to a UDP socket. </td></tr>
+<tr><td class="paramdir">[out]</td><td class="paramname">buffer</td><td>The buffer to store the received data on success. It must be at least as large as <code>num_bytes</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">num_bytes</td><td>The number of bytes to receive. </td></tr>
+<tr><td class="paramdir">[out]</td><td class="paramname">addr</td><td>A <code>PPB_NetAddress</code> resource to store the source address on success. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A non-negative number on success to indicate how many bytes have been received; otherwise, an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a9b78201046b292b6292f0d5bf55d3f76"></a><!-- doxytag: member="PPB_UDPSocket::SendTo" ref="a9b78201046b292b6292f0d5bf55d3f76" args=")(PP_Resource udp_socket, const char *buffer, int32_t num_bytes, PP_Resource addr, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#a9b78201046b292b6292f0d5bf55d3f76">PPB_UDPSocket::SendTo</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> udp_socket, const char *buffer, int32_t num_bytes, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sends data to a specific destination. </p>
+<p>The socket must be bound.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">udp_socket</td><td>A <code>PP_Resource</code> corresponding to a UDP socket. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">buffer</td><td>The buffer containing the data to send. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">num_bytes</td><td>The number of bytes to send. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>A <code>PPB_NetAddress</code> resource holding the destination address. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A non-negative number on success to indicate how many bytes have been sent; otherwise, an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. <code>PP_ERROR_NOACCESS</code> will be returned if the caller doesn't have required permissions. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a3def770b12177d3fa8faf36e184cc528"></a><!-- doxytag: member="PPB_UDPSocket::SetOption" ref="a3def770b12177d3fa8faf36e184cc528" args=")(PP_Resource udp_socket, PP_UDPSocket_Option name, struct PP_Var value, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___u_d_p_socket__1__0.html#a3def770b12177d3fa8faf36e184cc528">PPB_UDPSocket::SetOption</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> udp_socket, <a class="el" href="group___enums.html#ga1a8472fa3e7150615c45c38fa8c12ce2">PP_UDPSocket_Option</a> name, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> value, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sets a socket option on the UDP socket. </p>
+<p>Please see the <code>PP_UDPSocket_Option</code> description for option names, value types and allowed values.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">udp_socket</td><td>A <code>PP_Resource</code> corresponding to a UDP socket. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>The option to set. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The option value to set. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="ppb__udp__socket_8h.html">ppb_udp_socket.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___u_r_l_loader__1__0.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___u_r_l_loader__1__0.html
new file mode 100644
index 0000000..e5bf28a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___u_r_l_loader__1__0.html
@@ -0,0 +1,264 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_URLLoader Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_URLLoader" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#ab0ab892fe290ba6449d467db53fd4987">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a70db3876aed119140479e952cb7b1057">IsURLLoader</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a5e7fca398c1042e2c81211da80d20e14">Open</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> loader, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> request_info, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a1932cf9779391f4d3efb4582ff49b0a6">FollowRedirect</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> loader, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#abb04744dfe5fce11e46c0e7e36c30b65">GetUploadProgress</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> loader, int64_t *bytes_sent, int64_t *total_bytes_to_be_sent)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a3673506c6e0e23287b7d10e1163a0bbe">GetDownloadProgress</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> loader, int64_t *bytes_received, int64_t *total_bytes_to_be_received)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a4901dcc43cfdc026e582555974d4d853">GetResponseInfo</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> loader)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a92d0f2dc44bc4d087ad0ddca6557fb05">ReadResponseBody</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> loader, void *buffer, int32_t bytes_to_read, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a187774b3255231fa00ad1fe1364677ff">FinishStreamingToFile</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> loader, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#af96116176988be90bdee2619deff6e42">Close</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> loader)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <b>PPB_URLLoader</b> interface contains pointers to functions for loading URLs. </p>
+<p>The typical steps for loading a URL are:</p>
+<ol type="1">
+<li>Call <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#ab0ab892fe290ba6449d467db53fd4987" title="Create() creates a new URLLoader object.">Create()</a> to create a URLLoader object.</li>
+<li>Create a <code>URLRequestInfo</code> object and set properties on it. Refer to <code>PPB_URLRequestInfo</code> for further information.</li>
+<li>Call <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a5e7fca398c1042e2c81211da80d20e14" title="Open() begins loading the URLRequestInfo.">Open()</a> with the <code>URLRequestInfo</code> as an argument.</li>
+<li>When <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a5e7fca398c1042e2c81211da80d20e14" title="Open() begins loading the URLRequestInfo.">Open()</a> completes, call <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a4901dcc43cfdc026e582555974d4d853" title="GetResponseInfo() returns the current URLResponseInfo object.">GetResponseInfo()</a> to examine the response headers. Refer to <code>PPB_URLResponseInfo</code> for further information.</li>
+<li>Call <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a92d0f2dc44bc4d087ad0ddca6557fb05" title="ReadResponseBody() is used to read the response body.">ReadResponseBody()</a> to stream the data for the response.</li>
+</ol>
+<p>Alternatively, if <code>PP_URLREQUESTPROPERTY_STREAMTOFILE</code> was set on the <code>URLRequestInfo</code> in step #2:</p>
+<ul>
+<li>Call <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a187774b3255231fa00ad1fe1364677ff" title="FinishStreamingToFile() is used to wait for the response body to be completely downloaded to the file...">FinishStreamingToFile()</a>, after examining the response headers (step #4), to wait for the downloaded file to be complete.</li>
+<li>Then, access the downloaded file using the GetBodyAsFileRef() function of the <code>URLResponseInfo</code> returned in step #4. </li>
+</ul>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="af96116176988be90bdee2619deff6e42"></a><!-- doxytag: member="PPB_URLLoader::Close" ref="af96116176988be90bdee2619deff6e42" args=")(PP_Resource loader)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#af96116176988be90bdee2619deff6e42">PPB_URLLoader::Close</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> loader)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Close is a pointer to a function used to cancel any pending IO and close the <code>URLLoader</code> object. </p>
+<p>Any pending callbacks will still run, reporting <code>PP_ERROR_ABORTED</code> if pending IO was interrupted. It is NOT valid to call <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a5e7fca398c1042e2c81211da80d20e14" title="Open() begins loading the URLRequestInfo.">Open()</a> again after a call to this function.</p>
+<p><b>Note:</b> If the <code>URLLoader</code> object is destroyed while it is still open, then it will be implicitly closed so you are not required to call <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#af96116176988be90bdee2619deff6e42" title="Close is a pointer to a function used to cancel any pending IO and close the URLLoader object...">Close()</a>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">loader</td><td>A <code>PP_Resource</code> corresponding to a <code>URLLoader</code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ab0ab892fe290ba6449d467db53fd4987"></a><!-- doxytag: member="PPB_URLLoader::Create" ref="ab0ab892fe290ba6449d467db53fd4987" args=")(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#ab0ab892fe290ba6449d467db53fd4987">PPB_URLLoader::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#ab0ab892fe290ba6449d467db53fd4987" title="Create() creates a new URLLoader object.">Create()</a> creates a new <code>URLLoader</code> object. </p>
+<p>The <code>URLLoader</code> is associated with a particular instance, so that any UI dialogs that need to be shown to the user can be positioned relative to the window containing the instance.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> corresponding to a URLLoader if successful, 0 if the instance is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a187774b3255231fa00ad1fe1364677ff"></a><!-- doxytag: member="PPB_URLLoader::FinishStreamingToFile" ref="a187774b3255231fa00ad1fe1364677ff" args=")(PP_Resource loader, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a187774b3255231fa00ad1fe1364677ff">PPB_URLLoader::FinishStreamingToFile</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> loader, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a187774b3255231fa00ad1fe1364677ff" title="FinishStreamingToFile() is used to wait for the response body to be completely downloaded to the file...">FinishStreamingToFile()</a> is used to wait for the response body to be completely downloaded to the file provided by the GetBodyAsFileRef() in the current <code>URLResponseInfo</code>. </p>
+<p>This function is only used if <code>PP_URLREQUESTPROPERTY_STREAMTOFILE</code> was set on the <code>URLRequestInfo</code> passed to <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a5e7fca398c1042e2c81211da80d20e14" title="Open() begins loading the URLRequestInfo.">Open()</a>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">loader</td><td>A <code>PP_Resource</code> corresponding to a <code>URLLoader</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to run on asynchronous completion. This callback will run when body is downloaded or an error occurs after <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a187774b3255231fa00ad1fe1364677ff" title="FinishStreamingToFile() is used to wait for the response body to be completely downloaded to the file...">FinishStreamingToFile()</a> returns <code>PP_OK_COMPLETIONPENDING</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing the number of bytes read or an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a1932cf9779391f4d3efb4582ff49b0a6"></a><!-- doxytag: member="PPB_URLLoader::FollowRedirect" ref="a1932cf9779391f4d3efb4582ff49b0a6" args=")(PP_Resource loader, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a1932cf9779391f4d3efb4582ff49b0a6">PPB_URLLoader::FollowRedirect</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> loader, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a1932cf9779391f4d3efb4582ff49b0a6" title="FollowRedirect() can be invoked to follow a redirect after Open() completed on receiving redirect hea...">FollowRedirect()</a> can be invoked to follow a redirect after <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a5e7fca398c1042e2c81211da80d20e14" title="Open() begins loading the URLRequestInfo.">Open()</a> completed on receiving redirect headers. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">loader</td><td>A <code>PP_Resource</code> corresponding to a <code>URLLoader</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to run on asynchronous completion of <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a1932cf9779391f4d3efb4582ff49b0a6" title="FollowRedirect() can be invoked to follow a redirect after Open() completed on receiving redirect hea...">FollowRedirect()</a>. This callback will run when response headers for the redirect url are received or error occurred. This callback will only run if <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a1932cf9779391f4d3efb4582ff49b0a6" title="FollowRedirect() can be invoked to follow a redirect after Open() completed on receiving redirect hea...">FollowRedirect()</a> returns <code>PP_OK_COMPLETIONPENDING</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a3673506c6e0e23287b7d10e1163a0bbe"></a><!-- doxytag: member="PPB_URLLoader::GetDownloadProgress" ref="a3673506c6e0e23287b7d10e1163a0bbe" args=")(PP_Resource loader, int64_t *bytes_received, int64_t *total_bytes_to_be_received)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a3673506c6e0e23287b7d10e1163a0bbe">PPB_URLLoader::GetDownloadProgress</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> loader, int64_t *bytes_received, int64_t *total_bytes_to_be_received)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a3673506c6e0e23287b7d10e1163a0bbe" title="GetDownloadProgress() returns the current download progress, which is meaningful after Open() has bee...">GetDownloadProgress()</a> returns the current download progress, which is meaningful after <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a5e7fca398c1042e2c81211da80d20e14" title="Open() begins loading the URLRequestInfo.">Open()</a> has been called. </p>
+<p>Progress only refers to the response body and does not include the headers.</p>
+<p>This data is only available if the <code>URLRequestInfo</code> passed to <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a5e7fca398c1042e2c81211da80d20e14" title="Open() begins loading the URLRequestInfo.">Open()</a> had the <code>PP_URLREQUESTPROPERTY_REPORTDOWNLOADPROGRESS</code> property set to <code>PP_TRUE</code>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">loader</td><td>A <code>PP_Resource</code> corresponding to a <code>URLLoader</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">bytes_received</td><td>The number of bytes received thus far. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">total_bytes_to_be_received</td><td>The total number of bytes to be received. The total bytes to be received may be unknown, in which case <code>total_bytes_to_be_received</code> will be set to -1.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the download progress is available, <code>PP_FALSE</code> if it is not available. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a4901dcc43cfdc026e582555974d4d853"></a><!-- doxytag: member="PPB_URLLoader::GetResponseInfo" ref="a4901dcc43cfdc026e582555974d4d853" args=")(PP_Resource loader)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a4901dcc43cfdc026e582555974d4d853">PPB_URLLoader::GetResponseInfo</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> loader)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a4901dcc43cfdc026e582555974d4d853" title="GetResponseInfo() returns the current URLResponseInfo object.">GetResponseInfo()</a> returns the current <code>URLResponseInfo</code> object. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Resource</code> corresponding to a <code>URLLoader</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> corresponding to the <code>URLResponseInfo</code> if successful, 0 if the loader is not a valid resource or if <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a5e7fca398c1042e2c81211da80d20e14" title="Open() begins loading the URLRequestInfo.">Open()</a> has not been called. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="abb04744dfe5fce11e46c0e7e36c30b65"></a><!-- doxytag: member="PPB_URLLoader::GetUploadProgress" ref="abb04744dfe5fce11e46c0e7e36c30b65" args=")(PP_Resource loader, int64_t *bytes_sent, int64_t *total_bytes_to_be_sent)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#abb04744dfe5fce11e46c0e7e36c30b65">PPB_URLLoader::GetUploadProgress</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> loader, int64_t *bytes_sent, int64_t *total_bytes_to_be_sent)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#abb04744dfe5fce11e46c0e7e36c30b65" title="GetUploadProgress() returns the current upload progress (which is meaningful after Open() has been ca...">GetUploadProgress()</a> returns the current upload progress (which is meaningful after <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a5e7fca398c1042e2c81211da80d20e14" title="Open() begins loading the URLRequestInfo.">Open()</a> has been called). </p>
+<p>Progress only refers to the request body and does not include the headers.</p>
+<p>This data is only available if the <code>URLRequestInfo</code> passed to <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a5e7fca398c1042e2c81211da80d20e14" title="Open() begins loading the URLRequestInfo.">Open()</a> had the <code>PP_URLREQUESTPROPERTY_REPORTUPLOADPROGRESS</code> property set to PP_TRUE.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">loader</td><td>A <code>PP_Resource</code> corresponding to a <code>URLLoader</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">bytes_sent</td><td>The number of bytes sent thus far. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">total_bytes_to_be_sent</td><td>The total number of bytes to be sent.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the upload progress is available, <code>PP_FALSE</code> if it is not available. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a70db3876aed119140479e952cb7b1057"></a><!-- doxytag: member="PPB_URLLoader::IsURLLoader" ref="a70db3876aed119140479e952cb7b1057" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a70db3876aed119140479e952cb7b1057">PPB_URLLoader::IsURLLoader</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a70db3876aed119140479e952cb7b1057" title="IsURLLoader() determines if a resource is an URLLoader.">IsURLLoader()</a> determines if a resource is an <code>URLLoader</code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a <code>URLLoader</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the resource is a <code>URLLoader</code>, <code>PP_FALSE</code> if the resource is invalid or some type other than <code>URLLoader</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a5e7fca398c1042e2c81211da80d20e14"></a><!-- doxytag: member="PPB_URLLoader::Open" ref="a5e7fca398c1042e2c81211da80d20e14" args=")(PP_Resource loader, PP_Resource request_info, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a5e7fca398c1042e2c81211da80d20e14">PPB_URLLoader::Open</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> loader, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> request_info, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a5e7fca398c1042e2c81211da80d20e14" title="Open() begins loading the URLRequestInfo.">Open()</a> begins loading the <code>URLRequestInfo</code>. </p>
+<p>The operation completes when response headers are received or when an error occurs. Use <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a4901dcc43cfdc026e582555974d4d853" title="GetResponseInfo() returns the current URLResponseInfo object.">GetResponseInfo()</a> to access the response headers.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">loader</td><td>A <code>PP_Resource</code> corresponding to a <code>URLLoader</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a <code>URLRequestInfo</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to run on asynchronous completion of <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a5e7fca398c1042e2c81211da80d20e14" title="Open() begins loading the URLRequestInfo.">Open()</a>. This callback will run when response headers for the url are received or error occurred. This callback will only run if <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a5e7fca398c1042e2c81211da80d20e14" title="Open() begins loading the URLRequestInfo.">Open()</a> returns <code>PP_OK_COMPLETIONPENDING</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a92d0f2dc44bc4d087ad0ddca6557fb05"></a><!-- doxytag: member="PPB_URLLoader::ReadResponseBody" ref="a92d0f2dc44bc4d087ad0ddca6557fb05" args=")(PP_Resource loader, void *buffer, int32_t bytes_to_read, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a92d0f2dc44bc4d087ad0ddca6557fb05">PPB_URLLoader::ReadResponseBody</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> loader, void *buffer, int32_t bytes_to_read, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a92d0f2dc44bc4d087ad0ddca6557fb05" title="ReadResponseBody() is used to read the response body.">ReadResponseBody()</a> is used to read the response body. </p>
+<p>The size of the buffer must be large enough to hold the specified number of bytes to read. This function might perform a partial read.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">loader</td><td>A <code>PP_Resource</code> corresponding to a <code>URLLoader</code>. </td></tr>
+<tr><td class="paramdir">[in,out]</td><td class="paramname">buffer</td><td>A pointer to the buffer for the response body. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">bytes_to_read</td><td>The number of bytes to read. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to run on asynchronous completion. The callback will run if the bytes (full or partial) are read or an error occurs asynchronously. This callback will run only if this function returns <code>PP_OK_COMPLETIONPENDING</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing the number of bytes read or an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="ppb__url__loader_8h.html">ppb_url_loader.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___u_r_l_request_info__1__0.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___u_r_l_request_info__1__0.html
new file mode 100644
index 0000000..7e98fda8
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___u_r_l_request_info__1__0.html
@@ -0,0 +1,138 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_URLRequestInfo Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_URLRequestInfo" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html#af46135ad86d3444f19a8aa30dd5cd202">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html#ab23f1a2c86c64b64e806ba85cc5d1817">IsURLRequestInfo</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html#a47e9163b0ee627496a249171dc5c53be">SetProperty</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> request, <a class="el" href="group___enums.html#ga41975630f0a4c49e47d4a21754f8402d">PP_URLRequestProperty</a> property, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> value)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html#ac27a819ffd3ac75686e436f09c8c0ac1">AppendDataToBody</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> request, const void *data, uint32_t len)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html#af6edaa0b0f19cb902e5e1d8b3ad2a43b">AppendFileToBody</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> request, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref, int64_t start_offset, int64_t number_of_bytes, <a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a> expected_last_modified_time)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_URLRequestInfo</code> interface is used to create and handle URL requests. </p>
+<p>This API is used in conjunction with <code>PPB_URLLoader</code>. Refer to <code>PPB_URLLoader</code> for further information. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="ac27a819ffd3ac75686e436f09c8c0ac1"></a><!-- doxytag: member="PPB_URLRequestInfo::AppendDataToBody" ref="ac27a819ffd3ac75686e436f09c8c0ac1" args=")(PP_Resource request, const void *data, uint32_t len)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html#ac27a819ffd3ac75686e436f09c8c0ac1">PPB_URLRequestInfo::AppendDataToBody</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> request, const void *data, uint32_t len)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html#ac27a819ffd3ac75686e436f09c8c0ac1" title="AppendDataToBody() appends data to the request body.">AppendDataToBody()</a> appends data to the request body. </p>
+<p>A Content-Length request header will be automatically generated.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">request</td><td>A <code>PP_Resource</code> corresponding to a <code>URLRequestInfo</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>A pointer to a buffer holding the data. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>The length, in bytes, of the data.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if successful, <code>PP_FALSE</code> if any of the parameters are invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="af6edaa0b0f19cb902e5e1d8b3ad2a43b"></a><!-- doxytag: member="PPB_URLRequestInfo::AppendFileToBody" ref="af6edaa0b0f19cb902e5e1d8b3ad2a43b" args=")(PP_Resource request, PP_Resource file_ref, int64_t start_offset, int64_t number_of_bytes, PP_Time expected_last_modified_time)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html#af6edaa0b0f19cb902e5e1d8b3ad2a43b">PPB_URLRequestInfo::AppendFileToBody</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> request, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> file_ref, int64_t start_offset, int64_t number_of_bytes, <a class="el" href="group___typedefs.html#ga537b277d2116e42b6acfe9323d40e1a0">PP_Time</a> expected_last_modified_time)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html#af6edaa0b0f19cb902e5e1d8b3ad2a43b" title="AppendFileToBody() appends a file, to be uploaded, to the request body.">AppendFileToBody()</a> appends a file, to be uploaded, to the request body. </p>
+<p>A content-length request header will be automatically generated.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">request</td><td>A <code>PP_Resource</code> corresponding to a <code>URLRequestInfo</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">file_ref</td><td>A <code>PP_Resource</code> corresponding to a file reference. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">start_offset</td><td>An optional starting point offset within the file. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">number_of_bytes</td><td>An optional number of bytes of the file to be included. If <code>number_of_bytes</code> is -1, then the sub-range to upload extends to the end of the file. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">expected_last_modified_time</td><td>An optional (non-zero) last modified time stamp used to validate that the file was not modified since the given time before it was uploaded. The upload will fail with an error code of <code>PP_ERROR_FILECHANGED</code> if the file has been modified since the given time. If <code>expected_last_modified_time</code> is 0, then no validation is performed.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if successful, <code>PP_FALSE</code> if any of the parameters are invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="af46135ad86d3444f19a8aa30dd5cd202"></a><!-- doxytag: member="PPB_URLRequestInfo::Create" ref="af46135ad86d3444f19a8aa30dd5cd202" args=")(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html#af46135ad86d3444f19a8aa30dd5cd202">PPB_URLRequestInfo::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html#af46135ad86d3444f19a8aa30dd5cd202" title="Create() creates a new URLRequestInfo object.">Create()</a> creates a new <code>URLRequestInfo</code> object. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> identifying the <code>URLRequestInfo</code> if successful, 0 if the instance is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab23f1a2c86c64b64e806ba85cc5d1817"></a><!-- doxytag: member="PPB_URLRequestInfo::IsURLRequestInfo" ref="ab23f1a2c86c64b64e806ba85cc5d1817" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html#ab23f1a2c86c64b64e806ba85cc5d1817">PPB_URLRequestInfo::IsURLRequestInfo</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html#ab23f1a2c86c64b64e806ba85cc5d1817" title="IsURLRequestInfo() determines if a resource is a URLRequestInfo.">IsURLRequestInfo()</a> determines if a resource is a <code>URLRequestInfo</code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a <code>URLRequestInfo</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the resource is a <code>URLRequestInfo</code>, <code>PP_FALSE</code> if the resource is invalid or some type other than <code>URLRequestInfo</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a47e9163b0ee627496a249171dc5c53be"></a><!-- doxytag: member="PPB_URLRequestInfo::SetProperty" ref="a47e9163b0ee627496a249171dc5c53be" args=")(PP_Resource request, PP_URLRequestProperty property, struct PP_Var value)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html#a47e9163b0ee627496a249171dc5c53be">PPB_URLRequestInfo::SetProperty</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> request, <a class="el" href="group___enums.html#ga41975630f0a4c49e47d4a21754f8402d">PP_URLRequestProperty</a> property, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> value)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___u_r_l_request_info__1__0.html#a47e9163b0ee627496a249171dc5c53be" title="SetProperty() sets a request property.">SetProperty()</a> sets a request property. </p>
+<p>The value of the property must be the correct type according to the property being set.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">request</td><td>A <code>PP_Resource</code> corresponding to a <code>URLRequestInfo</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">property</td><td>A <code>PP_URLRequestProperty</code> identifying the property to set. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> containing the property value.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if successful, <code>PP_FALSE</code> if any of the parameters are invalid. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="ppb__url__request__info_8h.html">ppb_url_request_info.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___u_r_l_response_info__1__0.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___u_r_l_response_info__1__0.html
new file mode 100644
index 0000000..4bae5659
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___u_r_l_response_info__1__0.html
@@ -0,0 +1,87 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_URLResponseInfo Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_URLResponseInfo" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_response_info__1__0.html#a0bb553375716a3966176ae01f6146d5a">IsURLResponseInfo</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_response_info__1__0.html#a3fff27f7102320e9efbd59dc83e62ddf">GetProperty</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> response, <a class="el" href="group___enums.html#ga642e6199b27df69aad84aff5597041e0">PP_URLResponseProperty</a> property)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___u_r_l_response_info__1__0.html#a5c826b8217ceede947eda843e0566d2b">GetBodyAsFileRef</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> response)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The PPB_URLResponseInfo interface contains APIs for examining URL responses. </p>
+<p>Refer to <code>PPB_URLLoader</code> for further information. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a5c826b8217ceede947eda843e0566d2b"></a><!-- doxytag: member="PPB_URLResponseInfo::GetBodyAsFileRef" ref="a5c826b8217ceede947eda843e0566d2b" args=")(PP_Resource response)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___u_r_l_response_info__1__0.html#a5c826b8217ceede947eda843e0566d2b">PPB_URLResponseInfo::GetBodyAsFileRef</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> response)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___u_r_l_response_info__1__0.html#a5c826b8217ceede947eda843e0566d2b" title="GetBodyAsFileRef() returns a FileRef pointing to the file containing the response body...">GetBodyAsFileRef()</a> returns a FileRef pointing to the file containing the response body. </p>
+<p>This is only valid if <code>PP_URLREQUESTPROPERTY_STREAMTOFILE</code> was set on the <code>URLRequestInfo</code> used to produce this response. This file remains valid until the <code>URLLoader</code> associated with this <code>URLResponseInfo</code> is closed or destroyed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">request</td><td>A <code>PP_Resource</code> corresponding to a <code>URLResponseInfo</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> corresponding to a <code>FileRef</code> if successful, 0 if <code>PP_URLREQUESTPROPERTY_STREAMTOFILE</code> was not requested or if the <code>URLLoader</code> has not been opened yet. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a3fff27f7102320e9efbd59dc83e62ddf"></a><!-- doxytag: member="PPB_URLResponseInfo::GetProperty" ref="a3fff27f7102320e9efbd59dc83e62ddf" args=")(PP_Resource response, PP_URLResponseProperty property)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___u_r_l_response_info__1__0.html#a3fff27f7102320e9efbd59dc83e62ddf">PPB_URLResponseInfo::GetProperty</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> response, <a class="el" href="group___enums.html#ga642e6199b27df69aad84aff5597041e0">PP_URLResponseProperty</a> property)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___u_r_l_response_info__1__0.html#a3fff27f7102320e9efbd59dc83e62ddf" title="GetProperty() gets a response property.">GetProperty()</a> gets a response property. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">request</td><td>A <code>PP_Resource</code> corresponding to a <code>URLResponseInfo</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">property</td><td>A <code>PP_URLResponseProperty</code> identifying the type of property in the response.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> containing the response property value if successful, <code>PP_VARTYPE_VOID</code> if an input parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a0bb553375716a3966176ae01f6146d5a"></a><!-- doxytag: member="PPB_URLResponseInfo::IsURLResponseInfo" ref="a0bb553375716a3966176ae01f6146d5a" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___u_r_l_response_info__1__0.html#a0bb553375716a3966176ae01f6146d5a">PPB_URLResponseInfo::IsURLResponseInfo</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___u_r_l_response_info__1__0.html#a0bb553375716a3966176ae01f6146d5a" title="IsURLResponseInfo() determines if a response is a URLResponseInfo.">IsURLResponseInfo()</a> determines if a response is a <code>URLResponseInfo</code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a <code>URLResponseInfo</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the resource is a <code>URLResponseInfo</code>, <code>PP_FALSE</code> if the resource is invalid or some type other than <code>URLResponseInfo</code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="ppb__url__response__info_8h.html">ppb_url_response_info.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___var__1__1.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___var__1__1.html
new file mode 100644
index 0000000..3c293b04
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___var__1__1.html
@@ -0,0 +1,114 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_Var Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_Var" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var__1__1.html#a8fc2c3ab17026665e7f0eeb0ac7a2105">AddRef</a> )(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> var)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var__1__1.html#a11121fad397ca41981ccc48ee67aad3a">Release</a> )(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> var)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var__1__1.html#a33b06493ec6ecf650d706346b28398e2">VarFromUtf8</a> )(const char *data, uint32_t len)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const char *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var__1__1.html#a308c42ffebc291fc2fab3200ea5f1845">VarToUtf8</a> )(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> var, uint32_t *len)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>PPB_Var API. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a8fc2c3ab17026665e7f0eeb0ac7a2105"></a><!-- doxytag: member="PPB_Var::AddRef" ref="a8fc2c3ab17026665e7f0eeb0ac7a2105" args=")(struct PP_Var var)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___var__1__1.html#a8fc2c3ab17026665e7f0eeb0ac7a2105">PPB_Var::AddRef</a>)(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> var)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___var__1__1.html#a8fc2c3ab17026665e7f0eeb0ac7a2105" title="AddRef() adds a reference to the given var.">AddRef()</a> adds a reference to the given var. </p>
+<p>If this is not a refcounted object, this function will do nothing so you can always call it no matter what the type.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">var</td><td>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> that will have a reference added. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a11121fad397ca41981ccc48ee67aad3a"></a><!-- doxytag: member="PPB_Var::Release" ref="a11121fad397ca41981ccc48ee67aad3a" args=")(struct PP_Var var)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___var__1__1.html#a11121fad397ca41981ccc48ee67aad3a">PPB_Var::Release</a>)(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> var)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___var__1__1.html#a11121fad397ca41981ccc48ee67aad3a" title="Release() removes a reference to given var, deleting it if the internal reference count becomes 0...">Release()</a> removes a reference to given var, deleting it if the internal reference count becomes 0. </p>
+<p>If the given var is not a refcounted object, this function will do nothing so you can always call it no matter what the type.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">var</td><td>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> that will have a reference removed. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a33b06493ec6ecf650d706346b28398e2"></a><!-- doxytag: member="PPB_Var::VarFromUtf8" ref="a33b06493ec6ecf650d706346b28398e2" args=")(const char *data, uint32_t len)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___var__1__1.html#a33b06493ec6ecf650d706346b28398e2">PPB_Var::VarFromUtf8</a>)(const char *data, uint32_t len)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___var__1__1.html#a33b06493ec6ecf650d706346b28398e2" title="VarFromUtf8() creates a string var from a string.">VarFromUtf8()</a> creates a string var from a string. </p>
+<p>The string must be encoded in valid UTF-8 and is NOT NULL-terminated, the length must be specified in <code>len</code>. It is an error if the string is not valid UTF-8.</p>
+<p>If the length is 0, the <code>*data</code> pointer will not be dereferenced and may be <code>NULL</code>. Note, however if length is 0, the "NULL-ness" will not be preserved, as <code>VarToUtf8</code> will never return <code>NULL</code> on success, even for empty strings.</p>
+<p>The resulting object will be a refcounted string object. It will be AddRef'ed for the caller. When the caller is done with it, it should be Released.</p>
+<p>On error (basically out of memory to allocate the string, or input that is not valid UTF-8), this function will return a Null var.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>A string </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>The length of the string.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> structure containing a reference counted string object. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a308c42ffebc291fc2fab3200ea5f1845"></a><!-- doxytag: member="PPB_Var::VarToUtf8" ref="a308c42ffebc291fc2fab3200ea5f1845" args=")(struct PP_Var var, uint32_t *len)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">const char*(* <a class="el" href="struct_p_p_b___var__1__1.html#a308c42ffebc291fc2fab3200ea5f1845">PPB_Var::VarToUtf8</a>)(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> var, uint32_t *len)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___var__1__1.html#a308c42ffebc291fc2fab3200ea5f1845" title="VarToUtf8() converts a string-type var to a char* encoded in UTF-8.">VarToUtf8()</a> converts a string-type var to a char* encoded in UTF-8. </p>
+<p>This string is NOT NULL-terminated. The length will be placed in <code>*len</code>. If the string is valid but empty the return value will be non-NULL, but <code>*len</code> will still be 0.</p>
+<p>If the var is not a string, this function will return NULL and <code>*len</code> will be 0.</p>
+<p>The returned buffer will be valid as long as the underlying var is alive. If the instance frees its reference, the string will be freed and the pointer will be to arbitrary memory.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">var</td><td>A <a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a> struct containing a string-type var. </td></tr>
+<tr><td class="paramdir">[in,out]</td><td class="paramname">len</td><td>A pointer to the length of the string-type var.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A char* encoded in UTF-8. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="ppb__var_8h.html">ppb_var.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___var_array__1__0.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___var_array__1__0.html
new file mode 100644
index 0000000..058daf2
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___var_array__1__0.html
@@ -0,0 +1,123 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_VarArray Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_VarArray" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_array__1__0.html#af70ca94305325f09306058ec87f50ca5">Create</a> )(void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_array__1__0.html#a20431bfeea806a1af61d4cca2f1f1437">Get</a> )(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> array, uint32_t index)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_array__1__0.html#aea60f6d4917fa248237c6bfd1eda92fe">Set</a> )(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> array, uint32_t index, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> value)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_array__1__0.html#ab1163119c730c95fea571a4618b8cc8f">GetLength</a> )(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> array)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_array__1__0.html#a4868611700bcca797bfae701870ce83b">SetLength</a> )(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> array, uint32_t length)</td></tr>
+</table>
+<hr /><h2>Field Documentation</h2>
+<a class="anchor" id="af70ca94305325f09306058ec87f50ca5"></a><!-- doxytag: member="PPB_VarArray::Create" ref="af70ca94305325f09306058ec87f50ca5" args=")(void)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___var_array__1__0.html#af70ca94305325f09306058ec87f50ca5">PPB_VarArray::Create</a>)(void)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Creates an array var, i.e., a <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> with type set to <code>PP_VARTYPE_ARRAY</code>. </p>
+<p>The array length is set to 0.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An empty array var, whose reference count is set to 1 on behalf of the caller. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a20431bfeea806a1af61d4cca2f1f1437"></a><!-- doxytag: member="PPB_VarArray::Get" ref="a20431bfeea806a1af61d4cca2f1f1437" args=")(struct PP_Var array, uint32_t index)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___var_array__1__0.html#a20431bfeea806a1af61d4cca2f1f1437">PPB_VarArray::Get</a>)(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> array, uint32_t index)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets an element from the array. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">array</td><td>An array var. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>An index indicating which element to return.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The element at the specified position. The reference count of the element returned is incremented on behalf of the caller. If <code>index</code> is larger than or equal to the array length, an undefined var is returned. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab1163119c730c95fea571a4618b8cc8f"></a><!-- doxytag: member="PPB_VarArray::GetLength" ref="ab1163119c730c95fea571a4618b8cc8f" args=")(struct PP_Var array)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t(* <a class="el" href="struct_p_p_b___var_array__1__0.html#ab1163119c730c95fea571a4618b8cc8f">PPB_VarArray::GetLength</a>)(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> array)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the array length. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">array</td><td>An array var.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The array length. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aea60f6d4917fa248237c6bfd1eda92fe"></a><!-- doxytag: member="PPB_VarArray::Set" ref="aea60f6d4917fa248237c6bfd1eda92fe" args=")(struct PP_Var array, uint32_t index, struct PP_Var value)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___var_array__1__0.html#aea60f6d4917fa248237c6bfd1eda92fe">PPB_VarArray::Set</a>)(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> array, uint32_t index, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> value)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sets the value of an element in the array. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">array</td><td>An array var. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>An index indicating which element to modify. If <code>index</code> is larger than or equal to the array length, the length is updated to be <code>index</code> + 1. Any position in the array that hasn't been set before is set to undefined, i.e., <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> of type <code>PP_VARTYPE_UNDEFINED</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The value to set. The array holds a reference to it on success.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> indicating whether the operation succeeds. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a4868611700bcca797bfae701870ce83b"></a><!-- doxytag: member="PPB_VarArray::SetLength" ref="a4868611700bcca797bfae701870ce83b" args=")(struct PP_Var array, uint32_t length)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___var_array__1__0.html#a4868611700bcca797bfae701870ce83b">PPB_VarArray::SetLength</a>)(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> array, uint32_t length)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sets the array length. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">array</td><td>An array var. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>The new array length. If <code>length</code> is smaller than its current value, the array is truncated to the new length; any elements that no longer fit are removed and the references to them will be released. If <code>length</code> is larger than its current value, undefined vars are appended to increase the array to the specified length.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> indicating whether the operation succeeds. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="ppb__var__array_8h.html">ppb_var_array.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___var_array_buffer__1__0.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___var_array_buffer__1__0.html
new file mode 100644
index 0000000..b8a8079
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___var_array_buffer__1__0.html
@@ -0,0 +1,118 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_VarArrayBuffer Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_VarArrayBuffer" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_array_buffer__1__0.html#a348f1470a2fc6cba9d430d0544e84225">Create</a> )(uint32_t size_in_bytes)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_array_buffer__1__0.html#a0ad6305942f991daa6dfe3b579931ea1">ByteLength</a> )(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> array, uint32_t *byte_length)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_array_buffer__1__0.html#a4c7c25b939f56de64fa3f6f906a7da8c">Map</a> )(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> array)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_array_buffer__1__0.html#ac841a12b7eb93dd05bd2b864920e22a7">Unmap</a> )(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> array)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_VarArrayBuffer</code> interface provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous sequence of bytes. </p>
+<p>Use <code>PPB_Var</code> to manage the reference count for a <code>VarArrayBuffer</code>. Note that these Vars are not part of the embedding page's DOM, and can only be shared with JavaScript using the <code>PostMessage</code> and <code>HandleMessage</code> functions of <code>pp::Instance</code>. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a0ad6305942f991daa6dfe3b579931ea1"></a><!-- doxytag: member="PPB_VarArrayBuffer::ByteLength" ref="a0ad6305942f991daa6dfe3b579931ea1" args=")(struct PP_Var array, uint32_t *byte_length)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___var_array_buffer__1__0.html#a0ad6305942f991daa6dfe3b579931ea1">PPB_VarArrayBuffer::ByteLength</a>)(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> array, uint32_t *byte_length)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___var_array_buffer__1__0.html#a0ad6305942f991daa6dfe3b579931ea1" title="ByteLength() retrieves the length of the VarArrayBuffer in bytes.">ByteLength()</a> retrieves the length of the <code>VarArrayBuffer</code> in bytes. </p>
+<p>On success, <code>byte_length</code> is set to the length of the given <code>ArrayBuffer</code> var. On failure, <code>byte_length</code> is unchanged (this could happen, for instance, if the given <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> is not of type <code>PP_VARTYPE_ARRAY_BUFFER</code>). Note that <a class="el" href="struct_p_p_b___var_array_buffer__1__0.html#a0ad6305942f991daa6dfe3b579931ea1" title="ByteLength() retrieves the length of the VarArrayBuffer in bytes.">ByteLength()</a> will successfully retrieve the size of an <code>ArrayBuffer</code> even if the <code>ArrayBuffer</code> is not currently mapped.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">array</td><td>The <code>ArrayBuffer</code> whose length should be returned.</td></tr>
+<tr><td class="paramdir">[out]</td><td class="paramname">byte_length</td><td>A variable which is set to the length of the given <code>ArrayBuffer</code> on success.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> on success, <code>PP_FALSE</code> on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a348f1470a2fc6cba9d430d0544e84225"></a><!-- doxytag: member="PPB_VarArrayBuffer::Create" ref="a348f1470a2fc6cba9d430d0544e84225" args=")(uint32_t size_in_bytes)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___var_array_buffer__1__0.html#a348f1470a2fc6cba9d430d0544e84225">PPB_VarArrayBuffer::Create</a>)(uint32_t size_in_bytes)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___var_array_buffer__1__0.html#a348f1470a2fc6cba9d430d0544e84225" title="Create() creates a zero-initialized VarArrayBuffer.">Create()</a> creates a zero-initialized <code>VarArrayBuffer</code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">size_in_bytes</td><td>The size of the <code>ArrayBuffer</code> to be created.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> representing a <code>VarArrayBuffer</code> of the requested size and with a reference count of 1. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a4c7c25b939f56de64fa3f6f906a7da8c"></a><!-- doxytag: member="PPB_VarArrayBuffer::Map" ref="a4c7c25b939f56de64fa3f6f906a7da8c" args=")(struct PP_Var array)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void*(* <a class="el" href="struct_p_p_b___var_array_buffer__1__0.html#a4c7c25b939f56de64fa3f6f906a7da8c">PPB_VarArrayBuffer::Map</a>)(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> array)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___var_array_buffer__1__0.html#a4c7c25b939f56de64fa3f6f906a7da8c" title="Map() maps the ArrayBuffer in to the module's address space and returns a pointer to the beginning of...">Map()</a> maps the <code>ArrayBuffer</code> in to the module's address space and returns a pointer to the beginning of the buffer for the given <code>ArrayBuffer <a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code>. </p>
+<p>ArrayBuffers are copied when transmitted, so changes to the underlying memory are not automatically available to the embedding page.</p>
+<p>Note that calling <a class="el" href="struct_p_p_b___var_array_buffer__1__0.html#a4c7c25b939f56de64fa3f6f906a7da8c" title="Map() maps the ArrayBuffer in to the module's address space and returns a pointer to the beginning of...">Map()</a> can be a relatively expensive operation. Use care when calling it in performance-critical code. For example, you should call it only once when looping over an <code>ArrayBuffer</code>.</p>
+<p><b>Example:</b></p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">char</span>* data = (<span class="keywordtype">char</span>*)(array_buffer_if.Map(array_buffer_var));
+ uint32_t byte_length = 0;
+ <a class="code" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918" title="The PP_Bool enum is a boolean value for use in PPAPI C headers.">PP_Bool</a> ok = array_buffer_if.ByteLength(array_buffer_var, &byte_length);
+ <span class="keywordflow">if</span> (!ok)
+ <span class="keywordflow">return</span> DoSomethingBecauseMyVarIsNotAnArrayBuffer();
+ <span class="keywordflow">for</span> (uint32_t i = 0; i < byte_length; ++i)
+ data[i] = <span class="charliteral">'A'</span>;
+</pre></div><dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">array</td><td>The <code>ArrayBuffer</code> whose internal buffer should be returned.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A pointer to the internal buffer for this <code>ArrayBuffer</code>. Returns <code>NULL</code> if the given <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> is not of type <code>PP_VARTYPE_ARRAY_BUFFER</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ac841a12b7eb93dd05bd2b864920e22a7"></a><!-- doxytag: member="PPB_VarArrayBuffer::Unmap" ref="ac841a12b7eb93dd05bd2b864920e22a7" args=")(struct PP_Var array)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___var_array_buffer__1__0.html#ac841a12b7eb93dd05bd2b864920e22a7">PPB_VarArrayBuffer::Unmap</a>)(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> array)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___var_array_buffer__1__0.html#ac841a12b7eb93dd05bd2b864920e22a7" title="Unmap() unmaps the given ArrayBuffer var from the module address space.">Unmap()</a> unmaps the given <code>ArrayBuffer</code> var from the module address space. </p>
+<p>Use this if you want to save memory but might want to call <a class="el" href="struct_p_p_b___var_array_buffer__1__0.html#a4c7c25b939f56de64fa3f6f906a7da8c" title="Map() maps the ArrayBuffer in to the module's address space and returns a pointer to the beginning of...">Map()</a> to map the buffer again later. The <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> remains valid and should still be released using <code>PPB_Var</code> when you are done with the <code>ArrayBuffer</code>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">array</td><td>The <code>ArrayBuffer</code> to be released. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="ppb__var__array__buffer_8h.html">ppb_var_array_buffer.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___var_dictionary__1__0.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___var_dictionary__1__0.html
new file mode 100644
index 0000000..a1bf0d89
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___var_dictionary__1__0.html
@@ -0,0 +1,148 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_VarDictionary Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_VarDictionary" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_dictionary__1__0.html#a1fad06939f6d2c711a319d6b984f45f5">Create</a> )(void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_dictionary__1__0.html#ac078e850f04e097ee67cefc3a475ec77">Get</a> )(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> dict, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> key)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_dictionary__1__0.html#a8af80f44eaab36b5c8bc670be405dc21">Set</a> )(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> dict, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> key, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> value)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_dictionary__1__0.html#a2df16916e3bd3ecc2de6e27100bb71db">Delete</a> )(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> dict, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> key)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_dictionary__1__0.html#a2b7c0b449352d77b0c36c2bdb270eb9a">HasKey</a> )(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> dict, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> key)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___var_dictionary__1__0.html#ab481ddec5b69bf964b63e859decc1e97">GetKeys</a> )(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> dict)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>A dictionary var contains key-value pairs with unique keys. </p>
+<p>The keys are strings while the values can be arbitrary vars. Key comparison is always done by value instead of by reference. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a1fad06939f6d2c711a319d6b984f45f5"></a><!-- doxytag: member="PPB_VarDictionary::Create" ref="a1fad06939f6d2c711a319d6b984f45f5" args=")(void)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___var_dictionary__1__0.html#a1fad06939f6d2c711a319d6b984f45f5">PPB_VarDictionary::Create</a>)(void)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Creates a dictionary var, i.e., a <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> with type set to <code>PP_VARTYPE_DICTIONARY</code>. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An empty dictionary var, whose reference count is set to 1 on behalf of the caller. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2df16916e3bd3ecc2de6e27100bb71db"></a><!-- doxytag: member="PPB_VarDictionary::Delete" ref="a2df16916e3bd3ecc2de6e27100bb71db" args=")(struct PP_Var dict, struct PP_Var key)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_b___var_dictionary__1__0.html#a2df16916e3bd3ecc2de6e27100bb71db">PPB_VarDictionary::Delete</a>)(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> dict, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> key)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Deletes the specified key and its associated value, if the key exists. </p>
+<p>The reference to the element will be released.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">dict</td><td>A dictionary var. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>A string var. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ac078e850f04e097ee67cefc3a475ec77"></a><!-- doxytag: member="PPB_VarDictionary::Get" ref="ac078e850f04e097ee67cefc3a475ec77" args=")(struct PP_Var dict, struct PP_Var key)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___var_dictionary__1__0.html#ac078e850f04e097ee67cefc3a475ec77">PPB_VarDictionary::Get</a>)(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> dict, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> key)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the value associated with the specified key. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">dict</td><td>A dictionary var. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>A string var.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The value that is associated with <code>key</code>. The reference count of the element returned is incremented on behalf of the caller. If <code>key</code> is not a string var, or it doesn't exist in <code>dict</code>, an undefined var is returned. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab481ddec5b69bf964b63e859decc1e97"></a><!-- doxytag: member="PPB_VarDictionary::GetKeys" ref="ab481ddec5b69bf964b63e859decc1e97" args=")(struct PP_Var dict)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___var_dictionary__1__0.html#ab481ddec5b69bf964b63e859decc1e97">PPB_VarDictionary::GetKeys</a>)(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> dict)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets all the keys in a dictionary. </p>
+<p>Please note that for each key that you set into the dictionary, a string var with the same contents is returned; but it may not be the same string var (i.e., <code>value.as_id</code> may be different).</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">dict</td><td>A dictionary var.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An array var which contains all the keys of <code>dict</code>. Its reference count is incremented on behalf of the caller. The elements are string vars. Returns a null var if failed. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2b7c0b449352d77b0c36c2bdb270eb9a"></a><!-- doxytag: member="PPB_VarDictionary::HasKey" ref="a2b7c0b449352d77b0c36c2bdb270eb9a" args=")(struct PP_Var dict, struct PP_Var key)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___var_dictionary__1__0.html#a2b7c0b449352d77b0c36c2bdb270eb9a">PPB_VarDictionary::HasKey</a>)(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> dict, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> key)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Checks whether a key exists. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">dict</td><td>A dictionary var. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>A string var.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> indicating whether the key exists. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a8af80f44eaab36b5c8bc670be405dc21"></a><!-- doxytag: member="PPB_VarDictionary::Set" ref="a8af80f44eaab36b5c8bc670be405dc21" args=")(struct PP_Var dict, struct PP_Var key, struct PP_Var value)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___var_dictionary__1__0.html#a8af80f44eaab36b5c8bc670be405dc21">PPB_VarDictionary::Set</a>)(struct <a class="el" href="struct_p_p___var.html">PP_Var</a> dict, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> key, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> value)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sets the value associated with the specified key. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">dict</td><td>A dictionary var. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>A string var. If this key hasn't existed in <code>dict</code>, it is added and associated with <code>value</code>; otherwise, the previous value is replaced with <code>value</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The value to set. The dictionary holds a reference to it on success.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> indicating whether the operation succeeds. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="ppb__var__dictionary_8h.html">ppb_var_dictionary.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___view__1__1.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___view__1__1.html
new file mode 100644
index 0000000..f98b291
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___view__1__1.html
@@ -0,0 +1,209 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_View Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_View" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___view__1__1.html#af8edddb82a8b9bf57b2cdd24865c918a">IsView</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___view__1__1.html#a2868af4218df145607e3fd353eb5bfff">GetRect</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, struct <a class="el" href="struct_p_p___rect.html">PP_Rect</a> *rect)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___view__1__1.html#a89a285dd50599e8965b4e2b3cecf39ee">IsFullscreen</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___view__1__1.html#a048d5c02d3cf41447b51fdc546f0ba35">IsVisible</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___view__1__1.html#adfd3a2939a3bbdb0a7258cf061fd9f4b">IsPageVisible</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___view__1__1.html#a6eefff83d768387e0112f01bb1ca01d7">GetClipRect</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, struct <a class="el" href="struct_p_p___rect.html">PP_Rect</a> *clip)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___view__1__1.html#aa0d2c1ccfb2a8e3bd693045ad87011cf">GetDeviceScale</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___view__1__1.html#a7e6b9a5d16fe05ba03b7058ca6f1e3ce">GetCSSScale</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p><code>PPB_View</code> represents the state of the view of an instance. </p>
+<p>You will receive new view information using <code><a class="el" href="struct_p_p_p___instance__1__1.html#aa028a7b17d62242ac56b6ab4b55dc047" title="DidChangeView() is called when the position, size, or other view attributes of the instance has chang...">PPP_Instance.DidChangeView</a></code>. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a6eefff83d768387e0112f01bb1ca01d7"></a><!-- doxytag: member="PPB_View::GetClipRect" ref="a6eefff83d768387e0112f01bb1ca01d7" args=")(PP_Resource resource, struct PP_Rect *clip)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___view__1__1.html#a6eefff83d768387e0112f01bb1ca01d7">PPB_View::GetClipRect</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, struct <a class="el" href="struct_p_p___rect.html">PP_Rect</a> *clip)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___view__1__1.html#a6eefff83d768387e0112f01bb1ca01d7" title="GetClipRect() returns the clip rectangle relative to the upper-left corner of the module instance...">GetClipRect()</a> returns the clip rectangle relative to the upper-left corner of the module instance. </p>
+<p>This rectangle indicates the portions of the module instance that are scrolled into view.</p>
+<p>If the module instance is scrolled off the view, the return value will be (0, 0, 0, 0). This clip rectangle does <em>not</em> take into account page visibility. Therefore, if the module instance is scrolled into view, but the page itself is on a tab that is not visible, the return rectangle will contain the visible rectangle as though the page were visible. Refer to <a class="el" href="struct_p_p_b___view__1__1.html#adfd3a2939a3bbdb0a7258cf061fd9f4b" title="IsPageVisible() determines if the page that contains the module instance is visible.">IsPageVisible()</a> and <a class="el" href="struct_p_p_b___view__1__1.html#a048d5c02d3cf41447b51fdc546f0ba35" title="IsVisible() determines whether the module instance might be visible to the user.">IsVisible()</a> if you want to account for page visibility.</p>
+<p>Most applications will not need to worry about the clip rectangle. The recommended behavior is to do full updates if the module instance is visible, as determined by <a class="el" href="struct_p_p_b___view__1__1.html#a048d5c02d3cf41447b51fdc546f0ba35" title="IsVisible() determines whether the module instance might be visible to the user.">IsVisible()</a>, and do no updates if it is not visible.</p>
+<p>However, if the cost for computing pixels is very high for your application, or the pages you're targeting frequently have very large module instances with small visible portions, you may wish to optimize further. In this case, the clip rectangle will tell you which parts of the module to update.</p>
+<p>Note that painting of the page and sending of view changed updates happens asynchronously. This means when the user scrolls, for example, it is likely that the previous backing store of the module instance will be used for the first paint, and will be updated later when your application generates new content with the new clip. This may cause flickering at the boundaries when scrolling. If you do choose to do partial updates, you may want to think about what color the invisible portions of your backing store contain (be it transparent or some background color) or to paint a certain region outside the clip to reduce the visual distraction when this happens.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a <code>PPB_View</code> resource.</td></tr>
+<tr><td class="paramname">clip</td><td>Output argument receiving the clip rect on success.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>PP_TRUE</code> if the resource was valid and the clip rect was filled in, <code>PP_FALSE</code> if not. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a7e6b9a5d16fe05ba03b7058ca6f1e3ce"></a><!-- doxytag: member="PPB_View::GetCSSScale" ref="a7e6b9a5d16fe05ba03b7058ca6f1e3ce" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float(* <a class="el" href="struct_p_p_b___view__1__1.html#a7e6b9a5d16fe05ba03b7058ca6f1e3ce">PPB_View::GetCSSScale</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>GetCSSScale returns the scale factor between DIPs and CSS pixels. </p>
+<p>This allows proper scaling between DIPs - as sent via the Pepper API - and CSS pixel coordinates used for Web content.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a <code>PPB_View</code> resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>css_scale A <code>float</code> value representing the number of DIPs per CSS pixel. If the resource is invalid, the value will be 0.0. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aa0d2c1ccfb2a8e3bd693045ad87011cf"></a><!-- doxytag: member="PPB_View::GetDeviceScale" ref="aa0d2c1ccfb2a8e3bd693045ad87011cf" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float(* <a class="el" href="struct_p_p_b___view__1__1.html#aa0d2c1ccfb2a8e3bd693045ad87011cf">PPB_View::GetDeviceScale</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>GetDeviceScale returns the scale factor between device pixels and Density Independent Pixels (DIPs, also known as logical pixels or UI pixels on some platforms). </p>
+<p>This allows the developer to render their contents at device resolution, even as coordinates / sizes are given in DIPs through the API.</p>
+<p>Note that the coordinate system for Pepper APIs is DIPs. Also note that one DIP might not equal one CSS pixel - when page scale/zoom is in effect.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a <code>PPB_View</code> resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>float</code> value representing the number of device pixels per DIP. If the resource is invalid, the value will be 0.0. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2868af4218df145607e3fd353eb5bfff"></a><!-- doxytag: member="PPB_View::GetRect" ref="a2868af4218df145607e3fd353eb5bfff" args=")(PP_Resource resource, struct PP_Rect *rect)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___view__1__1.html#a2868af4218df145607e3fd353eb5bfff">PPB_View::GetRect</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, struct <a class="el" href="struct_p_p___rect.html">PP_Rect</a> *rect)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___view__1__1.html#a2868af4218df145607e3fd353eb5bfff" title="GetRect() retrieves the rectangle of the module instance associated with a view changed notification ...">GetRect()</a> retrieves the rectangle of the module instance associated with a view changed notification relative to the upper-left of the browser viewport. </p>
+<p>This position changes when the page is scrolled.</p>
+<p>The returned rectangle may not be inside the visible portion of the viewport if the module instance is scrolled off the page. Therefore, the position may be negative or larger than the size of the page. The size will always reflect the size of the module were it to be scrolled entirely into view.</p>
+<p>In general, most modules will not need to worry about the position of the module instance in the viewport, and only need to use the size.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a <code>PPB_View</code> resource.</td></tr>
+<tr><td class="paramname">rect</td><td>A <code><a class="el" href="struct_p_p___rect.html" title="The PP_Rect struct contains the size and location of a 2D rectangle.">PP_Rect</a></code> receiving the rectangle on success.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>PP_TRUE</code> if the resource was valid and the viewport rectangle was filled in, <code>PP_FALSE</code> if not. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a89a285dd50599e8965b4e2b3cecf39ee"></a><!-- doxytag: member="PPB_View::IsFullscreen" ref="a89a285dd50599e8965b4e2b3cecf39ee" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___view__1__1.html#a89a285dd50599e8965b4e2b3cecf39ee">PPB_View::IsFullscreen</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___view__1__1.html#a89a285dd50599e8965b4e2b3cecf39ee" title="IsFullscreen() returns whether the instance is currently displaying in fullscreen mode...">IsFullscreen()</a> returns whether the instance is currently displaying in fullscreen mode. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a <code>PPB_View</code> resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the instance is in full screen mode, or <code>PP_FALSE</code> if it's not or the resource is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="adfd3a2939a3bbdb0a7258cf061fd9f4b"></a><!-- doxytag: member="PPB_View::IsPageVisible" ref="adfd3a2939a3bbdb0a7258cf061fd9f4b" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___view__1__1.html#adfd3a2939a3bbdb0a7258cf061fd9f4b">PPB_View::IsPageVisible</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___view__1__1.html#adfd3a2939a3bbdb0a7258cf061fd9f4b" title="IsPageVisible() determines if the page that contains the module instance is visible.">IsPageVisible()</a> determines if the page that contains the module instance is visible. </p>
+<p>The most common cause of invisible pages is that the page is in a background tab in the browser.</p>
+<p>Most applications should use <a class="el" href="struct_p_p_b___view__1__1.html#a048d5c02d3cf41447b51fdc546f0ba35" title="IsVisible() determines whether the module instance might be visible to the user.">IsVisible()</a> instead of this function since the module instance could be scrolled off of a visible page, and this function will still return true. However, depending on how your module interacts with the page, there may be certain updates that you may want to perform when the page is visible even if your specific module instance is not visible.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a <code>PPB_View</code> resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the instance is plausibly visible to the user, <code>PP_FALSE</code> if it is definitely not visible. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="af8edddb82a8b9bf57b2cdd24865c918a"></a><!-- doxytag: member="PPB_View::IsView" ref="af8edddb82a8b9bf57b2cdd24865c918a" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___view__1__1.html#af8edddb82a8b9bf57b2cdd24865c918a">PPB_View::IsView</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___view__1__1.html#af8edddb82a8b9bf57b2cdd24865c918a" title="IsView() determines if the given resource is a valid PPB_View resource.">IsView()</a> determines if the given resource is a valid <code>PPB_View</code> resource. </p>
+<p>Note that <code>PPB_ViewChanged</code> resources derive from <code>PPB_View</code> and will return true here as well.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a <code>PPB_View</code> resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the given resource supports <code>PPB_View</code> or <code>PP_FALSE</code> if it is an invalid resource or is a resource of another type. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a048d5c02d3cf41447b51fdc546f0ba35"></a><!-- doxytag: member="PPB_View::IsVisible" ref="a048d5c02d3cf41447b51fdc546f0ba35" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___view__1__1.html#a048d5c02d3cf41447b51fdc546f0ba35">PPB_View::IsVisible</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___view__1__1.html#a048d5c02d3cf41447b51fdc546f0ba35" title="IsVisible() determines whether the module instance might be visible to the user.">IsVisible()</a> determines whether the module instance might be visible to the user. </p>
+<p>For example, the Chrome window could be minimized or another window could be over it. In both of these cases, the module instance would not be visible to the user, but <a class="el" href="struct_p_p_b___view__1__1.html#a048d5c02d3cf41447b51fdc546f0ba35" title="IsVisible() determines whether the module instance might be visible to the user.">IsVisible()</a> will return true.</p>
+<p>Use the result to speed up or stop updates for invisible module instances.</p>
+<p>This function performs the duties of <a class="el" href="struct_p_p_b___view__1__1.html#a2868af4218df145607e3fd353eb5bfff" title="GetRect() retrieves the rectangle of the module instance associated with a view changed notification ...">GetRect()</a> (determining whether the module instance is scrolled into view and the clip rectangle is nonempty) and <a class="el" href="struct_p_p_b___view__1__1.html#adfd3a2939a3bbdb0a7258cf061fd9f4b" title="IsPageVisible() determines if the page that contains the module instance is visible.">IsPageVisible()</a> (whether the page is visible to the user).</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a <code>PPB_View</code> resource.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the instance might be visible to the user, <code>PP_FALSE</code> if it is definitely not visible. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="ppb__view_8h.html">ppb_view.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___web_socket__1__0.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___web_socket__1__0.html
new file mode 100644
index 0000000..9b2827e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___web_socket__1__0.html
@@ -0,0 +1,327 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_WebSocket Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_WebSocket" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___web_socket__1__0.html#a220cff8f5aa9f742d2b9cc4ab0e8de1b">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___web_socket__1__0.html#afa66d61dd10155dd445a13f1c6280a79">IsWebSocket</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___web_socket__1__0.html#aaff1d1e6f3240e5ce9c772ad80aa38d5">Connect</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> url, const struct <a class="el" href="struct_p_p___var.html">PP_Var</a> protocols[], uint32_t protocol_count, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___web_socket__1__0.html#aa2f3e391713d6097f1d0b2944acab8e8">Close</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket, uint16_t code, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> reason, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___web_socket__1__0.html#aedebd5c21bc451e6b99ea1b2de884122">ReceiveMessage</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> *message, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___web_socket__1__0.html#a05bf8512a7c566f59d527c4a7e92f194">SendMessage</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> message)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint64_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___web_socket__1__0.html#a45b1ad062facdf02199d1879a55c6299">GetBufferedAmount</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint16_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___web_socket__1__0.html#ac0bfae85f51a9e2d5b7fb9660f24968e">GetCloseCode</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___web_socket__1__0.html#aef09f974f4c6ebc9c23a9161ae7c2945">GetCloseReason</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___web_socket__1__0.html#afaf7ee244ffe9aae026b7fbca7a6eff4">GetCloseWasClean</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___web_socket__1__0.html#a71d0d4a01f5e11520d56b668ff178c20">GetExtensions</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___web_socket__1__0.html#a0f5f83152a917998a23e0a10b3a0fa4a">GetProtocol</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#gade61cdf6a7470769b571925694d91a89">PP_WebSocketReadyState</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___web_socket__1__0.html#abd52bebffd4153294734168663057ecc">GetReadyState</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___web_socket__1__0.html#a130ed98f0ebabb614b6637ca6f800e13">GetURL</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_WebSocket</code> interface provides bi-directional, full-duplex, communications over a single TCP socket. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="aa2f3e391713d6097f1d0b2944acab8e8"></a><!-- doxytag: member="PPB_WebSocket::Close" ref="aa2f3e391713d6097f1d0b2944acab8e8" args=")(PP_Resource web_socket, uint16_t code, struct PP_Var reason, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___web_socket__1__0.html#aa2f3e391713d6097f1d0b2944acab8e8">PPB_WebSocket::Close</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket, uint16_t code, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> reason, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___web_socket__1__0.html#aa2f3e391713d6097f1d0b2944acab8e8" title="Close() closes the specified WebSocket connection by specifying code and reason.">Close()</a> closes the specified WebSocket connection by specifying <code>code</code> and <code>reason</code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">web_socket</td><td>A <code>PP_Resource</code> corresponding to a WebSocket.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">code</td><td>The WebSocket close code. This is ignored if it is <code>PP_WEBSOCKETSTATUSCODE_NOT_SPECIFIED</code>. <code>PP_WEBSOCKETSTATUSCODE_NORMAL_CLOSURE</code> must be used for the usual case. To indicate some specific error cases, codes in the range <code>PP_WEBSOCKETSTATUSCODE_USER_REGISTERED_MIN</code> to <code>PP_WEBSOCKETSTATUSCODE_USER_REGISTERED_MAX</code>, and in the range <code>PP_WEBSOCKETSTATUSCODE_USER_PRIVATE_MIN</code> to <code>PP_WEBSOCKETSTATUSCODE_USER_PRIVATE_MAX</code> are available.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">reason</td><td>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> representing the WebSocket close reason. This is ignored if it is <code>PP_VARTYPE_UNDEFINED</code>. Otherwise, its <code>PP_VarType</code> must be <code>PP_VARTYPE_STRING</code>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> called when the connection is closed or an error occurs in closing the connection.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. Returns <code>PP_ERROR_BADARGUMENT</code> if <code>reason</code> contains an invalid character as a UTF-8 string, or is longer than 123 bytes. <code>PP_ERROR_BADARGUMENT</code> corresponds to a JavaScript SyntaxError in the WebSocket API specification. Returns <code>PP_ERROR_NOACCESS</code> if the code is not an integer equal to 1000 or in the range 3000 to 4999. <code>PP_ERROR_NOACCESS</code> corresponds to an InvalidAccessError in the WebSocket API specification. Returns <code>PP_ERROR_INPROGRESS</code> if a previous call to <a class="el" href="struct_p_p_b___web_socket__1__0.html#aa2f3e391713d6097f1d0b2944acab8e8" title="Close() closes the specified WebSocket connection by specifying code and reason.">Close()</a> is not finished. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aaff1d1e6f3240e5ce9c772ad80aa38d5"></a><!-- doxytag: member="PPB_WebSocket::Connect" ref="aaff1d1e6f3240e5ce9c772ad80aa38d5" args=")(PP_Resource web_socket, struct PP_Var url, const struct PP_Var protocols[], uint32_t protocol_count, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___web_socket__1__0.html#aaff1d1e6f3240e5ce9c772ad80aa38d5">PPB_WebSocket::Connect</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> url, const struct <a class="el" href="struct_p_p___var.html">PP_Var</a> protocols[], uint32_t protocol_count, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___web_socket__1__0.html#aaff1d1e6f3240e5ce9c772ad80aa38d5" title="Connect() connects to the specified WebSocket server.">Connect()</a> connects to the specified WebSocket server. </p>
+<p>You can call this function once for a <code>web_socket</code>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">web_socket</td><td>A <code>PP_Resource</code> corresponding to a WebSocket.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">url</td><td>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> representing a WebSocket server URL. The <code>PP_VarType</code> must be <code>PP_VARTYPE_STRING</code>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">protocols</td><td>A pointer to an array of <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> specifying sub-protocols. Each <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> represents one sub-protocol and its <code>PP_VarType</code> must be <code>PP_VARTYPE_STRING</code>. This argument can be null only if <code>protocol_count</code> is 0.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">protocol_count</td><td>The number of sub-protocols in <code>protocols</code>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> called when a connection is established or an error occurs in establishing connection.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. Returns <code>PP_ERROR_BADARGUMENT</code> if the specified <code>url</code>, or <code>protocols</code> contain an invalid string as defined in the WebSocket API specification. <code>PP_ERROR_BADARGUMENT</code> corresponds to a SyntaxError in the WebSocket API specification. Returns <code>PP_ERROR_NOACCESS</code> if the protocol specified in the <code>url</code> is not a secure protocol, but the origin of the caller has a secure scheme. Also returns <code>PP_ERROR_NOACCESS</code> if the port specified in the <code>url</code> is a port that the user agent is configured to block access to because it is a well-known port like SMTP. <code>PP_ERROR_NOACCESS</code> corresponds to a SecurityError of the specification. Returns <code>PP_ERROR_INPROGRESS</code> if this is not the first call to <a class="el" href="struct_p_p_b___web_socket__1__0.html#aaff1d1e6f3240e5ce9c772ad80aa38d5" title="Connect() connects to the specified WebSocket server.">Connect()</a>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a220cff8f5aa9f742d2b9cc4ab0e8de1b"></a><!-- doxytag: member="PPB_WebSocket::Create" ref="a220cff8f5aa9f742d2b9cc4ab0e8de1b" args=")(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___web_socket__1__0.html#a220cff8f5aa9f742d2b9cc4ab0e8de1b">PPB_WebSocket::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___web_socket__1__0.html#a220cff8f5aa9f742d2b9cc4ab0e8de1b" title="Create() creates a WebSocket instance.">Create()</a> creates a WebSocket instance. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying the instance with the WebSocket.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> corresponding to a WebSocket if successful. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a45b1ad062facdf02199d1879a55c6299"></a><!-- doxytag: member="PPB_WebSocket::GetBufferedAmount" ref="a45b1ad062facdf02199d1879a55c6299" args=")(PP_Resource web_socket)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint64_t(* <a class="el" href="struct_p_p_b___web_socket__1__0.html#a45b1ad062facdf02199d1879a55c6299">PPB_WebSocket::GetBufferedAmount</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___web_socket__1__0.html#a45b1ad062facdf02199d1879a55c6299" title="GetBufferedAmount() returns the number of bytes of text and binary messages that have been queued for...">GetBufferedAmount()</a> returns the number of bytes of text and binary messages that have been queued for the WebSocket connection to send, but have not been transmitted to the network yet. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">web_socket</td><td>A <code>PP_Resource</code> corresponding to a WebSocket.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the number of bytes. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ac0bfae85f51a9e2d5b7fb9660f24968e"></a><!-- doxytag: member="PPB_WebSocket::GetCloseCode" ref="ac0bfae85f51a9e2d5b7fb9660f24968e" args=")(PP_Resource web_socket)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint16_t(* <a class="el" href="struct_p_p_b___web_socket__1__0.html#ac0bfae85f51a9e2d5b7fb9660f24968e">PPB_WebSocket::GetCloseCode</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___web_socket__1__0.html#ac0bfae85f51a9e2d5b7fb9660f24968e" title="GetCloseCode() returns the connection close code for the WebSocket connection.">GetCloseCode()</a> returns the connection close code for the WebSocket connection. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">web_socket</td><td>A <code>PP_Resource</code> corresponding to a WebSocket.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns 0 if called before the close code is set. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aef09f974f4c6ebc9c23a9161ae7c2945"></a><!-- doxytag: member="PPB_WebSocket::GetCloseReason" ref="aef09f974f4c6ebc9c23a9161ae7c2945" args=")(PP_Resource web_socket)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___web_socket__1__0.html#aef09f974f4c6ebc9c23a9161ae7c2945">PPB_WebSocket::GetCloseReason</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___web_socket__1__0.html#aef09f974f4c6ebc9c23a9161ae7c2945" title="GetCloseReason() returns the connection close reason for the WebSocket connection.">GetCloseReason()</a> returns the connection close reason for the WebSocket connection. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">web_socket</td><td>A <code>PP_Resource</code> corresponding to a WebSocket.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns a <code>PP_VARTYPE_STRING</code> var. If called before the close reason is set, the return value contains an empty string. Returns a <code>PP_VARTYPE_UNDEFINED</code> if called on an invalid resource. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="afaf7ee244ffe9aae026b7fbca7a6eff4"></a><!-- doxytag: member="PPB_WebSocket::GetCloseWasClean" ref="afaf7ee244ffe9aae026b7fbca7a6eff4" args=")(PP_Resource web_socket)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___web_socket__1__0.html#afaf7ee244ffe9aae026b7fbca7a6eff4">PPB_WebSocket::GetCloseWasClean</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___web_socket__1__0.html#afaf7ee244ffe9aae026b7fbca7a6eff4" title="GetCloseWasClean() returns if the connection was closed cleanly for the specified WebSocket connectio...">GetCloseWasClean()</a> returns if the connection was closed cleanly for the specified WebSocket connection. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">web_socket</td><td>A <code>PP_Resource</code> corresponding to a WebSocket.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>PP_FALSE</code> if called before the connection is closed, called on an invalid resource, or closed for abnormal reasons. Otherwise, returns <code>PP_TRUE</code> if the connection was closed cleanly. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a71d0d4a01f5e11520d56b668ff178c20"></a><!-- doxytag: member="PPB_WebSocket::GetExtensions" ref="a71d0d4a01f5e11520d56b668ff178c20" args=")(PP_Resource web_socket)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___web_socket__1__0.html#a71d0d4a01f5e11520d56b668ff178c20">PPB_WebSocket::GetExtensions</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___web_socket__1__0.html#a71d0d4a01f5e11520d56b668ff178c20" title="GetExtensions() returns the extensions selected by the server for the specified WebSocket connection...">GetExtensions()</a> returns the extensions selected by the server for the specified WebSocket connection. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">web_socket</td><td>A <code>PP_Resource</code> corresponding to a WebSocket.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns a <code>PP_VARTYPE_STRING</code> var. If called before the connection is established, the var's data is an empty string. Returns a <code>PP_VARTYPE_UNDEFINED</code> if called on an invalid resource. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a0f5f83152a917998a23e0a10b3a0fa4a"></a><!-- doxytag: member="PPB_WebSocket::GetProtocol" ref="a0f5f83152a917998a23e0a10b3a0fa4a" args=")(PP_Resource web_socket)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___web_socket__1__0.html#a0f5f83152a917998a23e0a10b3a0fa4a">PPB_WebSocket::GetProtocol</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___web_socket__1__0.html#a0f5f83152a917998a23e0a10b3a0fa4a" title="GetProtocol() returns the sub-protocol chosen by the server for the specified WebSocket connection...">GetProtocol()</a> returns the sub-protocol chosen by the server for the specified WebSocket connection. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">web_socket</td><td>A <code>PP_Resource</code> corresponding to a WebSocket.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns a <code>PP_VARTYPE_STRING</code> var. If called before the connection is established, the var contains the empty string. Returns a <code>PP_VARTYPE_UNDEFINED</code> if called on an invalid resource. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="abd52bebffd4153294734168663057ecc"></a><!-- doxytag: member="PPB_WebSocket::GetReadyState" ref="abd52bebffd4153294734168663057ecc" args=")(PP_Resource web_socket)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#gade61cdf6a7470769b571925694d91a89">PP_WebSocketReadyState</a>(* <a class="el" href="struct_p_p_b___web_socket__1__0.html#abd52bebffd4153294734168663057ecc">PPB_WebSocket::GetReadyState</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___web_socket__1__0.html#abd52bebffd4153294734168663057ecc" title="GetReadyState() returns the ready state of the specified WebSocket connection.">GetReadyState()</a> returns the ready state of the specified WebSocket connection. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">web_socket</td><td>A <code>PP_Resource</code> corresponding to a WebSocket.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>PP_WEBSOCKETREADYSTATE_INVALID</code> if called before <a class="el" href="struct_p_p_b___web_socket__1__0.html#aaff1d1e6f3240e5ce9c772ad80aa38d5" title="Connect() connects to the specified WebSocket server.">Connect()</a> is called, or if this function is called on an invalid resource. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a130ed98f0ebabb614b6637ca6f800e13"></a><!-- doxytag: member="PPB_WebSocket::GetURL" ref="a130ed98f0ebabb614b6637ca6f800e13" args=")(PP_Resource web_socket)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___web_socket__1__0.html#a130ed98f0ebabb614b6637ca6f800e13">PPB_WebSocket::GetURL</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___web_socket__1__0.html#a130ed98f0ebabb614b6637ca6f800e13" title="GetURL() returns the URL associated with specified WebSocket connection.">GetURL()</a> returns the URL associated with specified WebSocket connection. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">web_socket</td><td>A <code>PP_Resource</code> corresponding to a WebSocket.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns a <code>PP_VARTYPE_STRING</code> var. If called before the connection is established, the var contains the empty string. Returns a <code>PP_VARTYPE_UNDEFINED</code> if this function is called on an invalid resource. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="afa66d61dd10155dd445a13f1c6280a79"></a><!-- doxytag: member="PPB_WebSocket::IsWebSocket" ref="afa66d61dd10155dd445a13f1c6280a79" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___web_socket__1__0.html#afa66d61dd10155dd445a13f1c6280a79">PPB_WebSocket::IsWebSocket</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___web_socket__1__0.html#afa66d61dd10155dd445a13f1c6280a79" title="IsWebSocket() determines if the provided resource is a WebSocket instance.">IsWebSocket()</a> determines if the provided <code>resource</code> is a WebSocket instance. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a WebSocket.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>PP_TRUE</code> if <code>resource</code> is a <code>PPB_WebSocket</code>, <code>PP_FALSE</code> if the <code>resource</code> is invalid or some type other than <code>PPB_WebSocket</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aedebd5c21bc451e6b99ea1b2de884122"></a><!-- doxytag: member="PPB_WebSocket::ReceiveMessage" ref="aedebd5c21bc451e6b99ea1b2de884122" args=")(PP_Resource web_socket, struct PP_Var *message, struct PP_CompletionCallback callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___web_socket__1__0.html#aedebd5c21bc451e6b99ea1b2de884122">PPB_WebSocket::ReceiveMessage</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> *message, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> callback)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___web_socket__1__0.html#aedebd5c21bc451e6b99ea1b2de884122" title="ReceiveMessage() receives a message from the WebSocket server.">ReceiveMessage()</a> receives a message from the WebSocket server. </p>
+<p>This interface only returns a single message. That is, this interface must be called at least N times to receive N messages, no matter the size of each message.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">web_socket</td><td>A <code>PP_Resource</code> corresponding to a WebSocket.</td></tr>
+<tr><td class="paramdir">[out]</td><td class="paramname">message</td><td>The received message is copied to provided <code>message</code>. The <code>message</code> must remain valid until <a class="el" href="struct_p_p_b___web_socket__1__0.html#aedebd5c21bc451e6b99ea1b2de884122" title="ReceiveMessage() receives a message from the WebSocket server.">ReceiveMessage()</a> completes. Its received <code>PP_VarType</code> will be <code>PP_VARTYPE_STRING</code> or <code>PP_VARTYPE_ARRAY_BUFFER</code>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> called when <a class="el" href="struct_p_p_b___web_socket__1__0.html#aedebd5c21bc451e6b99ea1b2de884122" title="ReceiveMessage() receives a message from the WebSocket server.">ReceiveMessage()</a> completes. This callback is ignored if <a class="el" href="struct_p_p_b___web_socket__1__0.html#aedebd5c21bc451e6b99ea1b2de884122" title="ReceiveMessage() receives a message from the WebSocket server.">ReceiveMessage()</a> completes synchronously and returns <code>PP_OK</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. If an error is detected or connection is closed, <a class="el" href="struct_p_p_b___web_socket__1__0.html#aedebd5c21bc451e6b99ea1b2de884122" title="ReceiveMessage() receives a message from the WebSocket server.">ReceiveMessage()</a> returns <code>PP_ERROR_FAILED</code> after all buffered messages are received. Until buffered message become empty, <a class="el" href="struct_p_p_b___web_socket__1__0.html#aedebd5c21bc451e6b99ea1b2de884122" title="ReceiveMessage() receives a message from the WebSocket server.">ReceiveMessage()</a> continues to return <code>PP_OK</code> as if connection is still established without errors. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a05bf8512a7c566f59d527c4a7e92f194"></a><!-- doxytag: member="PPB_WebSocket::SendMessage" ref="a05bf8512a7c566f59d527c4a7e92f194" args=")(PP_Resource web_socket, struct PP_Var message)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___web_socket__1__0.html#a05bf8512a7c566f59d527c4a7e92f194">PPB_WebSocket::SendMessage</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> web_socket, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> message)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___web_socket__1__0.html#a05bf8512a7c566f59d527c4a7e92f194" title="SendMessage() sends a message to the WebSocket server.">SendMessage()</a> sends a message to the WebSocket server. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">web_socket</td><td>A <code>PP_Resource</code> corresponding to a WebSocket.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">message</td><td>A message to send. The message is copied to an internal buffer, so the caller can free <code>message</code> safely after returning from the function. Its sent <code>PP_VarType</code> must be <code>PP_VARTYPE_STRING</code> or <code>PP_VARTYPE_ARRAY_BUFFER</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. Returns <code>PP_ERROR_FAILED</code> if the ReadyState is <code>PP_WEBSOCKETREADYSTATE_CONNECTING</code>. <code>PP_ERROR_FAILED</code> corresponds to a JavaScript InvalidStateError in the WebSocket API specification. Returns <code>PP_ERROR_BADARGUMENT</code> if the provided <code>message</code> contains an invalid character as a UTF-8 string. <code>PP_ERROR_BADARGUMENT</code> corresponds to a JavaScript SyntaxError in the WebSocket API specification. Otherwise, returns <code>PP_OK</code>, which doesn't necessarily mean that the server received the message. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="ppb__websocket_8h.html">ppb_websocket.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___wheel_input_event__1__0.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___wheel_input_event__1__0.html
new file mode 100644
index 0000000..e569b97
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_b___wheel_input_event__1__0.html
@@ -0,0 +1,137 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPB_WheelInputEvent Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPB_WheelInputEvent" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___wheel_input_event__1__0.html#ab9058129b7d0988881f1eea9734e4a4d">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___typedefs.html#ga71cb1042cdeb38d7881b121f3b09ce94">PP_TimeTicks</a> time_stamp, uint32_t modifiers, const struct <a class="el" href="struct_p_p___float_point.html">PP_FloatPoint</a> *wheel_delta, const struct <a class="el" href="struct_p_p___float_point.html">PP_FloatPoint</a> *wheel_ticks, <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> scroll_by_page)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___wheel_input_event__1__0.html#aa67dcdcd6b98c48f5564987a0b080c13">IsWheelInputEvent</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___float_point.html">PP_FloatPoint</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___wheel_input_event__1__0.html#a7a6b1fb017bb6d872b014def298f70db">GetDelta</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> wheel_event)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___float_point.html">PP_FloatPoint</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___wheel_input_event__1__0.html#acc7a5e1f0cfe6481ccc33bbb3b06cd33">GetTicks</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> wheel_event)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___wheel_input_event__1__0.html#a51ceeec58953923770768c283405612b">GetScrollByPage</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> wheel_event)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPB_WheelIputEvent</code> interface contains pointers to several functions related to wheel input events. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="ab9058129b7d0988881f1eea9734e4a4d"></a><!-- doxytag: member="PPB_WheelInputEvent::Create" ref="ab9058129b7d0988881f1eea9734e4a4d" args=")(PP_Instance instance, PP_TimeTicks time_stamp, uint32_t modifiers, const struct PP_FloatPoint *wheel_delta, const struct PP_FloatPoint *wheel_ticks, PP_Bool scroll_by_page)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___wheel_input_event__1__0.html#ab9058129b7d0988881f1eea9734e4a4d">PPB_WheelInputEvent::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___typedefs.html#ga71cb1042cdeb38d7881b121f3b09ce94">PP_TimeTicks</a> time_stamp, uint32_t modifiers, const struct <a class="el" href="struct_p_p___float_point.html">PP_FloatPoint</a> *wheel_delta, const struct <a class="el" href="struct_p_p___float_point.html">PP_FloatPoint</a> *wheel_ticks, <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> scroll_by_page)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___wheel_input_event__1__0.html#ab9058129b7d0988881f1eea9734e4a4d" title="Create() creates a wheel input event with the given parameters.">Create()</a> creates a wheel input event with the given parameters. </p>
+<p>Normally you will get a wheel event passed through the <code>HandleInputEvent</code> and will not need to create them, but some applications may want to create their own for internal use.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance for which this event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">time_stamp</td><td>A <code>PP_TimeTicks</code> indicating the time when the event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">modifiers</td><td>A bit field combination of the <code>PP_InputEvent_Modifier</code> flags.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">wheel_delta</td><td>The scroll wheel's horizontal and vertical scroll amounts.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">wheel_ticks</td><td>The number of "clicks" of the scroll wheel that have produced the event.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">scroll_by_page</td><td>When true, the user is requesting to scroll by pages. When false, the user is requesting to scroll by lines.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> containing the new wheel input event. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a7a6b1fb017bb6d872b014def298f70db"></a><!-- doxytag: member="PPB_WheelInputEvent::GetDelta" ref="a7a6b1fb017bb6d872b014def298f70db" args=")(PP_Resource wheel_event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___float_point.html">PP_FloatPoint</a>(* <a class="el" href="struct_p_p_b___wheel_input_event__1__0.html#a7a6b1fb017bb6d872b014def298f70db">PPB_WheelInputEvent::GetDelta</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> wheel_event)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___wheel_input_event__1__0.html#a7a6b1fb017bb6d872b014def298f70db" title="GetDelta() returns the amount vertically and horizontally the user has requested to scroll by with th...">GetDelta()</a> returns the amount vertically and horizontally the user has requested to scroll by with their mouse wheel. </p>
+<p>A scroll down or to the right (where the content moves up or left) is represented as positive values, and a scroll up or to the left (where the content moves down or right) is represented as negative values.</p>
+<p>This amount is system dependent and will take into account the user's preferred scroll sensitivity and potentially also nonlinear acceleration based on the speed of the scrolling.</p>
+<p>Devices will be of varying resolution. Some mice with large detents will only generate integer scroll amounts. But fractional values are also possible, for example, on some trackpads and newer mice that don't have "clicks".</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">wheel_event</td><td>A <code>PP_Resource</code> corresponding to a wheel event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The vertical and horizontal scroll values. The units are either in pixels (when scroll_by_page is false) or pages (when scroll_by_page is true). For example, y = -3 means scroll up 3 pixels when scroll_by_page is false, and scroll up 3 pages when scroll_by_page is true. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a51ceeec58953923770768c283405612b"></a><!-- doxytag: member="PPB_WheelInputEvent::GetScrollByPage" ref="a51ceeec58953923770768c283405612b" args=")(PP_Resource wheel_event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___wheel_input_event__1__0.html#a51ceeec58953923770768c283405612b">PPB_WheelInputEvent::GetScrollByPage</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> wheel_event)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___wheel_input_event__1__0.html#a51ceeec58953923770768c283405612b" title="GetScrollByPage() indicates if the scroll delta x/y indicates pages or lines to scroll by...">GetScrollByPage()</a> indicates if the scroll delta x/y indicates pages or lines to scroll by. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">wheel_event</td><td>A <code>PP_Resource</code> corresponding to a wheel event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the event is a wheel event and the user is scrolling by pages. <code>PP_FALSE</code> if not or if the resource is not a wheel event. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="acc7a5e1f0cfe6481ccc33bbb3b06cd33"></a><!-- doxytag: member="PPB_WheelInputEvent::GetTicks" ref="acc7a5e1f0cfe6481ccc33bbb3b06cd33" args=")(PP_Resource wheel_event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">struct <a class="el" href="struct_p_p___float_point.html">PP_FloatPoint</a>(* <a class="el" href="struct_p_p_b___wheel_input_event__1__0.html#acc7a5e1f0cfe6481ccc33bbb3b06cd33">PPB_WheelInputEvent::GetTicks</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> wheel_event)<code> [read]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___wheel_input_event__1__0.html#acc7a5e1f0cfe6481ccc33bbb3b06cd33" title='GetTicks() returns the number of "clicks" of the scroll wheel that have produced the event...'>GetTicks()</a> returns the number of "clicks" of the scroll wheel that have produced the event. </p>
+<p>The value may have system-specific acceleration applied to it, depending on the device. The positive and negative meanings are the same as for <a class="el" href="struct_p_p_b___wheel_input_event__1__0.html#a7a6b1fb017bb6d872b014def298f70db" title="GetDelta() returns the amount vertically and horizontally the user has requested to scroll by with th...">GetDelta()</a>.</p>
+<p>If you are scrolling, you probably want to use the delta values. These tick events can be useful if you aren't doing actual scrolling and don't want or pixel values. An example may be cycling between different items in a game.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">wheel_event</td><td>A <code>PP_Resource</code> corresponding to a wheel event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The number of "clicks" of the scroll wheel. You may receive fractional values for the wheel ticks if the mouse wheel is high resolution or doesn't have "clicks". If your program wants discrete events (as in the "picking items" example) you should accumulate fractional click values from multiple messages until the total value reaches positive or negative one. This should represent a similar amount of scrolling as for a mouse that has a discrete mouse wheel. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aa67dcdcd6b98c48f5564987a0b080c13"></a><!-- doxytag: member="PPB_WheelInputEvent::IsWheelInputEvent" ref="aa67dcdcd6b98c48f5564987a0b080c13" args=")(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___wheel_input_event__1__0.html#aa67dcdcd6b98c48f5564987a0b080c13">PPB_WheelInputEvent::IsWheelInputEvent</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_b___wheel_input_event__1__0.html#aa67dcdcd6b98c48f5564987a0b080c13" title="IsWheelInputEvent() determines if a resource is a wheel event.">IsWheelInputEvent()</a> determines if a resource is a wheel event. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">wheel_event</td><td>A <code>PP_Resource</code> corresponding to an event.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the given resource is a valid wheel input event. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="ppb__input__event_8h.html">ppb_input_event.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_p___graphics3_d__1__0.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_p___graphics3_d__1__0.html
new file mode 100644
index 0000000..bb1ef65
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_p___graphics3_d__1__0.html
@@ -0,0 +1,35 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPP_Graphics3D Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPP_Graphics3D" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___graphics3_d__1__0.html#ae7aba86d10d1b8c4c7a41bac3af64b0a">Graphics3DContextLost</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p><code>PPP_Graphics3D</code> defines the notification interface for a 3D graphics context. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="ae7aba86d10d1b8c4c7a41bac3af64b0a"></a><!-- doxytag: member="PPP_Graphics3D::Graphics3DContextLost" ref="ae7aba86d10d1b8c4c7a41bac3af64b0a" args=")(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_p___graphics3_d__1__0.html#ae7aba86d10d1b8c4c7a41bac3af64b0a">PPP_Graphics3D::Graphics3DContextLost</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Called when the OpenGL ES window is invalidated and needs to be repainted. </p>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="ppp__graphics__3d_8h.html">ppp_graphics_3d.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_p___input_event__0__1.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_p___input_event__0__1.html
new file mode 100644
index 0000000..aa425a3
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_p___input_event__0__1.html
@@ -0,0 +1,41 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPP_InputEvent Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPP_InputEvent" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___input_event__0__1.html#ae684a39a2bf6b58aee0f7420aab43150">HandleInputEvent</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> input_event)</td></tr>
+</table>
+<hr /><h2>Field Documentation</h2>
+<a class="anchor" id="ae684a39a2bf6b58aee0f7420aab43150"></a><!-- doxytag: member="PPP_InputEvent::HandleInputEvent" ref="ae684a39a2bf6b58aee0f7420aab43150" args=")(PP_Instance instance, PP_Resource input_event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_p___input_event__0__1.html#ae684a39a2bf6b58aee0f7420aab43150">PPP_InputEvent::HandleInputEvent</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> input_event)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Function for receiving input events from the browser. </p>
+<p>In order to receive input events, you must register for them by calling <a class="el" href="struct_p_p_b___input_event__1__0.html#a369d79730ad84d0b8dee9127c114086e" title="RequestInputEvent() requests that input events corresponding to the given input events are delivered ...">PPB_InputEvent.RequestInputEvents()</a> or RequestFilteringInputEvents(). By default, no events are delivered.</p>
+<p>If the event was handled, it will not be forwarded to the web page or browser. If it was not handled, it will bubble according to the normal rules. So it is important that an instance respond accurately with whether event propagation should continue.</p>
+<p>Event propagation also controls focus. If you handle an event like a mouse event, typically the instance will be given focus. Returning false from a filtered event handler or not registering for an event type means that the click will be given to a lower part of the page and your instance will not receive focus. This allows an instance to be partially transparent, where clicks on the transparent areas will behave like clicks to the underlying page.</p>
+<p>In general, you should try to keep input event handling short. Especially for filtered input events, the browser or page may be blocked waiting for you to respond.</p>
+<p>The caller of this function will maintain a reference to the input event resource during this call. Unless you take a reference to the resource to hold it for later, you don't need to release it.</p>
+<p><b>Note:</b> If you're not receiving input events, make sure you register for the event classes you want by calling RequestInputEvents or RequestFilteringInputEvents. If you're still not receiving keyboard input events, make sure you're returning true (or using a non-filtered event handler) for mouse events. Otherwise, the instance will not receive focus and keyboard events will not be sent.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="struct_p_p_b___input_event__1__0.html#a369d79730ad84d0b8dee9127c114086e" title="RequestInputEvent() requests that input events corresponding to the given input events are delivered ...">PPB_InputEvent.RequestInputEvents</a> and <a class="el" href="struct_p_p_b___input_event__1__0.html#a42dcc8edf80141680e919258f3066069" title="RequestFilteringInputEvents() requests that input events corresponding to the given input events are ...">PPB_InputEvent.RequestFilteringInputEvents</a></dd></dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>PP_TRUE if the event was handled, PP_FALSE if not. If you have registered to filter this class of events by calling RequestFilteringInputEvents, and you return PP_FALSE, the event will be forwarded to the page (and eventually the browser) for the default handling. For non-filtered events, the return value will be ignored. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="ppp__input__event_8h.html">ppp_input_event.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_p___instance__1__1.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_p___instance__1__1.html
new file mode 100644
index 0000000..b338393
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_p___instance__1__1.html
@@ -0,0 +1,139 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPP_Instance Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPP_Instance" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___instance__1__1.html#aff2dd72f7aab6335cacf8bc3a66ccbba">DidCreate</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, uint32_t argc, const char *argn[], const char *argv[])</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___instance__1__1.html#a99edbb91abde255fec3bc3e1f9c8ba82">DidDestroy</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___instance__1__1.html#aa028a7b17d62242ac56b6ab4b55dc047">DidChangeView</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> view)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___instance__1__1.html#abf4a481156b605938416bf873bd2c782">DidChangeFocus</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> has_focus)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___instance__1__1.html#a2fba2c9d06044a48e73a649b04398e1d">HandleDocumentLoad</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> url_loader)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPP_Instance</code> interface contains pointers to a series of functions that you must implement in your module. </p>
+<p>These functions can be trivial (simply return the default return value) unless you want your module to handle events such as change of focus or input events (keyboard/mouse) events. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="abf4a481156b605938416bf873bd2c782"></a><!-- doxytag: member="PPP_Instance::DidChangeFocus" ref="abf4a481156b605938416bf873bd2c782" args=")(PP_Instance instance, PP_Bool has_focus)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_p___instance__1__1.html#abf4a481156b605938416bf873bd2c782">PPP_Instance::DidChangeFocus</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> has_focus)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_p___instance__1__1.html#abf4a481156b605938416bf873bd2c782" title="DidChangeFocus() is called when an instance has gained or lost focus.">DidChangeFocus()</a> is called when an instance has gained or lost focus. </p>
+<p>Having focus means that keyboard events will be sent to the instance. An instance's default condition is that it will not have focus.</p>
+<p>The focus flag takes into account both browser tab and window focus as well as focus of the plugin element on the page. In order to be deemed to have focus, the browser window must be topmost, the tab must be selected in the window, and the instance must be the focused element on the page.</p>
+<p><b>Note:</b>Clicks on instances will give focus only if you handle the click event. Return <code>true</code> from <code>HandleInputEvent</code> in <code>PPP_InputEvent</code> (or use unfiltered events) to signal that the click event was handled. Otherwise, the browser will bubble the event and give focus to the element on the page that actually did end up consuming it. If you're not getting focus, check to make sure you're either requesting them via <code>RequestInputEvents()</code><code> (which implicitly marks all input events as consumed) or via </code><code>RequestFilteringInputEvents()</code> and returning true from your event handler.</p>
+<p><code></code><code> </code></p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying the instance receiving the input event.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">has_focus</td><td>Indicates the new focused state of the instance. </td></tr>
+</table>
+</dd>
+</dl>
+<p></p>
+</div>
+</div>
+<a class="anchor" id="aa028a7b17d62242ac56b6ab4b55dc047"></a><!-- doxytag: member="PPP_Instance::DidChangeView" ref="aa028a7b17d62242ac56b6ab4b55dc047" args=")(PP_Instance instance, PP_Resource view)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_p___instance__1__1.html#aa028a7b17d62242ac56b6ab4b55dc047">PPP_Instance::DidChangeView</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> view)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><code><a class="el" href="struct_p_p_p___instance__1__1.html#aa028a7b17d62242ac56b6ab4b55dc047" title="DidChangeView() is called when the position, size, or other view attributes of the instance has chang...">DidChangeView()</a> is called when the position, size, or other view attributes of the instance has changed. </code></p>
+</div>
+</div>
+<a class="anchor" id="aff2dd72f7aab6335cacf8bc3a66ccbba"></a><!-- doxytag: member="PPP_Instance::DidCreate" ref="aff2dd72f7aab6335cacf8bc3a66ccbba" args=")(PP_Instance instance, uint32_t argc, const char *argn[], const char *argv[])" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_p___instance__1__1.html#aff2dd72f7aab6335cacf8bc3a66ccbba">PPP_Instance::DidCreate</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, uint32_t argc, const char *argn[], const char *argv[])</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_p___instance__1__1.html#aff2dd72f7aab6335cacf8bc3a66ccbba" title="DidCreate() is a creation handler that is called when a new instance is created.">DidCreate()</a> is a creation handler that is called when a new instance is created. </p>
+<p>This function is called for each instantiation on the page, corresponding to one <embed> tag on the page.</p>
+<p>Generally you would handle this call by initializing the information your module associates with an instance and creating a mapping from the given <code>PP_Instance</code> handle to this data. The <code>PP_Instance</code> handle will be used in subsequent calls to identify which instance the call pertains to.</p>
+<p>It's possible for more than one instance to be created in a single module. This means that you may get more than one <code>OnCreate</code> without an <code>OnDestroy</code> in between, and should be prepared to maintain multiple states associated with each instance.</p>
+<p>If this function reports a failure (by returning <code>PP_FALSE</code>), the instance will be deleted.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A new <code>PP_Instance</code> identifying one instance of a module. This is an opaque handle.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">argc</td><td>The number of arguments contained in <code>argn</code> and <code>argv</code>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">argn</td><td>An array of argument names. These argument names are supplied in the <embed> tag, for example: <code><embed id="nacl_module" dimensions="2"></code> will produce two argument names: "id" and "dimensions."</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">argv</td><td>An array of argument values. These are the values of the arguments listed in the <embed> tag, for example <code><embed id="nacl_module" dimensions="2"></code> will produce two argument values: "nacl_module" and "2". The indices of these values match the indices of the corresponding names in <code>argn</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> on success or <code>PP_FALSE</code> on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a99edbb91abde255fec3bc3e1f9c8ba82"></a><!-- doxytag: member="PPP_Instance::DidDestroy" ref="a99edbb91abde255fec3bc3e1f9c8ba82" args=")(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_p___instance__1__1.html#a99edbb91abde255fec3bc3e1f9c8ba82">PPP_Instance::DidDestroy</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_p___instance__1__1.html#a99edbb91abde255fec3bc3e1f9c8ba82" title="DidDestroy() is an instance destruction handler.">DidDestroy()</a> is an instance destruction handler. </p>
+<p>This function is called in many cases (see below) when a module instance is destroyed. It will be called even if <a class="el" href="struct_p_p_p___instance__1__1.html#aff2dd72f7aab6335cacf8bc3a66ccbba" title="DidCreate() is a creation handler that is called when a new instance is created.">DidCreate()</a> returned failure.</p>
+<p>Generally you will handle this call by deallocating the tracking information and the <code>PP_Instance</code> mapping you created in the <a class="el" href="struct_p_p_p___instance__1__1.html#aff2dd72f7aab6335cacf8bc3a66ccbba" title="DidCreate() is a creation handler that is called when a new instance is created.">DidCreate()</a> call. You can also free resources associated with this instance but this isn't required; all resources associated with the deleted instance will be automatically freed when this function returns.</p>
+<p>The instance identifier will still be valid during this call, so the module can perform cleanup-related tasks. Once this function returns, the <code>PP_Instance</code> handle will be invalid. This means that you can't do any asynchronous operations like network requests, file writes or messaging from this function since they will be immediately canceled.</p>
+<p><b>Note:</b> This function will always be skipped on untrusted (Native Client) implementations. This function may be skipped on trusted implementations in certain circumstances when Chrome does "fast shutdown" of a web page. Fast shutdown will happen in some cases when all module instances are being deleted, and no cleanup functions will be called. The module will just be unloaded and the process terminated.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a2fba2c9d06044a48e73a649b04398e1d"></a><!-- doxytag: member="PPP_Instance::HandleDocumentLoad" ref="a2fba2c9d06044a48e73a649b04398e1d" args=")(PP_Instance instance, PP_Resource url_loader)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_p___instance__1__1.html#a2fba2c9d06044a48e73a649b04398e1d">PPP_Instance::HandleDocumentLoad</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, <a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> url_loader)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_p___instance__1__1.html#a2fba2c9d06044a48e73a649b04398e1d" title="HandleDocumentLoad() is called after initialize for a full-frame instance that was instantiated based...">HandleDocumentLoad()</a> is called after initialize for a full-frame instance that was instantiated based on the MIME type of a DOMWindow navigation. </p>
+<p>This situation only applies to modules that are pre-registered to handle certain MIME types. If you haven't specifically registered to handle a MIME type or aren't positive this applies to you, your implementation of this function can just return <code>PP_FALSE</code>.</p>
+<p>The given <code>url_loader</code> corresponds to a <code>PPB_URLLoader</code> instance that is already opened. Its response headers may be queried using <code><a class="el" href="struct_p_p_b___u_r_l_loader__1__0.html#a4901dcc43cfdc026e582555974d4d853" title="GetResponseInfo() returns the current URLResponseInfo object.">PPB_URLLoader::GetResponseInfo</a></code>. The reference count for the URL loader is not incremented automatically on behalf of the module. You need to increment the reference count yourself if you are going to keep a reference to it.</p>
+<p>This method returns <code>PP_FALSE</code> if the module cannot handle the data. In response to this method, the module should call ReadResponseBody() to read the incoming data.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying the instance that should do the load.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">url_loader</td><td>An open <code>PPB_URLLoader</code> instance.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the data was handled, <code>PP_FALSE</code> otherwise. If you return false, the load will be canceled for you. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="ppp__instance_8h.html">ppp_instance.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_p___messaging__1__0.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_p___messaging__1__0.html
new file mode 100644
index 0000000..8bb8837
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_p___messaging__1__0.html
@@ -0,0 +1,54 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPP_Messaging Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPP_Messaging" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___messaging__1__0.html#a558ca784cf11eaba479ff8621ae2c507">HandleMessage</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> message)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPP_Messaging</code> interface contains pointers to functions that you must implement to handle postMessage events on the associated DOM element. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="a558ca784cf11eaba479ff8621ae2c507"></a><!-- doxytag: member="PPP_Messaging::HandleMessage" ref="a558ca784cf11eaba479ff8621ae2c507" args=")(PP_Instance instance, struct PP_Var message)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_p___messaging__1__0.html#a558ca784cf11eaba479ff8621ae2c507">PPP_Messaging::HandleMessage</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> message)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_p___messaging__1__0.html#a558ca784cf11eaba479ff8621ae2c507" title="HandleMessage() is a function that the browser calls when PostMessage() is invoked on the DOM element...">HandleMessage()</a> is a function that the browser calls when PostMessage() is invoked on the DOM element for the module instance in JavaScript. </p>
+<p>Note that PostMessage() in the JavaScript interface is asynchronous, meaning JavaScript execution will not be blocked while <a class="el" href="struct_p_p_p___messaging__1__0.html#a558ca784cf11eaba479ff8621ae2c507" title="HandleMessage() is a function that the browser calls when PostMessage() is invoked on the DOM element...">HandleMessage()</a> is processing the message.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">message</td><td>A <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> which has been converted from a JavaScript value. JavaScript array/object types are supported from Chrome M29 onward. All JavaScript values are copied when passing them to the plugin.</td></tr>
+</table>
+</dd>
+</dl>
+<p>When converting JavaScript arrays, any object properties whose name is not an array index are ignored. When passing arrays and objects, the entire reference graph will be converted and transferred. If the reference graph has cycles, the message will not be sent and an error will be logged to the console.</p>
+<p>The following JavaScript code invokes <code>HandleMessage</code>, passing the module instance on which it was invoked, with <code>message</code> being a string <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> containing "Hello world!"</p>
+<p><b>Example:</b></p>
+<div class="fragment"><pre class="fragment"> <body>
+ <<span class="keywordtype">object</span> <span class="keywordtype">id</span>=<span class="stringliteral">"plugin"</span>
+ type=<span class="stringliteral">"application/x-ppapi-postMessage-example"</span>/>
+ <script type=<span class="stringliteral">"text/javascript"</span>>
+ document.getElementById(<span class="stringliteral">'plugin'</span>).postMessage(<span class="stringliteral">"Hello world!"</span>);
+ </script>
+ </body>
+</pre></div>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="ppp__messaging_8h.html">ppp_messaging.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_p___mouse_lock__1__0.html b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_p___mouse_lock__1__0.html
new file mode 100644
index 0000000..a4beb046
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/struct_p_p_p___mouse_lock__1__0.html
@@ -0,0 +1,41 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PPP_MouseLock Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PPP_MouseLock" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___mouse_lock__1__0.html#abbc863bf2e6b2e608bdbde3d9229debf">MouseLockLost</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code>PPP_MouseLock</code> interface contains a function that you must implement to receive mouse lock events from the browser. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="abbc863bf2e6b2e608bdbde3d9229debf"></a><!-- doxytag: member="PPP_MouseLock::MouseLockLost" ref="abbc863bf2e6b2e608bdbde3d9229debf" args=")(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void(* <a class="el" href="struct_p_p_p___mouse_lock__1__0.html#abbc863bf2e6b2e608bdbde3d9229debf">PPP_MouseLock::MouseLockLost</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="struct_p_p_p___mouse_lock__1__0.html#abbc863bf2e6b2e608bdbde3d9229debf" title="MouseLockLost() is called when the instance loses the mouse lock, such as when the user presses the E...">MouseLockLost()</a> is called when the instance loses the mouse lock, such as when the user presses the ESC key. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="ppp__mouse__lock_8h.html">ppp_mouse_lock.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/c/union_p_p___var_value.html b/native_client_sdk/doc_generated/pepper_stable/c/union_p_p___var_value.html
new file mode 100644
index 0000000..1303c6e2
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/c/union_p_p___var_value.html
@@ -0,0 +1,78 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>PP_VarValue Union Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="PP_VarValue" --><h2>
+Data Fields</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="union_p_p___var_value.html#ab7c79b63a2e7fef545fcf8195bb5ad12">as_bool</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="union_p_p___var_value.html#a74da1e2b62153f138ae49147842f6d2c">as_int</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="union_p_p___var_value.html#aa4a3a6095ef825b30237d7c856ba4bf7">as_double</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="union_p_p___var_value.html#af3087d15f3c1ee35fe48f215292df1ad">as_id</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <a class="el" href="union_p_p___var_value.html" title="The PP_VarValue union stores the data for any one of the types listed in the PP_VarType enum...">PP_VarValue</a> union stores the data for any one of the types listed in the PP_VarType enum. </p>
+</div><hr /><h2>Field Documentation</h2>
+<a class="anchor" id="ab7c79b63a2e7fef545fcf8195bb5ad12"></a><!-- doxytag: member="PP_VarValue::as_bool" ref="ab7c79b63a2e7fef545fcf8195bb5ad12" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> <a class="el" href="union_p_p___var_value.html#ab7c79b63a2e7fef545fcf8195bb5ad12">PP_VarValue::as_bool</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>If <code>type</code> is <code>PP_VARTYPE_BOOL</code>, <code>as_bool</code> represents the value of this <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> as <code>PP_Bool</code>. </p>
+</div>
+</div>
+<a class="anchor" id="aa4a3a6095ef825b30237d7c856ba4bf7"></a><!-- doxytag: member="PP_VarValue::as_double" ref="aa4a3a6095ef825b30237d7c856ba4bf7" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">double <a class="el" href="union_p_p___var_value.html#aa4a3a6095ef825b30237d7c856ba4bf7">PP_VarValue::as_double</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>If <code>type</code> is <code>PP_VARTYPE_DOUBLE</code>, <code>as_double</code> represents the value of this <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> as <code>double</code>. </p>
+</div>
+</div>
+<a class="anchor" id="af3087d15f3c1ee35fe48f215292df1ad"></a><!-- doxytag: member="PP_VarValue::as_id" ref="af3087d15f3c1ee35fe48f215292df1ad" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int64_t <a class="el" href="union_p_p___var_value.html#af3087d15f3c1ee35fe48f215292df1ad">PP_VarValue::as_id</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>If <code>type</code> is <code>PP_VARTYPE_STRING</code>, <code>PP_VARTYPE_OBJECT</code>, <code>PP_VARTYPE_ARRAY</code>, <code>PP_VARTYPE_DICTIONARY</code>, <code>PP_VARTYPE_ARRAY_BUFFER</code>, or <code>PP_VARTYPE_RESOURCE</code>, <code>as_id</code> represents the value of this <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> as an opaque handle assigned by the browser. </p>
+<p>This handle is guaranteed never to be 0, so a module can initialize this ID to 0 to indicate a "NULL handle." </p>
+</div>
+</div>
+<a class="anchor" id="a74da1e2b62153f138ae49147842f6d2c"></a><!-- doxytag: member="PP_VarValue::as_int" ref="a74da1e2b62153f138ae49147842f6d2c" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="union_p_p___var_value.html#a74da1e2b62153f138ae49147842f6d2c">PP_VarValue::as_int</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>If <code>type</code> is <code>PP_VARTYPE_INT32</code>, <code>as_int</code> represents the value of this <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> as <code>int32_t</code>. </p>
+</div>
+</div>
+<hr />The documentation for this union was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/c/<a class="el" href="pp__var_8h.html">pp_var.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/audio_8h.html b/native_client_sdk/doc_generated/pepper_stable/cpp/audio_8h.html
new file mode 100644
index 0000000..bc2698f
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/audio_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/cpp/audio.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for audio.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="audio_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2audio_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2audio_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2audio_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio.html">pp::Audio</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">An audio resource. <a href="classpp_1_1_audio.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API to create realtime stereo audio streaming capabilities. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/audio_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/cpp/audio_8h__incl.png
new file mode 100644
index 0000000..68e1219
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/audio_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/audio__config_8h.html b/native_client_sdk/doc_generated/pepper_stable/cpp/audio__config_8h.html
new file mode 100644
index 0000000..c50d337c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/audio__config_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/cpp/audio_config.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for audio_config.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="audio__config_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2audio__config_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2audio__config_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2audio__config_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio_config.html">pp::AudioConfig</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A 16 bit stereo <a class="el" href="classpp_1_1_audio_config.html" title="A 16 bit stereo AudioConfig resource.">AudioConfig</a> resource. <a href="classpp_1_1_audio_config.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the interface for establishing an audio configuration resource within the browser. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/audio__config_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/cpp/audio__config_8h__incl.png
new file mode 100644
index 0000000..964dbf3
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/audio__config_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_audio-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_audio-members.html
new file mode 100644
index 0000000..e3d4ce67
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_audio-members.html
@@ -0,0 +1,31 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_audio.html">pp::Audio</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_audio.html#abcb6131f91a53e36f9626843d86e8109">Audio</a>()</td><td><a class="el" href="classpp_1_1_audio.html">pp::Audio</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_audio.html#af597f4db73cfa15c3dd7eae9b7307fd2">Audio</a>(const InstanceHandle &instance, const AudioConfig &config, PPB_Audio_Callback callback, void *user_data)</td><td><a class="el" href="classpp_1_1_audio.html">pp::Audio</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_audio.html#a856666bd5087947481ac2728bcd26c60">Audio</a>(const InstanceHandle &instance, const AudioConfig &config, PPB_Audio_Callback callback, void *user_data)</td><td><a class="el" href="classpp_1_1_audio.html">pp::Audio</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_audio.html#a750898b5f065621e86472cf1799401bb">config</a>()</td><td><a class="el" href="classpp_1_1_audio.html">pp::Audio</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_audio.html#a51dffc59dc1d654d23c7f8730c87552a">config</a>() const </td><td><a class="el" href="classpp_1_1_audio.html">pp::Audio</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_audio.html#aa8311c20bbeffd9e22ba21218695f6e4">StartPlayback</a>()</td><td><a class="el" href="classpp_1_1_audio.html">pp::Audio</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_audio.html#ae71f91edd576129f8c82db997bd1f163">StopPlayback</a>()</td><td><a class="el" href="classpp_1_1_audio.html">pp::Audio</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_audio.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_audio.html
new file mode 100644
index 0000000..6d95e80
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_audio.html
@@ -0,0 +1,220 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::Audio Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::Audio" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::Audio:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_audio__inherit__graph.png" border="0" usemap="#pp_1_1_audio_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_audio_inherit__map" id="pp_1_1_audio_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="5,5,109,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_audio-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio.html#abcb6131f91a53e36f9626843d86e8109">Audio</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio.html#af597f4db73cfa15c3dd7eae9b7307fd2">Audio</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, const <a class="el" href="classpp_1_1_audio_config.html">AudioConfig</a> &<a class="el" href="classpp_1_1_audio.html#a750898b5f065621e86472cf1799401bb">config</a>, PPB_Audio_Callback callback, void *user_data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio.html#a856666bd5087947481ac2728bcd26c60">Audio</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, const <a class="el" href="classpp_1_1_audio_config.html">AudioConfig</a> &<a class="el" href="classpp_1_1_audio.html#a750898b5f065621e86472cf1799401bb">config</a>, PPB_Audio_Callback callback, void *user_data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_audio_config.html">AudioConfig</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio.html#a750898b5f065621e86472cf1799401bb">config</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classpp_1_1_audio_config.html">AudioConfig</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio.html#a51dffc59dc1d654d23c7f8730c87552a">config</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio.html#aa8311c20bbeffd9e22ba21218695f6e4">StartPlayback</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio.html#ae71f91edd576129f8c82db997bd1f163">StopPlayback</a> ()</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>An audio resource. </p>
+<p>Refer to the <a href="/native-client/devguide/coding/audio">Audio</a> chapter in the Developer's Guide for information on using this interface. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="abcb6131f91a53e36f9626843d86e8109"></a><!-- doxytag: member="pp::Audio::Audio" ref="abcb6131f91a53e36f9626843d86e8109" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_audio.html#abcb6131f91a53e36f9626843d86e8109">pp::Audio::Audio</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>An empty constructor for an <a class="el" href="classpp_1_1_audio.html" title="An audio resource.">Audio</a> resource. </p>
+</div>
+</div>
+<a class="anchor" id="af597f4db73cfa15c3dd7eae9b7307fd2"></a><!-- doxytag: member="pp::Audio::Audio" ref="af597f4db73cfa15c3dd7eae9b7307fd2" args="(const InstanceHandle &instance, const AudioConfig &config, PPB_Audio_Callback callback, void *user_data)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_audio.html#abcb6131f91a53e36f9626843d86e8109">pp::Audio::Audio</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_audio_config.html">AudioConfig</a> & </td>
+<td class="paramname"><em>config</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PPB_Audio_Callback </td>
+<td class="paramname"><em>callback</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">void * </td>
+<td class="paramname"><em>user_data</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor that creates an <a class="el" href="classpp_1_1_audio.html" title="An audio resource.">Audio</a> resource. </p>
+<p>No sound will be heard until <a class="el" href="classpp_1_1_audio.html#aa8311c20bbeffd9e22ba21218695f6e4" title="StartPlayback() starts playback of audio.">StartPlayback()</a> is called. The callback is called with the buffer address and given user data whenever the buffer needs to be filled. From within the callback, you should not call <code>PPB_Audio</code> functions. The callback will be called on a different thread than the one which created the interface. For performance-critical applications (such as low-latency audio), the callback should avoid blocking or calling functions that can obtain locks, such as malloc. The layout and the size of the buffer passed to the audio callback will be determined by the device configuration and is specified in the <code><a class="el" href="classpp_1_1_audio_config.html" title="A 16 bit stereo AudioConfig resource.">AudioConfig</a></code> documentation.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">config</td><td>An <code><a class="el" href="classpp_1_1_audio_config.html" title="A 16 bit stereo AudioConfig resource.">AudioConfig</a></code> containing the audio config resource. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code>PPB_Audio_Callback</code> callback function that the browser calls when it needs more samples to play. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">user_data</td><td>A pointer to user data used in the callback function. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a856666bd5087947481ac2728bcd26c60"></a><!-- doxytag: member="pp::Audio::Audio" ref="a856666bd5087947481ac2728bcd26c60" args="(const InstanceHandle &instance, const AudioConfig &config, PPB_Audio_Callback callback, void *user_data)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_audio.html#abcb6131f91a53e36f9626843d86e8109">pp::Audio::Audio</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_audio_config.html">AudioConfig</a> & </td>
+<td class="paramname"><em>config</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PPB_Audio_Callback_1_0 </td>
+<td class="paramname"><em>callback</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">void * </td>
+<td class="paramname"><em>user_data</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor that creates an <a class="el" href="classpp_1_1_audio.html" title="An audio resource.">Audio</a> resource. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">config</td><td>An <code><a class="el" href="classpp_1_1_audio_config.html" title="A 16 bit stereo AudioConfig resource.">AudioConfig</a></code> containing the audio config resource. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code>PPB_Audio_Callback</code> callback function that the browser calls when it needs more samples to play. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">user_data</td><td>A pointer to user data used in the callback function. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a750898b5f065621e86472cf1799401bb"></a><!-- doxytag: member="pp::Audio::config" ref="a750898b5f065621e86472cf1799401bb" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_audio_config.html">AudioConfig</a>& <a class="el" href="classpp_1_1_audio.html#a750898b5f065621e86472cf1799401bb">pp::Audio::config</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the internal <code>PPB_AudioConfig</code> struct. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A mutable reference to the PPB_AudioConfig struct. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a51dffc59dc1d654d23c7f8730c87552a"></a><!-- doxytag: member="pp::Audio::config" ref="a51dffc59dc1d654d23c7f8730c87552a" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">const <a class="el" href="classpp_1_1_audio_config.html">AudioConfig</a>& <a class="el" href="classpp_1_1_audio.html#a750898b5f065621e86472cf1799401bb">pp::Audio::config</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the internal <code>PPB_AudioConfig</code> struct. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A const reference to the internal <code>PPB_AudioConfig</code> struct. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aa8311c20bbeffd9e22ba21218695f6e4"></a><!-- doxytag: member="pp::Audio::StartPlayback" ref="aa8311c20bbeffd9e22ba21218695f6e4" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_audio.html#aa8311c20bbeffd9e22ba21218695f6e4">pp::Audio::StartPlayback</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_audio.html#aa8311c20bbeffd9e22ba21218695f6e4" title="StartPlayback() starts playback of audio.">StartPlayback()</a> starts playback of audio. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ae71f91edd576129f8c82db997bd1f163"></a><!-- doxytag: member="pp::Audio::StopPlayback" ref="ae71f91edd576129f8c82db997bd1f163" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_audio.html#ae71f91edd576129f8c82db997bd1f163">pp::Audio::StopPlayback</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>StopPlayback stops playback of audio. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, otherwise false. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="audio_8h.html">audio.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_audio__inherit__graph.png b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_audio__inherit__graph.png
new file mode 100644
index 0000000..446745f
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_audio__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_audio_config-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_audio_config-members.html
new file mode 100644
index 0000000..0c30371
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_audio_config-members.html
@@ -0,0 +1,30 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_audio_config.html">pp::AudioConfig</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_audio_config.html#ad7a5caaa08c531acf7e2975a790db98e">AudioConfig</a>()</td><td><a class="el" href="classpp_1_1_audio_config.html">pp::AudioConfig</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_audio_config.html#aa6dcb1ed3086502f03d9e1d73124421a">AudioConfig</a>(const InstanceHandle &instance, PP_AudioSampleRate sample_rate, uint32_t sample_frame_count)</td><td><a class="el" href="classpp_1_1_audio_config.html">pp::AudioConfig</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_audio_config.html#a53611e94bca5d4a5f7acdd3e5285adb9">RecommendSampleFrameCount</a>(const InstanceHandle &instance, PP_AudioSampleRate sample_rate, uint32_t requested_sample_frame_count)</td><td><a class="el" href="classpp_1_1_audio_config.html">pp::AudioConfig</a></td><td><code> [static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_audio_config.html#abf073122a1b9ef65f149fda9be57246f">RecommendSampleRate</a>(const InstanceHandle &instance)</td><td><a class="el" href="classpp_1_1_audio_config.html">pp::AudioConfig</a></td><td><code> [static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_audio_config.html#ad7cb79f7f92993257643574457ee8d0c">sample_frame_count</a>() const </td><td><a class="el" href="classpp_1_1_audio_config.html">pp::AudioConfig</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_audio_config.html#a988b8489ec9335be25605561d0293813">sample_rate</a>() const </td><td><a class="el" href="classpp_1_1_audio_config.html">pp::AudioConfig</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_audio_config.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_audio_config.html
new file mode 100644
index 0000000..3da488ef
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_audio_config.html
@@ -0,0 +1,214 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::AudioConfig Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::AudioConfig" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::AudioConfig:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_audio_config__inherit__graph.png" border="0" usemap="#pp_1_1_audio_config_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_audio_config_inherit__map" id="pp_1_1_audio_config_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="15,5,119,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_audio_config-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio_config.html#ad7a5caaa08c531acf7e2975a790db98e">AudioConfig</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio_config.html#aa6dcb1ed3086502f03d9e1d73124421a">AudioConfig</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, PP_AudioSampleRate <a class="el" href="classpp_1_1_audio_config.html#a988b8489ec9335be25605561d0293813">sample_rate</a>, uint32_t <a class="el" href="classpp_1_1_audio_config.html#ad7cb79f7f92993257643574457ee8d0c">sample_frame_count</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_AudioSampleRate </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio_config.html#a988b8489ec9335be25605561d0293813">sample_rate</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio_config.html#ad7cb79f7f92993257643574457ee8d0c">sample_frame_count</a> () const </td></tr>
+</table><h2>
+Static Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">static PP_AudioSampleRate </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio_config.html#abf073122a1b9ef65f149fda9be57246f">RecommendSampleRate</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio_config.html#a53611e94bca5d4a5f7acdd3e5285adb9">RecommendSampleFrameCount</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, PP_AudioSampleRate <a class="el" href="classpp_1_1_audio_config.html#a988b8489ec9335be25605561d0293813">sample_rate</a>, uint32_t requested_sample_frame_count)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>A 16 bit stereo <a class="el" href="classpp_1_1_audio_config.html" title="A 16 bit stereo AudioConfig resource.">AudioConfig</a> resource. </p>
+<p>Refer to the <a href="/native-client/{{pepperversion}}/devguide/coding/audio">Audio </a>chapter in the Developer's Guide for information on using this interface.</p>
+<p>A single sample frame on a stereo device means one value for the left channel and one value for the right channel.</p>
+<p>Buffer layout for a stereo int16 configuration:</p>
+<p><code>int16_t *buffer16;</code> <code>buffer16[0]</code> is the first left channel sample. <code>buffer16[1]</code> is the first right channel sample. <code>buffer16[2]</code> is the second left channel sample. <code>buffer16[3]</code> is the second right channel sample. <code>...</code> <code>buffer16[2 * (sample_frame_count - 1)]</code> is the last left channel sample. <code>buffer16[2 * (sample_frame_count - 1) + 1]</code> is the last right channel sample. Data will always be in the native endian format of the platform.</p>
+<p><b>Example:</b> </p>
+<div class="fragment"><pre class="fragment"> <span class="comment">// Create an audio config with a supported frame count.</span>
+ uint32_t <a class="code" href="classpp_1_1_audio_config.html#ad7cb79f7f92993257643574457ee8d0c" title="Getter function for returning the internal sample frame count.">sample_frame_count</a> = <a class="code" href="classpp_1_1_audio_config.html#a53611e94bca5d4a5f7acdd3e5285adb9" title="RecommendSampleFrameCount() returns a supported frame count closest to the requested count...">AudioConfig::RecommendSampleFrameCount</a>(
+ PP_AUDIOSAMPLERATE_44100, 4096);
+ <a class="code" href="classpp_1_1_audio_config.html#ad7a5caaa08c531acf7e2975a790db98e" title="An empty constructor for an AudioConfig resource.">AudioConfig</a> config(PP_AUDIOSAMPLERATE_44100, sample_frame_count);
+ <span class="keywordflow">if</span> (config.is_null())
+ <span class="keywordflow">return</span> <span class="keyword">false</span>; <span class="comment">// Couldn't configure audio.</span>
+
+ <span class="comment">// Then use the config to create your audio resource.</span>
+ Audio audio(instance, config, callback, user_data);
+ <span class="keywordflow">if</span> (audio.is_null())
+ <span class="keywordflow">return</span> <span class="keyword">false</span>; <span class="comment">// Couldn't create audio.</span>
+</pre></div> </div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="ad7a5caaa08c531acf7e2975a790db98e"></a><!-- doxytag: member="pp::AudioConfig::AudioConfig" ref="ad7a5caaa08c531acf7e2975a790db98e" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_audio_config.html#ad7a5caaa08c531acf7e2975a790db98e">pp::AudioConfig::AudioConfig</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>An empty constructor for an <code><a class="el" href="classpp_1_1_audio_config.html" title="A 16 bit stereo AudioConfig resource.">AudioConfig</a></code> resource. </p>
+</div>
+</div>
+<a class="anchor" id="aa6dcb1ed3086502f03d9e1d73124421a"></a><!-- doxytag: member="pp::AudioConfig::AudioConfig" ref="aa6dcb1ed3086502f03d9e1d73124421a" args="(const InstanceHandle &instance, PP_AudioSampleRate sample_rate, uint32_t sample_frame_count)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_audio_config.html#ad7a5caaa08c531acf7e2975a790db98e">pp::AudioConfig::AudioConfig</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_AudioSampleRate </td>
+<td class="paramname"><em>sample_rate</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>sample_frame_count</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor that creates an audio config based on the given sample rate and frame count. </p>
+<p>If the rate and frame count aren't supported, the resulting resource will be <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a>. You can pass the result of <a class="el" href="classpp_1_1_audio_config.html#a53611e94bca5d4a5f7acdd3e5285adb9" title="RecommendSampleFrameCount() returns a supported frame count closest to the requested count...">RecommendSampleFrameCount()</a> as the sample frame count.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance associated with this resource.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">sample_rate</td><td>A <code>PP_AudioSampleRate</code> which is either <code>PP_AUDIOSAMPLERATE_44100</code> or <code>PP_AUDIOSAMPLERATE_48000</code>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">sample_frame_count</td><td>A uint32_t frame count returned from the <code>RecommendSampleFrameCount</code> function. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a53611e94bca5d4a5f7acdd3e5285adb9"></a><!-- doxytag: member="pp::AudioConfig::RecommendSampleFrameCount" ref="a53611e94bca5d4a5f7acdd3e5285adb9" args="(const InstanceHandle &instance, PP_AudioSampleRate sample_rate, uint32_t requested_sample_frame_count)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static uint32_t <a class="el" href="classpp_1_1_audio_config.html#a53611e94bca5d4a5f7acdd3e5285adb9">pp::AudioConfig::RecommendSampleFrameCount</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_AudioSampleRate </td>
+<td class="paramname"><em>sample_rate</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>requested_sample_frame_count</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_audio_config.html#a53611e94bca5d4a5f7acdd3e5285adb9" title="RecommendSampleFrameCount() returns a supported frame count closest to the requested count...">RecommendSampleFrameCount()</a> returns a supported frame count closest to the requested count. </p>
+<p>The sample frame count determines the overall latency of audio. Smaller frame counts will yield lower latency, but higher CPU utilization. Supported sample frame counts will vary by hardware and system (consider that the local system might be anywhere from a cell phone or a high-end audio workstation). Sample counts less than <code>PP_AUDIOMINSAMPLEFRAMECOUNT</code> and greater than <code>PP_AUDIOMAXSAMPLEFRAMECOUNT</code> are never supported on any system, but values in between aren't necessarily valid. This function will return a supported count closest to the requested value for use in the constructor.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance associated with this resource. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">sample_rate</td><td>A <code>PP_AudioSampleRate</code> which is either <code>PP_AUDIOSAMPLERATE_44100</code> or <code>PP_AUDIOSAMPLERATE_48000</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">requested_sample_frame_count</td><td>A uint32_t requested frame count.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A uint32_t containing the recommended sample frame count if successful. If the sample frame count or bit rate is not supported, this function will fail and return 0. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="abf073122a1b9ef65f149fda9be57246f"></a><!-- doxytag: member="pp::AudioConfig::RecommendSampleRate" ref="abf073122a1b9ef65f149fda9be57246f" args="(const InstanceHandle &instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static PP_AudioSampleRate <a class="el" href="classpp_1_1_audio_config.html#abf073122a1b9ef65f149fda9be57246f">pp::AudioConfig::RecommendSampleRate</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_audio_config.html#abf073122a1b9ef65f149fda9be57246f" title="RecommendSampleRate() returns the native sample rate used by the audio system.">RecommendSampleRate()</a> returns the native sample rate used by the audio system. </p>
+<p>Applications that use the recommended sample rate might obtain lower latency and higher fidelity output.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance associated with this resource. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ad7cb79f7f92993257643574457ee8d0c"></a><!-- doxytag: member="pp::AudioConfig::sample_frame_count" ref="ad7cb79f7f92993257643574457ee8d0c" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="classpp_1_1_audio_config.html#ad7cb79f7f92993257643574457ee8d0c">pp::AudioConfig::sample_frame_count</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the internal sample frame count. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A uint32_t containing the sample frame count. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a988b8489ec9335be25605561d0293813"></a><!-- doxytag: member="pp::AudioConfig::sample_rate" ref="a988b8489ec9335be25605561d0293813" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_AudioSampleRate <a class="el" href="classpp_1_1_audio_config.html#a988b8489ec9335be25605561d0293813">pp::AudioConfig::sample_rate</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the internal <code>PP_AudioSampleRate</code> enum. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The <code>PP_AudioSampleRate</code> enum. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="audio__config_8h.html">audio_config.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_audio_config__inherit__graph.png b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_audio_config__inherit__graph.png
new file mode 100644
index 0000000..2e85f209
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_audio_config__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_completion_callback-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_completion_callback-members.html
new file mode 100644
index 0000000..145b0c9
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_completion_callback-members.html
@@ -0,0 +1,24 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#af071c756ff3eb007dfbea3f50df74111">cc_</a></td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a2dae27f9f015c3b9342a4a65f05bd356">CompletionCallback</a>()</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#afe88416d324795a748d5112e197b0131">CompletionCallback</a>(PP_CompletionCallback_Func func, void *user_data)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a14fd9478ff007a91a3cdfa397c8e6e56">CompletionCallback</a>(PP_CompletionCallback_Func func, void *user_data, int32_t flags)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a60e466572fe7de362969dd41179c971f">flags</a>() const </td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a6ce66ec2655c9157cab494f248551b5f">IsOptional</a>() const </td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a24d1648d1a92a5c36894ce081457e603">MayForce</a>(int32_t result) const </td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#ada943a747c94eebb1e32dbd6914c2526">pp_completion_callback</a>() const </td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a7795404cc15a4f96523c28db21d364c4">Run</a>(int32_t result)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a2996ca2f2b640c7da6da9016a5b0cd16">RunAndClear</a>(int32_t result)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a89fb884e8af572e9bf38fb880e132438">set_flags</a>(int32_t flags)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_completion_callback.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_completion_callback.html
new file mode 100644
index 0000000..22c1d8a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_completion_callback.html
@@ -0,0 +1,306 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::CompletionCallback Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::CompletionCallback" --><div class="dynheader">
+Inheritance diagram for pp::CompletionCallback:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_completion_callback__inherit__graph.png" border="0" usemap="#pp_1_1_completion_callback_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_completion_callback_inherit__map" id="pp_1_1_completion_callback_inherit__map">
+<area shape="rect" id="node3" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html" title="pp::internal::CompletionCallbackWithOutputBase\< T, internal::CallbackOutputTraits\< T \> \>" alt="" coords="237,5,835,35"></area><area shape="rect" id="node7" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html" title="pp::internal::CompletionCallbackWithOutputBase\< T, internal::ExtCallbackOutputTraits\< T \> \>" alt="" coords="227,59,845,88"></area><area shape="rect" id="node11" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html" title="The base class of [Ext]CompletionCallbackWithOutput." alt="" coords="332,112,740,141"></area><area shape="rect" id="node5" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so..." alt="" coords="917,5,1197,35"></area><area shape="rect" id="node9" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html" title="ExtCompletionCallbackWithOutput is similar to CompletionCallbackWithOutput, but used by APIs within t..." alt="" coords="893,59,1221,88"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_completion_callback-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback.html#a2dae27f9f015c3b9342a4a65f05bd356">CompletionCallback</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback.html#afe88416d324795a748d5112e197b0131">CompletionCallback</a> (PP_CompletionCallback_Func func, void *user_data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback.html#a14fd9478ff007a91a3cdfa397c8e6e56">CompletionCallback</a> (PP_CompletionCallback_Func func, void *user_data, int32_t <a class="el" href="classpp_1_1_completion_callback.html#a60e466572fe7de362969dd41179c971f">flags</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback.html#a89fb884e8af572e9bf38fb880e132438">set_flags</a> (int32_t <a class="el" href="classpp_1_1_completion_callback.html#a60e466572fe7de362969dd41179c971f">flags</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback.html#a7795404cc15a4f96523c28db21d364c4">Run</a> (int32_t result)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback.html#a2996ca2f2b640c7da6da9016a5b0cd16">RunAndClear</a> (int32_t result)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback.html#a6ce66ec2655c9157cab494f248551b5f">IsOptional</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const PP_CompletionCallback & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback.html#ada943a747c94eebb1e32dbd6914c2526">pp_completion_callback</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback.html#a60e466572fe7de362969dd41179c971f">flags</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback.html#a24d1648d1a92a5c36894ce081457e603">MayForce</a> (int32_t result) const </td></tr>
+</table><h2>
+Protected Attributes</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">PP_CompletionCallback </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback.html#af071c756ff3eb007dfbea3f50df74111">cc_</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This API enables you to implement and receive callbacks when Pepper operations complete asynchronously. </p>
+<p>You can create these objects yourself, but it is most common to use the <a class="el" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe...">CompletionCallbackFactory</a> to allow the callbacks to call class member functions. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a2dae27f9f015c3b9342a4a65f05bd356"></a><!-- doxytag: member="pp::CompletionCallback::CompletionCallback" ref="a2dae27f9f015c3b9342a4a65f05bd356" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback.html#a2dae27f9f015c3b9342a4a65f05bd356">pp::CompletionCallback::CompletionCallback</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The default constructor will create a blocking <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> that can be passed to a method to indicate that the calling thread should be blocked until the asynchronous operation corresponding to the method completes. </p>
+<p><b>Note:</b> Blocking completion callbacks are only allowed from from background threads. </p>
+</div>
+</div>
+<a class="anchor" id="afe88416d324795a748d5112e197b0131"></a><!-- doxytag: member="pp::CompletionCallback::CompletionCallback" ref="afe88416d324795a748d5112e197b0131" args="(PP_CompletionCallback_Func func, void *user_data)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback.html#a2dae27f9f015c3b9342a4a65f05bd356">pp::CompletionCallback::CompletionCallback</a> </td>
+<td>(</td>
+<td class="paramtype">PP_CompletionCallback_Func </td>
+<td class="paramname"><em>func</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">void * </td>
+<td class="paramname"><em>user_data</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor for creating a <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">func</td><td>The function to be called on completion. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">user_data</td><td>The user data to be passed to the callback function. This is optional and is typically used to help track state in case of multiple pending callbacks. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a14fd9478ff007a91a3cdfa397c8e6e56"></a><!-- doxytag: member="pp::CompletionCallback::CompletionCallback" ref="a14fd9478ff007a91a3cdfa397c8e6e56" args="(PP_CompletionCallback_Func func, void *user_data, int32_t flags)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback.html#a2dae27f9f015c3b9342a4a65f05bd356">pp::CompletionCallback::CompletionCallback</a> </td>
+<td>(</td>
+<td class="paramtype">PP_CompletionCallback_Func </td>
+<td class="paramname"><em>func</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">void * </td>
+<td class="paramname"><em>user_data</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>flags</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor for creating a <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> with specified flags. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">func</td><td>The function to be called on completion. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">user_data</td><td>The user data to be passed to the callback function. This is optional and is typically used to help track state in case of multiple pending callbacks. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>Bit field combination of <code>PP_CompletionCallback_Flag</code> flags used to control how non-NULL callbacks are scheduled by asynchronous methods. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a60e466572fe7de362969dd41179c971f"></a><!-- doxytag: member="pp::CompletionCallback::flags" ref="a60e466572fe7de362969dd41179c971f" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_completion_callback.html#a60e466572fe7de362969dd41179c971f">pp::CompletionCallback::flags</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <a class="el" href="classpp_1_1_completion_callback.html#a60e466572fe7de362969dd41179c971f" title="The flags() function returns flags used to control how non-NULL callbacks are scheduled by asynchrono...">flags()</a> function returns flags used to control how non-NULL callbacks are scheduled by asynchronous methods. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing a bit field combination of <code>PP_CompletionCallback_Flag</code> flags. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a6ce66ec2655c9157cab494f248551b5f"></a><!-- doxytag: member="pp::CompletionCallback::IsOptional" ref="a6ce66ec2655c9157cab494f248551b5f" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_completion_callback.html#a6ce66ec2655c9157cab494f248551b5f">pp::CompletionCallback::IsOptional</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_completion_callback.html#a6ce66ec2655c9157cab494f248551b5f" title="IsOptional() is used to determine the setting of the PP_COMPLETIONCALLBACK_FLAG_OPTIONAL flag...">IsOptional()</a> is used to determine the setting of the <code>PP_COMPLETIONCALLBACK_FLAG_OPTIONAL</code> flag. </p>
+<p>This flag allows any method taking such callback to complete synchronously and not call the callback if the operation would not block. This is useful when performance is an issue, and the operation bandwidth should not be limited to the processing speed of the message loop.</p>
+<p>On synchronous method completion, the completion result will be returned by the method itself. Otherwise, the method will return PP_OK_COMPLETIONPENDING, and the callback will be invoked asynchronously on the same thread where the PPB method was invoked.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if this callback is optional, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a24d1648d1a92a5c36894ce081457e603"></a><!-- doxytag: member="pp::CompletionCallback::MayForce" ref="a24d1648d1a92a5c36894ce081457e603" args="(int32_t result) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_completion_callback.html#a24d1648d1a92a5c36894ce081457e603">pp::CompletionCallback::MayForce</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>result</em></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_completion_callback.html#a24d1648d1a92a5c36894ce081457e603" title="MayForce() is used when implementing functions taking callbacks.">MayForce()</a> is used when implementing functions taking callbacks. </p>
+<p>If the callback is required and <code>result</code> indicates that it has not been scheduled, it will be forced on the main thread.</p>
+<p><b>Example:</b></p>
+<div class="fragment"><pre class="fragment"> int32_t OpenURL(<a class="code" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs.">pp::URLLoader</a>* loader,
+ <a class="code" href="classpp_1_1_u_r_l_request_info.html" title="URLRequestInfo provides an API for creating and manipulating URL requests.">pp::URLRequestInfo</a>* url_request_info,
+ <span class="keyword">const</span> <a class="code" href="classpp_1_1_completion_callback.html#a2dae27f9f015c3b9342a4a65f05bd356" title="The default constructor will create a blocking CompletionCallback that can be passed to a method to i...">CompletionCallback</a>& cc) {
+ <span class="keywordflow">if</span> (loader == NULL || url_request_info == NULL)
+ <span class="keywordflow">return</span> cc.MayForce(PP_ERROR_BADRESOURCE);
+ <span class="keywordflow">return</span> loader-><a class="code" href="classpp_1_1_u_r_l_loader.html#afb72f38f30b94a2d5494225e364395b8" title="This function begins loading the URLRequestInfo.">Open</a>(*loader, *url_request_info, cc);
+ }
+</pre></div><dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">result</td><td>PP_OK_COMPLETIONPENDING or the result of the completed operation to be passed to the callback function. PP_OK_COMPLETIONPENDING indicates that the callback has already been scheduled. Other non-positive values correspond to error codes from <code>pp_errors.h</code>. Positive values indicate additional information such as bytes read.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_OK_COMPLETIONPENDING</code> if the callback has been forced, result parameter otherwise. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ada943a747c94eebb1e32dbd6914c2526"></a><!-- doxytag: member="pp::CompletionCallback::pp_completion_callback" ref="ada943a747c94eebb1e32dbd6914c2526" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">const PP_CompletionCallback& <a class="el" href="classpp_1_1_completion_callback.html#ada943a747c94eebb1e32dbd6914c2526">pp::CompletionCallback::pp_completion_callback</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <a class="el" href="classpp_1_1_completion_callback.html#ada943a747c94eebb1e32dbd6914c2526" title="The pp_completion_callback() function returns the underlying PP_CompletionCallback">pp_completion_callback()</a> function returns the underlying <code>PP_CompletionCallback</code> </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_CompletionCallback</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a7795404cc15a4f96523c28db21d364c4"></a><!-- doxytag: member="pp::CompletionCallback::Run" ref="a7795404cc15a4f96523c28db21d364c4" args="(int32_t result)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_completion_callback.html#a7795404cc15a4f96523c28db21d364c4">pp::CompletionCallback::Run</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>result</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_completion_callback.html#a7795404cc15a4f96523c28db21d364c4" title="Run() is used to run the CompletionCallback.">Run()</a> is used to run the <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </p>
+<p>Normally, the system runs a <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> after an asynchronous operation completes, but programs may wish to run the <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> manually in order to reuse the same code paths.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">result</td><td>The result of the operation to be passed to the callback function. Non-positive values correspond to the error codes from <code>pp_errors.h</code> (excluding <code>PP_OK_COMPLETIONPENDING</code>). Positive values indicate additional information such as bytes read. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a2996ca2f2b640c7da6da9016a5b0cd16"></a><!-- doxytag: member="pp::CompletionCallback::RunAndClear" ref="a2996ca2f2b640c7da6da9016a5b0cd16" args="(int32_t result)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_completion_callback.html#a2996ca2f2b640c7da6da9016a5b0cd16">pp::CompletionCallback::RunAndClear</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>result</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_completion_callback.html#a2996ca2f2b640c7da6da9016a5b0cd16" title="RunAndClear() is used to run the CompletionCallback and clear out the callback so that it cannot be r...">RunAndClear()</a> is used to run the <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> and clear out the callback so that it cannot be run a second time. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">result</td><td>The result of the operation to be passed to the callback function. Non-positive values correspond to the error codes from <code>pp_errors.h</code> (excluding <code>PP_OK_COMPLETIONPENDING</code>). Positive values indicate additional information such as bytes read. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a89fb884e8af572e9bf38fb880e132438"></a><!-- doxytag: member="pp::CompletionCallback::set_flags" ref="a89fb884e8af572e9bf38fb880e132438" args="(int32_t flags)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_completion_callback.html#a89fb884e8af572e9bf38fb880e132438">pp::CompletionCallback::set_flags</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>flags</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <a class="el" href="classpp_1_1_completion_callback.html#a89fb884e8af572e9bf38fb880e132438" title="The set_flags() function is used to set the flags used to control how non-NULL callbacks are schedule...">set_flags()</a> function is used to set the flags used to control how non-NULL callbacks are scheduled by asynchronous methods. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>Bit field combination of <code>PP_CompletionCallback_Flag</code> flags used to control how non-NULL callbacks are scheduled by asynchronous methods. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Member Data Documentation</h2>
+<a class="anchor" id="af071c756ff3eb007dfbea3f50df74111"></a><!-- doxytag: member="pp::CompletionCallback::cc_" ref="af071c756ff3eb007dfbea3f50df74111" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_CompletionCallback <a class="el" href="classpp_1_1_completion_callback.html#af071c756ff3eb007dfbea3f50df74111">pp::CompletionCallback::cc_</a><code> [protected]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="completion__callback_8h.html">completion_callback.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_completion_callback__inherit__graph.png b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_completion_callback__inherit__graph.png
new file mode 100644
index 0000000..0e7b09d3
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_completion_callback__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_completion_callback_factory-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_completion_callback_factory-members.html
new file mode 100644
index 0000000..af6a99f
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_completion_callback_factory-members.html
@@ -0,0 +1,34 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#ad43328a7d8c19233e3fa0b762f357088">CancelAll</a>()</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#ab870c8d37638facb949a86226c5138dc">CompletionCallbackFactory</a>(T *object=NULL)</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline, explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#a5cd104c9185333647e1a752860ca0336">GetObject</a>()</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#a6289f165e3ce15a07061f8be411e186c">Initialize</a>(T *object)</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#ab25d7ebdcdcd28f06ab767fdbbd4868f">NewCallback</a>(Method method)</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#aaa341cc4aa04c12dfe58a4452467b225">NewCallback</a>(Method method, const A &a)</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#a3d32cb2060a1da7ce73e8657c94f15fa">NewCallback</a>(Method method, const A &a, const B &b)</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#a4110e491c1358c951903ef1b0fecf58d">NewCallback</a>(Method method, const A &a, const B &b, const C &c)</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#a8c550ff8d18548ba962af29309880eeb">NewCallbackWithOutput</a>(void(T::*method)(int32_t, Output))</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#a85f3416759e1d7297025f5a0fb037fd9">NewCallbackWithOutput</a>(void(T::*method)(int32_t, Output, A), const A &a)</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#a5f1288cad38fa17aa1f07f5793908e24">NewCallbackWithOutput</a>(void(T::*method)(int32_t, Output, A, B), const A &a, const B &b)</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#a3653f981f4decf82d697e46a6d21519f">NewCallbackWithOutput</a>(void(T::*method)(int32_t, Output, A, B, C), const A &a, const B &b, const C &c)</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#aea74805def24c8f5271e7907bd858205">NewExtCallbackWithOutput</a>(void(T::*method)(int32_t, Output))</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#aadbadcf3365c39ce5620977ea1609fcf">NewExtCallbackWithOutput</a>(void(T::*method)(int32_t, Output, A), const A &a)</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#a50b2c6949e50d88f2bb4f8c08017671c">NewExtCallbackWithOutput</a>(void(T::*method)(int32_t, Output, A, B), const A &a, const B &b)</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#ae5d26a15726c295a45e8ab596507dfde">NewExtCallbackWithOutput</a>(void(T::*method)(int32_t, Output, A, B, C), const A &a, const B &b, const C &c)</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#adacce232874e0d5ab52ffa4bd8af9ef7">NewOptionalCallback</a>(Method method)</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#a221758746a8b10563148990cf63d085d">NewOptionalCallback</a>(Method method, const A &a)</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#abe32b7e60edc4699de46dc8640e90bcb">NewOptionalCallback</a>(Method method, const A &a, const B &b)</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#aaa7f305418d469d8be2ec801dd0bfeda">NewOptionalCallback</a>(Method method, const A &a, const B &b, const C &c)</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_factory.html#a8341b9bfa1660d5f3f38d2530a0a9d42">~CompletionCallbackFactory</a>()</td><td><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td><td><code> [inline]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_completion_callback_factory.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_completion_callback_factory.html
new file mode 100644
index 0000000..f8dc4fd
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_completion_callback_factory.html
@@ -0,0 +1,915 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::CompletionCallbackFactory< T, ThreadTraits > Class Template Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::CompletionCallbackFactory" -->
+<p><a href="classpp_1_1_completion_callback_factory-members.html">List of all members.</a></p>
+<h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>BackPointer</b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>CallbackData</b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>Dispatcher0</b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>Dispatcher1</b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>Dispatcher2</b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>Dispatcher3</b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>DispatcherWithOutput0</b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>DispatcherWithOutput1</b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>DispatcherWithOutput2</b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>DispatcherWithOutput3</b></td></tr>
+</table><h2>
+Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#ab870c8d37638facb949a86226c5138dc">CompletionCallbackFactory</a> (T *object=NULL)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#a8341b9bfa1660d5f3f38d2530a0a9d42">~CompletionCallbackFactory</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#ad43328a7d8c19233e3fa0b762f357088">CancelAll</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#a6289f165e3ce15a07061f8be411e186c">Initialize</a> (T *object)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">T * </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#a5cd104c9185333647e1a752860ca0336">GetObject</a> ()</td></tr>
+<tr><td class="memTemplParams" colspan="2">template<typename Method > </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#ab25d7ebdcdcd28f06ab767fdbbd4868f">NewCallback</a> (Method method)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template<typename Method > </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#adacce232874e0d5ab52ffa4bd8af9ef7">NewOptionalCallback</a> (Method method)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template<typename Output > </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a><br class="typebreak" />
+< typename <br class="typebreak" />
+<a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">internal::TypeUnwrapper</a><br class="typebreak" />
+< Output >::StorageType > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#a8c550ff8d18548ba962af29309880eeb">NewCallbackWithOutput</a> (void(T::*method)(int32_t, Output))</td></tr>
+<tr><td class="memTemplParams" colspan="2">template<typename Output > </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">ext::ExtCompletionCallbackWithOutput</a><br class="typebreak" />
+< typename <br class="typebreak" />
+<a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">internal::TypeUnwrapper</a><br class="typebreak" />
+< Output >::StorageType > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#aea74805def24c8f5271e7907bd858205">NewExtCallbackWithOutput</a> (void(T::*method)(int32_t, Output))</td></tr>
+<tr><td class="memTemplParams" colspan="2">template<typename Method , typename A > </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#aaa341cc4aa04c12dfe58a4452467b225">NewCallback</a> (Method method, const A &a)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template<typename Method , typename A > </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#a221758746a8b10563148990cf63d085d">NewOptionalCallback</a> (Method method, const A &a)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template<typename Output , typename A > </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a><br class="typebreak" />
+< typename <br class="typebreak" />
+<a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">internal::TypeUnwrapper</a><br class="typebreak" />
+< Output >::StorageType > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#a85f3416759e1d7297025f5a0fb037fd9">NewCallbackWithOutput</a> (void(T::*method)(int32_t, Output, A), const A &a)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template<typename Output , typename A > </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">ext::ExtCompletionCallbackWithOutput</a><br class="typebreak" />
+< typename <br class="typebreak" />
+<a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">internal::TypeUnwrapper</a><br class="typebreak" />
+< Output >::StorageType > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#aadbadcf3365c39ce5620977ea1609fcf">NewExtCallbackWithOutput</a> (void(T::*method)(int32_t, Output, A), const A &a)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template<typename Method , typename A , typename B > </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#a3d32cb2060a1da7ce73e8657c94f15fa">NewCallback</a> (Method method, const A &a, const B &b)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template<typename Method , typename A , typename B > </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#abe32b7e60edc4699de46dc8640e90bcb">NewOptionalCallback</a> (Method method, const A &a, const B &b)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template<typename Output , typename A , typename B > </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a><br class="typebreak" />
+< typename <br class="typebreak" />
+<a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">internal::TypeUnwrapper</a><br class="typebreak" />
+< Output >::StorageType > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#a5f1288cad38fa17aa1f07f5793908e24">NewCallbackWithOutput</a> (void(T::*method)(int32_t, Output, A, B), const A &a, const B &b)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template<typename Output , typename A , typename B > </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">ext::ExtCompletionCallbackWithOutput</a><br class="typebreak" />
+< typename <br class="typebreak" />
+<a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">internal::TypeUnwrapper</a><br class="typebreak" />
+< Output >::StorageType > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#a50b2c6949e50d88f2bb4f8c08017671c">NewExtCallbackWithOutput</a> (void(T::*method)(int32_t, Output, A, B), const A &a, const B &b)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template<typename Method , typename A , typename B , typename C > </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#a4110e491c1358c951903ef1b0fecf58d">NewCallback</a> (Method method, const A &a, const B &b, const C &c)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template<typename Method , typename A , typename B , typename C > </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#aaa7f305418d469d8be2ec801dd0bfeda">NewOptionalCallback</a> (Method method, const A &a, const B &b, const C &c)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template<typename Output , typename A , typename B , typename C > </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a><br class="typebreak" />
+< typename <br class="typebreak" />
+<a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">internal::TypeUnwrapper</a><br class="typebreak" />
+< Output >::StorageType > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#a3653f981f4decf82d697e46a6d21519f">NewCallbackWithOutput</a> (void(T::*method)(int32_t, Output, A, B, C), const A &a, const B &b, const C &c)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template<typename Output , typename A , typename B , typename C > </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">ext::ExtCompletionCallbackWithOutput</a><br class="typebreak" />
+< typename <br class="typebreak" />
+<a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">internal::TypeUnwrapper</a><br class="typebreak" />
+< Output >::StorageType > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html#ae5d26a15726c295a45e8ab596507dfde">NewExtCallbackWithOutput</a> (void(T::*method)(int32_t, Output, A, B, C), const A &a, const B &b, const C &c)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><h3>template<typename T, typename ThreadTraits = ThreadSafeThreadTraits><br />
+class pp::CompletionCallbackFactory< T, ThreadTraits ></h3>
+<p>CompletionCallbackFactory<T> may be used to create <a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a> objects that are bound to member functions. </p>
+<p>If a factory is destroyed, then any pending callbacks will be cancelled preventing any bound member functions from being called. The <a class="el" href="classpp_1_1_completion_callback_factory.html#ad43328a7d8c19233e3fa0b762f357088" title="CancelAll() cancels all CompletionCallbacks allocated from this factory.">CancelAll()</a> method allows pending callbacks to be cancelled without destroying the factory.</p>
+<p><b>Note: </b><code>CompletionCallbackFactory<T></code> isn't thread safe, but it is somewhat thread-friendly when used with a thread-safe traits class as the second template element. However, it only guarantees safety for creating a callback from another thread, the callback itself needs to execute on the same thread as the thread that creates/destroys the factory. With this restriction, it is safe to create the <code><a class="el" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe...">CompletionCallbackFactory</a></code> on the main thread, create callbacks from any thread and pass them to CallOnMainThread().</p>
+<p><b>Example: </b></p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">class </span>MyClass {
+ <span class="keyword">public</span>:
+ <span class="comment">// If an compiler warns on following using |this| in the initializer</span>
+ <span class="comment">// list, use PP_ALLOW_THIS_IN_INITIALIZER_LIST macro.</span>
+ MyClass() : factory_(this) {
+ }
+
+ <span class="keywordtype">void</span> OpenFile(<span class="keyword">const</span> <a class="code" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>pp::FileRef</a>& file) {
+ <a class="code" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">pp::CompletionCallback</a> cc = factory_.NewCallback(&MyClass::DidOpen);
+ int32_t rv = file_io_.Open(file, PP_FileOpenFlag_Read, cc);
+ CHECK(rv == PP_OK_COMPLETIONPENDING);
+ }
+
+ <span class="keyword">private</span>:
+ <span class="keywordtype">void</span> DidOpen(int32_t result) {
+ <span class="keywordflow">if</span> (result == PP_OK) {
+ <span class="comment">// The file is open, and we can begin reading.</span>
+ <span class="comment">// ...</span>
+ } <span class="keywordflow">else</span> {
+ <span class="comment">// Failed to open the file with error given by 'result'.</span>
+ }
+ }
+
+ <a class="code" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe...">pp::CompletionCallbackFactory<MyClass></a> factory_;
+ };
+</pre></div><p><b>Passing additional parameters to your callback</b></p>
+<p>As a convenience, the <code><a class="el" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe...">CompletionCallbackFactory</a></code> can optionally create a closure with up to three bound parameters that it will pass to your callback function. This can be useful for passing information about the request to your callback function, which is especially useful if your class has multiple asynchronous callbacks pending.</p>
+<p>For the above example, of opening a file, let's say you want to keep some description associated with your request, you might implement your OpenFile and DidOpen callback as follows:</p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">void</span> OpenFile(<span class="keyword">const</span> <a class="code" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>pp::FileRef</a>& file) {
+ std::string message = <span class="stringliteral">"Opening file!"</span>;
+ <a class="code" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">pp::CompletionCallback</a> cc = factory_.NewCallback(&MyClass::DidOpen,
+ message);
+ int32_t rv = file_io_.Open(file, PP_FileOpenFlag_Read, cc);
+ CHECK(rv == PP_OK_COMPLETIONPENDING);
+ }
+ <span class="keywordtype">void</span> DidOpen(int32_t result, <span class="keyword">const</span> std::string& message) {
+ <span class="comment">// "message" will be "Opening file!".</span>
+ ...
+ }
+</pre></div><p><b>Optional versus required callbacks</b></p>
+<p>When you create an "optional" callback, the browser may return the results synchronously if they are available. This can allow for higher performance in some cases if data is available quickly (for example, for network loads where there may be a lot of data coming quickly). In this case, the callback will never be run.</p>
+<p>When creating a new callback with the factory, there will be data allocated on the heap that tracks the callback information and any bound arguments. This data is freed when the callback executes. In the case of optional callbacks, since the browser will never issue the callback, the internal tracking data will be leaked.</p>
+<p>Therefore, if you use optional callbacks, it's important to manually issue the callback to free up this data. The typical pattern is:</p>
+<div class="fragment"><pre class="fragment"> <a class="code" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">pp::CompletionCallback</a> callback = callback_factory.NewOptionalCallback(
+ &MyClass::OnDataReady);
+ int32_t result = interface->GetData(callback);
+ <span class="keywordflow">if</span> (result != PP_OK_COMPLETIONPENDING)
+ callback.<a class="code" href="classpp_1_1_completion_callback.html#a7795404cc15a4f96523c28db21d364c4" title="Run() is used to run the CompletionCallback.">Run</a>(result);
+</pre></div><p>Because of this additional complexity, it's generally recommended that you not use optional callbacks except when performance is more important (such as loading large resources from the network). In most other cases, the performance difference will not be worth the additional complexity, and most functions may never actually have the ability to complete synchronously.</p>
+<p><b>Completion callbacks with output</b></p>
+<p>For some API calls, the browser returns data to the caller via an output parameter. These can be difficult to manage since the output parameter must remain valid for as long as the callback is pending. Note also that CancelAll (or destroying the callback factory) does <em>not</em> cancel the callback from the browser's perspective, only the execution of the callback in the plugin code, and the output parameter will still be written to! This means that you can't use class members as output parameters without risking crashes.</p>
+<p>To make this case easier, the <a class="el" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe...">CompletionCallbackFactory</a> can allocate and manage the output data for you and pass it to your callback function. This makes such calls more natural and less error-prone.</p>
+<p>To create such a callback, use NewCallbackWithOutput and specify a callback function that takes the output parameter as its second argument. Let's say you're calling a function GetFile which asynchronously returns a <a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>pp::FileRef</a>. GetFile's signature will be <code>int32_t GetFile(const CompletionCallbackWithOutput<pp::FileRef>& callback);</code> and your calling code would look like this:</p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">void</span> RequestFile() {
+ file_interface->GetFile(callback_factory_.NewCallbackWithOutput(
+ &MyClass::GotFile));
+ }
+ <span class="keywordtype">void</span> GotFile(int32_t result, <span class="keyword">const</span> <a class="code" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>pp::FileRef</a>& file) {
+ <span class="keywordflow">if</span> (result == PP_OK) {
+ ...use file...
+ } <span class="keywordflow">else</span> {
+ ...handle error...
+ }
+ }
+</pre></div><p>As with regular completion callbacks, you can optionally add up to three bound arguments. These are passed following the output argument.</p>
+<p>Your callback may take the output argument as a copy (common for small types like integers, a const reference (common for structures and resources to avoid an extra copy), or as a non-const reference. One optimization you can do if your callback function may take large arrays is to accept your output argument as a non-const reference and to swap() the argument with a vector of your own to store it. This means you don't have to copy the buffer to consume it.</p>
+<p>NewExtCallbackWithOutput is similar to NewCallbackWithOutput. It creates <a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html" title="ExtCompletionCallbackWithOutput is similar to CompletionCallbackWithOutput, but used by APIs within t...">ext::ExtCompletionCallbackWithOutput</a> instances which are used by APIs within the <a class="el" href="namespacepp_1_1ext.html">pp::ext</a> namespace. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="ab870c8d37638facb949a86226c5138dc"></a><!-- doxytag: member="pp::CompletionCallbackFactory::CompletionCallbackFactory" ref="ab870c8d37638facb949a86226c5138dc" args="(T *object=NULL)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html">CompletionCallbackFactory</a> </td>
+<td>(</td>
+<td class="paramtype">T * </td>
+<td class="paramname"><em>object</em> = <code>NULL</code></td><td>)</td>
+<td><code> [inline, explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This constructor creates a <code><a class="el" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe...">CompletionCallbackFactory</a></code> bound to an object. </p>
+<p>If the constructor is called without an argument, the default value of <code>NULL</code> is used. The user then must call <a class="el" href="classpp_1_1_completion_callback_factory.html#a6289f165e3ce15a07061f8be411e186c" title="Initialize() binds the CallbackFactory to a particular object.">Initialize()</a> to initialize the object.</p>
+<p>param[in] object Optional parameter. An object whose member functions are to be bound to CompletionCallbacks created by this <code><a class="el" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe...">CompletionCallbackFactory</a></code>. The default value of this parameter is <code>NULL</code>. </p>
+</div>
+</div>
+<a class="anchor" id="a8341b9bfa1660d5f3f38d2530a0a9d42"></a><!-- doxytag: member="pp::CompletionCallbackFactory::~CompletionCallbackFactory" ref="a8341b9bfa1660d5f3f38d2530a0a9d42" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::~<a class="el" href="classpp_1_1_completion_callback_factory.html">CompletionCallbackFactory</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Destructor. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="ad43328a7d8c19233e3fa0b762f357088"></a><!-- doxytag: member="pp::CompletionCallbackFactory::CancelAll" ref="ad43328a7d8c19233e3fa0b762f357088" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#ad43328a7d8c19233e3fa0b762f357088">CancelAll</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_completion_callback_factory.html#ad43328a7d8c19233e3fa0b762f357088" title="CancelAll() cancels all CompletionCallbacks allocated from this factory.">CancelAll()</a> cancels all <code>CompletionCallbacks</code> allocated from this factory. </p>
+</div>
+</div>
+<a class="anchor" id="a5cd104c9185333647e1a752860ca0336"></a><!-- doxytag: member="pp::CompletionCallbackFactory::GetObject" ref="a5cd104c9185333647e1a752860ca0336" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<table class="memname">
+<tr>
+<td class="memname">T* <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#a5cd104c9185333647e1a752860ca0336">GetObject</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_completion_callback_factory.html#a5cd104c9185333647e1a752860ca0336" title="GetObject() returns the object that was passed at initialization to Intialize().">GetObject()</a> returns the object that was passed at initialization to Intialize(). </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the object passed to the constructor or Intialize(). </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a6289f165e3ce15a07061f8be411e186c"></a><!-- doxytag: member="pp::CompletionCallbackFactory::Initialize" ref="a6289f165e3ce15a07061f8be411e186c" args="(T *object)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#a6289f165e3ce15a07061f8be411e186c">Initialize</a> </td>
+<td>(</td>
+<td class="paramtype">T * </td>
+<td class="paramname"><em>object</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_completion_callback_factory.html#a6289f165e3ce15a07061f8be411e186c" title="Initialize() binds the CallbackFactory to a particular object.">Initialize()</a> binds the <code>CallbackFactory</code> to a particular object. </p>
+<p>Use this when the object is not available at <code>CallbackFactory</code> creation, and the <code>NULL</code> default is passed to the constructor. The object may only be initialized once, either by the constructor, or by a call to <a class="el" href="classpp_1_1_completion_callback_factory.html#a6289f165e3ce15a07061f8be411e186c" title="Initialize() binds the CallbackFactory to a particular object.">Initialize()</a>.</p>
+<p>This class may not be used on any thread until initialization is complete.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">object</td><td>The object whose member functions are to be bound to the <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> created by this <code><a class="el" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe...">CompletionCallbackFactory</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ab25d7ebdcdcd28f06ab767fdbbd4868f"></a><!-- doxytag: member="pp::CompletionCallbackFactory::NewCallback" ref="ab25d7ebdcdcd28f06ab767fdbbd4868f" args="(Method method)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<div class="memtemplate">
+template<typename Method > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#ab25d7ebdcdcd28f06ab767fdbbd4868f">NewCallback</a> </td>
+<td>(</td>
+<td class="paramtype">Method </td>
+<td class="paramname"><em>method</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>NewCallback allocates a new, single-use <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </p>
+<p>The <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> must be run in order for the memory allocated by the methods to be freed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">method</td><td>The method to be invoked upon completion of the operation.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aaa341cc4aa04c12dfe58a4452467b225"></a><!-- doxytag: member="pp::CompletionCallbackFactory::NewCallback" ref="aaa341cc4aa04c12dfe58a4452467b225" args="(Method method, const A &a)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<div class="memtemplate">
+template<typename Method , typename A > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#ab25d7ebdcdcd28f06ab767fdbbd4868f">NewCallback</a> </td>
+<td>(</td>
+<td class="paramtype">Method </td>
+<td class="paramname"><em>method</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const A & </td>
+<td class="paramname"><em>a</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_completion_callback_factory.html#ab25d7ebdcdcd28f06ab767fdbbd4868f" title="NewCallback allocates a new, single-use CompletionCallback.">NewCallback()</a> allocates a new, single-use <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </p>
+<p>The <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> must be run in order for the memory allocated by the methods to be freed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">method</td><td>The method to be invoked upon completion of the operation. Method should be of type: <code>void (T::*)(int32_t result, const A& a)</code></td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Passed to <code>method</code> when the completion callback runs.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a3d32cb2060a1da7ce73e8657c94f15fa"></a><!-- doxytag: member="pp::CompletionCallbackFactory::NewCallback" ref="a3d32cb2060a1da7ce73e8657c94f15fa" args="(Method method, const A &a, const B &b)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<div class="memtemplate">
+template<typename Method , typename A , typename B > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#ab25d7ebdcdcd28f06ab767fdbbd4868f">NewCallback</a> </td>
+<td>(</td>
+<td class="paramtype">Method </td>
+<td class="paramname"><em>method</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const A & </td>
+<td class="paramname"><em>a</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const B & </td>
+<td class="paramname"><em>b</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_completion_callback_factory.html#ab25d7ebdcdcd28f06ab767fdbbd4868f" title="NewCallback allocates a new, single-use CompletionCallback.">NewCallback()</a> allocates a new, single-use <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </p>
+<p>The <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> must be run in order for the memory allocated by the methods to be freed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir"></td><td class="paramname">method</td><td>The method taking the callback. Method should be of type: <code>void (T::*)(int32_t result, const A& a, const B& b)</code></td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Passed to <code>method</code> when the completion callback runs.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Passed to <code>method</code> when the completion callback runs.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a4110e491c1358c951903ef1b0fecf58d"></a><!-- doxytag: member="pp::CompletionCallbackFactory::NewCallback" ref="a4110e491c1358c951903ef1b0fecf58d" args="(Method method, const A &a, const B &b, const C &c)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<div class="memtemplate">
+template<typename Method , typename A , typename B , typename C > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#ab25d7ebdcdcd28f06ab767fdbbd4868f">NewCallback</a> </td>
+<td>(</td>
+<td class="paramtype">Method </td>
+<td class="paramname"><em>method</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const A & </td>
+<td class="paramname"><em>a</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const B & </td>
+<td class="paramname"><em>b</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const C & </td>
+<td class="paramname"><em>c</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_completion_callback_factory.html#ab25d7ebdcdcd28f06ab767fdbbd4868f" title="NewCallback allocates a new, single-use CompletionCallback.">NewCallback()</a> allocates a new, single-use <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </p>
+<p>The <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> must be run in order for the memory allocated by the methods to be freed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir"></td><td class="paramname">method</td><td>The method taking the callback. Method should be of type: <code> void (T::*)(int32_t result, const A& a, const B& b, const C& c) </code></td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Passed to <code>method</code> when the completion callback runs.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Passed to <code>method</code> when the completion callback runs.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Passed to <code>method</code> when the completion callback runs.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a8c550ff8d18548ba962af29309880eeb"></a><!-- doxytag: member="pp::CompletionCallbackFactory::NewCallbackWithOutput" ref="a8c550ff8d18548ba962af29309880eeb" args="(void(T::*method)(int32_t, Output))" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<div class="memtemplate">
+template<typename Output > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a>< typename <a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">internal::TypeUnwrapper</a><Output>::StorageType> <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#a8c550ff8d18548ba962af29309880eeb">NewCallbackWithOutput</a> </td>
+<td>(</td>
+<td class="paramtype">void(T::*)(int32_t, Output) </td>
+<td class="paramname"><em>method</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_completion_callback_factory.html#a8c550ff8d18548ba962af29309880eeb" title="NewCallbackWithOutput() allocates a new, single-use CompletionCallback where the browser will pass an...">NewCallbackWithOutput()</a> allocates a new, single-use <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> where the browser will pass an additional parameter containing the result of the request. </p>
+<p>The <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> must be run in order for the memory allocated by the methods to be freed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">method</td><td>The method to be invoked upon completion of the operation.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a85f3416759e1d7297025f5a0fb037fd9"></a><!-- doxytag: member="pp::CompletionCallbackFactory::NewCallbackWithOutput" ref="a85f3416759e1d7297025f5a0fb037fd9" args="(void(T::*method)(int32_t, Output, A), const A &a)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<div class="memtemplate">
+template<typename Output , typename A > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a>< typename <a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">internal::TypeUnwrapper</a><Output>::StorageType> <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#a8c550ff8d18548ba962af29309880eeb">NewCallbackWithOutput</a> </td>
+<td>(</td>
+<td class="paramtype">void(T::*)(int32_t, Output, A) </td>
+<td class="paramname"><em>method</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const A & </td>
+<td class="paramname"><em>a</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_completion_callback_factory.html#a8c550ff8d18548ba962af29309880eeb" title="NewCallbackWithOutput() allocates a new, single-use CompletionCallback where the browser will pass an...">NewCallbackWithOutput()</a> allocates a new, single-use <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> where the browser will pass an additional parameter containing the result of the request. </p>
+<p>The <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> must be run in order for the memory allocated by the methods to be freed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">method</td><td>The method to be invoked upon completion of the operation.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Passed to <code>method</code> when the completion callback runs.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a5f1288cad38fa17aa1f07f5793908e24"></a><!-- doxytag: member="pp::CompletionCallbackFactory::NewCallbackWithOutput" ref="a5f1288cad38fa17aa1f07f5793908e24" args="(void(T::*method)(int32_t, Output, A, B), const A &a, const B &b)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<div class="memtemplate">
+template<typename Output , typename A , typename B > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a>< typename <a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">internal::TypeUnwrapper</a><Output>::StorageType> <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#a8c550ff8d18548ba962af29309880eeb">NewCallbackWithOutput</a> </td>
+<td>(</td>
+<td class="paramtype">void(T::*)(int32_t, Output, A, B) </td>
+<td class="paramname"><em>method</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const A & </td>
+<td class="paramname"><em>a</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const B & </td>
+<td class="paramname"><em>b</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_completion_callback_factory.html#a8c550ff8d18548ba962af29309880eeb" title="NewCallbackWithOutput() allocates a new, single-use CompletionCallback where the browser will pass an...">NewCallbackWithOutput()</a> allocates a new, single-use <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> where the browser will pass an additional parameter containing the result of the request. </p>
+<p>The <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> must be run in order for the memory allocated by the methods to be freed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">method</td><td>The method to be invoked upon completion of the operation.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Passed to <code>method</code> when the completion callback runs.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Passed to <code>method</code> when the completion callback runs.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a3653f981f4decf82d697e46a6d21519f"></a><!-- doxytag: member="pp::CompletionCallbackFactory::NewCallbackWithOutput" ref="a3653f981f4decf82d697e46a6d21519f" args="(void(T::*method)(int32_t, Output, A, B, C), const A &a, const B &b, const C &c)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<div class="memtemplate">
+template<typename Output , typename A , typename B , typename C > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a>< typename <a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">internal::TypeUnwrapper</a><Output>::StorageType> <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#a8c550ff8d18548ba962af29309880eeb">NewCallbackWithOutput</a> </td>
+<td>(</td>
+<td class="paramtype">void(T::*)(int32_t, Output, A, B, C) </td>
+<td class="paramname"><em>method</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const A & </td>
+<td class="paramname"><em>a</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const B & </td>
+<td class="paramname"><em>b</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const C & </td>
+<td class="paramname"><em>c</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_completion_callback_factory.html#a8c550ff8d18548ba962af29309880eeb" title="NewCallbackWithOutput() allocates a new, single-use CompletionCallback where the browser will pass an...">NewCallbackWithOutput()</a> allocates a new, single-use <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> where the browser will pass an additional parameter containing the result of the request. </p>
+<p>The <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> must be run in order for the memory allocated by the methods to be freed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir"></td><td class="paramname">method</td><td>The method to be run.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Passed to <code>method</code> when the completion callback runs.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Passed to <code>method</code> when the completion callback runs.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Passed to <code>method</code> when the completion callback runs.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aea74805def24c8f5271e7907bd858205"></a><!-- doxytag: member="pp::CompletionCallbackFactory::NewExtCallbackWithOutput" ref="aea74805def24c8f5271e7907bd858205" args="(void(T::*method)(int32_t, Output))" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<div class="memtemplate">
+template<typename Output > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">ext::ExtCompletionCallbackWithOutput</a>< typename <a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">internal::TypeUnwrapper</a><Output>::StorageType> <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#aea74805def24c8f5271e7907bd858205">NewExtCallbackWithOutput</a> </td>
+<td>(</td>
+<td class="paramtype">void(T::*)(int32_t, Output) </td>
+<td class="paramname"><em>method</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Similar to <a class="el" href="classpp_1_1_completion_callback_factory.html#a8c550ff8d18548ba962af29309880eeb" title="NewCallbackWithOutput() allocates a new, single-use CompletionCallback where the browser will pass an...">NewCallbackWithOutput()</a>, but returns an <code><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html" title="ExtCompletionCallbackWithOutput is similar to CompletionCallbackWithOutput, but used by APIs within t...">ext::ExtCompletionCallbackWithOutput</a></code>. </p>
+</div>
+</div>
+<a class="anchor" id="aadbadcf3365c39ce5620977ea1609fcf"></a><!-- doxytag: member="pp::CompletionCallbackFactory::NewExtCallbackWithOutput" ref="aadbadcf3365c39ce5620977ea1609fcf" args="(void(T::*method)(int32_t, Output, A), const A &a)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<div class="memtemplate">
+template<typename Output , typename A > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">ext::ExtCompletionCallbackWithOutput</a>< typename <a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">internal::TypeUnwrapper</a><Output>::StorageType> <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#aea74805def24c8f5271e7907bd858205">NewExtCallbackWithOutput</a> </td>
+<td>(</td>
+<td class="paramtype">void(T::*)(int32_t, Output, A) </td>
+<td class="paramname"><em>method</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const A & </td>
+<td class="paramname"><em>a</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Similar to <a class="el" href="classpp_1_1_completion_callback_factory.html#a8c550ff8d18548ba962af29309880eeb" title="NewCallbackWithOutput() allocates a new, single-use CompletionCallback where the browser will pass an...">NewCallbackWithOutput()</a>, but returns an <code><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html" title="ExtCompletionCallbackWithOutput is similar to CompletionCallbackWithOutput, but used by APIs within t...">ext::ExtCompletionCallbackWithOutput</a></code>. </p>
+</div>
+</div>
+<a class="anchor" id="a50b2c6949e50d88f2bb4f8c08017671c"></a><!-- doxytag: member="pp::CompletionCallbackFactory::NewExtCallbackWithOutput" ref="a50b2c6949e50d88f2bb4f8c08017671c" args="(void(T::*method)(int32_t, Output, A, B), const A &a, const B &b)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<div class="memtemplate">
+template<typename Output , typename A , typename B > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">ext::ExtCompletionCallbackWithOutput</a>< typename <a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">internal::TypeUnwrapper</a><Output>::StorageType> <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#aea74805def24c8f5271e7907bd858205">NewExtCallbackWithOutput</a> </td>
+<td>(</td>
+<td class="paramtype">void(T::*)(int32_t, Output, A, B) </td>
+<td class="paramname"><em>method</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const A & </td>
+<td class="paramname"><em>a</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const B & </td>
+<td class="paramname"><em>b</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Similar to <a class="el" href="classpp_1_1_completion_callback_factory.html#a8c550ff8d18548ba962af29309880eeb" title="NewCallbackWithOutput() allocates a new, single-use CompletionCallback where the browser will pass an...">NewCallbackWithOutput()</a>, but returns an <code><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html" title="ExtCompletionCallbackWithOutput is similar to CompletionCallbackWithOutput, but used by APIs within t...">ext::ExtCompletionCallbackWithOutput</a></code>. </p>
+</div>
+</div>
+<a class="anchor" id="ae5d26a15726c295a45e8ab596507dfde"></a><!-- doxytag: member="pp::CompletionCallbackFactory::NewExtCallbackWithOutput" ref="ae5d26a15726c295a45e8ab596507dfde" args="(void(T::*method)(int32_t, Output, A, B, C), const A &a, const B &b, const C &c)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<div class="memtemplate">
+template<typename Output , typename A , typename B , typename C > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">ext::ExtCompletionCallbackWithOutput</a>< typename <a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">internal::TypeUnwrapper</a><Output>::StorageType> <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#aea74805def24c8f5271e7907bd858205">NewExtCallbackWithOutput</a> </td>
+<td>(</td>
+<td class="paramtype">void(T::*)(int32_t, Output, A, B, C) </td>
+<td class="paramname"><em>method</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const A & </td>
+<td class="paramname"><em>a</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const B & </td>
+<td class="paramname"><em>b</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const C & </td>
+<td class="paramname"><em>c</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Similar to <a class="el" href="classpp_1_1_completion_callback_factory.html#a8c550ff8d18548ba962af29309880eeb" title="NewCallbackWithOutput() allocates a new, single-use CompletionCallback where the browser will pass an...">NewCallbackWithOutput()</a>, but returns an <code><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html" title="ExtCompletionCallbackWithOutput is similar to CompletionCallbackWithOutput, but used by APIs within t...">ext::ExtCompletionCallbackWithOutput</a></code>. </p>
+</div>
+</div>
+<a class="anchor" id="adacce232874e0d5ab52ffa4bd8af9ef7"></a><!-- doxytag: member="pp::CompletionCallbackFactory::NewOptionalCallback" ref="adacce232874e0d5ab52ffa4bd8af9ef7" args="(Method method)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<div class="memtemplate">
+template<typename Method > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#adacce232874e0d5ab52ffa4bd8af9ef7">NewOptionalCallback</a> </td>
+<td>(</td>
+<td class="paramtype">Method </td>
+<td class="paramname"><em>method</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_completion_callback_factory.html#adacce232874e0d5ab52ffa4bd8af9ef7" title="NewOptionalCallback() allocates a new, single-use CompletionCallback that might not run if the method...">NewOptionalCallback()</a> allocates a new, single-use <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> that might not run if the method taking it can complete synchronously. </p>
+<p>Thus, if after passing the <a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a> to a Pepper method, the method does not return PP_OK_COMPLETIONPENDING, then you should manually call the <a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a>'s Run method, or memory will be leaked.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">method</td><td>The method to be invoked upon completion of the operation.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a221758746a8b10563148990cf63d085d"></a><!-- doxytag: member="pp::CompletionCallbackFactory::NewOptionalCallback" ref="a221758746a8b10563148990cf63d085d" args="(Method method, const A &a)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<div class="memtemplate">
+template<typename Method , typename A > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#adacce232874e0d5ab52ffa4bd8af9ef7">NewOptionalCallback</a> </td>
+<td>(</td>
+<td class="paramtype">Method </td>
+<td class="paramname"><em>method</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const A & </td>
+<td class="paramname"><em>a</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_completion_callback_factory.html#adacce232874e0d5ab52ffa4bd8af9ef7" title="NewOptionalCallback() allocates a new, single-use CompletionCallback that might not run if the method...">NewOptionalCallback()</a> allocates a new, single-use <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> that might not run if the method taking it can complete synchronously. </p>
+<p>Thus, if after passing the <a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a> to a Pepper method, the method does not return PP_OK_COMPLETIONPENDING, then you should manually call the <a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a>'s Run method, or memory will be leaked.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">method</td><td>The method to be invoked upon completion of the operation. Method should be of type: <code>void (T::*)(int32_t result, const A& a)</code></td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Passed to <code>method</code> when the completion callback runs.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="abe32b7e60edc4699de46dc8640e90bcb"></a><!-- doxytag: member="pp::CompletionCallbackFactory::NewOptionalCallback" ref="abe32b7e60edc4699de46dc8640e90bcb" args="(Method method, const A &a, const B &b)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<div class="memtemplate">
+template<typename Method , typename A , typename B > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#adacce232874e0d5ab52ffa4bd8af9ef7">NewOptionalCallback</a> </td>
+<td>(</td>
+<td class="paramtype">Method </td>
+<td class="paramname"><em>method</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const A & </td>
+<td class="paramname"><em>a</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const B & </td>
+<td class="paramname"><em>b</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_completion_callback_factory.html#adacce232874e0d5ab52ffa4bd8af9ef7" title="NewOptionalCallback() allocates a new, single-use CompletionCallback that might not run if the method...">NewOptionalCallback()</a> allocates a new, single-use <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> that might not run if the method taking it can complete synchronously. </p>
+<p>Thus, if after passing the <a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a> to a Pepper method, the method does not return PP_OK_COMPLETIONPENDING, then you should manually call the <a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a>'s Run method, or memory will be leaked.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">method</td><td>The method taking the callback. Method should be of type: <code>void (T::*)(int32_t result, const A& a, const B& b)</code></td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Passed to <code>method</code> when the completion callback runs.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Passed to <code>method</code> when the completion callback runs.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aaa7f305418d469d8be2ec801dd0bfeda"></a><!-- doxytag: member="pp::CompletionCallbackFactory::NewOptionalCallback" ref="aaa7f305418d469d8be2ec801dd0bfeda" args="(Method method, const A &a, const B &b, const C &c)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename ThreadTraits = ThreadSafeThreadTraits> </div>
+<div class="memtemplate">
+template<typename Method , typename A , typename B , typename C > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> <a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory</a>< T, ThreadTraits >::<a class="el" href="classpp_1_1_completion_callback_factory.html#adacce232874e0d5ab52ffa4bd8af9ef7">NewOptionalCallback</a> </td>
+<td>(</td>
+<td class="paramtype">Method </td>
+<td class="paramname"><em>method</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const A & </td>
+<td class="paramname"><em>a</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const B & </td>
+<td class="paramname"><em>b</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const C & </td>
+<td class="paramname"><em>c</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_completion_callback_factory.html#adacce232874e0d5ab52ffa4bd8af9ef7" title="NewOptionalCallback() allocates a new, single-use CompletionCallback that might not run if the method...">NewOptionalCallback()</a> allocates a new, single-use <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> that might not run if the method taking it can complete synchronously. </p>
+<p>Thus, if after passing the <a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a> to a Pepper method, the method does not return PP_OK_COMPLETIONPENDING, then you should manually call the <a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a>'s Run method, or memory will be leaked.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">method</td><td>The method taking the callback. Method should be of type: <code> void (T::*)(int32_t result, const A& a, const B& b, const C& c) </code></td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Passed to <code>method</code> when the completion callback runs.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Passed to <code>method</code> when the completion callback runs.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Passed to <code>method</code> when the completion callback runs.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/utility/<a class="el" href="completion__callback__factory_8h.html">completion_callback_factory.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_completion_callback_with_output-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_completion_callback_with_output-members.html
new file mode 100644
index 0000000..0575748
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_completion_callback_with_output-members.html
@@ -0,0 +1,35 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_completion_callback_with_output.html">pp::CompletionCallbackWithOutput< T ></a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a90888e6422225fb8e3d310c6ee51ac04">APIArgType</a> typedef</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, internal::CallbackOutputTraits< T > ></a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_with_output.html#adbba776ebc9de6001a08400826f9bf0f">BaseType</a> typedef</td><td><a class="el" href="classpp_1_1_completion_callback_with_output.html">pp::CompletionCallbackWithOutput< T ></a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#af071c756ff3eb007dfbea3f50df74111">cc_</a></td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a2dae27f9f015c3b9342a4a65f05bd356">CompletionCallback</a>()</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#afe88416d324795a748d5112e197b0131">CompletionCallback</a>(PP_CompletionCallback_Func func, void *user_data)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a14fd9478ff007a91a3cdfa397c8e6e56">CompletionCallback</a>(PP_CompletionCallback_Func func, void *user_data, int32_t flags)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_with_output.html#ab09283a1e9899537a5a1cf89bd03857f">CompletionCallbackWithOutput</a>(typename BaseType::OutputStorageType *output)</td><td><a class="el" href="classpp_1_1_completion_callback_with_output.html">pp::CompletionCallbackWithOutput< T ></a></td><td><code> [inline, explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_with_output.html#ac1b54281207b04f5646b02fc00e9ae3b">CompletionCallbackWithOutput</a>(PP_CompletionCallback_Func func, void *user_data, typename BaseType::OutputStorageType *output)</td><td><a class="el" href="classpp_1_1_completion_callback_with_output.html">pp::CompletionCallbackWithOutput< T ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback_with_output.html#afabe9939e7b82c645cdb66dde80426d4">CompletionCallbackWithOutput</a>(PP_CompletionCallback_Func func, void *user_data, int32_t flags, typename BaseType::OutputStorageType *output)</td><td><a class="el" href="classpp_1_1_completion_callback_with_output.html">pp::CompletionCallbackWithOutput< T ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a12536d4027ba401e4009404eeeaeeb97">CompletionCallbackWithOutputBase</a>(OutputStorageType *output)</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, internal::CallbackOutputTraits< T > ></a></td><td><code> [inline, explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a00d091474d398b2b3a14c2dbe05b74a2">CompletionCallbackWithOutputBase</a>(PP_CompletionCallback_Func func, void *user_data, OutputStorageType *output)</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, internal::CallbackOutputTraits< T > ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a19a3960c8990f8000a34062cc4534098">CompletionCallbackWithOutputBase</a>(PP_CompletionCallback_Func func, void *user_data, int32_t flags, OutputStorageType *output)</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, internal::CallbackOutputTraits< T > ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a60e466572fe7de362969dd41179c971f">flags</a>() const </td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a6ce66ec2655c9157cab494f248551b5f">IsOptional</a>() const </td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a24d1648d1a92a5c36894ce081457e603">MayForce</a>(int32_t result) const </td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a23ceea58754e1d1b6570a268f6b669b8">output</a>() const</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, internal::CallbackOutputTraits< T > ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">OutputStorageType</a> typedef</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, internal::CallbackOutputTraits< T > ></a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#ada943a747c94eebb1e32dbd6914c2526">pp_completion_callback</a>() const </td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a7795404cc15a4f96523c28db21d364c4">Run</a>(int32_t result)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a2996ca2f2b640c7da6da9016a5b0cd16">RunAndClear</a>(int32_t result)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a89fb884e8af572e9bf38fb880e132438">set_flags</a>(int32_t flags)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6dea62f34b316631f576d61959693775">TraitsType</a> typedef</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, internal::CallbackOutputTraits< T > ></a></td><td></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_completion_callback_with_output.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_completion_callback_with_output.html
new file mode 100644
index 0000000..1e02c66
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_completion_callback_with_output.html
@@ -0,0 +1,179 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::CompletionCallbackWithOutput< T > Class Template Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::CompletionCallbackWithOutput" --><!-- doxytag: inherits="CompletionCallbackWithOutputBase< T, internal::CallbackOutputTraits< T > >" --><div class="dynheader">
+Inheritance diagram for pp::CompletionCallbackWithOutput< T >:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_completion_callback_with_output__inherit__graph.png" border="0" usemap="#pp_1_1_completion_callback_with_output_3_01_t_01_4_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_completion_callback_with_output_3_01_t_01_4_inherit__map" id="pp_1_1_completion_callback_with_output_3_01_t_01_4_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html" title="pp::internal::CompletionCallbackWithOutputBase\< T, internal::CallbackOutputTraits\< T \> \>" alt="" coords="228,5,825,35"></area><area shape="rect" id="node4" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl..." alt="" coords="7,5,177,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_completion_callback_with_output-members.html">List of all members.</a></p>
+<h2>
+Public Types</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">typedef <br class="typebreak" />
+<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">internal::CompletionCallbackWithOutputBase</a><br class="typebreak" />
+< T, <br class="typebreak" />
+internal::CallbackOutputTraits<br class="typebreak" />
+< T > > </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_with_output.html#adbba776ebc9de6001a08400826f9bf0f">BaseType</a></td></tr>
+</table><h2>
+Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_with_output.html#ab09283a1e9899537a5a1cf89bd03857f">CompletionCallbackWithOutput</a> (typename <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">BaseType::OutputStorageType</a> *<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a23ceea58754e1d1b6570a268f6b669b8">output</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_with_output.html#ac1b54281207b04f5646b02fc00e9ae3b">CompletionCallbackWithOutput</a> (PP_CompletionCallback_Func func, void *user_data, typename <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">BaseType::OutputStorageType</a> *<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a23ceea58754e1d1b6570a268f6b669b8">output</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_with_output.html#afabe9939e7b82c645cdb66dde80426d4">CompletionCallbackWithOutput</a> (PP_CompletionCallback_Func func, void *user_data, int32_t <a class="el" href="classpp_1_1_completion_callback.html#a60e466572fe7de362969dd41179c971f">flags</a>, typename <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">BaseType::OutputStorageType</a> *<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a23ceea58754e1d1b6570a268f6b669b8">output</a>)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><h3>template<typename T><br />
+class pp::CompletionCallbackWithOutput< T ></h3>
+<p>A <a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a> defines a completion callback that additionally stores a pointer to some output data. </p>
+<p>Some C++ wrappers take a <a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a> when the browser is returning a bit of data as part of the function call. The "output" parameter stored in the <a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a> will receive the data from the browser.</p>
+<p>You can create this yourself, but it is most common to use with the <a class="el" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe...">CompletionCallbackFactory</a>'s NewCallbackWithOutput, which manages the storage for the output parameter for you and passes it as an argument to your callback function.</p>
+<p>Note that this class doesn't actually do anything with the output data, it just stores a pointer to it. C++ wrapper objects that accept a <a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a> will retrieve this pointer and pass it to the browser as the output parameter. </p>
+</div><hr /><h2>Member Typedef Documentation</h2>
+<a class="anchor" id="adbba776ebc9de6001a08400826f9bf0f"></a><!-- doxytag: member="pp::CompletionCallbackWithOutput::BaseType" ref="adbba776ebc9de6001a08400826f9bf0f" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T > </div>
+<table class="memname">
+<tr>
+<td class="memname">typedef <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">internal::CompletionCallbackWithOutputBase</a>< T, internal::CallbackOutputTraits<T> > <a class="el" href="classpp_1_1_completion_callback_with_output.html">pp::CompletionCallbackWithOutput</a>< T >::<a class="el" href="classpp_1_1_completion_callback_with_output.html#adbba776ebc9de6001a08400826f9bf0f">BaseType</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="ab09283a1e9899537a5a1cf89bd03857f"></a><!-- doxytag: member="pp::CompletionCallbackWithOutput::CompletionCallbackWithOutput" ref="ab09283a1e9899537a5a1cf89bd03857f" args="(typename BaseType::OutputStorageType *output)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback_with_output.html">pp::CompletionCallbackWithOutput</a>< T >::<a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a> </td>
+<td>(</td>
+<td class="paramtype">typename <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">BaseType::OutputStorageType</a> * </td>
+<td class="paramname"><em>output</em></td><td>)</td>
+<td><code> [inline, explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The default constructor will create a blocking <code><a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a></code> that references the given output data. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">output</td><td>A pointer to the data associated with the callback. The caller must ensure that this pointer outlives the completion callback. In the common case, <code>OutputStorageType</code> will be equal to the template parameter T (for example, <code>CompletionCallbackWithOutput<int></code> would obviously take an int*. However, resources are passed as PP_Resource, vars as PP_Var, and arrays as our special ArrayOutputAdapter object. <code>internal::CallbackOutputTraits</code> defines specializations for all of these cases.</td></tr>
+</table>
+</dd>
+</dl>
+<p><b>Note:</b> Blocking completion callbacks are only allowed from background threads. </p>
+</div>
+</div>
+<a class="anchor" id="ac1b54281207b04f5646b02fc00e9ae3b"></a><!-- doxytag: member="pp::CompletionCallbackWithOutput::CompletionCallbackWithOutput" ref="ac1b54281207b04f5646b02fc00e9ae3b" args="(PP_CompletionCallback_Func func, void *user_data, typename BaseType::OutputStorageType *output)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback_with_output.html">pp::CompletionCallbackWithOutput</a>< T >::<a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a> </td>
+<td>(</td>
+<td class="paramtype">PP_CompletionCallback_Func </td>
+<td class="paramname"><em>func</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">void * </td>
+<td class="paramname"><em>user_data</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">typename <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">BaseType::OutputStorageType</a> * </td>
+<td class="paramname"><em>output</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor for creating a <code><a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a></code> that references the given output data. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">func</td><td>The function to be called on completion. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">user_data</td><td>The user data to be passed to the callback function. This is optional and is typically used to help track state in case of multiple pending callbacks. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">output</td><td>A pointer to the data associated with the callback. The caller must ensure that this pointer outlives the completion callback. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="afabe9939e7b82c645cdb66dde80426d4"></a><!-- doxytag: member="pp::CompletionCallbackWithOutput::CompletionCallbackWithOutput" ref="afabe9939e7b82c645cdb66dde80426d4" args="(PP_CompletionCallback_Func func, void *user_data, int32_t flags, typename BaseType::OutputStorageType *output)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback_with_output.html">pp::CompletionCallbackWithOutput</a>< T >::<a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a> </td>
+<td>(</td>
+<td class="paramtype">PP_CompletionCallback_Func </td>
+<td class="paramname"><em>func</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">void * </td>
+<td class="paramname"><em>user_data</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>flags</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">typename <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">BaseType::OutputStorageType</a> * </td>
+<td class="paramname"><em>output</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor for creating a <code><a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a></code> that references the given output data. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">func</td><td>The function to be called on completion.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">user_data</td><td>The user data to be passed to the callback function. This is optional and is typically used to help track state in case of multiple pending callbacks.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>Bit field combination of <code>PP_CompletionCallback_Flag</code> flags used to control how non-NULL callbacks are scheduled by asynchronous methods.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">output</td><td>A pointer to the data associated with the callback. The caller must ensure that this pointer outlives the completion callback. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="completion__callback_8h.html">completion_callback.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_completion_callback_with_output__inherit__graph.png b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_completion_callback_with_output__inherit__graph.png
new file mode 100644
index 0000000..565798b5
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_completion_callback_with_output__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_core-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_core-members.html
new file mode 100644
index 0000000..3f201fee
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_core-members.html
@@ -0,0 +1,20 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_core.html">pp::Core</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_core.html#a09c663df7fcb527b3e5e71ea07531899">AddRefResource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_core.html">pp::Core</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_core.html#af20d1f92600f588bc74115fcbd17a1c7">CallOnMainThread</a>(int32_t delay_in_milliseconds, const CompletionCallback &callback, int32_t result=0)</td><td><a class="el" href="classpp_1_1_core.html">pp::Core</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_core.html#a8c7991d43fc5b4fce51095ad7dccaec1">GetTime</a>()</td><td><a class="el" href="classpp_1_1_core.html">pp::Core</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_core.html#ae80748da9fe60f2b83fbf3e18978f86f">GetTimeTicks</a>()</td><td><a class="el" href="classpp_1_1_core.html">pp::Core</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_core.html#a052082be868f24d1f1807afa4eb7e7e4">IsMainThread</a>()</td><td><a class="el" href="classpp_1_1_core.html">pp::Core</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_core.html#a21f639900c480510650969df9c74d17d">Module</a> class</td><td><a class="el" href="classpp_1_1_core.html">pp::Core</a></td><td><code> [friend]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_core.html#a5fd1b4530d9f01ebf3c50115238a8195">ReleaseResource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_core.html">pp::Core</a></td><td><code> [inline]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_core.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_core.html
new file mode 100644
index 0000000..3fd7ae6
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_core.html
@@ -0,0 +1,191 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::Core Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::Core" -->
+<p><a href="classpp_1_1_core-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_core.html#a09c663df7fcb527b3e5e71ea07531899">AddRefResource</a> (PP_Resource resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_core.html#a5fd1b4530d9f01ebf3c50115238a8195">ReleaseResource</a> (PP_Resource resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_Time </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_core.html#a8c7991d43fc5b4fce51095ad7dccaec1">GetTime</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_TimeTicks </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_core.html#ae80748da9fe60f2b83fbf3e18978f86f">GetTimeTicks</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_core.html#af20d1f92600f588bc74115fcbd17a1c7">CallOnMainThread</a> (int32_t delay_in_milliseconds, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &callback, int32_t result=0)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_core.html#a052082be868f24d1f1807afa4eb7e7e4">IsMainThread</a> ()</td></tr>
+</table><h2>
+Friends</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_core.html#a21f639900c480510650969df9c74d17d">Module</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>APIs related to memory management, time, and threads. </p>
+</div><hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a09c663df7fcb527b3e5e71ea07531899"></a><!-- doxytag: member="pp::Core::AddRefResource" ref="a09c663df7fcb527b3e5e71ea07531899" args="(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_core.html#a09c663df7fcb527b3e5e71ea07531899">pp::Core::AddRefResource</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>resource</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_core.html#a09c663df7fcb527b3e5e71ea07531899" title="AddRefResource() increments the reference count for the provided resource.">AddRefResource()</a> increments the reference count for the provided <code>resource</code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a resource. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="af20d1f92600f588bc74115fcbd17a1c7"></a><!-- doxytag: member="pp::Core::CallOnMainThread" ref="af20d1f92600f588bc74115fcbd17a1c7" args="(int32_t delay_in_milliseconds, const CompletionCallback &callback, int32_t result=0)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_core.html#af20d1f92600f588bc74115fcbd17a1c7">pp::Core::CallOnMainThread</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>delay_in_milliseconds</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>callback</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>result</em> = <code>0</code> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_core.html#af20d1f92600f588bc74115fcbd17a1c7" title="CallOnMainThread() schedules work to be executed on the main pepper thread after the specified delay...">CallOnMainThread()</a> schedules work to be executed on the main pepper thread after the specified delay. </p>
+<p>The delay may be 0 to specify a call back as soon as possible.</p>
+<p>The |result| parameter will just be passed as the second argument to the callback. Many applications won't need this, but it allows a module to emulate calls of some callbacks which do use this value.</p>
+<p><b>Note:</b> <a class="el" href="classpp_1_1_core.html#af20d1f92600f588bc74115fcbd17a1c7" title="CallOnMainThread() schedules work to be executed on the main pepper thread after the specified delay...">CallOnMainThread()</a>, even when used from the main thread with a delay of 0 milliseconds, will never directly invoke the callback. Even in this case, the callback will be scheduled asynchronously.</p>
+<p><b>Note:</b> If the browser is shutting down or if the module has no instances, then the callback function may not be called.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">delay_in_milliseconds</td><td>An int32_t delay in milliseconds. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> callback function that the browser will call after the specified delay. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">result</td><td>An int32_t that the browser will pass to the given <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a8c7991d43fc5b4fce51095ad7dccaec1"></a><!-- doxytag: member="pp::Core::GetTime" ref="a8c7991d43fc5b4fce51095ad7dccaec1" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_Time <a class="el" href="classpp_1_1_core.html#a8c7991d43fc5b4fce51095ad7dccaec1">pp::Core::GetTime</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_core.html#a8c7991d43fc5b4fce51095ad7dccaec1" title='GetTime() returns the "wall clock time" according to the browser.'>GetTime()</a> returns the "wall clock time" according to the browser. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Time</code> containing the "wall clock time" according to the browser. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ae80748da9fe60f2b83fbf3e18978f86f"></a><!-- doxytag: member="pp::Core::GetTimeTicks" ref="ae80748da9fe60f2b83fbf3e18978f86f" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_TimeTicks <a class="el" href="classpp_1_1_core.html#ae80748da9fe60f2b83fbf3e18978f86f">pp::Core::GetTimeTicks</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_core.html#ae80748da9fe60f2b83fbf3e18978f86f" title='GetTimeTicks() returns the "tick time" according to the browser.'>GetTimeTicks()</a> returns the "tick time" according to the browser. </p>
+<p>This clock is used by the browser when passing some event times to the module (for example, using the <code>PP_InputEvent::time_stamp_seconds</code> field). It is not correlated to any actual wall clock time (like <a class="el" href="classpp_1_1_core.html#a8c7991d43fc5b4fce51095ad7dccaec1" title='GetTime() returns the "wall clock time" according to the browser.'>GetTime()</a>). Because of this, it will not change if the user changes their computer clock.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_TimeTicks</code> containing the "tick time" according to the browser. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a052082be868f24d1f1807afa4eb7e7e4"></a><!-- doxytag: member="pp::Core::IsMainThread" ref="a052082be868f24d1f1807afa4eb7e7e4" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_core.html#a052082be868f24d1f1807afa4eb7e7e4">pp::Core::IsMainThread</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_core.html#a052082be868f24d1f1807afa4eb7e7e4" title="IsMainThread() returns true if the current thread is the main pepper thread.">IsMainThread()</a> returns true if the current thread is the main pepper thread. </p>
+<p>This function is useful for implementing sanity checks, and deciding if dispatching using <a class="el" href="classpp_1_1_core.html#af20d1f92600f588bc74115fcbd17a1c7" title="CallOnMainThread() schedules work to be executed on the main pepper thread after the specified delay...">CallOnMainThread()</a> is required.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the current thread is the main pepper thread, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a5fd1b4530d9f01ebf3c50115238a8195"></a><!-- doxytag: member="pp::Core::ReleaseResource" ref="a5fd1b4530d9f01ebf3c50115238a8195" args="(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_core.html#a5fd1b4530d9f01ebf3c50115238a8195">pp::Core::ReleaseResource</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>resource</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_core.html#a5fd1b4530d9f01ebf3c50115238a8195" title="ReleaseResource() decrements the reference count for the provided resource.">ReleaseResource()</a> decrements the reference count for the provided <code>resource</code>. </p>
+<p>The resource will be deallocated if the reference count reaches zero.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a resource. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Friends And Related Function Documentation</h2>
+<a class="anchor" id="a21f639900c480510650969df9c74d17d"></a><!-- doxytag: member="pp::Core::Module" ref="a21f639900c480510650969df9c74d17d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">friend class <a class="el" href="classpp_1_1_module.html">Module</a><code> [friend]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="core_8h.html">core.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_directory_entry-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_directory_entry-members.html
new file mode 100644
index 0000000..dd82ae1
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_directory_entry-members.html
@@ -0,0 +1,21 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_directory_entry.html">pp::DirectoryEntry</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_directory_entry.html#abd1a4a70ed1b922a232c78be62b1fe86">DirectoryEntry</a>()</td><td><a class="el" href="classpp_1_1_directory_entry.html">pp::DirectoryEntry</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_directory_entry.html#aa8fe311e0fe27aee989f0a055ec2f2e4">DirectoryEntry</a>(PassRef, const PP_DirectoryEntry &data)</td><td><a class="el" href="classpp_1_1_directory_entry.html">pp::DirectoryEntry</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_directory_entry.html#af60a142d874f0bc2fed98bd8ae5b7cdc">DirectoryEntry</a>(const DirectoryEntry &other)</td><td><a class="el" href="classpp_1_1_directory_entry.html">pp::DirectoryEntry</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_directory_entry.html#af6ff2a3c83a6f26455573bc07f15ec4d">file_ref</a>() const </td><td><a class="el" href="classpp_1_1_directory_entry.html">pp::DirectoryEntry</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_directory_entry.html#a9c91f7dda30ef2f31ec9547f9fd9faaf">file_type</a>() const </td><td><a class="el" href="classpp_1_1_directory_entry.html">pp::DirectoryEntry</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_directory_entry.html#aea481437bc555e04429b4e7ec1005ef0">is_null</a>() const </td><td><a class="el" href="classpp_1_1_directory_entry.html">pp::DirectoryEntry</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_directory_entry.html#a7e1b5b7376a2da0a4f736eb986092556">operator=</a>(const DirectoryEntry &other)</td><td><a class="el" href="classpp_1_1_directory_entry.html">pp::DirectoryEntry</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_directory_entry.html#a3dd150a66dcb8e3b063f411d904dc356">~DirectoryEntry</a>()</td><td><a class="el" href="classpp_1_1_directory_entry.html">pp::DirectoryEntry</a></td><td></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_directory_entry.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_directory_entry.html
new file mode 100644
index 0000000..1977fe68
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_directory_entry.html
@@ -0,0 +1,198 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::DirectoryEntry Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::DirectoryEntry" -->
+<p><a href="classpp_1_1_directory_entry-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_directory_entry.html#abd1a4a70ed1b922a232c78be62b1fe86">DirectoryEntry</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_directory_entry.html#aa8fe311e0fe27aee989f0a055ec2f2e4">DirectoryEntry</a> (<a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a>, const PP_DirectoryEntry &data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_directory_entry.html#af60a142d874f0bc2fed98bd8ae5b7cdc">DirectoryEntry</a> (const <a class="el" href="classpp_1_1_directory_entry.html">DirectoryEntry</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_directory_entry.html#a3dd150a66dcb8e3b063f411d904dc356">~DirectoryEntry</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_directory_entry.html">DirectoryEntry</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_directory_entry.html#a7e1b5b7376a2da0a4f736eb986092556">operator=</a> (const <a class="el" href="classpp_1_1_directory_entry.html">DirectoryEntry</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_directory_entry.html#aea481437bc555e04429b4e7ec1005ef0">is_null</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_file_ref.html">FileRef</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_directory_entry.html#af6ff2a3c83a6f26455573bc07f15ec4d">file_ref</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_FileType </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_directory_entry.html#a9c91f7dda30ef2f31ec9547f9fd9faaf">file_type</a> () const </td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry.">DirectoryEntry</a></code> class represents information about a directory entry. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="abd1a4a70ed1b922a232c78be62b1fe86"></a><!-- doxytag: member="pp::DirectoryEntry::DirectoryEntry" ref="abd1a4a70ed1b922a232c78be62b1fe86" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_directory_entry.html#abd1a4a70ed1b922a232c78be62b1fe86">pp::DirectoryEntry::DirectoryEntry</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor for creating an <a class="el" href="classpp_1_1_directory_entry.html#aea481437bc555e04429b4e7ec1005ef0" title="This function determines if this DirectoryEntry is a null value.">is_null()</a> <code><a class="el" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry.">DirectoryEntry</a></code> object. </p>
+</div>
+</div>
+<a class="anchor" id="aa8fe311e0fe27aee989f0a055ec2f2e4"></a><!-- doxytag: member="pp::DirectoryEntry::DirectoryEntry" ref="aa8fe311e0fe27aee989f0a055ec2f2e4" args="(PassRef, const PP_DirectoryEntry &data)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_directory_entry.html#abd1a4a70ed1b922a232c78be62b1fe86">pp::DirectoryEntry::DirectoryEntry</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a> </td>
+<td class="paramname">, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const PP_DirectoryEntry & </td>
+<td class="paramname"><em>data</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used when you have a <code>PP_DirectoryEntry</code> which contains a <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code> that has already been reference counted as a return value. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>A <code>PP_DirectoryEntry</code> to be copied. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="af60a142d874f0bc2fed98bd8ae5b7cdc"></a><!-- doxytag: member="pp::DirectoryEntry::DirectoryEntry" ref="af60a142d874f0bc2fed98bd8ae5b7cdc" args="(const DirectoryEntry &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_directory_entry.html#abd1a4a70ed1b922a232c78be62b1fe86">pp::DirectoryEntry::DirectoryEntry</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_directory_entry.html">DirectoryEntry</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A copy constructor for <code><a class="el" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry.">DirectoryEntry</a></code>. </p>
+<p>This constructor increments a reference count of the <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code> held by this <a class="el" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry.">DirectoryEntry</a>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A pointer to a <code><a class="el" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry.">DirectoryEntry</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a3dd150a66dcb8e3b063f411d904dc356"></a><!-- doxytag: member="pp::DirectoryEntry::~DirectoryEntry" ref="a3dd150a66dcb8e3b063f411d904dc356" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_directory_entry.html#a3dd150a66dcb8e3b063f411d904dc356">pp::DirectoryEntry::~DirectoryEntry</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A destructor that decrements a reference count of the <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code> held by this <code><a class="el" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry.">DirectoryEntry</a></code>. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="af6ff2a3c83a6f26455573bc07f15ec4d"></a><!-- doxytag: member="pp::DirectoryEntry::file_ref" ref="af6ff2a3c83a6f26455573bc07f15ec4d" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_file_ref.html">FileRef</a> <a class="el" href="classpp_1_1_directory_entry.html#af6ff2a3c83a6f26455573bc07f15ec4d">pp::DirectoryEntry::file_ref</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function returns the <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code> held by this <code><a class="el" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry.">DirectoryEntry</a></code>. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code> of the file. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a9c91f7dda30ef2f31ec9547f9fd9faaf"></a><!-- doxytag: member="pp::DirectoryEntry::file_type" ref="a9c91f7dda30ef2f31ec9547f9fd9faaf" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_FileType <a class="el" href="classpp_1_1_directory_entry.html#a9c91f7dda30ef2f31ec9547f9fd9faaf">pp::DirectoryEntry::file_type</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function returns the <code>PP_FileType</code> of the file referenced by this <code><a class="el" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry.">DirectoryEntry</a></code>. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_FileType</code> of the file. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aea481437bc555e04429b4e7ec1005ef0"></a><!-- doxytag: member="pp::DirectoryEntry::is_null" ref="aea481437bc555e04429b4e7ec1005ef0" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_directory_entry.html#aea481437bc555e04429b4e7ec1005ef0">pp::DirectoryEntry::is_null</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function determines if this <code><a class="el" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry.">DirectoryEntry</a></code> is a null value. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if this <code><a class="el" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry.">DirectoryEntry</a></code> is null, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a7e1b5b7376a2da0a4f736eb986092556"></a><!-- doxytag: member="pp::DirectoryEntry::operator=" ref="a7e1b5b7376a2da0a4f736eb986092556" args="(const DirectoryEntry &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_directory_entry.html">DirectoryEntry</a>& pp::DirectoryEntry::operator= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_directory_entry.html">DirectoryEntry</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function assigns one <code><a class="el" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry.">DirectoryEntry</a></code> object to this <code><a class="el" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry.">DirectoryEntry</a></code> object. </p>
+<p>This function increases the reference count of the <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code> of the other <a class="el" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry.">DirectoryEntry</a> while decrementing the reference count of the <a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a> of this <a class="el" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry.">DirectoryEntry</a>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A pointer to a <code><a class="el" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry.">DirectoryEntry</a></code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A new <code><a class="el" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry.">DirectoryEntry</a></code> object. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="directory__entry_8h.html">directory_entry.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_file_i_o-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_file_i_o-members.html
new file mode 100644
index 0000000..32652b3
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_file_i_o-members.html
@@ -0,0 +1,36 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_file_i_o.html">pp::FileIO</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_i_o.html#a5f08c15cc2b23548b2e401c55102d709">Close</a>()</td><td><a class="el" href="classpp_1_1_file_i_o.html">pp::FileIO</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_i_o.html#a67b9da7adaadcb58c7429aa1984f757e">FileIO</a>()</td><td><a class="el" href="classpp_1_1_file_i_o.html">pp::FileIO</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_i_o.html#a7c3f17d75a139e92b2cdc52d8f2f5fd0">FileIO</a>(const InstanceHandle &instance)</td><td><a class="el" href="classpp_1_1_file_i_o.html">pp::FileIO</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_i_o.html#a7bc6f391da690a381874111e350692f0">FileIO</a>(const FileIO &other)</td><td><a class="el" href="classpp_1_1_file_i_o.html">pp::FileIO</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_i_o.html#a074d9c13b5825b378c343e5dd890d789">Flush</a>(const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_file_i_o.html">pp::FileIO</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_i_o.html#adafce7733e27fc3bf12cdb7833927bae">Open</a>(const FileRef &file_ref, int32_t open_flags, const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_file_i_o.html">pp::FileIO</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_i_o.html#a0e1cb3e0e2f1cd73c0d5a08a20e60fab">Query</a>(PP_FileInfo *result_buf, const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_file_i_o.html">pp::FileIO</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_i_o.html#a9e4576a9a5c946b4aa971daca526e457">Read</a>(int64_t offset, char *buffer, int32_t bytes_to_read, const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_file_i_o.html">pp::FileIO</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_i_o.html#a809ad6c8aa27f647c044c7053a84867a">Read</a>(int32_t offset, int32_t max_read_length, const CompletionCallbackWithOutput< std::vector< char > > &cc)</td><td><a class="el" href="classpp_1_1_file_i_o.html">pp::FileIO</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_i_o.html#a49014400d013c27b9950368f54974935">SetLength</a>(int64_t length, const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_file_i_o.html">pp::FileIO</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_i_o.html#a30766070559c1b719784ebc4f8d369f4">Touch</a>(PP_Time last_access_time, PP_Time last_modified_time, const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_file_i_o.html">pp::FileIO</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_i_o.html#a9ef23f569178ce6a53536fb27d459bcf">Write</a>(int64_t offset, const char *buffer, int32_t bytes_to_write, const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_file_i_o.html">pp::FileIO</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_file_i_o.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_file_i_o.html
new file mode 100644
index 0000000..7631295d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_file_i_o.html
@@ -0,0 +1,465 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::FileIO Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::FileIO" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::FileIO:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_file_i_o__inherit__graph.png" border="0" usemap="#pp_1_1_file_i_o_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_file_i_o_inherit__map" id="pp_1_1_file_i_o_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="5,5,109,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_file_i_o-members.html">List of all members.</a></p>
+<h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><b>CallbackData1_0</b></td></tr>
+</table><h2>
+Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_i_o.html#a67b9da7adaadcb58c7429aa1984f757e">FileIO</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_i_o.html#a7c3f17d75a139e92b2cdc52d8f2f5fd0">FileIO</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_i_o.html#a7bc6f391da690a381874111e350692f0">FileIO</a> (const <a class="el" href="classpp_1_1_file_i_o.html">FileIO</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_i_o.html#adafce7733e27fc3bf12cdb7833927bae">Open</a> (const <a class="el" href="classpp_1_1_file_ref.html">FileRef</a> &file_ref, int32_t open_flags, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_i_o.html#a0e1cb3e0e2f1cd73c0d5a08a20e60fab">Query</a> (PP_FileInfo *result_buf, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_i_o.html#a30766070559c1b719784ebc4f8d369f4">Touch</a> (PP_Time last_access_time, PP_Time last_modified_time, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_i_o.html#a9e4576a9a5c946b4aa971daca526e457">Read</a> (int64_t offset, char *buffer, int32_t bytes_to_read, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_i_o.html#a809ad6c8aa27f647c044c7053a84867a">Read</a> (int32_t offset, int32_t max_read_length, const <a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a>< std::vector< char > > &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_i_o.html#a9ef23f569178ce6a53536fb27d459bcf">Write</a> (int64_t offset, const char *buffer, int32_t bytes_to_write, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_i_o.html#a49014400d013c27b9950368f54974935">SetLength</a> (int64_t length, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_i_o.html#a074d9c13b5825b378c343e5dd890d789">Flush</a> (const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_i_o.html#a5f08c15cc2b23548b2e401c55102d709">Close</a> ()</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a></code> class represents a regular file. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a67b9da7adaadcb58c7429aa1984f757e"></a><!-- doxytag: member="pp::FileIO::FileIO" ref="a67b9da7adaadcb58c7429aa1984f757e" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_file_i_o.html#a67b9da7adaadcb58c7429aa1984f757e">pp::FileIO::FileIO</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor for creating an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> <code><a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a></code> object. </p>
+</div>
+</div>
+<a class="anchor" id="a7c3f17d75a139e92b2cdc52d8f2f5fd0"></a><!-- doxytag: member="pp::FileIO::FileIO" ref="a7c3f17d75a139e92b2cdc52d8f2f5fd0" args="(const InstanceHandle &instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_file_i_o.html#a67b9da7adaadcb58c7429aa1984f757e">pp::FileIO::FileIO</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used to create a <code><a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a></code> and associate it with the provided <code><a class="el" href="classpp_1_1_instance.html">Instance</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a7bc6f391da690a381874111e350692f0"></a><!-- doxytag: member="pp::FileIO::FileIO" ref="a7bc6f391da690a381874111e350692f0" args="(const FileIO &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_file_i_o.html#a67b9da7adaadcb58c7429aa1984f757e">pp::FileIO::FileIO</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_file_i_o.html">FileIO</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The copy constructor for <code><a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A reference to a <code><a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a5f08c15cc2b23548b2e401c55102d709"></a><!-- doxytag: member="pp::FileIO::Close" ref="a5f08c15cc2b23548b2e401c55102d709" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_file_i_o.html#a5f08c15cc2b23548b2e401c55102d709">pp::FileIO::Close</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_i_o.html#a5f08c15cc2b23548b2e401c55102d709" title="Close() cancels any IO that may be pending, and closes the FileIO object.">Close()</a> cancels any IO that may be pending, and closes the <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a> object. </p>
+<p>Any pending callbacks will still run, reporting <code>PP_ERROR_ABORTED</code> if pending IO was interrupted. It is not valid to call <a class="el" href="classpp_1_1_file_i_o.html#adafce7733e27fc3bf12cdb7833927bae" title="Open() opens the specified regular file for I/O according to the given open flags, which is a bit-mask of the PP_FileOpenFlags values.">Open()</a> again after a call to this method.</p>
+<p><b>Note:</b> If the <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a> object is destroyed, and it is still open, then it will be implicitly closed, so you are not required to call <a class="el" href="classpp_1_1_file_i_o.html#a5f08c15cc2b23548b2e401c55102d709" title="Close() cancels any IO that may be pending, and closes the FileIO object.">Close()</a>. </p>
+</div>
+</div>
+<a class="anchor" id="a074d9c13b5825b378c343e5dd890d789"></a><!-- doxytag: member="pp::FileIO::Flush" ref="a074d9c13b5825b378c343e5dd890d789" args="(const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_file_i_o.html#a074d9c13b5825b378c343e5dd890d789">pp::FileIO::Flush</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_i_o.html#a074d9c13b5825b378c343e5dd890d789" title="Flush() flushes changes to disk.">Flush()</a> flushes changes to disk. </p>
+<p>This call can be very expensive!</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion of <a class="el" href="classpp_1_1_file_i_o.html#a074d9c13b5825b378c343e5dd890d789" title="Flush() flushes changes to disk.">Flush()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="adafce7733e27fc3bf12cdb7833927bae"></a><!-- doxytag: member="pp::FileIO::Open" ref="adafce7733e27fc3bf12cdb7833927bae" args="(const FileRef &file_ref, int32_t open_flags, const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_file_i_o.html#adafce7733e27fc3bf12cdb7833927bae">pp::FileIO::Open</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_file_ref.html">FileRef</a> & </td>
+<td class="paramname"><em>file_ref</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>open_flags</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_i_o.html#adafce7733e27fc3bf12cdb7833927bae" title="Open() opens the specified regular file for I/O according to the given open flags, which is a bit-mask of the PP_FileOpenFlags values.">Open()</a> opens the specified regular file for I/O according to the given open flags, which is a bit-mask of the PP_FileOpenFlags values. </p>
+<p>Upon success, the corresponding file is classified as "in use" by this <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a> object until such time as the <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a> object is closed or destroyed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_ref</td><td>A <code>PP_Resource</code> corresponding to a file reference.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">open_flags</td><td>A bit-mask of the <code>PP_FileOpenFlags</code> values. Valid values are:<ul>
+<li>PP_FILEOPENFLAG_READ</li>
+<li>PP_FILEOPENFLAG_WRITE</li>
+<li>PP_FILEOPENFLAG_CREATE</li>
+<li>PP_FILEOPENFLAG_TRUNCATE</li>
+<li>PP_FILEOPENFLAG_EXCLUSIVE See <code>PP_FileOpenFlags</code> in <code>ppb_file_io.h</code> for more details on these flags.</li>
+</ul>
+</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion of <a class="el" href="classpp_1_1_file_i_o.html#adafce7733e27fc3bf12cdb7833927bae" title="Open() opens the specified regular file for I/O according to the given open flags, which is a bit-mask of the PP_FileOpenFlags values.">Open()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a0e1cb3e0e2f1cd73c0d5a08a20e60fab"></a><!-- doxytag: member="pp::FileIO::Query" ref="a0e1cb3e0e2f1cd73c0d5a08a20e60fab" args="(PP_FileInfo *result_buf, const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_file_i_o.html#a0e1cb3e0e2f1cd73c0d5a08a20e60fab">pp::FileIO::Query</a> </td>
+<td>(</td>
+<td class="paramtype">PP_FileInfo * </td>
+<td class="paramname"><em>result_buf</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_i_o.html#a0e1cb3e0e2f1cd73c0d5a08a20e60fab" title="Query() queries info about the file opened by this FileIO object.">Query()</a> queries info about the file opened by this <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a> object. </p>
+<p>This function will fail if the <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a> object has not been opened.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">result_buf</td><td>The <code>PP_FileInfo</code> structure representing all information about the file. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion of <a class="el" href="classpp_1_1_file_i_o.html#a0e1cb3e0e2f1cd73c0d5a08a20e60fab" title="Query() queries info about the file opened by this FileIO object.">Query()</a>. <code>result_buf</code> must remain valid until after the callback runs. If you pass a blocking callback, <code>result_buf</code> must remain valid until after <a class="el" href="classpp_1_1_file_i_o.html#a0e1cb3e0e2f1cd73c0d5a08a20e60fab" title="Query() queries info about the file opened by this FileIO object.">Query()</a> returns.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a9e4576a9a5c946b4aa971daca526e457"></a><!-- doxytag: member="pp::FileIO::Read" ref="a9e4576a9a5c946b4aa971daca526e457" args="(int64_t offset, char *buffer, int32_t bytes_to_read, const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_file_i_o.html#a9e4576a9a5c946b4aa971daca526e457">pp::FileIO::Read</a> </td>
+<td>(</td>
+<td class="paramtype">int64_t </td>
+<td class="paramname"><em>offset</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">char * </td>
+<td class="paramname"><em>buffer</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>bytes_to_read</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Reads from an offset in the file. </p>
+<p>The size of the buffer must be large enough to hold the specified number of bytes to read. This function might perform a partial read, meaning that all the requested bytes might not be returned, even if the end of the file has not been reached.</p>
+<p>This function reads into a buffer that the caller supplies. This buffer must remain valid as long as the <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a> resource is alive. If you use a completion callback factory and it goes out of scope, it will not issue the callback on your class, BUT the callback factory can NOT cancel the request from the browser's perspective. This means that the browser will still try to write to your buffer even if the callback factory is destroyed!</p>
+<p>So you must ensure that your buffer outlives the <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a> resource. If you have one class and use the <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a> resource exclusively from that class and never make any copies, this will be fine: the resource will be destroyed when your class is. But keep in mind that copying a <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">pp::FileIO</a> object just creates a second reference to the original resource. For example, if you have a function like this: <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">pp::FileIO</a> MyClass::GetFileIO(); where a copy of your <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a> resource could outlive your class, the callback will still be pending when your class goes out of scope, creating the possibility of writing into invalid memory. So it's recommended to keep your <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a> resource and any output buffers tightly controlled in the same scope.</p>
+<p><b>Caveat:</b> This <a class="el" href="classpp_1_1_file_i_o.html#a9e4576a9a5c946b4aa971daca526e457" title="Reads from an offset in the file.">Read()</a> is potentially unsafe if you're using a <a class="el" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe...">CompletionCallbackFactory</a> to scope callbacks to the lifetime of your class. When your class goes out of scope, the callback factory will not actually cancel the callback, but will rather just skip issuing the callback on your class. This means that if the <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a> object outlives your class (if you made a copy saved somewhere else, for example), then the browser will still try to write into your buffer when the asynchronous read completes, potentially causing a crash.</p>
+<p>See the other version of <a class="el" href="classpp_1_1_file_i_o.html#a9e4576a9a5c946b4aa971daca526e457" title="Reads from an offset in the file.">Read()</a> which avoids this problem by writing into <a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a>, where the output buffer is automatically managed by the callback.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">offset</td><td>The offset into the file. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">buffer</td><td>The buffer to hold the specified number of bytes read. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">bytes_to_read</td><td>The number of bytes to read from <code>offset</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion of <a class="el" href="classpp_1_1_file_i_o.html#a9e4576a9a5c946b4aa971daca526e457" title="Reads from an offset in the file.">Read()</a>. <code>buffer</code> must remain valid until after the callback runs. If you pass a blocking callback, <code>buffer</code> must remain valid until after <a class="el" href="classpp_1_1_file_i_o.html#a9e4576a9a5c946b4aa971daca526e457" title="Reads from an offset in the file.">Read()</a> returns.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An The number of bytes read an error code from <code>pp_errors.h</code>. If the return value is 0, then end-of-file was reached. It is valid to call <a class="el" href="classpp_1_1_file_i_o.html#a9e4576a9a5c946b4aa971daca526e457" title="Reads from an offset in the file.">Read()</a> multiple times with a completion callback to queue up parallel reads from the file at different offsets. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a809ad6c8aa27f647c044c7053a84867a"></a><!-- doxytag: member="pp::FileIO::Read" ref="a809ad6c8aa27f647c044c7053a84867a" args="(int32_t offset, int32_t max_read_length, const CompletionCallbackWithOutput< std::vector< char > > &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_file_i_o.html#a9e4576a9a5c946b4aa971daca526e457">pp::FileIO::Read</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>offset</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>max_read_length</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a>< std::vector< char > > & </td>
+<td class="paramname"><em>cc</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_i_o.html#a9e4576a9a5c946b4aa971daca526e457" title="Reads from an offset in the file.">Read()</a> reads from an offset in the file. </p>
+<p>A PP_ArrayOutput must be provided so that output will be stored in its allocated buffer. This function might perform a partial read.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_io</td><td>A <code>PP_Resource</code> corresponding to a file <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">offset</td><td>The offset into the file. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">max_read_length</td><td>The maximum number of bytes to read from <code>offset</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">output</td><td>A <code>PP_ArrayOutput</code> to hold the output data. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code>PP_CompletionCallback</code> to be called upon completion of <a class="el" href="classpp_1_1_file_i_o.html#a9e4576a9a5c946b4aa971daca526e457" title="Reads from an offset in the file.">Read()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The number of bytes read or an error code from <code>pp_errors.h</code>. If the return value is 0, then end-of-file was reached. It is valid to call <a class="el" href="classpp_1_1_file_i_o.html#a9e4576a9a5c946b4aa971daca526e457" title="Reads from an offset in the file.">Read()</a> multiple times with a completion callback to queue up parallel reads from the file, but pending reads cannot be interleaved with other operations. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a49014400d013c27b9950368f54974935"></a><!-- doxytag: member="pp::FileIO::SetLength" ref="a49014400d013c27b9950368f54974935" args="(int64_t length, const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_file_i_o.html#a49014400d013c27b9950368f54974935">pp::FileIO::SetLength</a> </td>
+<td>(</td>
+<td class="paramtype">int64_t </td>
+<td class="paramname"><em>length</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_i_o.html#a49014400d013c27b9950368f54974935" title="SetLength() sets the length of the file.">SetLength()</a> sets the length of the file. </p>
+<p>If the file size is extended, then the extended area of the file is zero-filled. The <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a> object must have been opened with write access.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>The length of the file to be set. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion of <a class="el" href="classpp_1_1_file_i_o.html#a49014400d013c27b9950368f54974935" title="SetLength() sets the length of the file.">SetLength()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a30766070559c1b719784ebc4f8d369f4"></a><!-- doxytag: member="pp::FileIO::Touch" ref="a30766070559c1b719784ebc4f8d369f4" args="(PP_Time last_access_time, PP_Time last_modified_time, const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_file_i_o.html#a30766070559c1b719784ebc4f8d369f4">pp::FileIO::Touch</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Time </td>
+<td class="paramname"><em>last_access_time</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_Time </td>
+<td class="paramname"><em>last_modified_time</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_i_o.html#a30766070559c1b719784ebc4f8d369f4" title="Touch() Updates time stamps for the file opened by this FileIO object.">Touch()</a> Updates time stamps for the file opened by this <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a> object. </p>
+<p>This function will fail if the <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a> object has not been opened.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">last_access_time</td><td>The last time the <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a> was accessed. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">last_modified_time</td><td>The last time the <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a> was modified. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion of <a class="el" href="classpp_1_1_file_i_o.html#a30766070559c1b719784ebc4f8d369f4" title="Touch() Updates time stamps for the file opened by this FileIO object.">Touch()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a9ef23f569178ce6a53536fb27d459bcf"></a><!-- doxytag: member="pp::FileIO::Write" ref="a9ef23f569178ce6a53536fb27d459bcf" args="(int64_t offset, const char *buffer, int32_t bytes_to_write, const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_file_i_o.html#a9ef23f569178ce6a53536fb27d459bcf">pp::FileIO::Write</a> </td>
+<td>(</td>
+<td class="paramtype">int64_t </td>
+<td class="paramname"><em>offset</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const char * </td>
+<td class="paramname"><em>buffer</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>bytes_to_write</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_i_o.html#a9ef23f569178ce6a53536fb27d459bcf" title="Write() writes to an offset in the file.">Write()</a> writes to an offset in the file. </p>
+<p>This function might perform a partial write. The <a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a> object must have been opened with write access.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">offset</td><td>The offset into the file. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">buffer</td><td>The buffer to hold the specified number of bytes read. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">bytes_to_write</td><td>The number of bytes to write to <code>offset</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion of <a class="el" href="classpp_1_1_file_i_o.html#a9ef23f569178ce6a53536fb27d459bcf" title="Write() writes to an offset in the file.">Write()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An The number of bytes written or an error code from <code>pp_errors.h</code>. If the return value is 0, then end-of-file was reached. It is valid to call <a class="el" href="classpp_1_1_file_i_o.html#a9ef23f569178ce6a53536fb27d459bcf" title="Write() writes to an offset in the file.">Write()</a> multiple times with a completion callback to queue up parallel writes to the file at different offsets. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="file__io_8h.html">file_io.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_file_i_o__inherit__graph.png b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_file_i_o__inherit__graph.png
new file mode 100644
index 0000000..d2df2b1
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_file_i_o__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_file_ref-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_file_ref-members.html
new file mode 100644
index 0000000..28f2394
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_file_ref-members.html
@@ -0,0 +1,40 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_file_ref.html">pp::FileRef</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_ref.html#abfdb9c3db04b0ef2591953f79c255873">Delete</a>(const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_file_ref.html">pp::FileRef</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_ref.html#a4c79db956157379aa877e57ff06d2c10">FileRef</a>()</td><td><a class="el" href="classpp_1_1_file_ref.html">pp::FileRef</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_ref.html#a3345910589954a8fb573cdf2c82166b0">FileRef</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_file_ref.html">pp::FileRef</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_ref.html#a50652a877b8c02c736f86b1d69fc9b11">FileRef</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_file_ref.html">pp::FileRef</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_ref.html#a95aad2e3c8d9b52b1ac09279c8cf8113">FileRef</a>(const FileSystem &file_system, const char *path)</td><td><a class="el" href="classpp_1_1_file_ref.html">pp::FileRef</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_ref.html#a9a66f16e7d9a4198c206144bc3498ec5">FileRef</a>(const FileRef &other)</td><td><a class="el" href="classpp_1_1_file_ref.html">pp::FileRef</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_ref.html#a71de4e20d117efcf4ac8000c2149e3f8">GetFileSystemType</a>() const </td><td><a class="el" href="classpp_1_1_file_ref.html">pp::FileRef</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_ref.html#acb186b79d906675e288ff5d0d0a7eab2">GetName</a>() const </td><td><a class="el" href="classpp_1_1_file_ref.html">pp::FileRef</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_ref.html#a514534c1a31732e328e062bdaa194919">GetParent</a>() const </td><td><a class="el" href="classpp_1_1_file_ref.html">pp::FileRef</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_ref.html#a657da250b3ff47ca8f1c616f9ebee6a0">GetPath</a>() const </td><td><a class="el" href="classpp_1_1_file_ref.html">pp::FileRef</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_ref.html#a4efd10cfc69432acb57b2315c5aba44e">MakeDirectory</a>(const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_file_ref.html">pp::FileRef</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_ref.html#acf2f9918c2d1b95e64243a2097f2b5ff">MakeDirectoryIncludingAncestors</a>(const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_file_ref.html">pp::FileRef</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_ref.html#a6de22adc35e4485dfba663dad64c15fb">Query</a>(const CompletionCallbackWithOutput< PP_FileInfo > &callback)</td><td><a class="el" href="classpp_1_1_file_ref.html">pp::FileRef</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_ref.html#af16f7bba00d624a16a1d9b9b09347c8c">ReadDirectoryEntries</a>(const CompletionCallbackWithOutput< std::vector< DirectoryEntry > > &callback)</td><td><a class="el" href="classpp_1_1_file_ref.html">pp::FileRef</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_ref.html#ab1d7f8a63643561a6529952faa881505">Rename</a>(const FileRef &new_file_ref, const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_file_ref.html">pp::FileRef</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_ref.html#ab8e5d24d96c7408b140b74aa0ed8d7ca">Touch</a>(PP_Time last_access_time, PP_Time last_modified_time, const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_file_ref.html">pp::FileRef</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_file_ref.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_file_ref.html
new file mode 100644
index 0000000..845a8e5a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_file_ref.html
@@ -0,0 +1,457 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::FileRef Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::FileRef" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::FileRef:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_file_ref__inherit__graph.png" border="0" usemap="#pp_1_1_file_ref_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_file_ref_inherit__map" id="pp_1_1_file_ref_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="5,5,109,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_file_ref-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_ref.html#a4c79db956157379aa877e57ff06d2c10">FileRef</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_ref.html#a3345910589954a8fb573cdf2c82166b0">FileRef</a> (PP_Resource resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_ref.html#a50652a877b8c02c736f86b1d69fc9b11">FileRef</a> (<a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a>, PP_Resource resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_ref.html#a95aad2e3c8d9b52b1ac09279c8cf8113">FileRef</a> (const <a class="el" href="classpp_1_1_file_system.html">FileSystem</a> &file_system, const char *path)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_ref.html#a9a66f16e7d9a4198c206144bc3498ec5">FileRef</a> (const <a class="el" href="classpp_1_1_file_ref.html">FileRef</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_FileSystemType </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_ref.html#a71de4e20d117efcf4ac8000c2149e3f8">GetFileSystemType</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_ref.html#acb186b79d906675e288ff5d0d0a7eab2">GetName</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_ref.html#a657da250b3ff47ca8f1c616f9ebee6a0">GetPath</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_file_ref.html">FileRef</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_ref.html#a514534c1a31732e328e062bdaa194919">GetParent</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_ref.html#a4efd10cfc69432acb57b2315c5aba44e">MakeDirectory</a> (const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_ref.html#acf2f9918c2d1b95e64243a2097f2b5ff">MakeDirectoryIncludingAncestors</a> (const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_ref.html#ab8e5d24d96c7408b140b74aa0ed8d7ca">Touch</a> (PP_Time last_access_time, PP_Time last_modified_time, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_ref.html#abfdb9c3db04b0ef2591953f79c255873">Delete</a> (const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_ref.html#ab1d7f8a63643561a6529952faa881505">Rename</a> (const <a class="el" href="classpp_1_1_file_ref.html">FileRef</a> &new_file_ref, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_ref.html#a6de22adc35e4485dfba663dad64c15fb">Query</a> (const <a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a>< PP_FileInfo > &callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_ref.html#af16f7bba00d624a16a1d9b9b09347c8c">ReadDirectoryEntries</a> (const <a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a>< std::vector< <a class="el" href="classpp_1_1_directory_entry.html">DirectoryEntry</a> > > &callback)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code> class represents a "weak pointer" to a file in a file system. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a4c79db956157379aa877e57ff06d2c10"></a><!-- doxytag: member="pp::FileRef::FileRef" ref="a4c79db956157379aa877e57ff06d2c10" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_file_ref.html#a4c79db956157379aa877e57ff06d2c10">pp::FileRef::FileRef</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor for creating an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code> object. </p>
+</div>
+</div>
+<a class="anchor" id="a3345910589954a8fb573cdf2c82166b0"></a><!-- doxytag: member="pp::FileRef::FileRef" ref="a3345910589954a8fb573cdf2c82166b0" args="(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_file_ref.html#a4c79db956157379aa877e57ff06d2c10">pp::FileRef::FileRef</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>resource</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used when you have an existing PP_Resource for a <a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a> and which to create a C++ object that takes an additional reference to the resource. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A PP_Resource corresponding to file reference. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a50652a877b8c02c736f86b1d69fc9b11"></a><!-- doxytag: member="pp::FileRef::FileRef" ref="a50652a877b8c02c736f86b1d69fc9b11" args="(PassRef, PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_file_ref.html#a4c79db956157379aa877e57ff06d2c10">pp::FileRef::FileRef</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a> </td>
+<td class="paramname">, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>resource</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used when you have received a PP_Resource as a return value that has already been reference counted. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A PP_Resource corresponding to file reference. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a95aad2e3c8d9b52b1ac09279c8cf8113"></a><!-- doxytag: member="pp::FileRef::FileRef" ref="a95aad2e3c8d9b52b1ac09279c8cf8113" args="(const FileSystem &file_system, const char *path)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_file_ref.html#a4c79db956157379aa877e57ff06d2c10">pp::FileRef::FileRef</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_file_system.html">FileSystem</a> & </td>
+<td class="paramname"><em>file_system</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const char * </td>
+<td class="paramname"><em>path</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor that creates a weak pointer to a file in the given file system. </p>
+<p>File paths are POSIX style.</p>
+<p>If the <code>path</code> is malformed, the resulting <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code> will have a null <code>PP_Resource</code>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_system</td><td>A <code><a class="el" href="classpp_1_1_file_system.html" title="The FileSystem class identifies the file system type associated with a file.">FileSystem</a></code> corresponding to a file system type. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">path</td><td>A path to the file. Must begin with a '/' character. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a9a66f16e7d9a4198c206144bc3498ec5"></a><!-- doxytag: member="pp::FileRef::FileRef" ref="a9a66f16e7d9a4198c206144bc3498ec5" args="(const FileRef &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_file_ref.html#a4c79db956157379aa877e57ff06d2c10">pp::FileRef::FileRef</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_file_ref.html">FileRef</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The copy constructor for <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A pointer to a <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="abfdb9c3db04b0ef2591953f79c255873"></a><!-- doxytag: member="pp::FileRef::Delete" ref="abfdb9c3db04b0ef2591953f79c255873" args="(const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_file_ref.html#abfdb9c3db04b0ef2591953f79c255873">pp::FileRef::Delete</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_ref.html#abfdb9c3db04b0ef2591953f79c255873" title="Delete() deletes a file or directory.">Delete()</a> deletes a file or directory. </p>
+<p>If <code>file_ref</code> refers to a directory, then the directory must be empty. It is an error to delete a file or directory that is in use. It is not valid to delete a file in the external file system.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion of <a class="el" href="classpp_1_1_file_ref.html#abfdb9c3db04b0ef2591953f79c255873" title="Delete() deletes a file or directory.">Delete()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a71de4e20d117efcf4ac8000c2149e3f8"></a><!-- doxytag: member="pp::FileRef::GetFileSystemType" ref="a71de4e20d117efcf4ac8000c2149e3f8" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_FileSystemType <a class="el" href="classpp_1_1_file_ref.html#a71de4e20d117efcf4ac8000c2149e3f8">pp::FileRef::GetFileSystemType</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_ref.html#a71de4e20d117efcf4ac8000c2149e3f8" title="GetFileSystemType() returns the type of the file system.">GetFileSystemType()</a> returns the type of the file system. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_FileSystemType</code> with the file system type if valid or <code>PP_FILESYSTEMTYPE_INVALID</code> if the provided resource is not a valid file reference. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="acb186b79d906675e288ff5d0d0a7eab2"></a><!-- doxytag: member="pp::FileRef::GetName" ref="acb186b79d906675e288ff5d0d0a7eab2" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_file_ref.html#acb186b79d906675e288ff5d0d0a7eab2">pp::FileRef::GetName</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_ref.html#acb186b79d906675e288ff5d0d0a7eab2" title="GetName() returns the name of the file.">GetName()</a> returns the name of the file. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing the name of the file. The value returned by this function does not include any path components (such as the name of the parent directory, for example). It is just the name of the file. Use <a class="el" href="classpp_1_1_file_ref.html#a657da250b3ff47ca8f1c616f9ebee6a0" title="GetPath() returns the absolute path of the file.">GetPath()</a> to get the full file path. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a514534c1a31732e328e062bdaa194919"></a><!-- doxytag: member="pp::FileRef::GetParent" ref="a514534c1a31732e328e062bdaa194919" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_file_ref.html">FileRef</a> <a class="el" href="classpp_1_1_file_ref.html#a514534c1a31732e328e062bdaa194919">pp::FileRef::GetParent</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_ref.html#a514534c1a31732e328e062bdaa194919" title="GetParent() returns the parent directory of this file.">GetParent()</a> returns the parent directory of this file. </p>
+<p>If <code>file_ref</code> points to the root of the filesystem, then the root is returned.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code> containing the parent directory of the file. This function fails if the file system type is <code>PP_FileSystemType_External</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a657da250b3ff47ca8f1c616f9ebee6a0"></a><!-- doxytag: member="pp::FileRef::GetPath" ref="a657da250b3ff47ca8f1c616f9ebee6a0" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_file_ref.html#a657da250b3ff47ca8f1c616f9ebee6a0">pp::FileRef::GetPath</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_ref.html#a657da250b3ff47ca8f1c616f9ebee6a0" title="GetPath() returns the absolute path of the file.">GetPath()</a> returns the absolute path of the file. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing the absolute path of the file. This function fails if the file system type is <code>PP_FileSystemType_External</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a4efd10cfc69432acb57b2315c5aba44e"></a><!-- doxytag: member="pp::FileRef::MakeDirectory" ref="a4efd10cfc69432acb57b2315c5aba44e" args="(const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_file_ref.html#a4efd10cfc69432acb57b2315c5aba44e">pp::FileRef::MakeDirectory</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_ref.html#a4efd10cfc69432acb57b2315c5aba44e" title="MakeDirectory() makes a new directory in the file system.">MakeDirectory()</a> makes a new directory in the file system. </p>
+<p>It is not valid to make a directory in the external file system. <b>Note:</b> Use <a class="el" href="classpp_1_1_file_ref.html#acf2f9918c2d1b95e64243a2097f2b5ff" title="MakeDirectoryIncludingAncestors() makes a new directory in the file system as well as any parent dire...">MakeDirectoryIncludingAncestors()</a> to create parent directories.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion of <a class="el" href="classpp_1_1_file_ref.html#a4efd10cfc69432acb57b2315c5aba44e" title="MakeDirectory() makes a new directory in the file system.">MakeDirectory()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. Succeeds if the directory already exists. Fails if ancestor directortories do not exist (see MakeDirectoryIncludingAncestors for the alternative). </dd></dl>
+</div>
+</div>
+<a class="anchor" id="acf2f9918c2d1b95e64243a2097f2b5ff"></a><!-- doxytag: member="pp::FileRef::MakeDirectoryIncludingAncestors" ref="acf2f9918c2d1b95e64243a2097f2b5ff" args="(const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_file_ref.html#acf2f9918c2d1b95e64243a2097f2b5ff">pp::FileRef::MakeDirectoryIncludingAncestors</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_ref.html#acf2f9918c2d1b95e64243a2097f2b5ff" title="MakeDirectoryIncludingAncestors() makes a new directory in the file system as well as any parent dire...">MakeDirectoryIncludingAncestors()</a> makes a new directory in the file system as well as any parent directories. </p>
+<p>It is not valid to make a directory in the external file system.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion of <a class="el" href="classpp_1_1_file_ref.html#acf2f9918c2d1b95e64243a2097f2b5ff" title="MakeDirectoryIncludingAncestors() makes a new directory in the file system as well as any parent dire...">MakeDirectoryIncludingAncestors()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. Succeeds if the directory already exists. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a6de22adc35e4485dfba663dad64c15fb"></a><!-- doxytag: member="pp::FileRef::Query" ref="a6de22adc35e4485dfba663dad64c15fb" args="(const CompletionCallbackWithOutput< PP_FileInfo > &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_file_ref.html#a6de22adc35e4485dfba663dad64c15fb">pp::FileRef::Query</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a>< PP_FileInfo > & </td>
+<td class="paramname"><em>callback</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_ref.html#a6de22adc35e4485dfba663dad64c15fb" title="Query() queries info about a file or directory.">Query()</a> queries info about a file or directory. </p>
+<p>You must have access to read this file or directory if it exists in the external filesystem.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a></code> to be called upon completion of <a class="el" href="classpp_1_1_file_ref.html#a6de22adc35e4485dfba663dad64c15fb" title="Query() queries info about a file or directory.">Query()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="af16f7bba00d624a16a1d9b9b09347c8c"></a><!-- doxytag: member="pp::FileRef::ReadDirectoryEntries" ref="af16f7bba00d624a16a1d9b9b09347c8c" args="(const CompletionCallbackWithOutput< std::vector< DirectoryEntry > > &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_file_ref.html#af16f7bba00d624a16a1d9b9b09347c8c">pp::FileRef::ReadDirectoryEntries</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a>< std::vector< <a class="el" href="classpp_1_1_directory_entry.html">DirectoryEntry</a> > > & </td>
+<td class="paramname"><em>callback</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_ref.html#af16f7bba00d624a16a1d9b9b09347c8c" title="ReadDirectoryEntries() Reads all entries in the directory.">ReadDirectoryEntries()</a> Reads all entries in the directory. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a></code> to be called upon completion of <a class="el" href="classpp_1_1_file_ref.html#af16f7bba00d624a16a1d9b9b09347c8c" title="ReadDirectoryEntries() Reads all entries in the directory.">ReadDirectoryEntries()</a>. On success, the directory entries will be passed to the given function.</td></tr>
+</table>
+</dd>
+</dl>
+<p>Normally you would use a <a class="el" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe...">CompletionCallbackFactory</a> to allow callbacks to be bound to your class. See <a class="el" href="completion__callback__factory_8h.html" title="This file defines the API to create CompletionCallback objects that are bound to member functions...">completion_callback_factory.h</a> for more discussion on how to use this. Your callback will generally look like:</p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">void</span> OnReadDirectoryEntries(
+ int32_t result,
+ <span class="keyword">const</span> std::vector<DirectoryEntry>& entries) {
+ <span class="keywordflow">if</span> (result == PP_OK)
+ <span class="comment">// use entries...</span>
+ }
+</pre></div><dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab1d7f8a63643561a6529952faa881505"></a><!-- doxytag: member="pp::FileRef::Rename" ref="ab1d7f8a63643561a6529952faa881505" args="(const FileRef &new_file_ref, const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_file_ref.html#ab1d7f8a63643561a6529952faa881505">pp::FileRef::Rename</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_file_ref.html">FileRef</a> & </td>
+<td class="paramname"><em>new_file_ref</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_ref.html#ab1d7f8a63643561a6529952faa881505" title="Rename() renames a file or directory.">Rename()</a> renames a file or directory. </p>
+<p>Argument <code>new_file_ref</code> must refer to files in the same file system as in this object. It is an error to rename a file or directory that is in use. It is not valid to rename a file in the external file system.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">new_file_ref</td><td>A <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code> corresponding to a new file reference. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion of <a class="el" href="classpp_1_1_file_ref.html#ab1d7f8a63643561a6529952faa881505" title="Rename() renames a file or directory.">Rename()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab8e5d24d96c7408b140b74aa0ed8d7ca"></a><!-- doxytag: member="pp::FileRef::Touch" ref="ab8e5d24d96c7408b140b74aa0ed8d7ca" args="(PP_Time last_access_time, PP_Time last_modified_time, const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_file_ref.html#ab8e5d24d96c7408b140b74aa0ed8d7ca">pp::FileRef::Touch</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Time </td>
+<td class="paramname"><em>last_access_time</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_Time </td>
+<td class="paramname"><em>last_modified_time</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_ref.html#ab8e5d24d96c7408b140b74aa0ed8d7ca" title="Touch() Updates time stamps for a file.">Touch()</a> Updates time stamps for a file. </p>
+<p>You must have write access to the file if it exists in the external filesystem.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">last_access_time</td><td>The last time the file was accessed. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">last_modified_time</td><td>The last time the file was modified. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion of <a class="el" href="classpp_1_1_file_ref.html#ab8e5d24d96c7408b140b74aa0ed8d7ca" title="Touch() Updates time stamps for a file.">Touch()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="file__ref_8h.html">file_ref.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_file_ref__inherit__graph.png b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_file_ref__inherit__graph.png
new file mode 100644
index 0000000..689ab16
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_file_ref__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_file_system-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_file_system-members.html
new file mode 100644
index 0000000..5b4be947
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_file_system-members.html
@@ -0,0 +1,31 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_file_system.html">pp::FileSystem</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_system.html#aaa3cca58df52c4a3c4daaf0e615a1168">FileSystem</a>()</td><td><a class="el" href="classpp_1_1_file_system.html">pp::FileSystem</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_system.html#a4d56e93917775b192558b55fe682acfd">FileSystem</a>(const FileSystem &other)</td><td><a class="el" href="classpp_1_1_file_system.html">pp::FileSystem</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_system.html#a33ddc6114cd25d48727c300dccc8754d">FileSystem</a>(const Resource &resource)</td><td><a class="el" href="classpp_1_1_file_system.html">pp::FileSystem</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_system.html#af97b2860b7e99d2283cf556b4ca78c48">FileSystem</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_file_system.html">pp::FileSystem</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_system.html#a8e73239f076ec5897d49b2bf530fdfdc">FileSystem</a>(const InstanceHandle &instance, PP_FileSystemType type)</td><td><a class="el" href="classpp_1_1_file_system.html">pp::FileSystem</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_system.html#ae48a32b67e78b1e2125270ec68fab29d">IsFileSystem</a>(const Resource &resource)</td><td><a class="el" href="classpp_1_1_file_system.html">pp::FileSystem</a></td><td><code> [static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_file_system.html#ae1ca78fc88c2e2a507e9ab71d9352d54">Open</a>(int64_t expected_size, const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_file_system.html">pp::FileSystem</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_file_system.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_file_system.html
new file mode 100644
index 0000000..1216505
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_file_system.html
@@ -0,0 +1,230 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::FileSystem Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::FileSystem" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::FileSystem:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_file_system__inherit__graph.png" border="0" usemap="#pp_1_1_file_system_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_file_system_inherit__map" id="pp_1_1_file_system_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="11,5,115,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_file_system-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_system.html#aaa3cca58df52c4a3c4daaf0e615a1168">FileSystem</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_system.html#a4d56e93917775b192558b55fe682acfd">FileSystem</a> (const <a class="el" href="classpp_1_1_file_system.html">FileSystem</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_system.html#a33ddc6114cd25d48727c300dccc8754d">FileSystem</a> (const <a class="el" href="classpp_1_1_resource.html">Resource</a> &resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_system.html#af97b2860b7e99d2283cf556b4ca78c48">FileSystem</a> (<a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a>, PP_Resource resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_system.html#a8e73239f076ec5897d49b2bf530fdfdc">FileSystem</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, PP_FileSystemType type)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_system.html#ae1ca78fc88c2e2a507e9ab71d9352d54">Open</a> (int64_t expected_size, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+</table><h2>
+Static Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_system.html#ae48a32b67e78b1e2125270ec68fab29d">IsFileSystem</a> (const <a class="el" href="classpp_1_1_resource.html">Resource</a> &resource)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="classpp_1_1_file_system.html" title="The FileSystem class identifies the file system type associated with a file.">FileSystem</a></code> class identifies the file system type associated with a file. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="aaa3cca58df52c4a3c4daaf0e615a1168"></a><!-- doxytag: member="pp::FileSystem::FileSystem" ref="aaa3cca58df52c4a3c4daaf0e615a1168" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_file_system.html#aaa3cca58df52c4a3c4daaf0e615a1168">pp::FileSystem::FileSystem</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> filesystem resource. </p>
+<p>If you use this constructor, you will have to assign it to a "real" <a class="el" href="classpp_1_1_file_system.html" title="The FileSystem class identifies the file system type associated with a file.">FileSystem</a> object before you can use it. </p>
+</div>
+</div>
+<a class="anchor" id="a4d56e93917775b192558b55fe682acfd"></a><!-- doxytag: member="pp::FileSystem::FileSystem" ref="a4d56e93917775b192558b55fe682acfd" args="(const FileSystem &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_file_system.html#aaa3cca58df52c4a3c4daaf0e615a1168">pp::FileSystem::FileSystem</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_file_system.html">FileSystem</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The copy constructor for <code><a class="el" href="classpp_1_1_file_system.html" title="The FileSystem class identifies the file system type associated with a file.">FileSystem</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A reference to a <code><a class="el" href="classpp_1_1_file_system.html" title="The FileSystem class identifies the file system type associated with a file.">FileSystem</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a33ddc6114cd25d48727c300dccc8754d"></a><!-- doxytag: member="pp::FileSystem::FileSystem" ref="a33ddc6114cd25d48727c300dccc8754d" args="(const Resource &resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_file_system.html#aaa3cca58df52c4a3c4daaf0e615a1168">pp::FileSystem::FileSystem</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_resource.html">Resource</a> & </td>
+<td class="paramname"><em>resource</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs a <code><a class="el" href="classpp_1_1_file_system.html" title="The FileSystem class identifies the file system type associated with a file.">FileSystem</a></code> from a <code><a class="el" href="classpp_1_1_resource.html" title="A reference counted module resource.">Resource</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code><a class="el" href="classpp_1_1_resource.html" title="A reference counted module resource.">Resource</a></code> containing a file system. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="af97b2860b7e99d2283cf556b4ca78c48"></a><!-- doxytag: member="pp::FileSystem::FileSystem" ref="af97b2860b7e99d2283cf556b4ca78c48" args="(PassRef, PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_file_system.html#aaa3cca58df52c4a3c4daaf0e615a1168">pp::FileSystem::FileSystem</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a> </td>
+<td class="paramname">, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>resource</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used when you have received a PP_Resource as a return value that has already been reference counted. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A PP_Resource corresponding to a PPB_FileSystem. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a8e73239f076ec5897d49b2bf530fdfdc"></a><!-- doxytag: member="pp::FileSystem::FileSystem" ref="a8e73239f076ec5897d49b2bf530fdfdc" args="(const InstanceHandle &instance, PP_FileSystemType type)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_file_system.html#aaa3cca58df52c4a3c4daaf0e615a1168">pp::FileSystem::FileSystem</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_FileSystemType </td>
+<td class="paramname"><em>type</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This constructor creates a file system object of the given type. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>A file system type as defined by <code>PP_FileSystemType</code> enum. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="ae48a32b67e78b1e2125270ec68fab29d"></a><!-- doxytag: member="pp::FileSystem::IsFileSystem" ref="ae48a32b67e78b1e2125270ec68fab29d" args="(const Resource &resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static bool <a class="el" href="classpp_1_1_file_system.html#ae48a32b67e78b1e2125270ec68fab29d">pp::FileSystem::IsFileSystem</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_resource.html">Resource</a> & </td>
+<td class="paramname"><em>resource</em></td><td>)</td>
+<td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Checks whether a <code><a class="el" href="classpp_1_1_resource.html" title="A reference counted module resource.">Resource</a></code> is a file system, to test whether it is appropriate for use with the <code><a class="el" href="classpp_1_1_file_system.html" title="The FileSystem class identifies the file system type associated with a file.">FileSystem</a></code> constructor. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code><a class="el" href="classpp_1_1_resource.html" title="A reference counted module resource.">Resource</a></code> to test.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>True if <code>resource</code> is a file system. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ae1ca78fc88c2e2a507e9ab71d9352d54"></a><!-- doxytag: member="pp::FileSystem::Open" ref="ae1ca78fc88c2e2a507e9ab71d9352d54" args="(int64_t expected_size, const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_file_system.html#ae1ca78fc88c2e2a507e9ab71d9352d54">pp::FileSystem::Open</a> </td>
+<td>(</td>
+<td class="paramtype">int64_t </td>
+<td class="paramname"><em>expected_size</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_file_system.html#ae1ca78fc88c2e2a507e9ab71d9352d54" title="Open() opens the file system.">Open()</a> opens the file system. </p>
+<p>A file system must be opened before running any other operation on it.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">expected_size</td><td>The expected size of the file system. Note that this does not request quota; to do that, you must either invoke requestQuota from JavaScript: <a href="http://www.html5rocks.com/en/tutorials/file/filesystem/#toc-requesting-quota">http://www.html5rocks.com/en/tutorials/file/filesystem/#toc-requesting-quota</a> or set the unlimitedStorage permission for Chrome Web Store apps: <a href="http://code.google.com/chrome/extensions/manifest.html#permissions">http://code.google.com/chrome/extensions/manifest.html#permissions</a></td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code>PP_CompletionCallback</code> to be called upon completion of <a class="el" href="classpp_1_1_file_system.html#ae1ca78fc88c2e2a507e9ab71d9352d54" title="Open() opens the file system.">Open()</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="file__system_8h.html">file_system.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_file_system__inherit__graph.png b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_file_system__inherit__graph.png
new file mode 100644
index 0000000..ebcb81da
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_file_system__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_float_point-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_float_point-members.html
new file mode 100644
index 0000000..f5bdff1e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_float_point-members.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_float_point.html#a384b29d8aba4a43b399393e695eb1e81">FloatPoint</a>()</td><td><a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_float_point.html#acb70a23a641f05fd5eb99e9439e556d2">FloatPoint</a>(float in_x, float in_y)</td><td><a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_float_point.html#a401fc74a911cd0d4996b00f8b10a1951">FloatPoint</a>(const PP_FloatPoint &point)</td><td><a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_float_point.html#adfa14cbb4f94c3133e4bce72f93570bf">operator PP_FloatPoint</a>() const </td><td><a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_float_point.html#a8aeaf7286bc04e7ff7f9d405fdfe614b">operator+</a>(const FloatPoint &other) const </td><td><a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_float_point.html#a15985b03ca98d65bdf300dc3d12ca57a">operator+=</a>(const FloatPoint &other)</td><td><a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_float_point.html#a2ae33c7eb2dbc4a8d366db080f3a136b">operator-</a>(const FloatPoint &other) const </td><td><a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_float_point.html#a419049446659935f8bfe3e47d33b752b">operator-=</a>(const FloatPoint &other)</td><td><a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_float_point.html#a74112618552ed91f200794127bf64eea">pp_float_point</a>() const </td><td><a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_float_point.html#a75ab7bd430e1f5edb00d9976061898ed">pp_float_point</a>()</td><td><a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_float_point.html#a276b372b82ea3cd0021017ba4a002838">set_x</a>(float in_x)</td><td><a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_float_point.html#abdb8eeb5c2aa051e6776ae2967fc6d40">set_y</a>(float in_y)</td><td><a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_float_point.html#a138f26f94ed5a97e1ee083e65eb101bf">swap</a>(FloatPoint &other)</td><td><a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_float_point.html#a9109ddb0920cf0eeb7ace3b40a95dc17">x</a>() const </td><td><a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_float_point.html#ac8bcb2ac55fa5fcf89a7b61369eeed2b">y</a>() const </td><td><a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_float_point.html#ab41958133c5b48f6002ad9bffdad46c0">~FloatPoint</a>()</td><td><a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a></td><td><code> [inline]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_float_point.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_float_point.html
new file mode 100644
index 0000000..94322107
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_float_point.html
@@ -0,0 +1,383 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::FloatPoint Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::FloatPoint" -->
+<p><a href="classpp_1_1_float_point-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_float_point.html#a384b29d8aba4a43b399393e695eb1e81">FloatPoint</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_float_point.html#acb70a23a641f05fd5eb99e9439e556d2">FloatPoint</a> (float in_x, float in_y)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_float_point.html#a401fc74a911cd0d4996b00f8b10a1951">FloatPoint</a> (const PP_FloatPoint &point)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_float_point.html#ab41958133c5b48f6002ad9bffdad46c0">~FloatPoint</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_float_point.html#adfa14cbb4f94c3133e4bce72f93570bf">operator PP_FloatPoint</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const PP_FloatPoint & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_float_point.html#a74112618552ed91f200794127bf64eea">pp_float_point</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_FloatPoint & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_float_point.html#a75ab7bd430e1f5edb00d9976061898ed">pp_float_point</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_float_point.html#a9109ddb0920cf0eeb7ace3b40a95dc17">x</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_float_point.html#a276b372b82ea3cd0021017ba4a002838">set_x</a> (float in_x)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_float_point.html#ac8bcb2ac55fa5fcf89a7b61369eeed2b">y</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_float_point.html#abdb8eeb5c2aa051e6776ae2967fc6d40">set_y</a> (float in_y)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_float_point.html#a8aeaf7286bc04e7ff7f9d405fdfe614b">operator+</a> (const <a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> &other) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_float_point.html#a2ae33c7eb2dbc4a8d366db080f3a136b">operator-</a> (const <a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> &other) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_float_point.html#a15985b03ca98d65bdf300dc3d12ca57a">operator+=</a> (const <a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_float_point.html#a419049446659935f8bfe3e47d33b752b">operator-=</a> (const <a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_float_point.html#a138f26f94ed5a97e1ee083e65eb101bf">swap</a> (<a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> &other)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>A 2 dimensional floating-point point with 0,0 being the upper-left starting coordinate. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a384b29d8aba4a43b399393e695eb1e81"></a><!-- doxytag: member="pp::FloatPoint::FloatPoint" ref="a384b29d8aba4a43b399393e695eb1e81" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_float_point.html#a384b29d8aba4a43b399393e695eb1e81">pp::FloatPoint::FloatPoint</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor for a point at 0,0. </p>
+</div>
+</div>
+<a class="anchor" id="acb70a23a641f05fd5eb99e9439e556d2"></a><!-- doxytag: member="pp::FloatPoint::FloatPoint" ref="acb70a23a641f05fd5eb99e9439e556d2" args="(float in_x, float in_y)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_float_point.html#a384b29d8aba4a43b399393e695eb1e81">pp::FloatPoint::FloatPoint</a> </td>
+<td>(</td>
+<td class="paramtype">float </td>
+<td class="paramname"><em>in_x</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">float </td>
+<td class="paramname"><em>in_y</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor accepting two values for x and y and converting them to a <a class="el" href="classpp_1_1_float_point.html" title="A 2 dimensional floating-point point with 0,0 being the upper-left starting coordinate.">FloatPoint</a>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">in_x</td><td>An value representing a horizontal coordinate of a point, starting with 0 as the left-most coordinate.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">in_y</td><td>An value representing a vertical coordinate of a point, starting with 0 as the top-most coordinate. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a401fc74a911cd0d4996b00f8b10a1951"></a><!-- doxytag: member="pp::FloatPoint::FloatPoint" ref="a401fc74a911cd0d4996b00f8b10a1951" args="(const PP_FloatPoint &point)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_float_point.html#a384b29d8aba4a43b399393e695eb1e81">pp::FloatPoint::FloatPoint</a> </td>
+<td>(</td>
+<td class="paramtype">const PP_FloatPoint & </td>
+<td class="paramname"><em>point</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor accepting a pointer to a PP_FloatPoint and converting the PP_Point to a <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a>. </p>
+<p>This is an implicit conversion constructor.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">point</td><td>A PP_FloatPoint. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ab41958133c5b48f6002ad9bffdad46c0"></a><!-- doxytag: member="pp::FloatPoint::~FloatPoint" ref="ab41958133c5b48f6002ad9bffdad46c0" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_float_point.html#ab41958133c5b48f6002ad9bffdad46c0">pp::FloatPoint::~FloatPoint</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Destructor. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="adfa14cbb4f94c3133e4bce72f93570bf"></a><!-- doxytag: member="pp::FloatPoint::operator PP_FloatPoint" ref="adfa14cbb4f94c3133e4bce72f93570bf" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">pp::FloatPoint::operator PP_FloatPoint </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A function allowing implicit conversion of a <a class="el" href="classpp_1_1_float_point.html" title="A 2 dimensional floating-point point with 0,0 being the upper-left starting coordinate.">FloatPoint</a> to a PP_FloatPoint. </p>
+</div>
+</div>
+<a class="anchor" id="a8aeaf7286bc04e7ff7f9d405fdfe614b"></a><!-- doxytag: member="pp::FloatPoint::operator+" ref="a8aeaf7286bc04e7ff7f9d405fdfe614b" args="(const FloatPoint &other) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> pp::FloatPoint::operator+ </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Adds two Points (this and other) together by adding their x values and y values. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A new <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> containing the result. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a15985b03ca98d65bdf300dc3d12ca57a"></a><!-- doxytag: member="pp::FloatPoint::operator+=" ref="a15985b03ca98d65bdf300dc3d12ca57a" args="(const FloatPoint &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_float_point.html">FloatPoint</a>& pp::FloatPoint::operator+= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Adds two Points (this and other) together by adding their x and y values. </p>
+<p>Returns this point as the result.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>This <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> containing the result. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2ae33c7eb2dbc4a8d366db080f3a136b"></a><!-- doxytag: member="pp::FloatPoint::operator-" ref="a2ae33c7eb2dbc4a8d366db080f3a136b" args="(const FloatPoint &other) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> pp::FloatPoint::operator- </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Subtracts one <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> from another <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> by subtracting their x values and y values. </p>
+<p>Returns a new point with the result.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A <a class="el" href="classpp_1_1_float_point.html" title="A 2 dimensional floating-point point with 0,0 being the upper-left starting coordinate.">FloatPoint</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A new <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> containing the result. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a419049446659935f8bfe3e47d33b752b"></a><!-- doxytag: member="pp::FloatPoint::operator-=" ref="a419049446659935f8bfe3e47d33b752b" args="(const FloatPoint &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_float_point.html">FloatPoint</a>& pp::FloatPoint::operator-= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Subtracts one <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> from another <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> by subtracting their x values and y values. </p>
+<p>Returns this point as the result.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>This <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> containing the result. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a74112618552ed91f200794127bf64eea"></a><!-- doxytag: member="pp::FloatPoint::pp_float_point" ref="a74112618552ed91f200794127bf64eea" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">const PP_FloatPoint& <a class="el" href="classpp_1_1_float_point.html#a74112618552ed91f200794127bf64eea">pp::FloatPoint::pp_float_point</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the internal PP_FloatPoint struct. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A const reference to the internal PP_FloatPoint struct. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a75ab7bd430e1f5edb00d9976061898ed"></a><!-- doxytag: member="pp::FloatPoint::pp_float_point" ref="a75ab7bd430e1f5edb00d9976061898ed" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_FloatPoint& <a class="el" href="classpp_1_1_float_point.html#a74112618552ed91f200794127bf64eea">pp::FloatPoint::pp_float_point</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the internal PP_Point struct. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A mutable reference to the PP_Point struct. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a276b372b82ea3cd0021017ba4a002838"></a><!-- doxytag: member="pp::FloatPoint::set_x" ref="a276b372b82ea3cd0021017ba4a002838" args="(float in_x)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_float_point.html#a276b372b82ea3cd0021017ba4a002838">pp::FloatPoint::set_x</a> </td>
+<td>(</td>
+<td class="paramtype">float </td>
+<td class="paramname"><em>in_x</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Setter function for setting the value of x. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">in_x</td><td>A new x value. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="abdb8eeb5c2aa051e6776ae2967fc6d40"></a><!-- doxytag: member="pp::FloatPoint::set_y" ref="abdb8eeb5c2aa051e6776ae2967fc6d40" args="(float in_y)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_float_point.html#abdb8eeb5c2aa051e6776ae2967fc6d40">pp::FloatPoint::set_y</a> </td>
+<td>(</td>
+<td class="paramtype">float </td>
+<td class="paramname"><em>in_y</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Setter function for setting the value of y. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">in_y</td><td>A new y value. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a138f26f94ed5a97e1ee083e65eb101bf"></a><!-- doxytag: member="pp::FloatPoint::swap" ref="a138f26f94ed5a97e1ee083e65eb101bf" args="(FloatPoint &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_float_point.html#a138f26f94ed5a97e1ee083e65eb101bf">pp::FloatPoint::swap</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Swaps the coordinates of two Points. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a9109ddb0920cf0eeb7ace3b40a95dc17"></a><!-- doxytag: member="pp::FloatPoint::x" ref="a9109ddb0920cf0eeb7ace3b40a95dc17" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="classpp_1_1_float_point.html#a9109ddb0920cf0eeb7ace3b40a95dc17">pp::FloatPoint::x</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the value of x. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The value of x for this <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ac8bcb2ac55fa5fcf89a7b61369eeed2b"></a><!-- doxytag: member="pp::FloatPoint::y" ref="ac8bcb2ac55fa5fcf89a7b61369eeed2b" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="classpp_1_1_float_point.html#ac8bcb2ac55fa5fcf89a7b61369eeed2b">pp::FloatPoint::y</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the value of y. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The value of y for this <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="point_8h.html">point.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_fullscreen-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_fullscreen-members.html
new file mode 100644
index 0000000..63e626c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_fullscreen-members.html
@@ -0,0 +1,18 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_fullscreen.html">pp::Fullscreen</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_fullscreen.html#a3c3655d21fbef531a3eec82f9eb2115b">Fullscreen</a>(const InstanceHandle &instance)</td><td><a class="el" href="classpp_1_1_fullscreen.html">pp::Fullscreen</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_fullscreen.html#a6bc430c1d41a7696194374d05d8eee41">GetScreenSize</a>(Size *size)</td><td><a class="el" href="classpp_1_1_fullscreen.html">pp::Fullscreen</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_fullscreen.html#a555c0d2c2fc120cfac925a62cc8a7345">IsFullscreen</a>()</td><td><a class="el" href="classpp_1_1_fullscreen.html">pp::Fullscreen</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_fullscreen.html#a2c316cb6ebe4552df661aeea88e6f365">SetFullscreen</a>(bool fullscreen)</td><td><a class="el" href="classpp_1_1_fullscreen.html">pp::Fullscreen</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_fullscreen.html#a4d73ff65edc8ef8f802f5a932e5081e8">~Fullscreen</a>()</td><td><a class="el" href="classpp_1_1_fullscreen.html">pp::Fullscreen</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_fullscreen.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_fullscreen.html
new file mode 100644
index 0000000..9def708
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_fullscreen.html
@@ -0,0 +1,137 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::Fullscreen Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::Fullscreen" -->
+<p><a href="classpp_1_1_fullscreen-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_fullscreen.html#a3c3655d21fbef531a3eec82f9eb2115b">Fullscreen</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_fullscreen.html#a4d73ff65edc8ef8f802f5a932e5081e8">~Fullscreen</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_fullscreen.html#a555c0d2c2fc120cfac925a62cc8a7345">IsFullscreen</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_fullscreen.html#a2c316cb6ebe4552df661aeea88e6f365">SetFullscreen</a> (bool fullscreen)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_fullscreen.html#a6bc430c1d41a7696194374d05d8eee41">GetScreenSize</a> (<a class="el" href="classpp_1_1_size.html">Size</a> *size)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <a class="el" href="classpp_1_1_fullscreen.html" title="The Fullscreen class allowing you to check and toggle fullscreen mode.">Fullscreen</a> class allowing you to check and toggle fullscreen mode. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a3c3655d21fbef531a3eec82f9eb2115b"></a><!-- doxytag: member="pp::Fullscreen::Fullscreen" ref="a3c3655d21fbef531a3eec82f9eb2115b" args="(const InstanceHandle &instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_fullscreen.html#a3c3655d21fbef531a3eec82f9eb2115b">pp::Fullscreen::Fullscreen</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor for creating a <code><a class="el" href="classpp_1_1_fullscreen.html" title="The Fullscreen class allowing you to check and toggle fullscreen mode.">Fullscreen</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a4d73ff65edc8ef8f802f5a932e5081e8"></a><!-- doxytag: member="pp::Fullscreen::~Fullscreen" ref="a4d73ff65edc8ef8f802f5a932e5081e8" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_fullscreen.html#a4d73ff65edc8ef8f802f5a932e5081e8">pp::Fullscreen::~Fullscreen</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Destructor. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a6bc430c1d41a7696194374d05d8eee41"></a><!-- doxytag: member="pp::Fullscreen::GetScreenSize" ref="a6bc430c1d41a7696194374d05d8eee41" args="(Size *size)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_fullscreen.html#a6bc430c1d41a7696194374d05d8eee41">pp::Fullscreen::GetScreenSize</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="classpp_1_1_size.html">Size</a> * </td>
+<td class="paramname"><em>size</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_fullscreen.html#a6bc430c1d41a7696194374d05d8eee41" title="GetScreenSize() gets the size of the screen in pixels.">GetScreenSize()</a> gets the size of the screen in pixels. </p>
+<p>The module instance will be resized to this size when <a class="el" href="classpp_1_1_fullscreen.html#a2c316cb6ebe4552df661aeea88e6f365" title="SetFullscreen() switches the module instance to and from fullscreen mode.">SetFullscreen()</a> is called to enter fullscreen mode.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[out]</td><td class="paramname">size</td><td>The size of the entire screen in pixels.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> on success or <code>false</code> on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a555c0d2c2fc120cfac925a62cc8a7345"></a><!-- doxytag: member="pp::Fullscreen::IsFullscreen" ref="a555c0d2c2fc120cfac925a62cc8a7345" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_fullscreen.html#a555c0d2c2fc120cfac925a62cc8a7345">pp::Fullscreen::IsFullscreen</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_fullscreen.html#a555c0d2c2fc120cfac925a62cc8a7345" title="IsFullscreen() checks whether the module instance is currently in fullscreen mode.">IsFullscreen()</a> checks whether the module instance is currently in fullscreen mode. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if the module instance is in fullscreen mode, <code>false</code> if the module instance is not in fullscreen mode. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2c316cb6ebe4552df661aeea88e6f365"></a><!-- doxytag: member="pp::Fullscreen::SetFullscreen" ref="a2c316cb6ebe4552df661aeea88e6f365" args="(bool fullscreen)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_fullscreen.html#a2c316cb6ebe4552df661aeea88e6f365">pp::Fullscreen::SetFullscreen</a> </td>
+<td>(</td>
+<td class="paramtype">bool </td>
+<td class="paramname"><em>fullscreen</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_fullscreen.html#a2c316cb6ebe4552df661aeea88e6f365" title="SetFullscreen() switches the module instance to and from fullscreen mode.">SetFullscreen()</a> switches the module instance to and from fullscreen mode. </p>
+<p>The transition to and from fullscreen mode is asynchronous. During the transition, <a class="el" href="classpp_1_1_fullscreen.html#a555c0d2c2fc120cfac925a62cc8a7345" title="IsFullscreen() checks whether the module instance is currently in fullscreen mode.">IsFullscreen()</a> will return the previous value and no 2D or 3D device can be bound. The transition ends at DidChangeView() when <a class="el" href="classpp_1_1_fullscreen.html#a555c0d2c2fc120cfac925a62cc8a7345" title="IsFullscreen() checks whether the module instance is currently in fullscreen mode.">IsFullscreen()</a> returns the new value. You might receive other DidChangeView() calls while in transition.</p>
+<p>The transition to fullscreen mode can only occur while the browser is processing a user gesture, even if <code>true</code> is returned.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">fullscreen</td><td><code>true</code> to enter fullscreen mode, or <code>false</code> to exit fullscreen mode.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> on success or <code>false</code> on failure. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="fullscreen_8h.html">fullscreen.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_graphics2_d-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_graphics2_d-members.html
new file mode 100644
index 0000000..28cb3c0
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_graphics2_d-members.html
@@ -0,0 +1,37 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_graphics2_d.html">pp::Graphics2D</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics2_d.html#a3c1e23ad48ad62860a125d471b7664a4">Flush</a>(const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_graphics2_d.html">pp::Graphics2D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics2_d.html#a5b927eaabdd78b1a0094aa1a3695bae2">GetScale</a>()</td><td><a class="el" href="classpp_1_1_graphics2_d.html">pp::Graphics2D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics2_d.html#aef2cf8f0798d4980309f9bc888a73463">Graphics2D</a>()</td><td><a class="el" href="classpp_1_1_graphics2_d.html">pp::Graphics2D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics2_d.html#a144e483e91d77dd7314698a87d57c7ca">Graphics2D</a>(const Graphics2D &other)</td><td><a class="el" href="classpp_1_1_graphics2_d.html">pp::Graphics2D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics2_d.html#a193584685783cfcf3ab4bd01a5ca6e14">Graphics2D</a>(const InstanceHandle &instance, const Size &size, bool is_always_opaque)</td><td><a class="el" href="classpp_1_1_graphics2_d.html">pp::Graphics2D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics2_d.html#ad19b4539e1c1fdacc6ff41383b6cd3ba">operator=</a>(const Graphics2D &other)</td><td><a class="el" href="classpp_1_1_graphics2_d.html">pp::Graphics2D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">pp::Resource::operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics2_d.html#ab61e3018d1f5c4301f71ad0001d3ad8e">PaintImageData</a>(const ImageData &image, const Point &top_left)</td><td><a class="el" href="classpp_1_1_graphics2_d.html">pp::Graphics2D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics2_d.html#af779f51bfb0c4064535ea91b2470ddc7">PaintImageData</a>(const ImageData &image, const Point &top_left, const Rect &src_rect)</td><td><a class="el" href="classpp_1_1_graphics2_d.html">pp::Graphics2D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics2_d.html#a73185e278ea87d33cfec2f00a56314d9">ReplaceContents</a>(ImageData *image)</td><td><a class="el" href="classpp_1_1_graphics2_d.html">pp::Graphics2D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics2_d.html#a6a4256bb84cab71909821699d7aea369">Scroll</a>(const Rect &clip, const Point &amount)</td><td><a class="el" href="classpp_1_1_graphics2_d.html">pp::Graphics2D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics2_d.html#a96a91958227a7e42a829033241fac6b1">SetScale</a>(float scale)</td><td><a class="el" href="classpp_1_1_graphics2_d.html">pp::Graphics2D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics2_d.html#ad623f80db2c0cc679619303a0c0b9eff">size</a>() const </td><td><a class="el" href="classpp_1_1_graphics2_d.html">pp::Graphics2D</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics2_d.html#aa40a889094d345add38f16d559ae0ebd">~Graphics2D</a>()</td><td><a class="el" href="classpp_1_1_graphics2_d.html">pp::Graphics2D</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_graphics2_d.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_graphics2_d.html
new file mode 100644
index 0000000..2ed3abf
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_graphics2_d.html
@@ -0,0 +1,406 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::Graphics2D Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::Graphics2D" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::Graphics2D:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_graphics2_d__inherit__graph.png" border="0" usemap="#pp_1_1_graphics2_d_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_graphics2_d_inherit__map" id="pp_1_1_graphics2_d_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="13,5,117,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_graphics2_d-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics2_d.html#aef2cf8f0798d4980309f9bc888a73463">Graphics2D</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics2_d.html#a144e483e91d77dd7314698a87d57c7ca">Graphics2D</a> (const <a class="el" href="classpp_1_1_graphics2_d.html">Graphics2D</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics2_d.html#a193584685783cfcf3ab4bd01a5ca6e14">Graphics2D</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, const <a class="el" href="classpp_1_1_size.html">Size</a> &<a class="el" href="classpp_1_1_graphics2_d.html#ad623f80db2c0cc679619303a0c0b9eff">size</a>, bool is_always_opaque)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics2_d.html#aa40a889094d345add38f16d559ae0ebd">~Graphics2D</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_graphics2_d.html">Graphics2D</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics2_d.html#ad19b4539e1c1fdacc6ff41383b6cd3ba">operator=</a> (const <a class="el" href="classpp_1_1_graphics2_d.html">Graphics2D</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classpp_1_1_size.html">Size</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics2_d.html#ad623f80db2c0cc679619303a0c0b9eff">size</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics2_d.html#ab61e3018d1f5c4301f71ad0001d3ad8e">PaintImageData</a> (const <a class="el" href="classpp_1_1_image_data.html">ImageData</a> &image, const <a class="el" href="classpp_1_1_point.html">Point</a> &top_left)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics2_d.html#af779f51bfb0c4064535ea91b2470ddc7">PaintImageData</a> (const <a class="el" href="classpp_1_1_image_data.html">ImageData</a> &image, const <a class="el" href="classpp_1_1_point.html">Point</a> &top_left, const <a class="el" href="classpp_1_1_rect.html">Rect</a> &src_rect)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics2_d.html#a6a4256bb84cab71909821699d7aea369">Scroll</a> (const <a class="el" href="classpp_1_1_rect.html">Rect</a> &clip, const <a class="el" href="classpp_1_1_point.html">Point</a> &amount)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics2_d.html#a73185e278ea87d33cfec2f00a56314d9">ReplaceContents</a> (<a class="el" href="classpp_1_1_image_data.html">ImageData</a> *image)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics2_d.html#a3c1e23ad48ad62860a125d471b7664a4">Flush</a> (const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics2_d.html#a96a91958227a7e42a829033241fac6b1">SetScale</a> (float scale)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics2_d.html#a5b927eaabdd78b1a0094aa1a3695bae2">GetScale</a> ()</td></tr>
+</table>
+<hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="aef2cf8f0798d4980309f9bc888a73463"></a><!-- doxytag: member="pp::Graphics2D::Graphics2D" ref="aef2cf8f0798d4980309f9bc888a73463" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_graphics2_d.html#aef2cf8f0798d4980309f9bc888a73463">pp::Graphics2D::Graphics2D</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor for creating an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> <code><a class="el" href="classpp_1_1_graphics2_d.html">Graphics2D</a></code> object. </p>
+</div>
+</div>
+<a class="anchor" id="a144e483e91d77dd7314698a87d57c7ca"></a><!-- doxytag: member="pp::Graphics2D::Graphics2D" ref="a144e483e91d77dd7314698a87d57c7ca" args="(const Graphics2D &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_graphics2_d.html#aef2cf8f0798d4980309f9bc888a73463">pp::Graphics2D::Graphics2D</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_graphics2_d.html">Graphics2D</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The copy constructor for <a class="el" href="classpp_1_1_graphics2_d.html">Graphics2D</a>. </p>
+<p>The underlying 2D context is not copied; this constructor creates another reference to the original 2D context.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A pointer to a <code><a class="el" href="classpp_1_1_graphics2_d.html">Graphics2D</a></code> context. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a193584685783cfcf3ab4bd01a5ca6e14"></a><!-- doxytag: member="pp::Graphics2D::Graphics2D" ref="a193584685783cfcf3ab4bd01a5ca6e14" args="(const InstanceHandle &instance, const Size &size, bool is_always_opaque)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_graphics2_d.html#aef2cf8f0798d4980309f9bc888a73463">pp::Graphics2D::Graphics2D</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_size.html">Size</a> & </td>
+<td class="paramname"><em>size</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">bool </td>
+<td class="paramname"><em>is_always_opaque</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor allocating a new 2D graphics context with the given size in the browser, resulting object will be <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> if the allocation failed. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>The size of the 2D graphics context in the browser, measured in pixels. See <code><a class="el" href="classpp_1_1_graphics2_d.html#a96a91958227a7e42a829033241fac6b1" title="SetScale() sets the scale factor that will be applied when painting the graphics context onto the out...">SetScale()</a></code> for more information.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">is_always_opaque</td><td>Set the <code>is_always_opaque</code> flag to true if you know that you will be painting only opaque data to this context. This option will disable blending when compositing the module with the web page, which might give higher performance on some computers.</td></tr>
+</table>
+</dd>
+</dl>
+<p>If you set <code>is_always_opaque</code>, your alpha channel should always be set to 0xFF or there may be painting artifacts. The alpha values overwrite the destination alpha values without blending when <code>is_always_opaque</code> is true. </p>
+</div>
+</div>
+<a class="anchor" id="aa40a889094d345add38f16d559ae0ebd"></a><!-- doxytag: member="pp::Graphics2D::~Graphics2D" ref="aa40a889094d345add38f16d559ae0ebd" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_graphics2_d.html#aa40a889094d345add38f16d559ae0ebd">pp::Graphics2D::~Graphics2D</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A destructor that decrements the reference count of a <code><a class="el" href="classpp_1_1_graphics2_d.html">Graphics2D</a></code> object made using the previous copy constructor. </p>
+<p>It is possible that the destructor does not totally destroy the underlying 2D context if there are outstanding references to it. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a3c1e23ad48ad62860a125d471b7664a4"></a><!-- doxytag: member="pp::Graphics2D::Flush" ref="a3c1e23ad48ad62860a125d471b7664a4" args="(const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_graphics2_d.html#a3c1e23ad48ad62860a125d471b7664a4">pp::Graphics2D::Flush</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_graphics2_d.html#a3c1e23ad48ad62860a125d471b7664a4" title="Flush() flushes any enqueued paint, scroll, and replace commands to the backing store.">Flush()</a> flushes any enqueued paint, scroll, and replace commands to the backing store. </p>
+<p>This actually executes the updates, and causes a repaint of the webpage, assuming this graphics context is bound to a module instance.</p>
+<p><a class="el" href="classpp_1_1_graphics2_d.html#a3c1e23ad48ad62860a125d471b7664a4" title="Flush() flushes any enqueued paint, scroll, and replace commands to the backing store.">Flush()</a> runs in asynchronous mode. Specify a callback function and the argument for that callback function. The callback function will be executed on the calling thread when the image has been painted to the screen. While you are waiting for a <code>Flush</code> callback, additional calls to <a class="el" href="classpp_1_1_graphics2_d.html#a3c1e23ad48ad62860a125d471b7664a4" title="Flush() flushes any enqueued paint, scroll, and replace commands to the backing store.">Flush()</a> will fail.</p>
+<p>Because the callback is executed (or thread unblocked) only when the module's image is actually on the screen, this function provides a way to rate limit animations. By waiting until the image is on the screen before painting the next frame, you can ensure you're not flushing 2D graphics faster than the screen can be updated.</p>
+<p><b>Unbound contexts</b> If the context is not bound to a module instance, you will still get a callback. The callback will execute after <a class="el" href="classpp_1_1_graphics2_d.html#a3c1e23ad48ad62860a125d471b7664a4" title="Flush() flushes any enqueued paint, scroll, and replace commands to the backing store.">Flush()</a> returns to avoid reentrancy. The callback will not wait until anything is painted to the screen because there will be nothing on the screen. The timing of this callback is not guaranteed and may be deprioritized by the browser because it is not affecting the user experience.</p>
+<p><b>Off-screen instances</b> If the context is bound to an instance that is currently not visible (for example, scrolled out of view) it will behave like the "unbound context" case.</p>
+<p><b>Detaching a context</b> If you detach a context from a module instance, any pending flush callbacks will be converted into the "unbound context" case.</p>
+<p><b>Released contexts</b> A callback may or may not still get called even if you have released all of your references to the context. This can occur if there are internal references to the context that means it has not been internally destroyed (for example, if it is still bound to an instance) or due to other implementation details. As a result, you should be careful to check that flush callbacks are for the context you expect and that you're capable of handling callbacks for context that you may have released your reference to.</p>
+<p><b>Shutdown</b> If a module instance is removed when a Flush is pending, the callback will not be executed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called when the image has been painted on the screen.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>PP_OK</code> on success or <code>PP_ERROR_BADRESOURCE</code> if the graphics context is invalid, <code>PP_ERROR_BADARGUMENT</code> if the callback is null and flush is being called from the main thread of the module, or <code>PP_ERROR_INPROGRESS</code> if a flush is already pending that has not issued its callback yet. In the failure case, nothing will be updated and no callback will be scheduled. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a5b927eaabdd78b1a0094aa1a3695bae2"></a><!-- doxytag: member="pp::Graphics2D::GetScale" ref="a5b927eaabdd78b1a0094aa1a3695bae2" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="classpp_1_1_graphics2_d.html#a5b927eaabdd78b1a0094aa1a3695bae2">pp::Graphics2D::GetScale</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_graphics2_d.html#a5b927eaabdd78b1a0094aa1a3695bae2" title="GetScale() gets the scale factor that will be applied when painting the graphics context onto the out...">GetScale()</a> gets the scale factor that will be applied when painting the graphics context onto the output device. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the scale factor for the graphics context. If the resource is invalid, 0.0 will be returned. The default scale for a graphics context is 1.0. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ad19b4539e1c1fdacc6ff41383b6cd3ba"></a><!-- doxytag: member="pp::Graphics2D::operator=" ref="ad19b4539e1c1fdacc6ff41383b6cd3ba" args="(const Graphics2D &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_graphics2_d.html">Graphics2D</a>& pp::Graphics2D::operator= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_graphics2_d.html">Graphics2D</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function assigns one 2D graphics context to this 2D graphics context. </p>
+<p>This function increases the reference count of the 2D resource of the other 2D graphics context while decrementing the reference counter of this 2D graphics context.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>An other 2D graphics context.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A new <a class="el" href="classpp_1_1_graphics2_d.html">Graphics2D</a> context. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab61e3018d1f5c4301f71ad0001d3ad8e"></a><!-- doxytag: member="pp::Graphics2D::PaintImageData" ref="ab61e3018d1f5c4301f71ad0001d3ad8e" args="(const ImageData &image, const Point &top_left)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_graphics2_d.html#ab61e3018d1f5c4301f71ad0001d3ad8e">pp::Graphics2D::PaintImageData</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_image_data.html">ImageData</a> & </td>
+<td class="paramname"><em>image</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">Point</a> & </td>
+<td class="paramname"><em>top_left</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_graphics2_d.html#ab61e3018d1f5c4301f71ad0001d3ad8e" title="PaintImageData() enqueues a paint command of the given image into the context.">PaintImageData()</a> enqueues a paint command of the given image into the context. </p>
+<p>This command has no effect until you call <a class="el" href="classpp_1_1_graphics2_d.html#a3c1e23ad48ad62860a125d471b7664a4" title="Flush() flushes any enqueued paint, scroll, and replace commands to the backing store.">Flush()</a>. As a result, what counts is the contents of the bitmap when you call Flush, not when you call this function.</p>
+<p>The provided image will be placed at <code>top_left</code> from the top left of the context's internal backing store. This version of PaintImageData paints the entire image. Refer to the other version of this function to paint only part of the area.</p>
+<p>The painted area of the source bitmap must fall entirely within the context. Attempting to paint outside of the context will result in an error.</p>
+<p>There are two methods most modules will use for painting. The first method is to generate a new <code><a class="el" href="classpp_1_1_image_data.html">ImageData</a></code> and then paint it. In this case, you'll set the location of your painting to <code>top_left</code> and set <code>src_rect</code> to <code>NULL</code>. The second is that you're generating small invalid regions out of a larger bitmap representing your entire module's image.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">image</td><td>The <code><a class="el" href="classpp_1_1_image_data.html">ImageData</a></code> to be painted. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">top_left</td><td>A <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code> representing the <code>top_left</code> location where the <code><a class="el" href="classpp_1_1_image_data.html">ImageData</a></code> will be painted. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="af779f51bfb0c4064535ea91b2470ddc7"></a><!-- doxytag: member="pp::Graphics2D::PaintImageData" ref="af779f51bfb0c4064535ea91b2470ddc7" args="(const ImageData &image, const Point &top_left, const Rect &src_rect)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_graphics2_d.html#ab61e3018d1f5c4301f71ad0001d3ad8e">pp::Graphics2D::PaintImageData</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_image_data.html">ImageData</a> & </td>
+<td class="paramname"><em>image</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">Point</a> & </td>
+<td class="paramname"><em>top_left</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">Rect</a> & </td>
+<td class="paramname"><em>src_rect</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_graphics2_d.html#ab61e3018d1f5c4301f71ad0001d3ad8e" title="PaintImageData() enqueues a paint command of the given image into the context.">PaintImageData()</a> enqueues a paint command of the given image into the context. </p>
+<p>This command has no effect until you call <a class="el" href="classpp_1_1_graphics2_d.html#a3c1e23ad48ad62860a125d471b7664a4" title="Flush() flushes any enqueued paint, scroll, and replace commands to the backing store.">Flush()</a>. As a result, what counts is the contents of the bitmap when you call <a class="el" href="classpp_1_1_graphics2_d.html#a3c1e23ad48ad62860a125d471b7664a4" title="Flush() flushes any enqueued paint, scroll, and replace commands to the backing store.">Flush()</a>, not when you call this function.</p>
+<p>The provided image will be placed at <code>top_left</code> from the top left of the context's internal backing store. Then the pixels contained in <code>src_rect</code> will be copied into the backing store. This means that the rectangle being painted will be at <code>src_rect</code> offset by <code>top_left</code>.</p>
+<p>The <code>src_rect</code> is specified in the coordinate system of the image being painted, not the context. For the common case of copying the entire image, you may specify an empty <code>src_rect</code>.</p>
+<p>The painted area of the source bitmap must fall entirely within the context. Attempting to paint outside of the context will result in an error. However, the source bitmap may fall outside the context, as long as the <code>src_rect</code> subset of it falls entirely within the context.</p>
+<p>There are two methods most modules will use for painting. The first method is to generate a new <code><a class="el" href="classpp_1_1_image_data.html">ImageData</a></code> and then paint it. In this case, you'll set the location of your painting to <code>top_left</code> and set <code>src_rect</code> to <code>NULL</code>. The second is that you're generating small invalid regions out of a larger bitmap representing your entire module. In this case, you would set the location of your image to (0,0) and then set <code>src_rect</code> to the pixels you changed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">image</td><td>The <code><a class="el" href="classpp_1_1_image_data.html">ImageData</a></code> to be painted. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">top_left</td><td>A <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code> representing the <code>top_left</code> location where the <code><a class="el" href="classpp_1_1_image_data.html">ImageData</a></code> will be painted. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">src_rect</td><td>The rectangular area where the <code><a class="el" href="classpp_1_1_image_data.html">ImageData</a></code> will be painted. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a73185e278ea87d33cfec2f00a56314d9"></a><!-- doxytag: member="pp::Graphics2D::ReplaceContents" ref="a73185e278ea87d33cfec2f00a56314d9" args="(ImageData *image)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_graphics2_d.html#a73185e278ea87d33cfec2f00a56314d9">pp::Graphics2D::ReplaceContents</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="classpp_1_1_image_data.html">ImageData</a> * </td>
+<td class="paramname"><em>image</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_graphics2_d.html#a73185e278ea87d33cfec2f00a56314d9" title="ReplaceContents() provides a slightly more efficient way to paint the entire module's image...">ReplaceContents()</a> provides a slightly more efficient way to paint the entire module's image. </p>
+<p>Normally, calling <a class="el" href="classpp_1_1_graphics2_d.html#ab61e3018d1f5c4301f71ad0001d3ad8e" title="PaintImageData() enqueues a paint command of the given image into the context.">PaintImageData()</a> requires that the browser copy the pixels out of the image and into the graphics context's backing store. This function replaces the graphics context's backing store with the given image, avoiding the copy.</p>
+<p>The new image must be the exact same size as this graphics context. If the new image uses a different image format than the browser's native bitmap format (use <a class="el" href="classpp_1_1_image_data.html#a4208e7eabf98df7b91c01ed6fcd92425" title="GetNativeImageDataFormat() determines the browser's preferred format for images.">ImageData::GetNativeImageDataFormat()</a> to retrieve the format), then a conversion will be done inside the browser which may slow the performance a little bit.</p>
+<p><b>Note:</b> The new image will not be painted until you call <a class="el" href="classpp_1_1_graphics2_d.html#a3c1e23ad48ad62860a125d471b7664a4" title="Flush() flushes any enqueued paint, scroll, and replace commands to the backing store.">Flush()</a>.</p>
+<p>After this call, you should take care to release your references to the image. If you paint to the image after <a class="el" href="classpp_1_1_graphics2_d.html#a73185e278ea87d33cfec2f00a56314d9" title="ReplaceContents() provides a slightly more efficient way to paint the entire module's image...">ReplaceContents()</a>, there is the possibility of significant painting artifacts because the page might use partially-rendered data when copying out of the backing store.</p>
+<p>In the case of an animation, you will want to allocate a new image for the next frame. It is best if you wait until the flush callback has executed before allocating this bitmap. This gives the browser the option of caching the previous backing store and handing it back to you (assuming the sizes match). In the optimal case, this means no bitmaps are allocated during the animation, and the backing store and "front buffer" (which the module is painting into) are just being swapped back and forth.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">image</td><td>The <code><a class="el" href="classpp_1_1_image_data.html">ImageData</a></code> to be painted. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a6a4256bb84cab71909821699d7aea369"></a><!-- doxytag: member="pp::Graphics2D::Scroll" ref="a6a4256bb84cab71909821699d7aea369" args="(const Rect &clip, const Point &amount)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_graphics2_d.html#a6a4256bb84cab71909821699d7aea369">pp::Graphics2D::Scroll</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">Rect</a> & </td>
+<td class="paramname"><em>clip</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">Point</a> & </td>
+<td class="paramname"><em>amount</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_graphics2_d.html#a6a4256bb84cab71909821699d7aea369" title="Scroll() enqueues a scroll of the context's backing store.">Scroll()</a> enqueues a scroll of the context's backing store. </p>
+<p>This function has no effect until you call <a class="el" href="classpp_1_1_graphics2_d.html#a3c1e23ad48ad62860a125d471b7664a4" title="Flush() flushes any enqueued paint, scroll, and replace commands to the backing store.">Flush()</a>. The data within the provided clipping rectangle will be shifted by (dx, dy) pixels.</p>
+<p>This function will result in some exposed region which will have undefined contents. The module should call <a class="el" href="classpp_1_1_graphics2_d.html#ab61e3018d1f5c4301f71ad0001d3ad8e" title="PaintImageData() enqueues a paint command of the given image into the context.">PaintImageData()</a> on these exposed regions to give the correct contents.</p>
+<p>The scroll can be larger than the area of the clipping rectangle, which means the current image will be scrolled out of the rectangle. This scenario is not an error but will result in a no-op.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">clip</td><td>The clipping rectangle. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">amount</td><td>The amount the area in the clipping rectangle will shifted. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a96a91958227a7e42a829033241fac6b1"></a><!-- doxytag: member="pp::Graphics2D::SetScale" ref="a96a91958227a7e42a829033241fac6b1" args="(float scale)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_graphics2_d.html#a96a91958227a7e42a829033241fac6b1">pp::Graphics2D::SetScale</a> </td>
+<td>(</td>
+<td class="paramtype">float </td>
+<td class="paramname"><em>scale</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_graphics2_d.html#a96a91958227a7e42a829033241fac6b1" title="SetScale() sets the scale factor that will be applied when painting the graphics context onto the out...">SetScale()</a> sets the scale factor that will be applied when painting the graphics context onto the output device. </p>
+<p>Typically, if rendering at device resolution is desired, the context would be created with the width and height scaled up by the view's GetDeviceScale and SetScale called with a scale of 1.0 / GetDeviceScale(). For example, if the view resource passed to DidChangeView has a rectangle of (w=200, h=100) and a device scale of 2.0, one would call Create with a size of (w=400, h=200) and then call SetScale with 0.5. One would then treat each pixel in the context as a single device pixel.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">scale</td><td>The scale to apply when painting.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>true</code> on success or <code>false</code> if the resource is invalid or the scale factor is 0 or less. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ad623f80db2c0cc679619303a0c0b9eff"></a><!-- doxytag: member="pp::Graphics2D::size" ref="ad623f80db2c0cc679619303a0c0b9eff" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">const <a class="el" href="classpp_1_1_size.html">Size</a>& <a class="el" href="classpp_1_1_graphics2_d.html#ad623f80db2c0cc679619303a0c0b9eff">pp::Graphics2D::size</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning size of the 2D graphics context. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The size of the 2D graphics context measured in pixels. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="graphics__2d_8h.html">graphics_2d.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_graphics2_d__inherit__graph.png b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_graphics2_d__inherit__graph.png
new file mode 100644
index 0000000..38b0ab2
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_graphics2_d__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_graphics3_d-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_graphics3_d-members.html
new file mode 100644
index 0000000..2ad046b
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_graphics3_d-members.html
@@ -0,0 +1,32 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_graphics3_d.html">pp::Graphics3D</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics3_d.html#ae4527f4526a090c05ab7d9ce9fafb3de">GetAttribs</a>(int32_t attrib_list[]) const </td><td><a class="el" href="classpp_1_1_graphics3_d.html">pp::Graphics3D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics3_d.html#a36b6d8c818d0af11128d9522dd7f8bc2">Graphics3D</a>()</td><td><a class="el" href="classpp_1_1_graphics3_d.html">pp::Graphics3D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics3_d.html#a072a5e20977e193d02b2e509ad72d11e">Graphics3D</a>(const InstanceHandle &instance, const int32_t attrib_list[])</td><td><a class="el" href="classpp_1_1_graphics3_d.html">pp::Graphics3D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics3_d.html#a53586ebd53025ff6e1e0c4b89e471f68">Graphics3D</a>(const InstanceHandle &instance, const Graphics3D &share_context, const int32_t attrib_list[])</td><td><a class="el" href="classpp_1_1_graphics3_d.html">pp::Graphics3D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics3_d.html#a21b887529bdba99089ff3c1fa16d3d7c">ResizeBuffers</a>(int32_t width, int32_t height)</td><td><a class="el" href="classpp_1_1_graphics3_d.html">pp::Graphics3D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics3_d.html#a504e04ec5f21e324439fe8edc3622957">SetAttribs</a>(const int32_t attrib_list[])</td><td><a class="el" href="classpp_1_1_graphics3_d.html">pp::Graphics3D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics3_d.html#ae1d1c071bf2737ab310a32558ec5f507">SwapBuffers</a>(const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_graphics3_d.html">pp::Graphics3D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics3_d.html#a134128672575294aeb17c263189b9da0">~Graphics3D</a>()</td><td><a class="el" href="classpp_1_1_graphics3_d.html">pp::Graphics3D</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_graphics3_d.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_graphics3_d.html
new file mode 100644
index 0000000..8083fc1
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_graphics3_d.html
@@ -0,0 +1,280 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::Graphics3D Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::Graphics3D" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::Graphics3D:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_graphics3_d__inherit__graph.png" border="0" usemap="#pp_1_1_graphics3_d_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_graphics3_d_inherit__map" id="pp_1_1_graphics3_d_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="13,5,117,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_graphics3_d-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics3_d.html#a36b6d8c818d0af11128d9522dd7f8bc2">Graphics3D</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics3_d.html#a072a5e20977e193d02b2e509ad72d11e">Graphics3D</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, const int32_t attrib_list[])</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics3_d.html#a53586ebd53025ff6e1e0c4b89e471f68">Graphics3D</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, const <a class="el" href="classpp_1_1_graphics3_d.html">Graphics3D</a> &share_context, const int32_t attrib_list[])</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics3_d.html#a134128672575294aeb17c263189b9da0">~Graphics3D</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics3_d.html#ae4527f4526a090c05ab7d9ce9fafb3de">GetAttribs</a> (int32_t attrib_list[]) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics3_d.html#a504e04ec5f21e324439fe8edc3622957">SetAttribs</a> (const int32_t attrib_list[])</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics3_d.html#a21b887529bdba99089ff3c1fa16d3d7c">ResizeBuffers</a> (int32_t width, int32_t height)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics3_d.html#ae1d1c071bf2737ab310a32558ec5f507">SwapBuffers</a> (const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This class represents a 3D rendering context in the browser. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a36b6d8c818d0af11128d9522dd7f8bc2"></a><!-- doxytag: member="pp::Graphics3D::Graphics3D" ref="a36b6d8c818d0af11128d9522dd7f8bc2" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_graphics3_d.html#a36b6d8c818d0af11128d9522dd7f8bc2">pp::Graphics3D::Graphics3D</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor for creating an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> <a class="el" href="classpp_1_1_graphics3_d.html" title="This class represents a 3D rendering context in the browser.">Graphics3D</a> object. </p>
+</div>
+</div>
+<a class="anchor" id="a072a5e20977e193d02b2e509ad72d11e"></a><!-- doxytag: member="pp::Graphics3D::Graphics3D" ref="a072a5e20977e193d02b2e509ad72d11e" args="(const InstanceHandle &instance, const int32_t attrib_list[])" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_graphics3_d.html#a36b6d8c818d0af11128d9522dd7f8bc2">pp::Graphics3D::Graphics3D</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const int32_t </td>
+<td class="paramname"><em>attrib_list</em>[] </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor for creating and initializing a 3D rendering context. </p>
+<p>The returned context is created off-screen and must be attached to a module instance using <code><a class="el" href="classpp_1_1_instance.html#a147a1c1817a7a1fb2b76f5c87ab08899" title="BindGraphics() binds the given graphics as the current display surface.">Instance::BindGraphics</a></code> to draw on the web page.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">attrib_list</td><td>The list of attributes (name=value pairs) for the context. The list is terminated with <code>PP_GRAPHICS3DATTRIB_NONE</code>. The <code>attrib_list</code> may be <code>NULL</code> or empty (first attribute is <code>PP_GRAPHICS3DATTRIB_NONE</code>). If an attribute is not specified in <code>attrib_list</code>, then the default value is used.</td></tr>
+</table>
+</dd>
+</dl>
+<p>Attributes are classified into two categories:</p>
+<p>1. AtLeast: The attribute value in the returned context will meet or exceed the value requested when creating the object. 2. Exact: The attribute value in the returned context is equal to the value requested when creating the object.</p>
+<p>AtLeast attributes are (all have default values of 0):</p>
+<p><code>PP_GRAPHICS3DATTRIB_ALPHA_SIZE</code> <code>PP_GRAPHICS3DATTRIB_BLUE_SIZE</code> <code>PP_GRAPHICS3DATTRIB_GREEN_SIZE</code> <code>PP_GRAPHICS3DATTRIB_RED_SIZE</code> <code>PP_GRAPHICS3DATTRIB_DEPTH_SIZE</code> <code>PP_GRAPHICS3DATTRIB_STENCIL_SIZE</code> <code>PP_GRAPHICS3DATTRIB_SAMPLES</code> <code>PP_GRAPHICS3DATTRIB_SAMPLE_BUFFERS</code></p>
+<p>Exact attributes are:</p>
+<p><code>PP_GRAPHICS3DATTRIB_WIDTH</code> Default 0 <code>PP_GRAPHICS3DATTRIB_HEIGHT</code> Default 0 <code>PP_GRAPHICS3DATTRIB_SWAP_BEHAVIOR</code> Default: Implementation defined.</p>
+<p>On failure, the object will be <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a>. </p>
+</div>
+</div>
+<a class="anchor" id="a53586ebd53025ff6e1e0c4b89e471f68"></a><!-- doxytag: member="pp::Graphics3D::Graphics3D" ref="a53586ebd53025ff6e1e0c4b89e471f68" args="(const InstanceHandle &instance, const Graphics3D &share_context, const int32_t attrib_list[])" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_graphics3_d.html#a36b6d8c818d0af11128d9522dd7f8bc2">pp::Graphics3D::Graphics3D</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_graphics3_d.html">Graphics3D</a> & </td>
+<td class="paramname"><em>share_context</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const int32_t </td>
+<td class="paramname"><em>attrib_list</em>[] </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor for creating and initializing a 3D rendering context. </p>
+<p>The returned context is created off-screen. It must be attached to a module instance using <code><a class="el" href="classpp_1_1_instance.html#a147a1c1817a7a1fb2b76f5c87ab08899" title="BindGraphics() binds the given graphics as the current display surface.">Instance::BindGraphics</a></code> to draw on the web page.</p>
+<p>This constructor is identical to the 2-argument version except that this version allows sharing of resources with another context.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance that will own the new <a class="el" href="classpp_1_1_graphics3_d.html" title="This class represents a 3D rendering context in the browser.">Graphics3D</a>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">share_context</td><td>Specifies the context with which all shareable data will be shared. The shareable data is defined by the client API (note that for OpenGL and OpenGL ES, shareable data excludes texture objects named 0). An arbitrary number of <a class="el" href="classpp_1_1_graphics3_d.html" title="This class represents a 3D rendering context in the browser.">Graphics3D</a> resources can share data in this fashion. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">attrib_list</td><td>The list of attributes for the context. See the 2-argument version of this constructor for more information.</td></tr>
+</table>
+</dd>
+</dl>
+<p>On failure, the object will be <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a>. </p>
+</div>
+</div>
+<a class="anchor" id="a134128672575294aeb17c263189b9da0"></a><!-- doxytag: member="pp::Graphics3D::~Graphics3D" ref="a134128672575294aeb17c263189b9da0" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_graphics3_d.html#a134128672575294aeb17c263189b9da0">pp::Graphics3D::~Graphics3D</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Destructor. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="ae4527f4526a090c05ab7d9ce9fafb3de"></a><!-- doxytag: member="pp::Graphics3D::GetAttribs" ref="ae4527f4526a090c05ab7d9ce9fafb3de" args="(int32_t attrib_list[]) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_graphics3_d.html#ae4527f4526a090c05ab7d9ce9fafb3de">pp::Graphics3D::GetAttribs</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>attrib_list</em>[]</td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_graphics3_d.html#ae4527f4526a090c05ab7d9ce9fafb3de" title="GetAttribs() retrieves the value for each attribute in attrib_list.">GetAttribs()</a> retrieves the value for each attribute in <code>attrib_list</code>. </p>
+<p>The list has the same structure as described for the constructor. All attribute values specified in <code>pp_graphics_3d.h</code> can be retrieved.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in,out]</td><td class="paramname">attrib_list</td><td>The list of attributes (name=value pairs) for the context. The list is terminated with <code>PP_GRAPHICS3DATTRIB_NONE</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<p>The following error codes may be returned on failure:</p>
+<p>PP_ERROR_BADRESOURCE if context is invalid. PP_ERROR_BADARGUMENT if <code>attrib_list</code> is NULL or any attribute in the <code>attrib_list</code> is not a valid attribute.</p>
+<p><b>Example:</b></p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">int</span> attrib_list[] = {PP_GRAPHICS3DATTRIB_RED_SIZE, 0,
+ PP_GRAPHICS3DATTRIB_GREEN_SIZE, 0,
+ PP_GRAPHICS3DATTRIB_BLUE_SIZE, 0,
+ PP_GRAPHICS3DATTRIB_NONE};
+ <a class="code" href="classpp_1_1_graphics3_d.html#ae4527f4526a090c05ab7d9ce9fafb3de" title="GetAttribs() retrieves the value for each attribute in attrib_list.">GetAttribs</a>(context, attrib_list);
+ <span class="keywordtype">int</span> red_bits = attrib_list[1];
+ <span class="keywordtype">int</span> green_bits = attrib_list[3];
+ <span class="keywordtype">int</span> blue_bits = attrib_list[5];
+</pre></div><p>This example retrieves the values for rgb bits in the color buffer. </p>
+</div>
+</div>
+<a class="anchor" id="a21b887529bdba99089ff3c1fa16d3d7c"></a><!-- doxytag: member="pp::Graphics3D::ResizeBuffers" ref="a21b887529bdba99089ff3c1fa16d3d7c" args="(int32_t width, int32_t height)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_graphics3_d.html#a21b887529bdba99089ff3c1fa16d3d7c">pp::Graphics3D::ResizeBuffers</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>width</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>height</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_graphics3_d.html#a21b887529bdba99089ff3c1fa16d3d7c" title="ResizeBuffers() resizes the backing surface for the context.">ResizeBuffers()</a> resizes the backing surface for the context. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">width</td><td>The width of the backing surface. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">height</td><td>The height of the backing surface.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing <code>PP_ERROR_BADRESOURCE</code> if context is invalid or <code>PP_ERROR_BADARGUMENT</code> if the value specified for width or height is less than zero. <code>PP_ERROR_NOMEMORY</code> might be returned on the next <a class="el" href="classpp_1_1_graphics3_d.html#ae1d1c071bf2737ab310a32558ec5f507" title="SwapBuffers() makes the contents of the color buffer available for compositing.">SwapBuffers()</a> callback if the surface could not be resized due to insufficient resources. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a504e04ec5f21e324439fe8edc3622957"></a><!-- doxytag: member="pp::Graphics3D::SetAttribs" ref="a504e04ec5f21e324439fe8edc3622957" args="(const int32_t attrib_list[])" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_graphics3_d.html#a504e04ec5f21e324439fe8edc3622957">pp::Graphics3D::SetAttribs</a> </td>
+<td>(</td>
+<td class="paramtype">const int32_t </td>
+<td class="paramname"><em>attrib_list</em>[]</td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_graphics3_d.html#a504e04ec5f21e324439fe8edc3622957" title="SetAttribs() sets the values for each attribute in attrib_list.">SetAttribs()</a> sets the values for each attribute in <code>attrib_list</code>. </p>
+<p>The list has the same structure as the list used in the constructors.</p>
+<p>Attributes that can be specified are:</p>
+<ul>
+<li>PP_GRAPHICS3DATTRIB_SWAP_BEHAVIOR</li>
+</ul>
+<p>On failure the following error codes may be returned:</p>
+<ul>
+<li>PP_ERROR_BADRESOURCE if context is invalid.</li>
+<li>PP_ERROR_BADARGUMENT if attrib_list is NULL or any attribute in the attrib_list is not a valid attribute. </li>
+</ul>
+</div>
+</div>
+<a class="anchor" id="ae1d1c071bf2737ab310a32558ec5f507"></a><!-- doxytag: member="pp::Graphics3D::SwapBuffers" ref="ae1d1c071bf2737ab310a32558ec5f507" args="(const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_graphics3_d.html#ae1d1c071bf2737ab310a32558ec5f507">pp::Graphics3D::SwapBuffers</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_graphics3_d.html#ae1d1c071bf2737ab310a32558ec5f507" title="SwapBuffers() makes the contents of the color buffer available for compositing.">SwapBuffers()</a> makes the contents of the color buffer available for compositing. </p>
+<p>This function has no effect on off-screen surfaces: surfaces not bound to any module instance. The contents of ancillary buffers are always undefined after calling <a class="el" href="classpp_1_1_graphics3_d.html#ae1d1c071bf2737ab310a32558ec5f507" title="SwapBuffers() makes the contents of the color buffer available for compositing.">SwapBuffers()</a>. The contents of the color buffer are undefined if the value of the <code>PP_GRAPHICS3DATTRIB_SWAP_BEHAVIOR</code> attribute of context is not <code>PP_GRAPHICS3DATTRIB_BUFFER_PRESERVED</code>.</p>
+<p><a class="el" href="classpp_1_1_graphics3_d.html#ae1d1c071bf2737ab310a32558ec5f507" title="SwapBuffers() makes the contents of the color buffer available for compositing.">SwapBuffers()</a> runs in asynchronous mode. Specify a callback function and the argument for that callback function. The callback function will be executed on the calling thread after the color buffer has been composited with rest of the html page. While you are waiting for a <a class="el" href="classpp_1_1_graphics3_d.html#ae1d1c071bf2737ab310a32558ec5f507" title="SwapBuffers() makes the contents of the color buffer available for compositing.">SwapBuffers()</a> callback, additional calls to <a class="el" href="classpp_1_1_graphics3_d.html#ae1d1c071bf2737ab310a32558ec5f507" title="SwapBuffers() makes the contents of the color buffer available for compositing.">SwapBuffers()</a> will fail.</p>
+<p>Because the callback is executed (or thread unblocked) only when the instance's current state is actually on the screen, this function provides a way to rate limit animations. By waiting until the image is on the screen before painting the next frame, you can ensure you're not generating updates faster than the screen can be updated.</p>
+<p><a class="el" href="classpp_1_1_graphics3_d.html#ae1d1c071bf2737ab310a32558ec5f507" title="SwapBuffers() makes the contents of the color buffer available for compositing.">SwapBuffers()</a> performs an implicit flush operation on context. If the context gets into an unrecoverable error condition while processing a command, the error code will be returned as the argument for the callback. The callback may return the following error codes:</p>
+<p><code>PP_ERROR_NOMEMORY</code> <code>PP_ERROR_CONTEXT_LOST</code></p>
+<p>Note that the same error code may also be obtained by calling GetError().</p>
+<p>param[in] cc A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion of <a class="el" href="classpp_1_1_graphics3_d.html#ae1d1c071bf2737ab310a32558ec5f507" title="SwapBuffers() makes the contents of the color buffer available for compositing.">SwapBuffers()</a>.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing <code>PP_ERROR_BADRESOURCE</code> if context is invalid or <code>PP_ERROR_BADARGUMENT</code> if callback is invalid. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="graphics__3d_8h.html">graphics_3d.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_graphics3_d__inherit__graph.png b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_graphics3_d__inherit__graph.png
new file mode 100644
index 0000000..d898b8b
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_graphics3_d__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_graphics3_d_client-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_graphics3_d_client-members.html
new file mode 100644
index 0000000..3a5f118
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_graphics3_d_client-members.html
@@ -0,0 +1,16 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_graphics3_d_client.html">pp::Graphics3DClient</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics3_d_client.html#af5302a53378a3a02f2a3a7edad5b0841">Graphics3DClient</a>(Instance *instance)</td><td><a class="el" href="classpp_1_1_graphics3_d_client.html">pp::Graphics3DClient</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics3_d_client.html#aefef5681c4d39c0deef2d0b83caf77c8">Graphics3DContextLost</a>()=0</td><td><a class="el" href="classpp_1_1_graphics3_d_client.html">pp::Graphics3DClient</a></td><td><code> [pure virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_graphics3_d_client.html#ae92f30610f425d3e530fc3f9a1276aae">~Graphics3DClient</a>()</td><td><a class="el" href="classpp_1_1_graphics3_d_client.html">pp::Graphics3DClient</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_graphics3_d_client.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_graphics3_d_client.html
new file mode 100644
index 0000000..320e2fd
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_graphics3_d_client.html
@@ -0,0 +1,81 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::Graphics3DClient Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::Graphics3DClient" -->
+<p><a href="classpp_1_1_graphics3_d_client-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics3_d_client.html#af5302a53378a3a02f2a3a7edad5b0841">Graphics3DClient</a> (<a class="el" href="classpp_1_1_instance.html">Instance</a> *instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics3_d_client.html#ae92f30610f425d3e530fc3f9a1276aae">~Graphics3DClient</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics3_d_client.html#aefef5681c4d39c0deef2d0b83caf77c8">Graphics3DContextLost</a> ()=0</td></tr>
+</table>
+<hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="af5302a53378a3a02f2a3a7edad5b0841"></a><!-- doxytag: member="pp::Graphics3DClient::Graphics3DClient" ref="af5302a53378a3a02f2a3a7edad5b0841" args="(Instance *instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_graphics3_d_client.html#af5302a53378a3a02f2a3a7edad5b0841">pp::Graphics3DClient::Graphics3DClient</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="classpp_1_1_instance.html">Instance</a> * </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor for creating a <a class="el" href="classpp_1_1_graphics3_d_client.html">Graphics3DClient</a>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance that will own the new <code><a class="el" href="classpp_1_1_graphics3_d_client.html">Graphics3DClient</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ae92f30610f425d3e530fc3f9a1276aae"></a><!-- doxytag: member="pp::Graphics3DClient::~Graphics3DClient" ref="ae92f30610f425d3e530fc3f9a1276aae" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_graphics3_d_client.html#ae92f30610f425d3e530fc3f9a1276aae">pp::Graphics3DClient::~Graphics3DClient</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Destructor. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="aefef5681c4d39c0deef2d0b83caf77c8"></a><!-- doxytag: member="pp::Graphics3DClient::Graphics3DContextLost" ref="aefef5681c4d39c0deef2d0b83caf77c8" args="()=0" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual void <a class="el" href="classpp_1_1_graphics3_d_client.html#aefef5681c4d39c0deef2d0b83caf77c8">pp::Graphics3DClient::Graphics3DContextLost</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [pure virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_graphics3_d_client.html#aefef5681c4d39c0deef2d0b83caf77c8" title="Graphics3DContextLost() is a notification that the context was lost for the 3D devices.">Graphics3DContextLost()</a> is a notification that the context was lost for the 3D devices. </p>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="graphics__3d__client_8h.html">graphics_3d_client.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_host_resolver-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_host_resolver-members.html
new file mode 100644
index 0000000..2a482c7f
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_host_resolver-members.html
@@ -0,0 +1,35 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_host_resolver.html">pp::HostResolver</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_host_resolver.html#aaa2e0834d48b8356f8f3185bc615611d">GetCanonicalName</a>() const </td><td><a class="el" href="classpp_1_1_host_resolver.html">pp::HostResolver</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_host_resolver.html#a3680cf97d53a80a536c5dc6441a4c6e7">GetNetAddress</a>(uint32_t index) const </td><td><a class="el" href="classpp_1_1_host_resolver.html">pp::HostResolver</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_host_resolver.html#ace959e4cb6fd0a51669f6eff64e08ae3">GetNetAddressCount</a>() const </td><td><a class="el" href="classpp_1_1_host_resolver.html">pp::HostResolver</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_host_resolver.html#a98885c5eb6ba873ee54cbb657f9e43f5">HostResolver</a>()</td><td><a class="el" href="classpp_1_1_host_resolver.html">pp::HostResolver</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_host_resolver.html#aea32a40269f4ad3dc9d9cbadc89bea4f">HostResolver</a>(const InstanceHandle &instance)</td><td><a class="el" href="classpp_1_1_host_resolver.html">pp::HostResolver</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_host_resolver.html#adc4f2b44c8281920fbce2c4b93eddce2">HostResolver</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_host_resolver.html">pp::HostResolver</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_host_resolver.html#a74ea3a85ad41ded8128b188c821cdb28">HostResolver</a>(const HostResolver &other)</td><td><a class="el" href="classpp_1_1_host_resolver.html">pp::HostResolver</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_host_resolver.html#ad56c139fa37d665cbb7e33f4d592b421">IsAvailable</a>()</td><td><a class="el" href="classpp_1_1_host_resolver.html">pp::HostResolver</a></td><td><code> [static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_host_resolver.html#ab773cb42d3130d6973a8743bc7aba7bd">operator=</a>(const HostResolver &other)</td><td><a class="el" href="classpp_1_1_host_resolver.html">pp::HostResolver</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">pp::Resource::operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_host_resolver.html#a894d4ae712b4b30e639f6d838c2f9d98">Resolve</a>(const char *host, uint16_t port, const PP_HostResolver_Hint &hint, const CompletionCallback &callback)</td><td><a class="el" href="classpp_1_1_host_resolver.html">pp::HostResolver</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_host_resolver.html#ad4d39f4e863917bc881fc98c236c9f84">~HostResolver</a>()</td><td><a class="el" href="classpp_1_1_host_resolver.html">pp::HostResolver</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_host_resolver.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_host_resolver.html
new file mode 100644
index 0000000..c59c6537
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_host_resolver.html
@@ -0,0 +1,305 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::HostResolver Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::HostResolver" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::HostResolver:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_host_resolver__inherit__graph.png" border="0" usemap="#pp_1_1_host_resolver_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_host_resolver_inherit__map" id="pp_1_1_host_resolver_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="17,5,121,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_host_resolver-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_host_resolver.html#a98885c5eb6ba873ee54cbb657f9e43f5">HostResolver</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_host_resolver.html#aea32a40269f4ad3dc9d9cbadc89bea4f">HostResolver</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_host_resolver.html#adc4f2b44c8281920fbce2c4b93eddce2">HostResolver</a> (<a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a>, PP_Resource resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_host_resolver.html#a74ea3a85ad41ded8128b188c821cdb28">HostResolver</a> (const <a class="el" href="classpp_1_1_host_resolver.html">HostResolver</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_host_resolver.html#ad4d39f4e863917bc881fc98c236c9f84">~HostResolver</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_host_resolver.html">HostResolver</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_host_resolver.html#ab773cb42d3130d6973a8743bc7aba7bd">operator=</a> (const <a class="el" href="classpp_1_1_host_resolver.html">HostResolver</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_host_resolver.html#a894d4ae712b4b30e639f6d838c2f9d98">Resolve</a> (const char *host, uint16_t port, const PP_HostResolver_Hint &hint, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_host_resolver.html#aaa2e0834d48b8356f8f3185bc615611d">GetCanonicalName</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_host_resolver.html#ace959e4cb6fd0a51669f6eff64e08ae3">GetNetAddressCount</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_net_address.html">NetAddress</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_host_resolver.html#a3680cf97d53a80a536c5dc6441a4c6e7">GetNetAddress</a> (uint32_t index) const </td></tr>
+</table><h2>
+Static Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_host_resolver.html#ad56c139fa37d665cbb7e33f4d592b421">IsAvailable</a> ()</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="classpp_1_1_host_resolver.html" title="The HostResolver class supports host name resolution.">HostResolver</a></code> class supports host name resolution. </p>
+<p>Permissions: In order to run <code><a class="el" href="classpp_1_1_host_resolver.html#a894d4ae712b4b30e639f6d838c2f9d98" title="Requests resolution of a host name.">Resolve()</a></code>, apps permission <code>socket</code> with subrule <code>resolve-host</code> is required. For more details about network communication permissions, please see: <a href="http://developer.chrome.com/apps/app_network.html">http://developer.chrome.com/apps/app_network.html</a> </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a98885c5eb6ba873ee54cbb657f9e43f5"></a><!-- doxytag: member="pp::HostResolver::HostResolver" ref="a98885c5eb6ba873ee54cbb657f9e43f5" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_host_resolver.html#a98885c5eb6ba873ee54cbb657f9e43f5">pp::HostResolver::HostResolver</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor for creating an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> <code><a class="el" href="classpp_1_1_host_resolver.html" title="The HostResolver class supports host name resolution.">HostResolver</a></code> object. </p>
+</div>
+</div>
+<a class="anchor" id="aea32a40269f4ad3dc9d9cbadc89bea4f"></a><!-- doxytag: member="pp::HostResolver::HostResolver" ref="aea32a40269f4ad3dc9d9cbadc89bea4f" args="(const InstanceHandle &instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_host_resolver.html#a98885c5eb6ba873ee54cbb657f9e43f5">pp::HostResolver::HostResolver</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used to create a <code><a class="el" href="classpp_1_1_host_resolver.html" title="The HostResolver class supports host name resolution.">HostResolver</a></code> object. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="adc4f2b44c8281920fbce2c4b93eddce2"></a><!-- doxytag: member="pp::HostResolver::HostResolver" ref="adc4f2b44c8281920fbce2c4b93eddce2" args="(PassRef, PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_host_resolver.html#a98885c5eb6ba873ee54cbb657f9e43f5">pp::HostResolver::HostResolver</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a> </td>
+<td class="paramname">, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>resource</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used when you have received a <code>PP_Resource</code> as a return value that has had 1 ref added for you. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PPB_HostResolver</code> resource. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a74ea3a85ad41ded8128b188c821cdb28"></a><!-- doxytag: member="pp::HostResolver::HostResolver" ref="a74ea3a85ad41ded8128b188c821cdb28" args="(const HostResolver &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_host_resolver.html#a98885c5eb6ba873ee54cbb657f9e43f5">pp::HostResolver::HostResolver</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_host_resolver.html">HostResolver</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The copy constructor for <code><a class="el" href="classpp_1_1_host_resolver.html" title="The HostResolver class supports host name resolution.">HostResolver</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A reference to another <code><a class="el" href="classpp_1_1_host_resolver.html" title="The HostResolver class supports host name resolution.">HostResolver</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ad4d39f4e863917bc881fc98c236c9f84"></a><!-- doxytag: member="pp::HostResolver::~HostResolver" ref="ad4d39f4e863917bc881fc98c236c9f84" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_host_resolver.html#ad4d39f4e863917bc881fc98c236c9f84">pp::HostResolver::~HostResolver</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The destructor. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="aaa2e0834d48b8356f8f3185bc615611d"></a><!-- doxytag: member="pp::HostResolver::GetCanonicalName" ref="aaa2e0834d48b8356f8f3185bc615611d" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_host_resolver.html#aaa2e0834d48b8356f8f3185bc615611d">pp::HostResolver::GetCanonicalName</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the canonical name of the host. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A string <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> on success, which is an empty string if <code>PP_HOSTRESOLVER_FLAG_CANONNAME</code> is not set in the hint flags when calling <code><a class="el" href="classpp_1_1_host_resolver.html#a894d4ae712b4b30e639f6d838c2f9d98" title="Requests resolution of a host name.">Resolve()</a></code>; an undefined <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> if there is a pending <code><a class="el" href="classpp_1_1_host_resolver.html#a894d4ae712b4b30e639f6d838c2f9d98" title="Requests resolution of a host name.">Resolve()</a></code> call or the previous <code><a class="el" href="classpp_1_1_host_resolver.html#a894d4ae712b4b30e639f6d838c2f9d98" title="Requests resolution of a host name.">Resolve()</a></code> call failed. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a3680cf97d53a80a536c5dc6441a4c6e7"></a><!-- doxytag: member="pp::HostResolver::GetNetAddress" ref="a3680cf97d53a80a536c5dc6441a4c6e7" args="(uint32_t index) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_net_address.html">NetAddress</a> <a class="el" href="classpp_1_1_host_resolver.html#a3680cf97d53a80a536c5dc6441a4c6e7">pp::HostResolver::GetNetAddress</a> </td>
+<td>(</td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>index</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets a network address. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>An index indicating which address to return.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code> object. The object will be null (i.e., <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> returns true) if there is a pending <code><a class="el" href="classpp_1_1_host_resolver.html#a894d4ae712b4b30e639f6d838c2f9d98" title="Requests resolution of a host name.">Resolve()</a></code> call or the previous <code><a class="el" href="classpp_1_1_host_resolver.html#a894d4ae712b4b30e639f6d838c2f9d98" title="Requests resolution of a host name.">Resolve()</a></code> call failed, or the specified index is out of range. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ace959e4cb6fd0a51669f6eff64e08ae3"></a><!-- doxytag: member="pp::HostResolver::GetNetAddressCount" ref="ace959e4cb6fd0a51669f6eff64e08ae3" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="classpp_1_1_host_resolver.html#ace959e4cb6fd0a51669f6eff64e08ae3">pp::HostResolver::GetNetAddressCount</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the number of network addresses. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The number of available network addresses on success; 0 if there is a pending <code><a class="el" href="classpp_1_1_host_resolver.html#a894d4ae712b4b30e639f6d838c2f9d98" title="Requests resolution of a host name.">Resolve()</a></code> call or the previous <code><a class="el" href="classpp_1_1_host_resolver.html#a894d4ae712b4b30e639f6d838c2f9d98" title="Requests resolution of a host name.">Resolve()</a></code> call failed. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ad56c139fa37d665cbb7e33f4d592b421"></a><!-- doxytag: member="pp::HostResolver::IsAvailable" ref="ad56c139fa37d665cbb7e33f4d592b421" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static bool <a class="el" href="classpp_1_1_host_resolver.html#ad56c139fa37d665cbb7e33f4d592b421">pp::HostResolver::IsAvailable</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Static function for determining whether the browser supports the <code>PPB_HostResolver</code> interface. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the interface is available, false otherwise. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab773cb42d3130d6973a8743bc7aba7bd"></a><!-- doxytag: member="pp::HostResolver::operator=" ref="ab773cb42d3130d6973a8743bc7aba7bd" args="(const HostResolver &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_host_resolver.html">HostResolver</a>& pp::HostResolver::operator= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_host_resolver.html">HostResolver</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The assignment operator for <code><a class="el" href="classpp_1_1_host_resolver.html" title="The HostResolver class supports host name resolution.">HostResolver</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A reference to another <code><a class="el" href="classpp_1_1_host_resolver.html" title="The HostResolver class supports host name resolution.">HostResolver</a></code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A reference to this <code><a class="el" href="classpp_1_1_host_resolver.html" title="The HostResolver class supports host name resolution.">HostResolver</a></code> object. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a894d4ae712b4b30e639f6d838c2f9d98"></a><!-- doxytag: member="pp::HostResolver::Resolve" ref="a894d4ae712b4b30e639f6d838c2f9d98" args="(const char *host, uint16_t port, const PP_HostResolver_Hint &hint, const CompletionCallback &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_host_resolver.html#a894d4ae712b4b30e639f6d838c2f9d98">pp::HostResolver::Resolve</a> </td>
+<td>(</td>
+<td class="paramtype">const char * </td>
+<td class="paramname"><em>host</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">uint16_t </td>
+<td class="paramname"><em>port</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const PP_HostResolver_Hint & </td>
+<td class="paramname"><em>hint</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>callback</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Requests resolution of a host name. </p>
+<p>If the call completes successully, the results can be retrieved by <code><a class="el" href="classpp_1_1_host_resolver.html#aaa2e0834d48b8356f8f3185bc615611d" title="Gets the canonical name of the host.">GetCanonicalName()</a></code>, <code><a class="el" href="classpp_1_1_host_resolver.html#ace959e4cb6fd0a51669f6eff64e08ae3" title="Gets the number of network addresses.">GetNetAddressCount()</a></code> and <code><a class="el" href="classpp_1_1_host_resolver.html#a3680cf97d53a80a536c5dc6441a4c6e7" title="Gets a network address.">GetNetAddress()</a></code>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">host</td><td>The host name (or IP address literal) to resolve. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">port</td><td>The port number to be set in the resulting network addresses. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">hint</td><td>A <code>PP_HostResolver_Hint</code> structure providing hints for host resolution. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. <code>PP_ERROR_NOACCESS</code> will be returned if the caller doesn't have required permissions. <code>PP_ERROR_NAME_NOT_RESOLVED</code> will be returned if the host name couldn't be resolved. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="host__resolver_8h.html">host_resolver.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_host_resolver__inherit__graph.png b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_host_resolver__inherit__graph.png
new file mode 100644
index 0000000..a29fbe1
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_host_resolver__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_i_m_e_input_event-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_i_m_e_input_event-members.html
new file mode 100644
index 0000000..46f4395
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_i_m_e_input_event-members.html
@@ -0,0 +1,38 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_i_m_e_input_event.html">pp::IMEInputEvent</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a6f94a5cd8453f1b69e55aadde73354e7">GetModifiers</a>() const </td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_i_m_e_input_event.html#aee5f2af391fd269f35271012247768ac">GetSegmentNumber</a>() const </td><td><a class="el" href="classpp_1_1_i_m_e_input_event.html">pp::IMEInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_i_m_e_input_event.html#a3deeed9cfbc9f2cff0cb027b870e3ce6">GetSegmentOffset</a>(uint32_t index) const </td><td><a class="el" href="classpp_1_1_i_m_e_input_event.html">pp::IMEInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_i_m_e_input_event.html#a94e9078036a3bdf0af6d5508d9115cf6">GetSelection</a>(uint32_t *start, uint32_t *end) const </td><td><a class="el" href="classpp_1_1_i_m_e_input_event.html">pp::IMEInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_i_m_e_input_event.html#ada4e768c2aea31e443d8bc9d5e4a9f36">GetTargetSegment</a>() const </td><td><a class="el" href="classpp_1_1_i_m_e_input_event.html">pp::IMEInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_i_m_e_input_event.html#ae2b82f9465fa0847af7e0214fb43232f">GetText</a>() const </td><td><a class="el" href="classpp_1_1_i_m_e_input_event.html">pp::IMEInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#acc79ecdcf19f5b8a8a7268fc8ff51531">GetTimeStamp</a>() const </td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a73ca79c06ff9a39304e3b390090f03dc">GetType</a>() const </td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_i_m_e_input_event.html#a44a2a4139e63a21757a50c731e17bacd">IMEInputEvent</a>()</td><td><a class="el" href="classpp_1_1_i_m_e_input_event.html">pp::IMEInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_i_m_e_input_event.html#aedfd74fe9ee6c1cbdbcc9f78b25a5621">IMEInputEvent</a>(const InputEvent &event)</td><td><a class="el" href="classpp_1_1_i_m_e_input_event.html">pp::IMEInputEvent</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_i_m_e_input_event.html#a9004ae92edc6bcb797dd3720acb290af">IMEInputEvent</a>(const InstanceHandle &instance, PP_InputEvent_Type type, PP_TimeTicks time_stamp, const Var &text, const std::vector< uint32_t > &segment_offsets, int32_t target_segment, const std::pair< uint32_t, uint32_t > &selection)</td><td><a class="el" href="classpp_1_1_i_m_e_input_event.html">pp::IMEInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#ac7581e4321abe8de6f3b48d70f4aa65d">InputEvent</a>()</td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a1d4f7d3fb88de3cccc60ab26b92ccf23">InputEvent</a>(PP_Resource input_event_resource)</td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a2492183af4fecec44a423a5b7eae6faf">~InputEvent</a>()</td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_i_m_e_input_event.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_i_m_e_input_event.html
new file mode 100644
index 0000000..e477728b
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_i_m_e_input_event.html
@@ -0,0 +1,257 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::IMEInputEvent Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::IMEInputEvent" --><!-- doxytag: inherits="pp::InputEvent" --><div class="dynheader">
+Inheritance diagram for pp::IMEInputEvent:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_i_m_e_input_event__inherit__graph.png" border="0" usemap="#pp_1_1_i_m_e_input_event_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_i_m_e_input_event_inherit__map" id="pp_1_1_i_m_e_input_event_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_input_event.html" title="This class represents an input event resource." alt="" coords="16,83,131,112"></area><area shape="rect" id="node4" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="21,5,125,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_i_m_e_input_event-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_i_m_e_input_event.html#a44a2a4139e63a21757a50c731e17bacd">IMEInputEvent</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_i_m_e_input_event.html#aedfd74fe9ee6c1cbdbcc9f78b25a5621">IMEInputEvent</a> (const <a class="el" href="classpp_1_1_input_event.html">InputEvent</a> &event)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_i_m_e_input_event.html#a9004ae92edc6bcb797dd3720acb290af">IMEInputEvent</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, PP_InputEvent_Type type, PP_TimeTicks time_stamp, const <a class="el" href="classpp_1_1_var.html">Var</a> &text, const std::vector< uint32_t > &segment_offsets, int32_t target_segment, const std::pair< uint32_t, uint32_t > &selection)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_i_m_e_input_event.html#ae2b82f9465fa0847af7e0214fb43232f">GetText</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_i_m_e_input_event.html#aee5f2af391fd269f35271012247768ac">GetSegmentNumber</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_i_m_e_input_event.html#a3deeed9cfbc9f2cff0cb027b870e3ce6">GetSegmentOffset</a> (uint32_t index) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_i_m_e_input_event.html#ada4e768c2aea31e443d8bc9d5e4a9f36">GetTargetSegment</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_i_m_e_input_event.html#a94e9078036a3bdf0af6d5508d9115cf6">GetSelection</a> (uint32_t *start, uint32_t *end) const </td></tr>
+</table>
+<hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a44a2a4139e63a21757a50c731e17bacd"></a><!-- doxytag: member="pp::IMEInputEvent::IMEInputEvent" ref="a44a2a4139e63a21757a50c731e17bacd" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_i_m_e_input_event.html#a44a2a4139e63a21757a50c731e17bacd">pp::IMEInputEvent::IMEInputEvent</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> IME input event object. </p>
+</div>
+</div>
+<a class="anchor" id="aedfd74fe9ee6c1cbdbcc9f78b25a5621"></a><!-- doxytag: member="pp::IMEInputEvent::IMEInputEvent" ref="aedfd74fe9ee6c1cbdbcc9f78b25a5621" args="(const InputEvent &event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_i_m_e_input_event.html#a44a2a4139e63a21757a50c731e17bacd">pp::IMEInputEvent::IMEInputEvent</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_input_event.html">InputEvent</a> & </td>
+<td class="paramname"><em>event</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs an IME input event object from the provided generic input event. </p>
+<p>If the given event is itself <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> or is not an IME input event, the object will be <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">event</td><td>A generic input event. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a9004ae92edc6bcb797dd3720acb290af"></a><!-- doxytag: member="pp::IMEInputEvent::IMEInputEvent" ref="a9004ae92edc6bcb797dd3720acb290af" args="(const InstanceHandle &instance, PP_InputEvent_Type type, PP_TimeTicks time_stamp, const Var &text, const std::vector< uint32_t > &segment_offsets, int32_t target_segment, const std::pair< uint32_t, uint32_t > &selection)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_i_m_e_input_event.html#a44a2a4139e63a21757a50c731e17bacd">pp::IMEInputEvent::IMEInputEvent</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_InputEvent_Type </td>
+<td class="paramname"><em>type</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_TimeTicks </td>
+<td class="paramname"><em>time_stamp</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>text</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const std::vector< uint32_t > & </td>
+<td class="paramname"><em>segment_offsets</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>target_segment</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const std::pair< uint32_t, uint32_t > & </td>
+<td class="paramname"><em>selection</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This constructor manually constructs an IME event from the provided parameters. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance for which this event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>A <code>PP_InputEvent_Type</code> identifying the type of input event. The type must be one of the ime event types.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">time_stamp</td><td>A <code>PP_TimeTicks</code> indicating the time when the event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">text</td><td>The string returned by <code>GetText</code>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">segment_offsets</td><td>The array of numbers returned by <code>GetSegmentOffset</code>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">target_segment</td><td>The number returned by <code>GetTargetSegment</code>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">selection</td><td>The range returned by <code>GetSelection</code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="aee5f2af391fd269f35271012247768ac"></a><!-- doxytag: member="pp::IMEInputEvent::GetSegmentNumber" ref="aee5f2af391fd269f35271012247768ac" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="classpp_1_1_i_m_e_input_event.html#aee5f2af391fd269f35271012247768ac">pp::IMEInputEvent::GetSegmentNumber</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns the number of segments in the composition text. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The number of segments. For events other than COMPOSITION_UPDATE, returns 0. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a3deeed9cfbc9f2cff0cb027b870e3ce6"></a><!-- doxytag: member="pp::IMEInputEvent::GetSegmentOffset" ref="a3deeed9cfbc9f2cff0cb027b870e3ce6" args="(uint32_t index) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="classpp_1_1_i_m_e_input_event.html#a3deeed9cfbc9f2cff0cb027b870e3ce6">pp::IMEInputEvent::GetSegmentOffset</a> </td>
+<td>(</td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>index</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns the position of the index-th segmentation point in the composition text. </p>
+<p>The position is given by a byte-offset (not a character-offset) of the string returned by <a class="el" href="classpp_1_1_i_m_e_input_event.html#ae2b82f9465fa0847af7e0214fb43232f" title="Returns the composition text as a UTF-8 string for the given IME event.">GetText()</a>. It always satisfies 0=GetSegmentOffset(0) < ... < GetSegmentOffset(i) < GetSegmentOffset(i+1) < ... < GetSegmentOffset(<a class="el" href="classpp_1_1_i_m_e_input_event.html#aee5f2af391fd269f35271012247768ac" title="Returns the number of segments in the composition text.">GetSegmentNumber()</a>)=(byte-length of <a class="el" href="classpp_1_1_i_m_e_input_event.html#ae2b82f9465fa0847af7e0214fb43232f" title="Returns the composition text as a UTF-8 string for the given IME event.">GetText()</a>). Note that [GetSegmentOffset(i), GetSegmentOffset(i+1)) represents the range of the i-th segment, and hence <a class="el" href="classpp_1_1_i_m_e_input_event.html#aee5f2af391fd269f35271012247768ac" title="Returns the number of segments in the composition text.">GetSegmentNumber()</a> can be a valid argument to this function instead of an off-by-1 error.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">ime_event</td><td>A <code>PP_Resource</code> corresponding to an IME event.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>An integer indicating a segment.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The byte-offset of the segmentation point. If the event is not COMPOSITION_UPDATE or index is out of range, returns 0. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a94e9078036a3bdf0af6d5508d9115cf6"></a><!-- doxytag: member="pp::IMEInputEvent::GetSelection" ref="a94e9078036a3bdf0af6d5508d9115cf6" args="(uint32_t *start, uint32_t *end) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_i_m_e_input_event.html#a94e9078036a3bdf0af6d5508d9115cf6">pp::IMEInputEvent::GetSelection</a> </td>
+<td>(</td>
+<td class="paramtype">uint32_t * </td>
+<td class="paramname"><em>start</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">uint32_t * </td>
+<td class="paramname"><em>end</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Obtains the range selected by caret in the composition text. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[out]</td><td class="paramname">start</td><td>An integer indicating a start offset of selection range.</td></tr>
+<tr><td class="paramdir">[out]</td><td class="paramname">end</td><td>An integer indicating an end offset of selection range. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ada4e768c2aea31e443d8bc9d5e4a9f36"></a><!-- doxytag: member="pp::IMEInputEvent::GetTargetSegment" ref="ada4e768c2aea31e443d8bc9d5e4a9f36" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_i_m_e_input_event.html#ada4e768c2aea31e443d8bc9d5e4a9f36">pp::IMEInputEvent::GetTargetSegment</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns the index of the current target segment of composition. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An integer indicating the index of the target segment. When there is no active target segment, or the event is not COMPOSITION_UPDATE, returns -1. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ae2b82f9465fa0847af7e0214fb43232f"></a><!-- doxytag: member="pp::IMEInputEvent::GetText" ref="ae2b82f9465fa0847af7e0214fb43232f" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_i_m_e_input_event.html#ae2b82f9465fa0847af7e0214fb43232f">pp::IMEInputEvent::GetText</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns the composition text as a UTF-8 string for the given IME event. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A string var representing the composition text. For non-IME input events the return value will be an undefined var. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="input__event_8h.html">input_event.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_i_m_e_input_event__inherit__graph.png b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_i_m_e_input_event__inherit__graph.png
new file mode 100644
index 0000000..b7a6ce4
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_i_m_e_input_event__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_image_data-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_image_data-members.html
new file mode 100644
index 0000000..679f50f
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_image_data-members.html
@@ -0,0 +1,37 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_image_data.html">pp::ImageData</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_image_data.html#a545dece2d1350ab9ecea5592a665b78c">data</a>() const </td><td><a class="el" href="classpp_1_1_image_data.html">pp::ImageData</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_image_data.html#a0985d86289358e1f4298c176818b9a91">format</a>() const </td><td><a class="el" href="classpp_1_1_image_data.html">pp::ImageData</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_image_data.html#af646177d375e11d77eec52e9324fc076">GetAddr32</a>(const Point &coord) const </td><td><a class="el" href="classpp_1_1_image_data.html">pp::ImageData</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_image_data.html#a8aaf07d11584a06313cf03ca2440bb12">GetAddr32</a>(const Point &coord)</td><td><a class="el" href="classpp_1_1_image_data.html">pp::ImageData</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_image_data.html#a4208e7eabf98df7b91c01ed6fcd92425">GetNativeImageDataFormat</a>()</td><td><a class="el" href="classpp_1_1_image_data.html">pp::ImageData</a></td><td><code> [static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_image_data.html#a2ef5c9156701868eede2c839309a04f9">ImageData</a>()</td><td><a class="el" href="classpp_1_1_image_data.html">pp::ImageData</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_image_data.html#ae8a198b71756afbeb745beeadec032f9">ImageData</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_image_data.html">pp::ImageData</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_image_data.html#a9943421a80760f3de284ae9d7ce9e431">ImageData</a>(const ImageData &other)</td><td><a class="el" href="classpp_1_1_image_data.html">pp::ImageData</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_image_data.html#a9c2c26e4130e33d9d7ad7c72e32cea1d">ImageData</a>(const InstanceHandle &instance, PP_ImageDataFormat format, const Size &size, bool init_to_zero)</td><td><a class="el" href="classpp_1_1_image_data.html">pp::ImageData</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_image_data.html#a9be445247d64ddaad4b6623021db7232">IsImageDataFormatSupported</a>(PP_ImageDataFormat format)</td><td><a class="el" href="classpp_1_1_image_data.html">pp::ImageData</a></td><td><code> [static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_image_data.html#a35b7e23dbb14817eacca3967dc4ef6b7">operator=</a>(const ImageData &other)</td><td><a class="el" href="classpp_1_1_image_data.html">pp::ImageData</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">pp::Resource::operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_image_data.html#a2c5e0060b4227c0c9dd28287bc2e4961">size</a>() const </td><td><a class="el" href="classpp_1_1_image_data.html">pp::ImageData</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_image_data.html#a3c107aead77cea8ba1adcbc5654078b7">stride</a>() const </td><td><a class="el" href="classpp_1_1_image_data.html">pp::ImageData</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_image_data.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_image_data.html
new file mode 100644
index 0000000..f9202ca
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_image_data.html
@@ -0,0 +1,350 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::ImageData Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::ImageData" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::ImageData:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_image_data__inherit__graph.png" border="0" usemap="#pp_1_1_image_data_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_image_data_inherit__map" id="pp_1_1_image_data_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="12,5,116,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_image_data-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_image_data.html#a2ef5c9156701868eede2c839309a04f9">ImageData</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_image_data.html#ae8a198b71756afbeb745beeadec032f9">ImageData</a> (<a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a>, PP_Resource resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_image_data.html#a9943421a80760f3de284ae9d7ce9e431">ImageData</a> (const <a class="el" href="classpp_1_1_image_data.html">ImageData</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_image_data.html#a9c2c26e4130e33d9d7ad7c72e32cea1d">ImageData</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, PP_ImageDataFormat <a class="el" href="classpp_1_1_image_data.html#a0985d86289358e1f4298c176818b9a91">format</a>, const <a class="el" href="classpp_1_1_size.html">Size</a> &<a class="el" href="classpp_1_1_image_data.html#a2c5e0060b4227c0c9dd28287bc2e4961">size</a>, bool init_to_zero)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_image_data.html">ImageData</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_image_data.html#a35b7e23dbb14817eacca3967dc4ef6b7">operator=</a> (const <a class="el" href="classpp_1_1_image_data.html">ImageData</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_ImageDataFormat </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_image_data.html#a0985d86289358e1f4298c176818b9a91">format</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_size.html">pp::Size</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_image_data.html#a2c5e0060b4227c0c9dd28287bc2e4961">size</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_image_data.html#a3c107aead77cea8ba1adcbc5654078b7">stride</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_image_data.html#a545dece2d1350ab9ecea5592a665b78c">data</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const uint32_t * </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_image_data.html#af646177d375e11d77eec52e9324fc076">GetAddr32</a> (const <a class="el" href="classpp_1_1_point.html">Point</a> &coord) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t * </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_image_data.html#a8aaf07d11584a06313cf03ca2440bb12">GetAddr32</a> (const <a class="el" href="classpp_1_1_point.html">Point</a> &coord)</td></tr>
+</table><h2>
+Static Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_image_data.html#a9be445247d64ddaad4b6623021db7232">IsImageDataFormatSupported</a> (PP_ImageDataFormat <a class="el" href="classpp_1_1_image_data.html#a0985d86289358e1f4298c176818b9a91">format</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static PP_ImageDataFormat </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_image_data.html#a4208e7eabf98df7b91c01ed6fcd92425">GetNativeImageDataFormat</a> ()</td></tr>
+</table>
+<hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a2ef5c9156701868eede2c839309a04f9"></a><!-- doxytag: member="pp::ImageData::ImageData" ref="a2ef5c9156701868eede2c839309a04f9" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_image_data.html#a2ef5c9156701868eede2c839309a04f9">pp::ImageData::ImageData</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor for creating an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> <code><a class="el" href="classpp_1_1_image_data.html">ImageData</a></code> object. </p>
+</div>
+</div>
+<a class="anchor" id="ae8a198b71756afbeb745beeadec032f9"></a><!-- doxytag: member="pp::ImageData::ImageData" ref="ae8a198b71756afbeb745beeadec032f9" args="(PassRef, PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_image_data.html#a2ef5c9156701868eede2c839309a04f9">pp::ImageData::ImageData</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a> </td>
+<td class="paramname">, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>resource</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used when you have received a <code>PP_Resource</code> as a return value that has already been reference counted. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A PP_Resource corresponding to image data. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a9943421a80760f3de284ae9d7ce9e431"></a><!-- doxytag: member="pp::ImageData::ImageData" ref="a9943421a80760f3de284ae9d7ce9e431" args="(const ImageData &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_image_data.html#a2ef5c9156701868eede2c839309a04f9">pp::ImageData::ImageData</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_image_data.html">ImageData</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The copy constructor for <code><a class="el" href="classpp_1_1_image_data.html">ImageData</a></code>. </p>
+<p>This constructor produces an <code><a class="el" href="classpp_1_1_image_data.html">ImageData</a></code> object that shares the underlying <code>Image</code> resource with <code>other</code>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A pointer to an image data. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a9c2c26e4130e33d9d7ad7c72e32cea1d"></a><!-- doxytag: member="pp::ImageData::ImageData" ref="a9c2c26e4130e33d9d7ad7c72e32cea1d" args="(const InstanceHandle &instance, PP_ImageDataFormat format, const Size &size, bool init_to_zero)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_image_data.html#a2ef5c9156701868eede2c839309a04f9">pp::ImageData::ImageData</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_ImageDataFormat </td>
+<td class="paramname"><em>format</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_size.html">Size</a> & </td>
+<td class="paramname"><em>size</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">bool </td>
+<td class="paramname"><em>init_to_zero</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor that allocates a new <code><a class="el" href="classpp_1_1_image_data.html">ImageData</a></code> in the browser with the provided parameters. </p>
+<p>The resulting object will be <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> if the allocation failed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>A PP_ImageDataFormat containing desired image format. PP_ImageDataFormat is an enumeration of the different types of image data formats. Refer to <a href="../pepperc/ppb__image__data_8h.html"><code>ppb_image_data.h</code></a> for further information.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>A pointer to a <code><a class="el" href="classpp_1_1_size.html" title="A size of an object based on width and height.">Size</a></code> containing the image size.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">init_to_zero</td><td>A bool used to determine transparency at creation. Set the <code>init_to_zero</code> flag if you want the bitmap initialized to transparent during the creation process. If this flag is not set, the current contents of the bitmap will be undefined, and the module should be sure to set all the pixels. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a545dece2d1350ab9ecea5592a665b78c"></a><!-- doxytag: member="pp::ImageData::data" ref="a545dece2d1350ab9ecea5592a665b78c" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void* <a class="el" href="classpp_1_1_image_data.html#a545dece2d1350ab9ecea5592a665b78c">pp::ImageData::data</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A getter function for returning a raw pointer to the image pixels. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A raw pointer to the image pixels. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a0985d86289358e1f4298c176818b9a91"></a><!-- doxytag: member="pp::ImageData::format" ref="a0985d86289358e1f4298c176818b9a91" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_ImageDataFormat <a class="el" href="classpp_1_1_image_data.html#a0985d86289358e1f4298c176818b9a91">pp::ImageData::format</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A getter function for returning the current format for images. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_ImageDataFormat</code> containing the preferred format. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="af646177d375e11d77eec52e9324fc076"></a><!-- doxytag: member="pp::ImageData::GetAddr32" ref="af646177d375e11d77eec52e9324fc076" args="(const Point &coord) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">const uint32_t* <a class="el" href="classpp_1_1_image_data.html#af646177d375e11d77eec52e9324fc076">pp::ImageData::GetAddr32</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">Point</a> & </td>
+<td class="paramname"><em>coord</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function is used retrieve the address of the given pixel for 32-bit pixel formats. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">coord</td><td>A <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code> representing the x and y coordinates for a specific pixel.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The address for the pixel. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a8aaf07d11584a06313cf03ca2440bb12"></a><!-- doxytag: member="pp::ImageData::GetAddr32" ref="a8aaf07d11584a06313cf03ca2440bb12" args="(const Point &coord)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t* <a class="el" href="classpp_1_1_image_data.html#af646177d375e11d77eec52e9324fc076">pp::ImageData::GetAddr32</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">Point</a> & </td>
+<td class="paramname"><em>coord</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function is used retrieve the address of the given pixel for 32-bit pixel formats. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">coord</td><td>A <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code> representing the x and y coordinates for a specific pixel.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The address for the pixel. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a4208e7eabf98df7b91c01ed6fcd92425"></a><!-- doxytag: member="pp::ImageData::GetNativeImageDataFormat" ref="a4208e7eabf98df7b91c01ed6fcd92425" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static PP_ImageDataFormat <a class="el" href="classpp_1_1_image_data.html#a4208e7eabf98df7b91c01ed6fcd92425">pp::ImageData::GetNativeImageDataFormat</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_image_data.html#a4208e7eabf98df7b91c01ed6fcd92425" title="GetNativeImageDataFormat() determines the browser's preferred format for images.">GetNativeImageDataFormat()</a> determines the browser's preferred format for images. </p>
+<p>Using this format guarantees no extra conversions will occur when painting.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_ImageDataFormat</code> containing the preferred format. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a9be445247d64ddaad4b6623021db7232"></a><!-- doxytag: member="pp::ImageData::IsImageDataFormatSupported" ref="a9be445247d64ddaad4b6623021db7232" args="(PP_ImageDataFormat format)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static bool <a class="el" href="classpp_1_1_image_data.html#a9be445247d64ddaad4b6623021db7232">pp::ImageData::IsImageDataFormatSupported</a> </td>
+<td>(</td>
+<td class="paramtype">PP_ImageDataFormat </td>
+<td class="paramname"><em>format</em></td><td>)</td>
+<td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_image_data.html#a9be445247d64ddaad4b6623021db7232" title="IsImageDataFormatSupported() returns true if the supplied format is supported by the browser...">IsImageDataFormatSupported()</a> returns <code>true</code> if the supplied format is supported by the browser. </p>
+<p>Note: <code>PP_IMAGEDATAFORMAT_BGRA_PREMUL</code> and <code>PP_IMAGEDATAFORMAT_RGBA_PREMUL</code> formats are always supported. Other image formats do not make this guarantee, and should be checked first with <a class="el" href="classpp_1_1_image_data.html#a9be445247d64ddaad4b6623021db7232" title="IsImageDataFormatSupported() returns true if the supplied format is supported by the browser...">IsImageDataFormatSupported()</a> before using.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Image data format.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if the format is supported by the browser. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a35b7e23dbb14817eacca3967dc4ef6b7"></a><!-- doxytag: member="pp::ImageData::operator=" ref="a35b7e23dbb14817eacca3967dc4ef6b7" args="(const ImageData &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_image_data.html">ImageData</a>& pp::ImageData::operator= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_image_data.html">ImageData</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function decrements the reference count of this <code><a class="el" href="classpp_1_1_image_data.html">ImageData</a></code> and increments the reference count of the <code>other</code> <code><a class="el" href="classpp_1_1_image_data.html">ImageData</a></code>. </p>
+<p>This <code><a class="el" href="classpp_1_1_image_data.html">ImageData</a></code> shares the underlying image resource with <code>other</code>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>An other image data.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A new image data context. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2c5e0060b4227c0c9dd28287bc2e4961"></a><!-- doxytag: member="pp::ImageData::size" ref="a2c5e0060b4227c0c9dd28287bc2e4961" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_size.html">pp::Size</a> <a class="el" href="classpp_1_1_image_data.html#a2c5e0060b4227c0c9dd28287bc2e4961">pp::ImageData::size</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A getter function for returning the image size. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The image size in pixels. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a3c107aead77cea8ba1adcbc5654078b7"></a><!-- doxytag: member="pp::ImageData::stride" ref="a3c107aead77cea8ba1adcbc5654078b7" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_image_data.html#a3c107aead77cea8ba1adcbc5654078b7">pp::ImageData::stride</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A getter function for returning the row width in bytes. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The row width in bytes. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="image__data_8h.html">image_data.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_image_data__inherit__graph.png b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_image_data__inherit__graph.png
new file mode 100644
index 0000000..5febb9a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_image_data__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_input_event-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_input_event-members.html
new file mode 100644
index 0000000..dbbc40c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_input_event-members.html
@@ -0,0 +1,30 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a6f94a5cd8453f1b69e55aadde73354e7">GetModifiers</a>() const </td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#acc79ecdcf19f5b8a8a7268fc8ff51531">GetTimeStamp</a>() const </td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a73ca79c06ff9a39304e3b390090f03dc">GetType</a>() const </td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#ac7581e4321abe8de6f3b48d70f4aa65d">InputEvent</a>()</td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a1d4f7d3fb88de3cccc60ab26b92ccf23">InputEvent</a>(PP_Resource input_event_resource)</td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a2492183af4fecec44a423a5b7eae6faf">~InputEvent</a>()</td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_input_event.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_input_event.html
new file mode 100644
index 0000000..59681746
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_input_event.html
@@ -0,0 +1,158 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::InputEvent Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::InputEvent" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::InputEvent:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_input_event__inherit__graph.png" border="0" usemap="#pp_1_1_input_event_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_input_event_inherit__map" id="pp_1_1_input_event_inherit__map">
+<area shape="rect" id="node5" href="classpp_1_1_i_m_e_input_event.html" title="pp::IMEInputEvent" alt="" coords="339,5,475,35"></area><area shape="rect" id="node7" href="classpp_1_1_keyboard_input_event.html" title="pp::KeyboardInputEvent" alt="" coords="320,59,493,88"></area><area shape="rect" id="node9" href="classpp_1_1_mouse_input_event.html" title="This class handles mouse events." alt="" coords="329,112,484,141"></area><area shape="rect" id="node11" href="classpp_1_1_touch_input_event.html" title="pp::TouchInputEvent" alt="" coords="332,165,481,195"></area><area shape="rect" id="node13" href="classpp_1_1_wheel_input_event.html" title="pp::WheelInputEvent" alt="" coords="331,219,483,248"></area><area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="5,112,109,141"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_input_event-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_input_event.html#ac7581e4321abe8de6f3b48d70f4aa65d">InputEvent</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_input_event.html#a1d4f7d3fb88de3cccc60ab26b92ccf23">InputEvent</a> (PP_Resource input_event_resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_input_event.html#a2492183af4fecec44a423a5b7eae6faf">~InputEvent</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_InputEvent_Type </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_input_event.html#a73ca79c06ff9a39304e3b390090f03dc">GetType</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_TimeTicks </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_input_event.html#acc79ecdcf19f5b8a8a7268fc8ff51531">GetTimeStamp</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_input_event.html#a6f94a5cd8453f1b69e55aadde73354e7">GetModifiers</a> () const </td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This class represents an input event resource. </p>
+<p>Normally you will get passed this object through the HandleInputEvent() function on the <code><a class="el" href="classpp_1_1_instance.html">Instance</a></code> object.</p>
+<p>Typically you would check the type of the event and then create the appropriate event-specific object to query the properties.</p>
+<p><b>Example:</b> </p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">bool</span> MyInstance::HandleInputEvent(<span class="keyword">const</span> <a class="code" href="classpp_1_1_input_event.html" title="This class represents an input event resource.">pp::InputEvent</a>& event) {
+ <span class="keywordflow">switch</span> (event.<a class="code" href="classpp_1_1_input_event.html#a73ca79c06ff9a39304e3b390090f03dc" title="GetType() returns the type of input event for this input event object.">GetType</a>()) {
+ <span class="keywordflow">case</span> PP_INPUTEVENT_TYPE_MOUSEDOWN {
+ <a class="code" href="classpp_1_1_mouse_input_event.html" title="This class handles mouse events.">pp::MouseInputEvent</a> mouse_event(event);
+ <span class="keywordflow">return</span> HandleMouseDown(mouse_event.GetMousePosition());
+ }
+ <span class="keywordflow">default</span>:
+ <span class="keywordflow">return</span> <span class="keyword">false</span>;
+ }
+</pre></div> </div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="ac7581e4321abe8de6f3b48d70f4aa65d"></a><!-- doxytag: member="pp::InputEvent::InputEvent" ref="ac7581e4321abe8de6f3b48d70f4aa65d" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_input_event.html#ac7581e4321abe8de6f3b48d70f4aa65d">pp::InputEvent::InputEvent</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor that creates an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> <a class="el" href="classpp_1_1_input_event.html" title="This class represents an input event resource.">InputEvent</a> object. </p>
+</div>
+</div>
+<a class="anchor" id="a1d4f7d3fb88de3cccc60ab26b92ccf23"></a><!-- doxytag: member="pp::InputEvent::InputEvent" ref="a1d4f7d3fb88de3cccc60ab26b92ccf23" args="(PP_Resource input_event_resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_input_event.html#ac7581e4321abe8de6f3b48d70f4aa65d">pp::InputEvent::InputEvent</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>input_event_resource</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This constructor constructs an input event from the provided input event resource ID. </p>
+<p>The <a class="el" href="classpp_1_1_input_event.html" title="This class represents an input event resource.">InputEvent</a> object will be <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> if the given resource is not a valid input event.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">input_event_resource</td><td>A input event resource ID. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a2492183af4fecec44a423a5b7eae6faf"></a><!-- doxytag: member="pp::InputEvent::~InputEvent" ref="a2492183af4fecec44a423a5b7eae6faf" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_input_event.html#a2492183af4fecec44a423a5b7eae6faf">pp::InputEvent::~InputEvent</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a6f94a5cd8453f1b69e55aadde73354e7"></a><!-- doxytag: member="pp::InputEvent::GetModifiers" ref="a6f94a5cd8453f1b69e55aadde73354e7" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="classpp_1_1_input_event.html#a6f94a5cd8453f1b69e55aadde73354e7">pp::InputEvent::GetModifiers</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_input_event.html#a6f94a5cd8453f1b69e55aadde73354e7" title="GetModifiers() returns a bitfield indicating which modifiers were down at the time of the event...">GetModifiers()</a> returns a bitfield indicating which modifiers were down at the time of the event. </p>
+<p>This is a combination of the flags in the <code>PP_InputEvent_Modifier</code> enum.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The modifiers associated with the event, or 0 if the given resource is not a valid event resource. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="acc79ecdcf19f5b8a8a7268fc8ff51531"></a><!-- doxytag: member="pp::InputEvent::GetTimeStamp" ref="acc79ecdcf19f5b8a8a7268fc8ff51531" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_TimeTicks <a class="el" href="classpp_1_1_input_event.html#acc79ecdcf19f5b8a8a7268fc8ff51531">pp::InputEvent::GetTimeStamp</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_input_event.html#acc79ecdcf19f5b8a8a7268fc8ff51531" title="GetTimeStamp() returns the time that the event was generated.">GetTimeStamp()</a> returns the time that the event was generated. </p>
+<p>The time will be before the current time since processing and dispatching the event has some overhead. Use this value to compare the times the user generated two events without being sensitive to variable processing time.</p>
+<p>The return value is in time ticks, which is a monotonically increasing clock not related to the wall clock time. It will not change if the user changes their clock or daylight savings time starts, so can be reliably used to compare events. This means, however, that you can't correlate event times to a particular time of day on the system clock.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_TimeTicks</code> containing the time the event was generated. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a73ca79c06ff9a39304e3b390090f03dc"></a><!-- doxytag: member="pp::InputEvent::GetType" ref="a73ca79c06ff9a39304e3b390090f03dc" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_InputEvent_Type <a class="el" href="classpp_1_1_input_event.html#a73ca79c06ff9a39304e3b390090f03dc">pp::InputEvent::GetType</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_input_event.html#a73ca79c06ff9a39304e3b390090f03dc" title="GetType() returns the type of input event for this input event object.">GetType()</a> returns the type of input event for this input event object. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_InputEvent_Type</code> if successful, PP_INPUTEVENT_TYPE_UNDEFINED if the resource is invalid. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="input__event_8h.html">input_event.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_input_event__inherit__graph.png b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_input_event__inherit__graph.png
new file mode 100644
index 0000000..5b98683
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_input_event__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_instance-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_instance-members.html
new file mode 100644
index 0000000..347e394
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_instance-members.html
@@ -0,0 +1,36 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_instance.html">pp::Instance</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a9773263ee281405030548fc224eeec08">AddPerInstanceObject</a>(const std::string &interface_name, void *object)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a147a1c1817a7a1fb2b76f5c87ab08899">BindGraphics</a>(const Graphics2D &graphics)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#abcfd0eb0995e6273271b4ff4c3df16ae">BindGraphics</a>(const Graphics3D &graphics)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a286bc22174e2f7b6e917c56aa5c7de86">ClearInputEventRequest</a>(uint32_t event_classes)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a42c67b21f11bef29c5b341c78926bad3">DidChangeFocus</a>(bool has_focus)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#ad952f05e42f0e036157beb216f12f3f3">DidChangeView</a>(const View &view)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a72ac4ec0b62c4cd8dedae3cf0fc577c2">DidChangeView</a>(const Rect &position, const Rect &clip)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a6dec498f1d49571be9fd40e23745327f">GetPerInstanceObject</a>(PP_Instance instance, const std::string &interface_name)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td><code> [static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a6cd99065ef0a55555647253442563225">HandleDocumentLoad</a>(const URLLoader &url_loader)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a46aa2feb657fa14263a29375fe458b00">HandleInputEvent</a>(const pp::InputEvent &event)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a5dce8c8b36b1df7cfcc12e42397a35e8">HandleMessage</a>(const Var &message)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a4f915e70caaef514a49ef8afcddde30f">Init</a>(uint32_t argc, const char *argn[], const char *argv[])</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a398b1946805872334781dac993cfe704">Instance</a>(PP_Instance instance)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a451fb956e64fd3db891608148a044c01">IsFullFrame</a>()</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a192ab89f4acf2e1e25df14e22d0cff43">LogToConsole</a>(PP_LogLevel level, const Var &value)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a48286ccf1217b3ae02138049d00af48f">LogToConsoleWithSource</a>(PP_LogLevel level, const Var &source, const Var &value)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a67e888a4e4e23effe7a09625e73ecae9">PostMessage</a>(const Var &message)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#aeb29ff4201f9ae0e356c5ed0bb4a2679">pp_instance</a>() const </td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a33c633189c7c321dac8e0c5dc6e67f5b">RemovePerInstanceObject</a>(const std::string &interface_name, void *object)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#ad1b6c19954ff9446349a6fa5684eea2d">RemovePerInstanceObject</a>(const InstanceHandle &instance, const std::string &interface_name, void *object)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td><code> [static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a6341c14fc54427e45349f5158483e017">RequestFilteringInputEvents</a>(uint32_t event_classes)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a2e2d63280786c0cc41b7c6f656cc81b5">RequestInputEvents</a>(uint32_t event_classes)</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance.html#a5e475ef135a235029bc0515e9e3ff832">~Instance</a>()</td><td><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_instance.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_instance.html
new file mode 100644
index 0000000..31709a4
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_instance.html
@@ -0,0 +1,737 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::Instance Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::Instance" -->
+<p><a href="classpp_1_1_instance-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a398b1946805872334781dac993cfe704">Instance</a> (PP_Instance instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a5e475ef135a235029bc0515e9e3ff832">~Instance</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_Instance </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#aeb29ff4201f9ae0e356c5ed0bb4a2679">pp_instance</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a4f915e70caaef514a49ef8afcddde30f">Init</a> (uint32_t argc, const char *argn[], const char *argv[])</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a9773263ee281405030548fc224eeec08">AddPerInstanceObject</a> (const std::string &interface_name, void *object)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a33c633189c7c321dac8e0c5dc6e67f5b">RemovePerInstanceObject</a> (const std::string &interface_name, void *object)</td></tr>
+<tr><td colspan="2"><div class="groupHeader">PPP_Instance methods for the module to override:</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#ad952f05e42f0e036157beb216f12f3f3">DidChangeView</a> (const <a class="el" href="classpp_1_1_view.html">View</a> &view)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a72ac4ec0b62c4cd8dedae3cf0fc577c2">DidChangeView</a> (const <a class="el" href="classpp_1_1_rect.html">Rect</a> &position, const <a class="el" href="classpp_1_1_rect.html">Rect</a> &clip)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a42c67b21f11bef29c5b341c78926bad3">DidChangeFocus</a> (bool has_focus)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a46aa2feb657fa14263a29375fe458b00">HandleInputEvent</a> (const <a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a> &event)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a6cd99065ef0a55555647253442563225">HandleDocumentLoad</a> (const <a class="el" href="classpp_1_1_u_r_l_loader.html">URLLoader</a> &url_loader)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a5dce8c8b36b1df7cfcc12e42397a35e8">HandleMessage</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &message)</td></tr>
+<tr><td colspan="2"><div class="groupHeader">PPB_Instance methods for querying the browser:</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a147a1c1817a7a1fb2b76f5c87ab08899">BindGraphics</a> (const <a class="el" href="classpp_1_1_graphics2_d.html">Graphics2D</a> &graphics)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#abcfd0eb0995e6273271b4ff4c3df16ae">BindGraphics</a> (const <a class="el" href="classpp_1_1_graphics3_d.html">Graphics3D</a> &graphics)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a451fb956e64fd3db891608148a044c01">IsFullFrame</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a2e2d63280786c0cc41b7c6f656cc81b5">RequestInputEvents</a> (uint32_t event_classes)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a6341c14fc54427e45349f5158483e017">RequestFilteringInputEvents</a> (uint32_t event_classes)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a286bc22174e2f7b6e917c56aa5c7de86">ClearInputEventRequest</a> (uint32_t event_classes)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a67e888a4e4e23effe7a09625e73ecae9">PostMessage</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &message)</td></tr>
+<tr><td colspan="2"><div class="groupHeader">PPB_Console methods for logging to the console:</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a192ab89f4acf2e1e25df14e22d0cff43">LogToConsole</a> (PP_LogLevel level, const <a class="el" href="classpp_1_1_var.html">Var</a> &value)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a48286ccf1217b3ae02138049d00af48f">LogToConsoleWithSource</a> (PP_LogLevel level, const <a class="el" href="classpp_1_1_var.html">Var</a> &source, const <a class="el" href="classpp_1_1_var.html">Var</a> &value)</td></tr>
+</table><h2>
+Static Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#ad1b6c19954ff9446349a6fa5684eea2d">RemovePerInstanceObject</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, const std::string &interface_name, void *object)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void * </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html#a6dec498f1d49571be9fd40e23745327f">GetPerInstanceObject</a> (PP_Instance instance, const std::string &interface_name)</td></tr>
+</table>
+<hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a398b1946805872334781dac993cfe704"></a><!-- doxytag: member="pp::Instance::Instance" ref="a398b1946805872334781dac993cfe704" args="(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_instance.html#a398b1946805872334781dac993cfe704">pp::Instance::Instance</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Instance </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor. </p>
+<p>Construction of an instance should only be done in response to a browser request in <code><a class="el" href="classpp_1_1_module.html#a648f236af50501bac40ce40296611825" title="CreateInstance() should be overridden to create your own module type.">Module::CreateInstance</a></code>. Otherwise, the instance will lack the proper bookkeeping in the browser and in the C++ wrapper.</p>
+<p><a class="el" href="classpp_1_1_instance.html#a4f915e70caaef514a49ef8afcddde30f" title="Init() initializes this instance with the provided arguments.">Init()</a> will be called immediately after the constructor. This allows you to perform initialization tasks that can fail and to report that failure to the browser. </p>
+</div>
+</div>
+<a class="anchor" id="a5e475ef135a235029bc0515e9e3ff832"></a><!-- doxytag: member="pp::Instance::~Instance" ref="a5e475ef135a235029bc0515e9e3ff832" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_instance.html#a5e475ef135a235029bc0515e9e3ff832">pp::Instance::~Instance</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Destructor. </p>
+<p>When the instance is removed from the web page, the <code><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></code> object will be deleted. You should never delete the <code><a class="el" href="classpp_1_1_instance.html">Instance</a></code> object yourself since the lifetime is handled by the C++ wrapper and is controlled by the browser's calls to the <code>PPP_Instance</code> interface.</p>
+<p>The <code>PP_Instance</code> identifier will still be valid during this call so the instance can perform cleanup-related tasks. Once this function returns, the <code>PP_Instance</code> handle will be invalid. This means that you can't do any asynchronous operations such as network requests or file writes from this destructor since they will be immediately canceled.</p>
+<p><b>Note:</b> This function may be skipped in certain call so the instance can perform cleanup-related tasks. Once this function returns, the <code>PP_Instance</code> handle will be invalid. This means that you can't do any asynchronous operations such as network requests or file writes from this destructor since they will be immediately canceled. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a9773263ee281405030548fc224eeec08"></a><!-- doxytag: member="pp::Instance::AddPerInstanceObject" ref="a9773263ee281405030548fc224eeec08" args="(const std::string &interface_name, void *object)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_instance.html#a9773263ee281405030548fc224eeec08">pp::Instance::AddPerInstanceObject</a> </td>
+<td>(</td>
+<td class="paramtype">const std::string & </td>
+<td class="paramname"><em>interface_name</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">void * </td>
+<td class="paramname"><em>object</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_instance.html#a9773263ee281405030548fc224eeec08" title="AddPerInstanceObject() associates an instance with an interface, creating an object.">AddPerInstanceObject()</a> associates an instance with an interface, creating an object. </p>
+<p>Many optional interfaces are associated with a plugin instance. For example, the find in PPP_Find interface receives updates on a per-instance basis. This "per-instance" tracking allows such objects to associate themselves with an instance as "the" handler for that interface name.</p>
+<p>In the case of the find example, the find object registers with its associated instance in its constructor and unregisters in its destructor. Then whenever it gets updates with a PP_Instance parameter, it can map back to the find object corresponding to that given PP_Instance by calling GetPerInstanceObject.</p>
+<p>This lookup is done on a per-interface-name basis. This means you can only have one object of a given interface name associated with an instance.</p>
+<p>If you are adding a handler for an additional interface, be sure to register with the module (AddPluginInterface) for your interface name to get the C calls in the first place.</p>
+<p>Refer to <a class="el" href="classpp_1_1_instance.html#a33c633189c7c321dac8e0c5dc6e67f5b" title="Refer to AddPerInstanceObject() for further information.">RemovePerInstanceObject()</a> and <a class="el" href="classpp_1_1_instance.html#a6dec498f1d49571be9fd40e23745327f" title="Look up an object previously associated with an instance.">GetPerInstanceObject()</a> for further information.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">interface_name</td><td>The name of the interface to associate with the instance </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">object</td><td></td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a147a1c1817a7a1fb2b76f5c87ab08899"></a><!-- doxytag: member="pp::Instance::BindGraphics" ref="a147a1c1817a7a1fb2b76f5c87ab08899" args="(const Graphics2D &graphics)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_instance.html#a147a1c1817a7a1fb2b76f5c87ab08899">pp::Instance::BindGraphics</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_graphics2_d.html">Graphics2D</a> & </td>
+<td class="paramname"><em>graphics</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_instance.html#a147a1c1817a7a1fb2b76f5c87ab08899" title="BindGraphics() binds the given graphics as the current display surface.">BindGraphics()</a> binds the given graphics as the current display surface. </p>
+<p>The contents of this device is what will be displayed in the instance's area on the web page. The device must be a 2D or a 3D device.</p>
+<p>You can pass an <code>is_null()</code> (default constructed) <a class="el" href="classpp_1_1_graphics2_d.html">Graphics2D</a> as the device parameter to unbind all devices from the given instance. The instance will then appear transparent. Re-binding the same device will return <code>true</code> and will do nothing.</p>
+<p>Any previously-bound device will be released. It is an error to bind a device when it is already bound to another instance. If you want to move a device between instances, first unbind it from the old one, and then rebind it to the new one.</p>
+<p>Binding a device will invalidate that portion of the web page to flush the contents of the new device to the screen.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">graphics</td><td>A <code><a class="el" href="classpp_1_1_graphics2_d.html">Graphics2D</a></code> to bind.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if bind was successful or false if the device was not the correct type. On success, a reference to the device will be held by the instance, so the caller can release its reference if it chooses. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="abcfd0eb0995e6273271b4ff4c3df16ae"></a><!-- doxytag: member="pp::Instance::BindGraphics" ref="abcfd0eb0995e6273271b4ff4c3df16ae" args="(const Graphics3D &graphics)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_instance.html#a147a1c1817a7a1fb2b76f5c87ab08899">pp::Instance::BindGraphics</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_graphics3_d.html">Graphics3D</a> & </td>
+<td class="paramname"><em>graphics</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Binds the given <a class="el" href="classpp_1_1_graphics3_d.html" title="This class represents a 3D rendering context in the browser.">Graphics3D</a> as the current display surface. </p>
+<p>Refer to <code><a class="el" href="classpp_1_1_instance.html#a147a1c1817a7a1fb2b76f5c87ab08899" title="BindGraphics() binds the given graphics as the current display surface.">BindGraphics(const Graphics2D& graphics)</a></code> for further information.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">graphics</td><td>A <code><a class="el" href="classpp_1_1_graphics3_d.html" title="This class represents a 3D rendering context in the browser.">Graphics3D</a></code> to bind.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if bind was successful or false if the device was not the correct type. On success, a reference to the device will be held by the instance, so the caller can release its reference if it chooses. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a286bc22174e2f7b6e917c56aa5c7de86"></a><!-- doxytag: member="pp::Instance::ClearInputEventRequest" ref="a286bc22174e2f7b6e917c56aa5c7de86" args="(uint32_t event_classes)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_instance.html#a286bc22174e2f7b6e917c56aa5c7de86">pp::Instance::ClearInputEventRequest</a> </td>
+<td>(</td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>event_classes</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_instance.html#a286bc22174e2f7b6e917c56aa5c7de86" title="ClearInputEventRequest() requests that input events corresponding to the given input classes no longe...">ClearInputEventRequest()</a> requests that input events corresponding to the given input classes no longer be delivered to the instance. </p>
+<p>By default, no input events are delivered. If you have previously requested input events using <a class="el" href="classpp_1_1_instance.html#a2e2d63280786c0cc41b7c6f656cc81b5" title="RequestInputEvents() requests that input events corresponding to the given input events are delivered...">RequestInputEvents()</a> or <a class="el" href="classpp_1_1_instance.html#a6341c14fc54427e45349f5158483e017" title="RequestFilteringInputEvents() requests that input events corresponding to the given input events are ...">RequestFilteringInputEvents()</a>, this function will unregister handling for the given instance. This will allow greater browser performance for those events.</p>
+<p><b>Note: </b> You may still get some input events after clearing the flag if they were dispatched before the request was cleared. For example, if there are 3 mouse move events waiting to be delivered, and you clear the mouse event class during the processing of the first one, you'll still receive the next two. You just won't get more events generated.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">event_classes</td><td>A combination of flags from <code>PP_InputEvent_Class</code> that identifies the classes of events the instance is no longer interested in. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a42c67b21f11bef29c5b341c78926bad3"></a><!-- doxytag: member="pp::Instance::DidChangeFocus" ref="a42c67b21f11bef29c5b341c78926bad3" args="(bool has_focus)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual void <a class="el" href="classpp_1_1_instance.html#a42c67b21f11bef29c5b341c78926bad3">pp::Instance::DidChangeFocus</a> </td>
+<td>(</td>
+<td class="paramtype">bool </td>
+<td class="paramname"><em>has_focus</em></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_instance.html#a42c67b21f11bef29c5b341c78926bad3" title="DidChangeFocus() is called when an instance has gained or lost focus.">DidChangeFocus()</a> is called when an instance has gained or lost focus. </p>
+<p>Having focus means that keyboard events will be sent to the instance. An instance's default condition is that it will not have focus.</p>
+<p>The focus flag takes into account both browser tab and window focus as well as focus of the plugin element on the page. In order to be deemed to have focus, the browser window must be topmost, the tab must be selected in the window, and the instance must be the focused element on the page.</p>
+<p><b>Note:</b>Clicks on instances will give focus only if you handle the click event. Return <code>true</code> from <code>HandleInputEvent</code> in <code>PPP_InputEvent</code> (or use unfiltered events) to signal that the click event was handled. Otherwise, the browser will bubble the event and give focus to the element on the page that actually did end up consuming it. If you're not getting focus, check to make sure you're either requesting them via <code><a class="el" href="classpp_1_1_instance.html#a2e2d63280786c0cc41b7c6f656cc81b5" title="RequestInputEvents() requests that input events corresponding to the given input events are delivered...">RequestInputEvents()</a></code><code> (which implicitly marks all input events as consumed) or via </code><code><a class="el" href="classpp_1_1_instance.html#a6341c14fc54427e45349f5158483e017" title="RequestFilteringInputEvents() requests that input events corresponding to the given input events are ...">RequestFilteringInputEvents()</a></code> and returning true from your event handler.</p>
+<p><code></code><code> </code></p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">has_focus</td><td>Indicates the new focused state of the instance. </td></tr>
+</table>
+</dd>
+</dl>
+<p></p>
+</div>
+</div>
+<a class="anchor" id="ad952f05e42f0e036157beb216f12f3f3"></a><!-- doxytag: member="pp::Instance::DidChangeView" ref="ad952f05e42f0e036157beb216f12f3f3" args="(const View &view)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual void <a class="el" href="classpp_1_1_instance.html#ad952f05e42f0e036157beb216f12f3f3">pp::Instance::DidChangeView</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_view.html">View</a> & </td>
+<td class="paramname"><em>view</em></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_instance.html#ad952f05e42f0e036157beb216f12f3f3" title="DidChangeView() is called when the view information for the Instance has changed.">DidChangeView()</a> is called when the view information for the <a class="el" href="classpp_1_1_instance.html">Instance</a> has changed. </p>
+<p>See the <code><a class="el" href="classpp_1_1_view.html" title="This class represents the state of the view for an instance and contains functions for retrieving the...">View</a></code> object for information.</p>
+<p>Most implementations will want to check if the size and user visibility changed, and either resize themselves or start/stop generating updates.</p>
+<p>You should not call the default implementation. For backwards-compatibility, it will call the deprecated version of DidChangeView below. </p>
+</div>
+</div>
+<a class="anchor" id="a72ac4ec0b62c4cd8dedae3cf0fc577c2"></a><!-- doxytag: member="pp::Instance::DidChangeView" ref="a72ac4ec0b62c4cd8dedae3cf0fc577c2" args="(const Rect &position, const Rect &clip)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual void <a class="el" href="classpp_1_1_instance.html#ad952f05e42f0e036157beb216f12f3f3">pp::Instance::DidChangeView</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">Rect</a> & </td>
+<td class="paramname"><em>position</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">Rect</a> & </td>
+<td class="paramname"><em>clip</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Deprecated backwards-compatible version of <code><a class="el" href="classpp_1_1_instance.html#ad952f05e42f0e036157beb216f12f3f3" title="DidChangeView() is called when the view information for the Instance has changed.">DidChangeView()</a></code>. </p>
+<p>New code should derive from the version that takes a <code>ViewChanged</code> object rather than this version. This function is called by the default implementation of the newer <code>DidChangeView</code> function for source compatibility with older code.</p>
+<p>A typical implementation will check the size of the <code>position</code> argument and reallocate the graphics context when a different size is received. Note that this function will be called for scroll events where the size doesn't change, so you should always check that the size is actually different before doing any reallocations.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">position</td><td>The location on the page of the instance. The position is relative to the top left corner of the viewport, which changes as the page is scrolled. Generally the size of this value will be used to create a graphics device, and the position is ignored (most things are relative to the instance so the absolute position isn't useful in most cases).</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">clip</td><td>The visible region of the instance. This is relative to the top left of the instance's coordinate system (not the page). If the instance is invisible, <code>clip</code> will be (0, 0, 0, 0).</td></tr>
+</table>
+</dd>
+</dl>
+<p>It's recommended to check for invisible instances and to stop generating graphics updates in this case to save system resources. It's not usually worthwhile, however, to generate partial updates according to the clip when the instance is partially visible. Instead, update the entire region. The time saved doing partial paints is usually not significant and it can create artifacts when scrolling (this notification is sent asynchronously from scrolling so there can be flashes of old content in the exposed regions). </p>
+</div>
+</div>
+<a class="anchor" id="a6dec498f1d49571be9fd40e23745327f"></a><!-- doxytag: member="pp::Instance::GetPerInstanceObject" ref="a6dec498f1d49571be9fd40e23745327f" args="(PP_Instance instance, const std::string &interface_name)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static void* <a class="el" href="classpp_1_1_instance.html#a6dec498f1d49571be9fd40e23745327f">pp::Instance::GetPerInstanceObject</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Instance </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const std::string & </td>
+<td class="paramname"><em>interface_name</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Look up an object previously associated with an instance. </p>
+<p>Returns NULL if the instance is invalid or there is no object for the given interface name on the instance.</p>
+<p>Refer to <a class="el" href="classpp_1_1_instance.html#a9773263ee281405030548fc224eeec08" title="AddPerInstanceObject() associates an instance with an interface, creating an object.">AddPerInstanceObject()</a> for further information.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td></td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">interface_name</td><td>The name of the interface to associate with the instance. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a6cd99065ef0a55555647253442563225"></a><!-- doxytag: member="pp::Instance::HandleDocumentLoad" ref="a6cd99065ef0a55555647253442563225" args="(const URLLoader &url_loader)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual bool <a class="el" href="classpp_1_1_instance.html#a6cd99065ef0a55555647253442563225">pp::Instance::HandleDocumentLoad</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_u_r_l_loader.html">URLLoader</a> & </td>
+<td class="paramname"><em>url_loader</em></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_instance.html#a6cd99065ef0a55555647253442563225" title="HandleDocumentLoad() is called after Init() for a full-frame instance that was instantiated based on ...">HandleDocumentLoad()</a> is called after <a class="el" href="classpp_1_1_instance.html#a4f915e70caaef514a49ef8afcddde30f" title="Init() initializes this instance with the provided arguments.">Init()</a> for a full-frame instance that was instantiated based on the MIME type of a DOMWindow navigation. </p>
+<p>This situation only applies to modules that are pre-registered to handle certain MIME types. If you haven't specifically registered to handle a MIME type or aren't positive this applies to you, your implementation of this function can just return false.</p>
+<p>The given url_loader corresponds to a <code><a class="el" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs.">URLLoader</a></code> object that is already opened. Its response headers may be queried using GetResponseInfo(). If you want to use the <code><a class="el" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs.">URLLoader</a></code> to read data, you will need to save a copy of it or the underlying resource will be freed when this function returns and the load will be canceled.</p>
+<p>This method returns false if the module cannot handle the data. In response to this method, the module should call ReadResponseBody() to read the incoming data.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">url_loader</td><td>An open <code><a class="el" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs.">URLLoader</a></code> instance.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the data was handled, false otherwise. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a46aa2feb657fa14263a29375fe458b00"></a><!-- doxytag: member="pp::Instance::HandleInputEvent" ref="a46aa2feb657fa14263a29375fe458b00" args="(const pp::InputEvent &event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual bool <a class="el" href="classpp_1_1_instance.html#a46aa2feb657fa14263a29375fe458b00">pp::Instance::HandleInputEvent</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a> & </td>
+<td class="paramname"><em>event</em></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_instance.html#a46aa2feb657fa14263a29375fe458b00" title="HandleInputEvent() handles input events from the browser.">HandleInputEvent()</a> handles input events from the browser. </p>
+<p>The default implementation does nothing and returns false.</p>
+<p>In order to receive input events, you must register for them by calling <a class="el" href="classpp_1_1_instance.html#a2e2d63280786c0cc41b7c6f656cc81b5" title="RequestInputEvents() requests that input events corresponding to the given input events are delivered...">RequestInputEvents()</a> or <a class="el" href="classpp_1_1_instance.html#a6341c14fc54427e45349f5158483e017" title="RequestFilteringInputEvents() requests that input events corresponding to the given input events are ...">RequestFilteringInputEvents()</a>. By default, no events are delivered.</p>
+<p>If the event was handled, it will not be forwarded to the web page or browser. If it was not handled, it will bubble according to the normal rules. So it is important that an instance respond accurately with whether event propagation should continue.</p>
+<p>Event propagation also controls focus. If you handle an event like a mouse event, typically the instance will be given focus. Returning false from a filtered event handler or not registering for an event type means that the click will be given to a lower part of the page and your instance will not receive focus. This allows an instance to be partially transparent, where clicks on the transparent areas will behave like clicks to the underlying page.</p>
+<p>In general, you should try to keep input event handling short. Especially for filtered input events, the browser or page may be blocked waiting for you to respond.</p>
+<p>The caller of this function will maintain a reference to the input event resource during this call. Unless you take a reference to the resource to hold it for later, you don't need to release it.</p>
+<p><b>Note: </b>If you're not receiving input events, make sure you register for the event classes you want by calling <code>RequestInputEvents</code> or <code>RequestFilteringInputEvents</code>. If you're still not receiving keyboard input events, make sure you're returning true (or using a non-filtered event handler) for mouse events. Otherwise, the instance will not receive focus and keyboard events will not be sent.</p>
+<p>Refer to <code>RequestInputEvents</code> and <code>RequestFilteringInputEvents</code> for further information.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">event</td><td>The event to handle.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the event was handled, false if not. If you have registered to filter this class of events by calling <code>RequestFilteringInputEvents</code>, and you return false, the event will be forwarded to the page (and eventually the browser) for the default handling. For non-filtered events, the return value will be ignored. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a5dce8c8b36b1df7cfcc12e42397a35e8"></a><!-- doxytag: member="pp::Instance::HandleMessage" ref="a5dce8c8b36b1df7cfcc12e42397a35e8" args="(const Var &message)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual void <a class="el" href="classpp_1_1_instance.html#a5dce8c8b36b1df7cfcc12e42397a35e8">pp::Instance::HandleMessage</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>message</em></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_instance.html#a5dce8c8b36b1df7cfcc12e42397a35e8" title="HandleMessage() is a function that the browser calls when PostMessage() is invoked on the DOM element...">HandleMessage()</a> is a function that the browser calls when <a class="el" href="classpp_1_1_instance.html#a67e888a4e4e23effe7a09625e73ecae9" title="PostMessage() asynchronously invokes any listeners for message events on the DOM element for the give...">PostMessage()</a> is invoked on the DOM element for the instance in JavaScript. </p>
+<p>Note that <a class="el" href="classpp_1_1_instance.html#a67e888a4e4e23effe7a09625e73ecae9" title="PostMessage() asynchronously invokes any listeners for message events on the DOM element for the give...">PostMessage()</a> in the JavaScript interface is asynchronous, meaning JavaScript execution will not be blocked while <a class="el" href="classpp_1_1_instance.html#a5dce8c8b36b1df7cfcc12e42397a35e8" title="HandleMessage() is a function that the browser calls when PostMessage() is invoked on the DOM element...">HandleMessage()</a> is processing the message.</p>
+<p>When converting JavaScript arrays, any object properties whose name is not an array index are ignored. When passing arrays and objects, the entire reference graph will be converted and transferred. If the reference graph has cycles, the message will not be sent and an error will be logged to the console.</p>
+<p><b>Example:</b></p>
+<p>The following JavaScript code invokes <code>HandleMessage</code>, passing the instance on which it was invoked, with <code>message</code> being a string <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing "Hello world!"</p>
+<div class="fragment"><pre class="fragment"> {.html}
+
+ <body>
+ <<span class="keywordtype">object</span> <span class="keywordtype">id</span>=<span class="stringliteral">"plugin"</span>
+ type=<span class="stringliteral">"application/x-ppapi-postMessage-example"</span>/>
+ <script type=<span class="stringliteral">"text/javascript"</span>>
+ document.getElementById(<span class="stringliteral">'plugin'</span>).postMessage(<span class="stringliteral">"Hello world!"</span>);
+ </script>
+ </body>
+</pre></div><p>Refer to <a class="el" href="classpp_1_1_instance.html#a67e888a4e4e23effe7a09625e73ecae9" title="PostMessage() asynchronously invokes any listeners for message events on the DOM element for the give...">PostMessage()</a> for sending messages to JavaScript.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">message</td><td>A <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> which has been converted from a JavaScript value. JavaScript array/object types are supported from Chrome M29 onward. All JavaScript values are copied when passing them to the plugin. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a4f915e70caaef514a49ef8afcddde30f"></a><!-- doxytag: member="pp::Instance::Init" ref="a4f915e70caaef514a49ef8afcddde30f" args="(uint32_t argc, const char *argn[], const char *argv[])" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual bool <a class="el" href="classpp_1_1_instance.html#a4f915e70caaef514a49ef8afcddde30f">pp::Instance::Init</a> </td>
+<td>(</td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>argc</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const char * </td>
+<td class="paramname"><em>argn</em>[], </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const char * </td>
+<td class="paramname"><em>argv</em>[] </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_instance.html#a4f915e70caaef514a49ef8afcddde30f" title="Init() initializes this instance with the provided arguments.">Init()</a> initializes this instance with the provided arguments. </p>
+<p>This function will be called immediately after the instance object is constructed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">argc</td><td>The number of arguments contained in <code>argn</code> and <code>argv</code>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">argn</td><td>An array of argument names. These argument names are supplied in the <embed> tag, for example: <code><embed id="nacl_module" dimensions="2"></code> will produce two argument names: "id" and "dimensions".</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">argv</td><td>An array of argument values. These are the values of the arguments listed in the <embed> tag, for example <code><embed id="nacl_module" dimensions="2"></code> will produce two argument values: "nacl_module" and "2". The indices of these values match the indices of the corresponding names in <code>argn</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true on success. Returning false causes the instance to be deleted and no other functions to be called. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a451fb956e64fd3db891608148a044c01"></a><!-- doxytag: member="pp::Instance::IsFullFrame" ref="a451fb956e64fd3db891608148a044c01" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_instance.html#a451fb956e64fd3db891608148a044c01">pp::Instance::IsFullFrame</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_instance.html#a451fb956e64fd3db891608148a044c01" title="IsFullFrame() determines if the instance is full-frame (repr).">IsFullFrame()</a> determines if the instance is full-frame (repr). </p>
+<p>Such an instance represents the entire document in a frame rather than an embedded resource. This can happen if the user does a top-level navigation or the page specifies an iframe to a resource with a MIME type registered by the module.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the instance is full-frame, false if not. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a192ab89f4acf2e1e25df14e22d0cff43"></a><!-- doxytag: member="pp::Instance::LogToConsole" ref="a192ab89f4acf2e1e25df14e22d0cff43" args="(PP_LogLevel level, const Var &value)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_instance.html#a192ab89f4acf2e1e25df14e22d0cff43">pp::Instance::LogToConsole</a> </td>
+<td>(</td>
+<td class="paramtype">PP_LogLevel </td>
+<td class="paramname"><em>level</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>value</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Logs the given message to the JavaScript console associated with the given plugin instance with the given logging level. </p>
+<p>The name of the plugin issuing the log message will be automatically prepended to the message. The value may be any type of <a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a>. </p>
+</div>
+</div>
+<a class="anchor" id="a48286ccf1217b3ae02138049d00af48f"></a><!-- doxytag: member="pp::Instance::LogToConsoleWithSource" ref="a48286ccf1217b3ae02138049d00af48f" args="(PP_LogLevel level, const Var &source, const Var &value)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_instance.html#a48286ccf1217b3ae02138049d00af48f">pp::Instance::LogToConsoleWithSource</a> </td>
+<td>(</td>
+<td class="paramtype">PP_LogLevel </td>
+<td class="paramname"><em>level</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>source</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>value</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Logs a message to the console with the given source information rather than using the internal PPAPI plugin name. </p>
+<p>The name must be a string var.</p>
+<p>The regular log function will automatically prepend the name of your plugin to the message as the "source" of the message. Some plugins may wish to override this. For example, if your plugin is a Python interpreter, you would want log messages to contain the source .py file doing the log statement rather than have "python" show up in the console. </p>
+</div>
+</div>
+<a class="anchor" id="a67e888a4e4e23effe7a09625e73ecae9"></a><!-- doxytag: member="pp::Instance::PostMessage" ref="a67e888a4e4e23effe7a09625e73ecae9" args="(const Var &message)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_instance.html#a67e888a4e4e23effe7a09625e73ecae9">pp::Instance::PostMessage</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>message</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_instance.html#a67e888a4e4e23effe7a09625e73ecae9" title="PostMessage() asynchronously invokes any listeners for message events on the DOM element for the give...">PostMessage()</a> asynchronously invokes any listeners for message events on the DOM element for the given instance. </p>
+<p>A call to <a class="el" href="classpp_1_1_instance.html#a67e888a4e4e23effe7a09625e73ecae9" title="PostMessage() asynchronously invokes any listeners for message events on the DOM element for the give...">PostMessage()</a> will not block while the message is processed.</p>
+<p><b>Example:</b></p>
+<div class="fragment"><pre class="fragment"> {.html}
+
+ <body>
+ <<span class="keywordtype">object</span> <span class="keywordtype">id</span>=<span class="stringliteral">"plugin"</span>
+ type=<span class="stringliteral">"application/x-ppapi-postMessage-example"</span>/>
+ <script type=<span class="stringliteral">"text/javascript"</span>>
+ var plugin = document.getElementById(<span class="stringliteral">'plugin'</span>);
+ plugin.addEventListener(<span class="stringliteral">"message"</span>,
+ <span class="keyword">function</span>(message) { alert(message.data); },
+ <span class="keyword">false</span>);
+ </script>
+ </body>
+</pre></div><p>The instance then invokes <a class="el" href="classpp_1_1_instance.html#a67e888a4e4e23effe7a09625e73ecae9" title="PostMessage() asynchronously invokes any listeners for message events on the DOM element for the give...">PostMessage()</a> as follows:</p>
+<div class="fragment"><pre class="fragment"> <a class="code" href="classpp_1_1_instance.html#a67e888a4e4e23effe7a09625e73ecae9" title="PostMessage() asynchronously invokes any listeners for message events on the DOM element for the give...">PostMessage</a>(<a class="code" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">pp::Var</a>(<span class="stringliteral">"Hello world!"</span>));
+</pre></div><p>The browser will pop-up an alert saying "Hello world!"</p>
+<p>When passing array or dictionary <code>PP_Var</code>s, the entire reference graph will be converted and transferred. If the reference graph has cycles, the message will not be sent and an error will be logged to the console.</p>
+<p>Listeners for message events in JavaScript code will receive an object conforming to the HTML 5 <code>MessageEvent</code> interface. Specifically, the value of message will be contained as a property called data in the received <code>MessageEvent</code>.</p>
+<p>This messaging system is similar to the system used for listening for messages from Web Workers. Refer to <code><a href="http://www.whatwg.org/specs/web-workers/current-work/">http://www.whatwg.org/specs/web-workers/current-work/</a></code> for further information.</p>
+<p>Refer to <a class="el" href="classpp_1_1_instance.html#a5dce8c8b36b1df7cfcc12e42397a35e8" title="HandleMessage() is a function that the browser calls when PostMessage() is invoked on the DOM element...">HandleMessage()</a> for receiving events from JavaScript.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">message</td><td>A <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing the data to be sent to JavaScript. Message can have a numeric, boolean, or string value. Array/Dictionary types are supported from Chrome M29 onward. All var types are copied when passing them to JavaScript. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="aeb29ff4201f9ae0e356c5ed0bb4a2679"></a><!-- doxytag: member="pp::Instance::pp_instance" ref="aeb29ff4201f9ae0e356c5ed0bb4a2679" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_Instance <a class="el" href="classpp_1_1_instance.html#aeb29ff4201f9ae0e356c5ed0bb4a2679">pp::Instance::pp_instance</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function returns the <code>PP_Instance</code> identifying this object. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Instance</code> identifying this object. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a33c633189c7c321dac8e0c5dc6e67f5b"></a><!-- doxytag: member="pp::Instance::RemovePerInstanceObject" ref="a33c633189c7c321dac8e0c5dc6e67f5b" args="(const std::string &interface_name, void *object)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_instance.html#a33c633189c7c321dac8e0c5dc6e67f5b">pp::Instance::RemovePerInstanceObject</a> </td>
+<td>(</td>
+<td class="paramtype">const std::string & </td>
+<td class="paramname"><em>interface_name</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">void * </td>
+<td class="paramname"><em>object</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Refer to <a class="el" href="classpp_1_1_instance.html#a9773263ee281405030548fc224eeec08" title="AddPerInstanceObject() associates an instance with an interface, creating an object.">AddPerInstanceObject()</a> for further information. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">interface_name</td><td>The name of the interface to associate with the instance </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">object</td><td></td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ad1b6c19954ff9446349a6fa5684eea2d"></a><!-- doxytag: member="pp::Instance::RemovePerInstanceObject" ref="ad1b6c19954ff9446349a6fa5684eea2d" args="(const InstanceHandle &instance, const std::string &interface_name, void *object)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static void <a class="el" href="classpp_1_1_instance.html#a33c633189c7c321dac8e0c5dc6e67f5b">pp::Instance::RemovePerInstanceObject</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const std::string & </td>
+<td class="paramname"><em>interface_name</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">void * </td>
+<td class="paramname"><em>object</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Static version of AddPerInstanceObject that takes an <a class="el" href="classpp_1_1_instance_handle.html" title="An instance handle identifies an instance in a constructor for a resource.">InstanceHandle</a>. </p>
+<p>As with all other instance functions, this must only be called on the main thread. </p>
+</div>
+</div>
+<a class="anchor" id="a6341c14fc54427e45349f5158483e017"></a><!-- doxytag: member="pp::Instance::RequestFilteringInputEvents" ref="a6341c14fc54427e45349f5158483e017" args="(uint32_t event_classes)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_instance.html#a6341c14fc54427e45349f5158483e017">pp::Instance::RequestFilteringInputEvents</a> </td>
+<td>(</td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>event_classes</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_instance.html#a6341c14fc54427e45349f5158483e017" title="RequestFilteringInputEvents() requests that input events corresponding to the given input events are ...">RequestFilteringInputEvents()</a> requests that input events corresponding to the given input events are delivered to the instance for filtering. </p>
+<p>By default, no input events are delivered. In most cases you would register to receive events by calling <a class="el" href="classpp_1_1_instance.html#a2e2d63280786c0cc41b7c6f656cc81b5" title="RequestInputEvents() requests that input events corresponding to the given input events are delivered...">RequestInputEvents()</a>. In some cases, however, you may wish to filter events such that they can be bubbled up to the DOM. In this case, register for those classes of events using this function instead of <a class="el" href="classpp_1_1_instance.html#a2e2d63280786c0cc41b7c6f656cc81b5" title="RequestInputEvents() requests that input events corresponding to the given input events are delivered...">RequestInputEvents()</a>. Keyboard events must always be registered in filtering mode.</p>
+<p>Filtering input events requires significantly more overhead than just delivering them to the instance. As such, you should only request filtering in those cases where it's absolutely necessary. The reason is that it requires the browser to stop and block for the instance to handle the input event, rather than sending the input event asynchronously. This can have significant overhead.</p>
+<p><b>Example:</b></p>
+<div class="fragment"><pre class="fragment"> <a class="code" href="classpp_1_1_instance.html#a2e2d63280786c0cc41b7c6f656cc81b5" title="RequestInputEvents() requests that input events corresponding to the given input events are delivered...">RequestInputEvents</a>(PP_INPUTEVENT_CLASS_MOUSE);
+ <a class="code" href="classpp_1_1_instance.html#a6341c14fc54427e45349f5158483e017" title="RequestFilteringInputEvents() requests that input events corresponding to the given input events are ...">RequestFilteringInputEvents</a>(
+ PP_INPUTEVENT_CLASS_WHEEL | PP_INPUTEVENT_CLASS_KEYBOARD);
+</pre></div><dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramname">event_classes</td><td>A combination of flags from <code>PP_InputEvent_Class</code> that identifies the classes of events the instance is requesting. The flags are combined by logically ORing their values.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_OK</code> if the operation succeeded, <code>PP_ERROR_BADARGUMENT</code> if instance is invalid, or <code>PP_ERROR_NOTSUPPORTED</code> if one of the event class bits were illegal. In the case of an invalid bit, all valid bits will be applied and only the illegal bits will be ignored. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2e2d63280786c0cc41b7c6f656cc81b5"></a><!-- doxytag: member="pp::Instance::RequestInputEvents" ref="a2e2d63280786c0cc41b7c6f656cc81b5" args="(uint32_t event_classes)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_instance.html#a2e2d63280786c0cc41b7c6f656cc81b5">pp::Instance::RequestInputEvents</a> </td>
+<td>(</td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>event_classes</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_instance.html#a2e2d63280786c0cc41b7c6f656cc81b5" title="RequestInputEvents() requests that input events corresponding to the given input events are delivered...">RequestInputEvents()</a> requests that input events corresponding to the given input events are delivered to the instance. </p>
+<p>By default, no input events are delivered. Call this function with the classes of events you are interested in to have them be delivered to the instance. Calling this function will override any previous setting for each specified class of input events (for example, if you previously called <a class="el" href="classpp_1_1_instance.html#a6341c14fc54427e45349f5158483e017" title="RequestFilteringInputEvents() requests that input events corresponding to the given input events are ...">RequestFilteringInputEvents()</a>, this function will set those events to non-filtering mode).</p>
+<p>Input events may have high overhead, so you should only request input events that your plugin will actually handle. For example, the browser may do optimizations for scroll or touch events that can be processed substantially faster if it knows there are no non-default receivers for that message. Requesting that such messages be delivered, even if they are processed very quickly, may have a noticeable effect on the performance of the page.</p>
+<p>When requesting input events through this function, the events will be delivered and <em>not</em> bubbled to the page. This means that even if you aren't interested in the message, no other parts of the page will get the message.</p>
+<p><b>Example:</b></p>
+<div class="fragment"><pre class="fragment"> <a class="code" href="classpp_1_1_instance.html#a2e2d63280786c0cc41b7c6f656cc81b5" title="RequestInputEvents() requests that input events corresponding to the given input events are delivered...">RequestInputEvents</a>(PP_INPUTEVENT_CLASS_MOUSE);
+ <a class="code" href="classpp_1_1_instance.html#a6341c14fc54427e45349f5158483e017" title="RequestFilteringInputEvents() requests that input events corresponding to the given input events are ...">RequestFilteringInputEvents</a>(
+ PP_INPUTEVENT_CLASS_WHEEL | PP_INPUTEVENT_CLASS_KEYBOARD);
+</pre></div><dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramname">event_classes</td><td>A combination of flags from <code>PP_InputEvent_Class</code> that identifies the classes of events the instance is requesting. The flags are combined by logically ORing their values.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_OK</code> if the operation succeeded, <code>PP_ERROR_BADARGUMENT</code> if instance is invalid, or <code>PP_ERROR_NOTSUPPORTED</code> if one of the event class bits were illegal. In the case of an invalid bit, all valid bits will be applied and only the illegal bits will be ignored. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="instance_8h.html">instance.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_instance_handle-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_instance_handle-members.html
new file mode 100644
index 0000000..27faa37
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_instance_handle-members.html
@@ -0,0 +1,16 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_instance_handle.html">pp::InstanceHandle</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance_handle.html#aa9e22c3dc382054c2f3dd816396348dc">InstanceHandle</a>(Instance *instance)</td><td><a class="el" href="classpp_1_1_instance_handle.html">pp::InstanceHandle</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance_handle.html#a9f001cc657a9b9b9307dfa5b20d31856">InstanceHandle</a>(PP_Instance pp_instance)</td><td><a class="el" href="classpp_1_1_instance_handle.html">pp::InstanceHandle</a></td><td><code> [inline, explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_instance_handle.html#ac413eef4320841121cae58be977d1f7d">pp_instance</a>() const </td><td><a class="el" href="classpp_1_1_instance_handle.html">pp::InstanceHandle</a></td><td><code> [inline]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_instance_handle.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_instance_handle.html
new file mode 100644
index 0000000..0d73419e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_instance_handle.html
@@ -0,0 +1,96 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::InstanceHandle Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::InstanceHandle" -->
+<p><a href="classpp_1_1_instance_handle-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance_handle.html#aa9e22c3dc382054c2f3dd816396348dc">InstanceHandle</a> (<a class="el" href="classpp_1_1_instance.html">Instance</a> *instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance_handle.html#a9f001cc657a9b9b9307dfa5b20d31856">InstanceHandle</a> (PP_Instance <a class="el" href="classpp_1_1_instance_handle.html#ac413eef4320841121cae58be977d1f7d">pp_instance</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_Instance </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance_handle.html#ac413eef4320841121cae58be977d1f7d">pp_instance</a> () const </td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>An instance handle identifies an instance in a constructor for a resource. </p>
+<p>This class solves two different problems:</p>
+<p>1. A <a class="el" href="classpp_1_1_instance.html">pp::Instance</a> object's lifetime is managed by the system on the main pepper thread of the module. This means that it may get destroyed at any time based on something that happens on the web page. Therefore, it's not safe to refer to a <code><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></code> object on a background thread. Instead, we need to pass some kind of identifier to resource constructors so that they may safely be used on background threads. If the instance becomes invalid, the resource creation will fail on the background thread, but it won't crash.</p>
+<p>2. <code>PP_Instance</code> would be a good identifier to use for this case. However, using <code>PP_Instance</code> in the constructor to resources is problematic because it is just a typedef for an integer, as is a <code>PP_Resource</code>. Many resources have alternate constructors that just take an existing <code>PP_Resource</code>, so the constructors would be ambiguous. Having this wrapper around a <code>PP_Instance</code> prevents this ambiguity, and also provides a nice place to consolidate an implicit conversion from <code><a class="el" href="classpp_1_1_instance.html">pp::Instance</a>*</code> for prettier code on the main thread (you can just pass "this" to resource constructors in your instance objects).</p>
+<p>You should always pass an <code><a class="el" href="classpp_1_1_instance_handle.html" title="An instance handle identifies an instance in a constructor for a resource.">InstanceHandle</a></code> to background threads instead of a <code><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></code>, and use them in resource constructors and code that may be used from background threads. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="aa9e22c3dc382054c2f3dd816396348dc"></a><!-- doxytag: member="pp::InstanceHandle::InstanceHandle" ref="aa9e22c3dc382054c2f3dd816396348dc" args="(Instance *instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_instance_handle.html#aa9e22c3dc382054c2f3dd816396348dc">pp::InstanceHandle::InstanceHandle</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="classpp_1_1_instance.html">Instance</a> * </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Implicit constructor for converting a <code><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></code> to an instance handle. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this <code><a class="el" href="classpp_1_1_instance_handle.html" title="An instance handle identifies an instance in a constructor for a resource.">InstanceHandle</a></code> will be associated. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a9f001cc657a9b9b9307dfa5b20d31856"></a><!-- doxytag: member="pp::InstanceHandle::InstanceHandle" ref="a9f001cc657a9b9b9307dfa5b20d31856" args="(PP_Instance pp_instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_instance_handle.html#aa9e22c3dc382054c2f3dd816396348dc">pp::InstanceHandle::InstanceHandle</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Instance </td>
+<td class="paramname"><em>pp_instance</em></td><td>)</td>
+<td><code> [inline, explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This constructor explicitly converts a <code>PP_Instance</code> to an instance handle. </p>
+<p>This should not be implicit because it can make some resource constructors ambiguous. <code>PP_Instance</code> is just a typedef for an integer, as is <code>PP_Resource</code>, so the compiler can get confused between the two.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">pp_instance</td><td>The instance with which this <code><a class="el" href="classpp_1_1_instance_handle.html" title="An instance handle identifies an instance in a constructor for a resource.">InstanceHandle</a></code> will be associated. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="ac413eef4320841121cae58be977d1f7d"></a><!-- doxytag: member="pp::InstanceHandle::pp_instance" ref="ac413eef4320841121cae58be977d1f7d" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_Instance <a class="el" href="classpp_1_1_instance_handle.html#ac413eef4320841121cae58be977d1f7d">pp::InstanceHandle::pp_instance</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <a class="el" href="classpp_1_1_instance_handle.html#ac413eef4320841121cae58be977d1f7d" title="The pp_instance() function returns the PP_Instance.">pp_instance()</a> function returns the <code>PP_Instance</code>. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Instance</code> internal instance handle. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="instance__handle_8h.html">instance_handle.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_keyboard_input_event-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_keyboard_input_event-members.html
new file mode 100644
index 0000000..d9ba140
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_keyboard_input_event-members.html
@@ -0,0 +1,35 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_keyboard_input_event.html">pp::KeyboardInputEvent</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_keyboard_input_event.html#a343bd835af56bd7875b0d82361680e4a">GetCharacterText</a>() const </td><td><a class="el" href="classpp_1_1_keyboard_input_event.html">pp::KeyboardInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_keyboard_input_event.html#a5d6c799091a2adce32d3e20fd1a63017">GetKeyCode</a>() const </td><td><a class="el" href="classpp_1_1_keyboard_input_event.html">pp::KeyboardInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a6f94a5cd8453f1b69e55aadde73354e7">GetModifiers</a>() const </td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#acc79ecdcf19f5b8a8a7268fc8ff51531">GetTimeStamp</a>() const </td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a73ca79c06ff9a39304e3b390090f03dc">GetType</a>() const </td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#ac7581e4321abe8de6f3b48d70f4aa65d">InputEvent</a>()</td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a1d4f7d3fb88de3cccc60ab26b92ccf23">InputEvent</a>(PP_Resource input_event_resource)</td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_keyboard_input_event.html#a07197d3bf22df18ab201dd593ec14b46">KeyboardInputEvent</a>()</td><td><a class="el" href="classpp_1_1_keyboard_input_event.html">pp::KeyboardInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_keyboard_input_event.html#ae0817f051306805db56dbbf837da57bb">KeyboardInputEvent</a>(const InputEvent &event)</td><td><a class="el" href="classpp_1_1_keyboard_input_event.html">pp::KeyboardInputEvent</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_keyboard_input_event.html#a3adab90fc81122554ec878ab2fb8d506">KeyboardInputEvent</a>(const InstanceHandle &instance, PP_InputEvent_Type type, PP_TimeTicks time_stamp, uint32_t modifiers, uint32_t key_code, const Var &character_text)</td><td><a class="el" href="classpp_1_1_keyboard_input_event.html">pp::KeyboardInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a2492183af4fecec44a423a5b7eae6faf">~InputEvent</a>()</td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_keyboard_input_event.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_keyboard_input_event.html
new file mode 100644
index 0000000..511a2a7
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_keyboard_input_event.html
@@ -0,0 +1,170 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::KeyboardInputEvent Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::KeyboardInputEvent" --><!-- doxytag: inherits="pp::InputEvent" --><div class="dynheader">
+Inheritance diagram for pp::KeyboardInputEvent:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_keyboard_input_event__inherit__graph.png" border="0" usemap="#pp_1_1_keyboard_input_event_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_keyboard_input_event_inherit__map" id="pp_1_1_keyboard_input_event_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_input_event.html" title="This class represents an input event resource." alt="" coords="35,83,149,112"></area><area shape="rect" id="node4" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="40,5,144,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_keyboard_input_event-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_keyboard_input_event.html#a07197d3bf22df18ab201dd593ec14b46">KeyboardInputEvent</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_keyboard_input_event.html#ae0817f051306805db56dbbf837da57bb">KeyboardInputEvent</a> (const <a class="el" href="classpp_1_1_input_event.html">InputEvent</a> &event)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_keyboard_input_event.html#a3adab90fc81122554ec878ab2fb8d506">KeyboardInputEvent</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, PP_InputEvent_Type type, PP_TimeTicks time_stamp, uint32_t modifiers, uint32_t key_code, const <a class="el" href="classpp_1_1_var.html">Var</a> &character_text)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_keyboard_input_event.html#a5d6c799091a2adce32d3e20fd1a63017">GetKeyCode</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_keyboard_input_event.html#a343bd835af56bd7875b0d82361680e4a">GetCharacterText</a> () const </td></tr>
+</table>
+<hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a07197d3bf22df18ab201dd593ec14b46"></a><!-- doxytag: member="pp::KeyboardInputEvent::KeyboardInputEvent" ref="a07197d3bf22df18ab201dd593ec14b46" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_keyboard_input_event.html#a07197d3bf22df18ab201dd593ec14b46">pp::KeyboardInputEvent::KeyboardInputEvent</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> keyboard input event object. </p>
+</div>
+</div>
+<a class="anchor" id="ae0817f051306805db56dbbf837da57bb"></a><!-- doxytag: member="pp::KeyboardInputEvent::KeyboardInputEvent" ref="ae0817f051306805db56dbbf837da57bb" args="(const InputEvent &event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_keyboard_input_event.html#a07197d3bf22df18ab201dd593ec14b46">pp::KeyboardInputEvent::KeyboardInputEvent</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_input_event.html">InputEvent</a> & </td>
+<td class="paramname"><em>event</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs a keyboard input event object from the provided generic input event. </p>
+<p>If the given event is itself <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> or is not a keyboard input event, the keybaord object will be <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">event</td><td>A generic input event. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a3adab90fc81122554ec878ab2fb8d506"></a><!-- doxytag: member="pp::KeyboardInputEvent::KeyboardInputEvent" ref="a3adab90fc81122554ec878ab2fb8d506" args="(const InstanceHandle &instance, PP_InputEvent_Type type, PP_TimeTicks time_stamp, uint32_t modifiers, uint32_t key_code, const Var &character_text)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_keyboard_input_event.html#a07197d3bf22df18ab201dd593ec14b46">pp::KeyboardInputEvent::KeyboardInputEvent</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_InputEvent_Type </td>
+<td class="paramname"><em>type</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_TimeTicks </td>
+<td class="paramname"><em>time_stamp</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>modifiers</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>key_code</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>character_text</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs a keyboard input even from the given parameters. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance for which this event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>A <code>PP_InputEvent_Type</code> identifying the type of input event.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">time_stamp</td><td>A <code>PP_TimeTicks</code> indicating the time when the event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">modifiers</td><td>A bit field combination of the <code>PP_InputEvent_Modifier</code> flags.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">key_code</td><td>This value reflects the DOM KeyboardEvent <code>keyCode</code> field. Chrome populates this with the Windows-style Virtual Key code of the key.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">character_text</td><td>This value represents the typed character as a UTF-8 string. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a343bd835af56bd7875b0d82361680e4a"></a><!-- doxytag: member="pp::KeyboardInputEvent::GetCharacterText" ref="a343bd835af56bd7875b0d82361680e4a" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_keyboard_input_event.html#a343bd835af56bd7875b0d82361680e4a">pp::KeyboardInputEvent::GetCharacterText</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns the typed character for the given character event. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A string var representing a single typed character for character input events. For non-character input events the return value will be an undefined var. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a5d6c799091a2adce32d3e20fd1a63017"></a><!-- doxytag: member="pp::KeyboardInputEvent::GetKeyCode" ref="a5d6c799091a2adce32d3e20fd1a63017" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="classpp_1_1_keyboard_input_event.html#a5d6c799091a2adce32d3e20fd1a63017">pp::KeyboardInputEvent::GetKeyCode</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns the DOM keyCode field for the keyboard event. </p>
+<p>Chrome populates this with the Windows-style Virtual Key code of the key. </p>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="input__event_8h.html">input_event.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_keyboard_input_event__inherit__graph.png b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_keyboard_input_event__inherit__graph.png
new file mode 100644
index 0000000..1007695b
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_keyboard_input_event__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_message_loop-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_message_loop-members.html
new file mode 100644
index 0000000..4f615a90
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_message_loop-members.html
@@ -0,0 +1,34 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_message_loop.html">pp::MessageLoop</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_message_loop.html#ad5373c3f4b64dbb34d2a8334a23d0f95">AttachToCurrentThread</a>()</td><td><a class="el" href="classpp_1_1_message_loop.html">pp::MessageLoop</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_message_loop.html#abba91f736f52838f28961a571f79f09a">GetCurrent</a>()</td><td><a class="el" href="classpp_1_1_message_loop.html">pp::MessageLoop</a></td><td><code> [static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_message_loop.html#a70558dd2cfda90b4869dc9960223f7ed">GetForMainThread</a>()</td><td><a class="el" href="classpp_1_1_message_loop.html">pp::MessageLoop</a></td><td><code> [static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_message_loop.html#a424cabb7ac0b27aed54a6485dd880533">MessageLoop</a>()</td><td><a class="el" href="classpp_1_1_message_loop.html">pp::MessageLoop</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_message_loop.html#a985004b1e2b2bb09f62cb59b320c6625">MessageLoop</a>(const InstanceHandle &instance)</td><td><a class="el" href="classpp_1_1_message_loop.html">pp::MessageLoop</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_message_loop.html#ab7c519d456320eda6aa57548e9574b44">MessageLoop</a>(const MessageLoop &other)</td><td><a class="el" href="classpp_1_1_message_loop.html">pp::MessageLoop</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_message_loop.html#a2019e1f3f291bf4d87cdb41efea187e7">MessageLoop</a>(PP_Resource pp_message_loop)</td><td><a class="el" href="classpp_1_1_message_loop.html">pp::MessageLoop</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_message_loop.html#a2311af860834b866076fb518ac27eab5">PostQuit</a>(bool should_destroy)</td><td><a class="el" href="classpp_1_1_message_loop.html">pp::MessageLoop</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_message_loop.html#a2c24506ef8be1745d29983b2d7803e36">PostWork</a>(const CompletionCallback &callback, int64_t delay_ms=0)</td><td><a class="el" href="classpp_1_1_message_loop.html">pp::MessageLoop</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_message_loop.html#ad5ac96f80c12d701acfbe558e8fb3a4c">Run</a>()</td><td><a class="el" href="classpp_1_1_message_loop.html">pp::MessageLoop</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_message_loop.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_message_loop.html
new file mode 100644
index 0000000..0c9c9b66
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_message_loop.html
@@ -0,0 +1,321 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::MessageLoop Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::MessageLoop" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::MessageLoop:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_message_loop__inherit__graph.png" border="0" usemap="#pp_1_1_message_loop_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_message_loop_inherit__map" id="pp_1_1_message_loop_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="20,5,124,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_message_loop-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_message_loop.html#a424cabb7ac0b27aed54a6485dd880533">MessageLoop</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_message_loop.html#a985004b1e2b2bb09f62cb59b320c6625">MessageLoop</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_message_loop.html#ab7c519d456320eda6aa57548e9574b44">MessageLoop</a> (const <a class="el" href="classpp_1_1_message_loop.html">MessageLoop</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_message_loop.html#a2019e1f3f291bf4d87cdb41efea187e7">MessageLoop</a> (PP_Resource pp_message_loop)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_message_loop.html#ad5373c3f4b64dbb34d2a8334a23d0f95">AttachToCurrentThread</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_message_loop.html#ad5ac96f80c12d701acfbe558e8fb3a4c">Run</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_message_loop.html#a2c24506ef8be1745d29983b2d7803e36">PostWork</a> (const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &callback, int64_t delay_ms=0)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_message_loop.html#a2311af860834b866076fb518ac27eab5">PostQuit</a> (bool should_destroy)</td></tr>
+</table><h2>
+Static Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classpp_1_1_message_loop.html">MessageLoop</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_message_loop.html#a70558dd2cfda90b4869dc9960223f7ed">GetForMainThread</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classpp_1_1_message_loop.html">MessageLoop</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_message_loop.html#abba91f736f52838f28961a571f79f09a">GetCurrent</a> ()</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>A message loop allows PPAPI calls to be issued on a thread. </p>
+<p>You may not issue any API calls on a thread without creating a message loop. It also allows you to post work to the message loop for a thread.</p>
+<p>To process work posted to the message loop, as well as completion callbacks for asynchronous operations, you must run the message loop via <a class="el" href="classpp_1_1_message_loop.html#ad5ac96f80c12d701acfbe558e8fb3a4c" title="Runs the thread message loop.">Run()</a>.</p>
+<p>Note the system manages the lifetime of the instance (and all associated resources). If the instance is deleted from the page, background threads may suddenly see their PP_Resource handles become invalid. In this case, calls will fail with PP_ERROR_BADRESOURCE. If you need to access data associated with your instance, you will probably want to create some kind of threadsafe proxy object that can handle asynchronous destruction of the instance object.</p>
+<p>Typical usage: On the main thread:</p>
+<ul>
+<li>Create the thread yourself (using pthreads).</li>
+<li>Create the message loop resource.</li>
+<li>Pass the message loop resource to your thread's main function.</li>
+<li>Call <a class="el" href="classpp_1_1_message_loop.html#a2c24506ef8be1745d29983b2d7803e36" title="Schedules work to run on the given message loop.">PostWork()</a> on the message loop to run functions on the thread.</li>
+</ul>
+<p>From the background thread's main function:</p>
+<ul>
+<li>Call <a class="el" href="classpp_1_1_message_loop.html#ad5373c3f4b64dbb34d2a8334a23d0f95" title="Sets the given message loop resource as being the associated message loop for the currently running t...">AttachToCurrentThread()</a> with the message loop resource.</li>
+<li>Call <a class="el" href="classpp_1_1_message_loop.html#ad5ac96f80c12d701acfbe558e8fb3a4c" title="Runs the thread message loop.">Run()</a> with the message loop resource.</li>
+</ul>
+<p>Your callbacks should look like this: </p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">void</span> DoMyWork(<span class="keywordtype">void</span>* user_data, int32_t status) {
+ <span class="keywordflow">if</span> (status != PP_OK) {
+ Cleanup(); <span class="comment">// e.g. free user_data.</span>
+ <span class="keywordflow">return</span>;
+ }
+ ... <span class="keywordflow">do</span> your work...
+ }
+</pre></div><p> For a C++ example, see ppapi/utility/threading/simple_thread.h</p>
+<p>(You can also create the message loop resource on the background thread, but then the main thread will have no reference to it should you want to call <a class="el" href="classpp_1_1_message_loop.html#a2c24506ef8be1745d29983b2d7803e36" title="Schedules work to run on the given message loop.">PostWork()</a>).</p>
+<p>THREAD HANDLING</p>
+<p>The main thread has an implicitly created message loop. The main thread is the thread where PPP_InitializeModule and PPP_Instance functions are called. You can retrieve a reference to this message loop by calling <a class="el" href="classpp_1_1_message_loop.html#a70558dd2cfda90b4869dc9960223f7ed">GetForMainThread()</a> or, if your code is on the main thread, GetForCurrentThread() will also work.</p>
+<p>Some special threads created by the system can not have message loops. In particular, the background thread created for audio processing has this requirement because it's intended to be highly responsive to keep up with the realtime requirements of audio processing. You can not make PPAPI calls from these threads.</p>
+<p>Once you associate a message loop with a thread, you don't have to keep a reference to it. The system will hold a reference to the message loop for as long as the thread is running. The current message loop can be retrieved using the <a class="el" href="classpp_1_1_message_loop.html#abba91f736f52838f28961a571f79f09a">GetCurrent()</a> function.</p>
+<p>It is legal to create threads in your plugin without message loops, but PPAPI calls will fail unless explicitly noted in the documentation.</p>
+<p>You can create a message loop object on a thread and never actually run the message loop. This will allow you to call blocking PPAPI calls (via PP_BlockUntilComplete()). If you make any asynchronous calls, the callbacks from those calls will be queued in the message loop and never run. The same thing will happen if work is scheduled after the message loop exits and the message loop is not run again.</p>
+<p>DESTRUCTION AND ERROR HANDLING</p>
+<p>Often, your application will associate memory with completion callbacks. For example, the C++ <a class="el" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe...">CompletionCallbackFactory</a> has a small amount of heap-allocated memory for each callback. This memory will be leaked if the callback is never run. To avoid this memory leak, you need to be careful about error handling and shutdown.</p>
+<p>There are a number of cases where posted callbacks will never be run:</p>
+<ul>
+<li>You tear down the thread (via pthreads) without "destroying" the message loop (via PostQuit with should_destroy = PP_TRUE). In this case, any tasks in the message queue will be lost.</li>
+</ul>
+<ul>
+<li>You create a message loop, post callbacks to it, and never run it.</li>
+</ul>
+<ul>
+<li>You quit the message loop via PostQuit with should_destroy set to PP_FALSE. In this case, the system will assume the message loop will be run again later and keep your tasks.</li>
+</ul>
+<p>To do proper shutdown, call PostQuit with should_destroy = PP_TRUE. This will prohibit future work from being posted, and will allow the message loop to run until all pending tasks are run.</p>
+<p>If you post a callback to a message loop that's been destroyed, or to an invalid message loop, PostWork will return an error and will not run the callback. This is true even for callbacks with the "required" flag set, since the system may not even know what thread to issue the error callback on.</p>
+<p>Therefore, you should check for errors from PostWork and destroy any associated memory to avoid leaks. If you're using the C++ <a class="el" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe...">CompletionCallbackFactory</a>, use the following pattern: </p>
+<div class="fragment"><pre class="fragment"> <a class="code" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">pp::CompletionCallback</a> callback = factory_.NewOptionalCallback(...);
+ int32_t result = message_loop.PostWork(callback);
+ <span class="keywordflow">if</span> (result != PP_OK)
+ callback.<a class="code" href="classpp_1_1_completion_callback.html#a7795404cc15a4f96523c28db21d364c4" title="Run() is used to run the CompletionCallback.">Run</a>(result);
+</pre></div><p> This will run the callback with an error value, and assumes that the implementation of your callback checks the "result" argument and returns immediately on error. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a424cabb7ac0b27aed54a6485dd880533"></a><!-- doxytag: member="pp::MessageLoop::MessageLoop" ref="a424cabb7ac0b27aed54a6485dd880533" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_message_loop.html#a424cabb7ac0b27aed54a6485dd880533">pp::MessageLoop::MessageLoop</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Creates an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> <a class="el" href="classpp_1_1_message_loop.html" title="A message loop allows PPAPI calls to be issued on a thread.">MessageLoop</a> resource. </p>
+</div>
+</div>
+<a class="anchor" id="a985004b1e2b2bb09f62cb59b320c6625"></a><!-- doxytag: member="pp::MessageLoop::MessageLoop" ref="a985004b1e2b2bb09f62cb59b320c6625" args="(const InstanceHandle &instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_message_loop.html#a424cabb7ac0b27aed54a6485dd880533">pp::MessageLoop::MessageLoop</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Creates a message loop associated with the given instance. </p>
+<p>The resource will be <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> on failure.</p>
+<p>This may be called from any thread. After your thread starts but before issuing any other PPAPI calls on it, you must associate it with a message loop by calling AttachToCurrentThread. </p>
+</div>
+</div>
+<a class="anchor" id="ab7c519d456320eda6aa57548e9574b44"></a><!-- doxytag: member="pp::MessageLoop::MessageLoop" ref="ab7c519d456320eda6aa57548e9574b44" args="(const MessageLoop &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_message_loop.html#a424cabb7ac0b27aed54a6485dd880533">pp::MessageLoop::MessageLoop</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_message_loop.html">MessageLoop</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a2019e1f3f291bf4d87cdb41efea187e7"></a><!-- doxytag: member="pp::MessageLoop::MessageLoop" ref="a2019e1f3f291bf4d87cdb41efea187e7" args="(PP_Resource pp_message_loop)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_message_loop.html#a424cabb7ac0b27aed54a6485dd880533">pp::MessageLoop::MessageLoop</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>pp_message_loop</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Takes an additional ref to the resource. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="ad5373c3f4b64dbb34d2a8334a23d0f95"></a><!-- doxytag: member="pp::MessageLoop::AttachToCurrentThread" ref="ad5373c3f4b64dbb34d2a8334a23d0f95" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_message_loop.html#ad5373c3f4b64dbb34d2a8334a23d0f95">pp::MessageLoop::AttachToCurrentThread</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sets the given message loop resource as being the associated message loop for the currently running thread. </p>
+<p>You must call this function exactly once on a thread before making any PPAPI calls. A message loop can only be attached to one thread, and the message loop can not be changed later. The message loop will be attached as long as the thread is running or until you quit with should_destroy set to PP_TRUE.</p>
+<p>If this function fails, attempting to run the message loop will fail. Note that you can still post work to the message loop: it will get queued up should the message loop eventually be successfully attached and run.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
+<li>PP_OK: The message loop was successfully attached to the thread and is ready to use.</li>
+<li>PP_ERROR_BADRESOURCE: The given message loop resource is invalid.</li>
+<li>PP_ERROR_INPROGRESS: The current thread already has a message loop attached. This will always be the case for the main thread, which has an implicit system-created message loop attached.</li>
+<li>PP_ERROR_WRONG_THREAD: The current thread type can not have a message loop attached to it. See the interface level discussion about these special threads, which include realtime audio threads. </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<a class="anchor" id="abba91f736f52838f28961a571f79f09a"></a><!-- doxytag: member="pp::MessageLoop::GetCurrent" ref="abba91f736f52838f28961a571f79f09a" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static <a class="el" href="classpp_1_1_message_loop.html">MessageLoop</a> <a class="el" href="classpp_1_1_message_loop.html#abba91f736f52838f28961a571f79f09a">pp::MessageLoop::GetCurrent</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a70558dd2cfda90b4869dc9960223f7ed"></a><!-- doxytag: member="pp::MessageLoop::GetForMainThread" ref="a70558dd2cfda90b4869dc9960223f7ed" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static <a class="el" href="classpp_1_1_message_loop.html">MessageLoop</a> <a class="el" href="classpp_1_1_message_loop.html#a70558dd2cfda90b4869dc9960223f7ed">pp::MessageLoop::GetForMainThread</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a2311af860834b866076fb518ac27eab5"></a><!-- doxytag: member="pp::MessageLoop::PostQuit" ref="a2311af860834b866076fb518ac27eab5" args="(bool should_destroy)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_message_loop.html#a2311af860834b866076fb518ac27eab5">pp::MessageLoop::PostQuit</a> </td>
+<td>(</td>
+<td class="paramtype">bool </td>
+<td class="paramname"><em>should_destroy</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Posts a quit message to the given message loop's work queue. </p>
+<p>Work posted before that point will be processed before quitting.</p>
+<p>This may be called on the message loop registered for the current thread, or it may be called on the message loop registered for another thread. It is an error to attempt to quit the main thread loop.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramname">should_destroy</td><td>Marks the message loop as being in a destroyed state and prevents further posting of messages.</td></tr>
+</table>
+</dd>
+</dl>
+<p>If you quit a message loop without setting should_destroy, it will still be attached to the thread and you can still run it again by calling <a class="el" href="classpp_1_1_message_loop.html#ad5ac96f80c12d701acfbe558e8fb3a4c" title="Runs the thread message loop.">Run()</a> again. If you destroy it, it will be detached from the current thread.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
+<li>PP_OK: The request to quit was successfully posted.</li>
+<li>PP_ERROR_BADRESOURCE: The message loop was invalid.</li>
+<li>PP_ERROR_WRONG_THREAD: You are attempting to quit the main thread. The main thread's message loop is managed by the system and can't be quit. </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2c24506ef8be1745d29983b2d7803e36"></a><!-- doxytag: member="pp::MessageLoop::PostWork" ref="a2c24506ef8be1745d29983b2d7803e36" args="(const CompletionCallback &callback, int64_t delay_ms=0)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_message_loop.html#a2c24506ef8be1745d29983b2d7803e36">pp::MessageLoop::PostWork</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>callback</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int64_t </td>
+<td class="paramname"><em>delay_ms</em> = <code>0</code> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Schedules work to run on the given message loop. </p>
+<p>This may be called from any thread. Posted work will be executed in the order it was posted when the message loop is <a class="el" href="classpp_1_1_message_loop.html#ad5ac96f80c12d701acfbe558e8fb3a4c" title="Runs the thread message loop.">Run()</a>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramname">callback</td><td>A pointer to the completion callback to execute from the message loop.</td></tr>
+<tr><td class="paramname">delay_ms</td><td>The number of milliseconds to delay execution of the given completion callback. Passing 0 means it will get queued normally and executed in order.</td></tr>
+</table>
+</dd>
+</dl>
+<p>The completion callback will be called with PP_OK as the "result" parameter if it is run normally. It is good practice to check for PP_OK and return early otherwise.</p>
+<p>The "required" flag on the completion callback is ignored. If there is an error posting your callback, the error will be returned from PostWork and the callback will never be run (because there is no appropriate place to run your callback with an error without causing unexpected threading problems). If you associate memory with the completion callback (for example, you're using the C++ <a class="el" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe...">CompletionCallbackFactory</a>), you will need to free this or manually run the callback. See "Desctruction and error
+ handling" above.</p>
+<p>You can call this function before the message loop has started and the work will get queued until the message loop is run. You can also post work after the message loop has exited as long as should_destroy was PP_FALSE. It will be queued until the next invocation of <a class="el" href="classpp_1_1_message_loop.html#ad5ac96f80c12d701acfbe558e8fb3a4c" title="Runs the thread message loop.">Run()</a>.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
+<li>PP_OK: The work was posted to the message loop's queue. As described above, this does not mean that the work has been or will be executed (if you never run the message loop after posting).</li>
+<li>PP_ERROR_BADRESOURCE: The given message loop resource is invalid.</li>
+<li>PP_ERROR_BADARGUMENT: The function pointer for the completion callback is null (this will be the case if you pass PP_BlockUntilComplete()).</li>
+<li>PP_ERROR_FAILED: The message loop has been destroyed. </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<a class="anchor" id="ad5ac96f80c12d701acfbe558e8fb3a4c"></a><!-- doxytag: member="pp::MessageLoop::Run" ref="ad5ac96f80c12d701acfbe558e8fb3a4c" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_message_loop.html#ad5ac96f80c12d701acfbe558e8fb3a4c">pp::MessageLoop::Run</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Runs the thread message loop. </p>
+<p>Running the message loop is required for you to get issued completion callbacks on the thread.</p>
+<p>The message loop identified by the argument must have been previously successfully attached to the current thread.</p>
+<p>You may not run nested message loops. Since the main thread has an implicit message loop that the system runs, you may not call Run on the main thread.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
+<li>PP_OK: The message loop was successfully run. Note that on success, the message loop will only exit when you call <a class="el" href="classpp_1_1_message_loop.html#a2311af860834b866076fb518ac27eab5" title="Posts a quit message to the given message loop's work queue.">PostQuit()</a>.</li>
+<li>PP_ERROR_BADRESOURCE: The given message loop resource is invalid.</li>
+<li>PP_ERROR_WRONG_THREAD: You are attempting to run a message loop that has not been successfully attached to the current thread. Call <a class="el" href="classpp_1_1_message_loop.html#ad5373c3f4b64dbb34d2a8334a23d0f95" title="Sets the given message loop resource as being the associated message loop for the currently running t...">AttachToCurrentThread()</a>.</li>
+<li>PP_ERROR_INPROGRESS: You are attempting to call Run in a nested fashion (Run is already on the stack). This will occur if you attempt to call run on the main thread's message loop (see above). </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="message__loop_8h.html">message_loop.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_message_loop__inherit__graph.png b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_message_loop__inherit__graph.png
new file mode 100644
index 0000000..ea47998
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_message_loop__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_module-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_module-members.html
new file mode 100644
index 0000000..bdedb389
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_module-members.html
@@ -0,0 +1,30 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_module.html">pp::Module</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_module.html#aeddc6021140b4bdea3a83c36e7b8ec7e">AddPluginInterface</a>(const std::string &interface_name, const void *vtable)</td><td><a class="el" href="classpp_1_1_module.html">pp::Module</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_module.html#afd1d02002faaa6a4531ad06ca0423c9f">core</a>()</td><td><a class="el" href="classpp_1_1_module.html">pp::Module</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_module.html#a648f236af50501bac40ce40296611825">CreateInstance</a>(PP_Instance instance)=0</td><td><a class="el" href="classpp_1_1_module.html">pp::Module</a></td><td><code> [protected, pure virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_module.html#a3b9ec2c079aa51ceeedfe98f4c9e1a98">current_instances</a>() const </td><td><a class="el" href="classpp_1_1_module.html">pp::Module</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_module.html#ac8cca5d744e812ec3221bc391086b026">Get</a>()</td><td><a class="el" href="classpp_1_1_module.html">pp::Module</a></td><td><code> [static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_module.html#a8955edbfec01524388338b440633850a">get_browser_interface</a>() const </td><td><a class="el" href="classpp_1_1_module.html">pp::Module</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_module.html#a2aece372fdef35ded56d69a4e881a376">GetBrowserInterface</a>(const char *interface_name)</td><td><a class="el" href="classpp_1_1_module.html">pp::Module</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_module.html#a8c8c946f741e140ff7dd21b36b1a42a5">GetPluginInterface</a>(const char *interface_name)</td><td><a class="el" href="classpp_1_1_module.html">pp::Module</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_module.html#a873a824f0e462008d1167e34544ad360">Init</a>()</td><td><a class="el" href="classpp_1_1_module.html">pp::Module</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_module.html#ab0f2ba24fd03fa31fc2e47d4f8ceb158">Instance_DidCreate</a>(PP_Instance pp_instance, uint32_t argc, const char *argn[], const char *argv[])</td><td><a class="el" href="classpp_1_1_module.html">pp::Module</a></td><td><code> [friend]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_module.html#accf4ce5410f02db9c87dcca045043128">Instance_DidDestroy</a>(PP_Instance instance)</td><td><a class="el" href="classpp_1_1_module.html">pp::Module</a></td><td><code> [friend]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_module.html#ab57a787b61cd72fdcea0d232ed88eaef">InstanceForPPInstance</a>(PP_Instance instance)</td><td><a class="el" href="classpp_1_1_module.html">pp::Module</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_module.html#a47cd6188f0321e74b71126a5fd014b12">InstanceMap</a> typedef</td><td><a class="el" href="classpp_1_1_module.html">pp::Module</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_module.html#acd9a63a4b364c28abfeac39687f2fa1a">InternalInit</a>(PP_Module mod, PPB_GetInterface get_browser_interface)</td><td><a class="el" href="classpp_1_1_module.html">pp::Module</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_module.html#a67b76ad37316a2e89ebd2902a6503686">Module</a>()</td><td><a class="el" href="classpp_1_1_module.html">pp::Module</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_module.html#a95bb3148c925f46938ee0f267b1c66e5">pp_module</a>() const </td><td><a class="el" href="classpp_1_1_module.html">pp::Module</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_module.html#ac3c912841726117a128d2e056f15210e">~Module</a>()</td><td><a class="el" href="classpp_1_1_module.html">pp::Module</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_module.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_module.html
new file mode 100644
index 0000000..6240409b
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_module.html
@@ -0,0 +1,424 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::Module Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::Module" -->
+<p><a href="classpp_1_1_module-members.html">List of all members.</a></p>
+<h2>
+Public Types</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">typedef std::map< PP_Instance, <br class="typebreak" />
+<a class="el" href="classpp_1_1_instance.html">Instance</a> * > </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html#a47cd6188f0321e74b71126a5fd014b12">InstanceMap</a></td></tr>
+</table><h2>
+Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html#a67b76ad37316a2e89ebd2902a6503686">Module</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html#ac3c912841726117a128d2e056f15210e">~Module</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html#a873a824f0e462008d1167e34544ad360">Init</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_Module </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html#a95bb3148c925f46938ee0f267b1c66e5">pp_module</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PPB_GetInterface </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html#a8955edbfec01524388338b440633850a">get_browser_interface</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_core.html">Core</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html#afd1d02002faaa6a4531ad06ca0423c9f">core</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const void * </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html#a8c8c946f741e140ff7dd21b36b1a42a5">GetPluginInterface</a> (const char *interface_name)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const void * </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html#a2aece372fdef35ded56d69a4e881a376">GetBrowserInterface</a> (const char *interface_name)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_instance.html">Instance</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html#ab57a787b61cd72fdcea0d232ed88eaef">InstanceForPPInstance</a> (PP_Instance instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html#aeddc6021140b4bdea3a83c36e7b8ec7e">AddPluginInterface</a> (const std::string &interface_name, const void *vtable)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html#acd9a63a4b364c28abfeac39687f2fa1a">InternalInit</a> (PP_Module mod, PPB_GetInterface <a class="el" href="classpp_1_1_module.html#a8955edbfec01524388338b440633850a">get_browser_interface</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classpp_1_1_module.html#a47cd6188f0321e74b71126a5fd014b12">InstanceMap</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html#a3b9ec2c079aa51ceeedfe98f4c9e1a98">current_instances</a> () const </td></tr>
+</table><h2>
+Static Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classpp_1_1_module.html">Module</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html#ac8cca5d744e812ec3221bc391086b026">Get</a> ()</td></tr>
+</table><h2>
+Protected Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classpp_1_1_instance.html">Instance</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html#a648f236af50501bac40ce40296611825">CreateInstance</a> (PP_Instance instance)=0</td></tr>
+</table><h2>
+Friends</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">PP_Bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html#ab0f2ba24fd03fa31fc2e47d4f8ceb158">Instance_DidCreate</a> (PP_Instance pp_instance, uint32_t argc, const char *argn[], const char *argv[])</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html#accf4ce5410f02db9c87dcca045043128">Instance_DidDestroy</a> (PP_Instance instance)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <a class="el" href="classpp_1_1_module.html" title="The Module class.">Module</a> class. </p>
+<p>The browser calls <a class="el" href="classpp_1_1_module.html#a648f236af50501bac40ce40296611825" title="CreateInstance() should be overridden to create your own module type.">CreateInstance()</a> to create an instance of your module on the web page. The browser creates a new instance for each <code><embed></code> tag with <code>type="application/x-nacl"</code> </p>
+</div><hr /><h2>Member Typedef Documentation</h2>
+<a class="anchor" id="a47cd6188f0321e74b71126a5fd014b12"></a><!-- doxytag: member="pp::Module::InstanceMap" ref="a47cd6188f0321e74b71126a5fd014b12" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef std::map<PP_Instance, <a class="el" href="classpp_1_1_instance.html">Instance</a>*> <a class="el" href="classpp_1_1_module.html#a47cd6188f0321e74b71126a5fd014b12">pp::Module::InstanceMap</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a67b76ad37316a2e89ebd2902a6503686"></a><!-- doxytag: member="pp::Module::Module" ref="a67b76ad37316a2e89ebd2902a6503686" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_module.html#a67b76ad37316a2e89ebd2902a6503686">pp::Module::Module</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="ac3c912841726117a128d2e056f15210e"></a><!-- doxytag: member="pp::Module::~Module" ref="ac3c912841726117a128d2e056f15210e" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_module.html#ac3c912841726117a128d2e056f15210e">pp::Module::~Module</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="aeddc6021140b4bdea3a83c36e7b8ec7e"></a><!-- doxytag: member="pp::Module::AddPluginInterface" ref="aeddc6021140b4bdea3a83c36e7b8ec7e" args="(const std::string &interface_name, const void *vtable)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_module.html#aeddc6021140b4bdea3a83c36e7b8ec7e">pp::Module::AddPluginInterface</a> </td>
+<td>(</td>
+<td class="paramtype">const std::string & </td>
+<td class="paramname"><em>interface_name</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const void * </td>
+<td class="paramname"><em>vtable</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_module.html#aeddc6021140b4bdea3a83c36e7b8ec7e" title="AddPluginInterface() adds a handler for a provided interface name.">AddPluginInterface()</a> adds a handler for a provided interface name. </p>
+<p>When the browser requests that interface name, the provided <code>vtable</code> will be returned.</p>
+<p>In general, modules will not need to call this directly. Instead, the C++ wrappers for each interface will register themselves with this function.</p>
+<p>This function may be called more than once with the same interface name and vtable with no effect. However, it may not be used to register a different vtable for an already-registered interface. It will assert for a different registration for an already-registered interface in debug mode, and just ignore the registration in release mode.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">interface_name</td><td>The interface name that will receive a handler. </td></tr>
+<tr><td class="paramdir">[in,out]</td><td class="paramname">vtable</td><td>The vtable to return for <code>interface_name</code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="afd1d02002faaa6a4531ad06ca0423c9f"></a><!-- doxytag: member="pp::Module::core" ref="afd1d02002faaa6a4531ad06ca0423c9f" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_core.html">Core</a>* <a class="el" href="classpp_1_1_module.html#afd1d02002faaa6a4531ad06ca0423c9f">pp::Module::core</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <a class="el" href="classpp_1_1_module.html#afd1d02002faaa6a4531ad06ca0423c9f" title="The core() function returns the core interface for doing basic global operations.">core()</a> function returns the core interface for doing basic global operations. </p>
+<p>The return value is guaranteed to be non-NULL once the module has successfully initialized and during the <a class="el" href="classpp_1_1_module.html#a873a824f0e462008d1167e34544ad360" title="Init() is automatically called after the object is created.">Init()</a> call.</p>
+<p>It will be NULL before <a class="el" href="classpp_1_1_module.html#a873a824f0e462008d1167e34544ad360" title="Init() is automatically called after the object is created.">Init()</a> has been called.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The core interface for doing basic global operations. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a648f236af50501bac40ce40296611825"></a><!-- doxytag: member="pp::Module::CreateInstance" ref="a648f236af50501bac40ce40296611825" args="(PP_Instance instance)=0" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_instance.html">Instance</a>* <a class="el" href="classpp_1_1_module.html#a648f236af50501bac40ce40296611825">pp::Module::CreateInstance</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Instance </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td><code> [protected, pure virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_module.html#a648f236af50501bac40ce40296611825" title="CreateInstance() should be overridden to create your own module type.">CreateInstance()</a> should be overridden to create your own module type. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The resulting instance. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a3b9ec2c079aa51ceeedfe98f4c9e1a98"></a><!-- doxytag: member="pp::Module::current_instances" ref="a3b9ec2c079aa51ceeedfe98f4c9e1a98" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">const <a class="el" href="classpp_1_1_module.html#a47cd6188f0321e74b71126a5fd014b12">InstanceMap</a>& <a class="el" href="classpp_1_1_module.html#a3b9ec2c079aa51ceeedfe98f4c9e1a98">pp::Module::current_instances</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <a class="el" href="classpp_1_1_module.html#a3b9ec2c079aa51ceeedfe98f4c9e1a98" title="The current_instances() function allows iteration over the current instances in the module...">current_instances()</a> function allows iteration over the current instances in the module. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An <code>InstanceMap</code> of all instances in the module. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ac8cca5d744e812ec3221bc391086b026"></a><!-- doxytag: member="pp::Module::Get" ref="ac8cca5d744e812ec3221bc391086b026" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static <a class="el" href="classpp_1_1_module.html">Module</a>* <a class="el" href="classpp_1_1_module.html#ac8cca5d744e812ec3221bc391086b026">pp::Module::Get</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_module.html#ac8cca5d744e812ec3221bc391086b026" title="Get() returns the global instance of this module object, or NULL if the module is not initialized yet...">Get()</a> returns the global instance of this module object, or NULL if the module is not initialized yet. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The global instance of the module object. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a8955edbfec01524388338b440633850a"></a><!-- doxytag: member="pp::Module::get_browser_interface" ref="a8955edbfec01524388338b440633850a" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PPB_GetInterface <a class="el" href="classpp_1_1_module.html#a8955edbfec01524388338b440633850a">pp::Module::get_browser_interface</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <a class="el" href="classpp_1_1_module.html#a8955edbfec01524388338b440633850a" title="The get_browser_interface() function returns the internal get_browser_interface pointer.">get_browser_interface()</a> function returns the internal <code>get_browser_interface</code> pointer. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PPB_GetInterface</code> internal pointer. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2aece372fdef35ded56d69a4e881a376"></a><!-- doxytag: member="pp::Module::GetBrowserInterface" ref="a2aece372fdef35ded56d69a4e881a376" args="(const char *interface_name)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">const void* <a class="el" href="classpp_1_1_module.html#a2aece372fdef35ded56d69a4e881a376">pp::Module::GetBrowserInterface</a> </td>
+<td>(</td>
+<td class="paramtype">const char * </td>
+<td class="paramname"><em>interface_name</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_module.html#a2aece372fdef35ded56d69a4e881a376" title="GetBrowserInterface() returns interfaces which the browser implements (i.e.">GetBrowserInterface()</a> returns interfaces which the browser implements (i.e. </p>
+<p>PPB interfaces). </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">interface_name</td><td>The browser interface for the module to get. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a8c8c946f741e140ff7dd21b36b1a42a5"></a><!-- doxytag: member="pp::Module::GetPluginInterface" ref="a8c8c946f741e140ff7dd21b36b1a42a5" args="(const char *interface_name)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">const void* <a class="el" href="classpp_1_1_module.html#a8c8c946f741e140ff7dd21b36b1a42a5">pp::Module::GetPluginInterface</a> </td>
+<td>(</td>
+<td class="paramtype">const char * </td>
+<td class="paramname"><em>interface_name</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_module.html#a8c8c946f741e140ff7dd21b36b1a42a5" title="GetPluginInterface() implements GetInterface for the browser to get module interfaces.">GetPluginInterface()</a> implements <code>GetInterface</code> for the browser to get module interfaces. </p>
+<p>If you need to provide your own implementations of new interfaces, use <a class="el" href="classpp_1_1_module.html#aeddc6021140b4bdea3a83c36e7b8ec7e" title="AddPluginInterface() adds a handler for a provided interface name.">AddPluginInterface()</a> which this function will use.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">interface_name</td><td>The module interface for the browser to get. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a873a824f0e462008d1167e34544ad360"></a><!-- doxytag: member="pp::Module::Init" ref="a873a824f0e462008d1167e34544ad360" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual bool <a class="el" href="classpp_1_1_module.html#a873a824f0e462008d1167e34544ad360">pp::Module::Init</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_module.html#a873a824f0e462008d1167e34544ad360" title="Init() is automatically called after the object is created.">Init()</a> is automatically called after the object is created. </p>
+<p>This is where you can put functions that rely on other parts of the API, now that the module has been created.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab57a787b61cd72fdcea0d232ed88eaef"></a><!-- doxytag: member="pp::Module::InstanceForPPInstance" ref="ab57a787b61cd72fdcea0d232ed88eaef" args="(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_instance.html">Instance</a>* <a class="el" href="classpp_1_1_module.html#ab57a787b61cd72fdcea0d232ed88eaef">pp::Module::InstanceForPPInstance</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Instance </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_module.html#ab57a787b61cd72fdcea0d232ed88eaef" title="InstanceForPPInstance() returns the object associated with this PP_Instance, or NULL if one is not fo...">InstanceForPPInstance()</a> returns the object associated with this <code>PP_Instance</code>, or NULL if one is not found. </p>
+<p>This should only be called from the main thread! This instance object may be destroyed at any time on the main thread, so using it on other threads may cause a crash.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>This <code>PP_Instance</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The object associated with this <code>PP_Instance</code>, or NULL if one is not found. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="acd9a63a4b364c28abfeac39687f2fa1a"></a><!-- doxytag: member="pp::Module::InternalInit" ref="acd9a63a4b364c28abfeac39687f2fa1a" args="(PP_Module mod, PPB_GetInterface get_browser_interface)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_module.html#acd9a63a4b364c28abfeac39687f2fa1a">pp::Module::InternalInit</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Module </td>
+<td class="paramname"><em>mod</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PPB_GetInterface </td>
+<td class="paramname"><em>get_browser_interface</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>function that can be overridden by the base classes. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">mod</td><td>A <code>PP_Module</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">get_browser_interface</td><td>The browser interface to set.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a95bb3148c925f46938ee0f267b1c66e5"></a><!-- doxytag: member="pp::Module::pp_module" ref="a95bb3148c925f46938ee0f267b1c66e5" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_Module <a class="el" href="classpp_1_1_module.html#a95bb3148c925f46938ee0f267b1c66e5">pp::Module::pp_module</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <a class="el" href="classpp_1_1_module.html#a95bb3148c925f46938ee0f267b1c66e5" title="The pp_module() function returns the internal module handle.">pp_module()</a> function returns the internal module handle. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Module</code> internal module handle. </dd></dl>
+</div>
+</div>
+<hr /><h2>Friends And Related Function Documentation</h2>
+<a class="anchor" id="ab0f2ba24fd03fa31fc2e47d4f8ceb158"></a><!-- doxytag: member="pp::Module::Instance_DidCreate" ref="ab0f2ba24fd03fa31fc2e47d4f8ceb158" args="(PP_Instance pp_instance, uint32_t argc, const char *argn[], const char *argv[])" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_Bool <a class="el" href="classpp_1_1_module.html#ab0f2ba24fd03fa31fc2e47d4f8ceb158">Instance_DidCreate</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Instance </td>
+<td class="paramname"><em>pp_instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>argc</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const char * </td>
+<td class="paramname"><em>argn</em>[], </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const char * </td>
+<td class="paramname"><em>argv</em>[] </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [friend]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="accf4ce5410f02db9c87dcca045043128"></a><!-- doxytag: member="pp::Module::Instance_DidDestroy" ref="accf4ce5410f02db9c87dcca045043128" args="(PP_Instance instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_module.html#accf4ce5410f02db9c87dcca045043128">Instance_DidDestroy</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Instance </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td><code> [friend]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="module_8h.html">module.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_mouse_cursor-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_mouse_cursor-members.html
new file mode 100644
index 0000000..07d2ae9d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_mouse_cursor-members.html
@@ -0,0 +1,14 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_mouse_cursor.html">pp::MouseCursor</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_mouse_cursor.html#a94fc61cd6f995af87e1bf198c3fe788d">SetCursor</a>(const InstanceHandle &instance, PP_MouseCursor_Type type, const ImageData &image=ImageData(), const Point &hot_spot=Point(0, 0))</td><td><a class="el" href="classpp_1_1_mouse_cursor.html">pp::MouseCursor</a></td><td><code> [static]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_mouse_cursor.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_mouse_cursor.html
new file mode 100644
index 0000000..5e30ad6
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_mouse_cursor.html
@@ -0,0 +1,74 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::MouseCursor Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::MouseCursor" -->
+<p><a href="classpp_1_1_mouse_cursor-members.html">List of all members.</a></p>
+<h2>
+Static Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_cursor.html#a94fc61cd6f995af87e1bf198c3fe788d">SetCursor</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, PP_MouseCursor_Type type, const <a class="el" href="classpp_1_1_image_data.html">ImageData</a> &image=<a class="el" href="classpp_1_1_image_data.html">ImageData</a>(), const <a class="el" href="classpp_1_1_point.html">Point</a> &hot_spot=<a class="el" href="classpp_1_1_point.html">Point</a>(0, 0))</td></tr>
+</table>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a94fc61cd6f995af87e1bf198c3fe788d"></a><!-- doxytag: member="pp::MouseCursor::SetCursor" ref="a94fc61cd6f995af87e1bf198c3fe788d" args="(const InstanceHandle &instance, PP_MouseCursor_Type type, const ImageData &image=ImageData(), const Point &hot_spot=Point(0, 0))" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static bool <a class="el" href="classpp_1_1_mouse_cursor.html#a94fc61cd6f995af87e1bf198c3fe788d">pp::MouseCursor::SetCursor</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_MouseCursor_Type </td>
+<td class="paramname"><em>type</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_image_data.html">ImageData</a> & </td>
+<td class="paramname"><em>image</em> = <code><a class="el" href="classpp_1_1_image_data.html">ImageData</a>()</code>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">Point</a> & </td>
+<td class="paramname"><em>hot_spot</em> = <code><a class="el" href="classpp_1_1_point.html">Point</a>(0, 0)</code> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sets the given mouse cursor. </p>
+<p>The mouse cursor will be in effect whenever the mouse is over the given instance until it is set again by another call. Note that you can hide the mouse cursor by setting it to the <code>PP_MOUSECURSOR_TYPE_NONE</code> type.</p>
+<p>This function allows setting both system defined mouse cursors and custom cursors. To set a system-defined cursor, pass the type you want and set the custom image to a default-constructor <a class="el" href="classpp_1_1_image_data.html">ImageData</a> object. To set a custom cursor, set the type to <code>PP_MOUSECURSOR_TYPE_CUSTOM</code> and specify your image and hot spot.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A handle identifying the instance that the mouse cursor will affect.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>A <code>PP_MouseCursor_Type</code> identifying the type of mouse cursor to show. See <code>ppapi/c/ppb_mouse_cursor.h</code>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">image</td><td>A <code><a class="el" href="classpp_1_1_image_data.html">ImageData</a></code> object identifying the custom image to set when the type is <code>PP_MOUSECURSOR_TYPE_CUSTOM</code>. The image must be less than 32 pixels in each direction and must be of the system's native image format. When you are specifying a predefined cursor, this parameter should be a default-constructed <a class="el" href="classpp_1_1_image_data.html">ImageData</a>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">hot_spot</td><td>When setting a custom cursor, this identifies the pixel position within the given image of the "hot spot" of the cursor. When specifying a stock cursor, this parameter is ignored.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false if the instance or cursor type was invalid or if the image was too large. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="mouse__cursor_8h.html">mouse_cursor.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_mouse_input_event-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_mouse_input_event-members.html
new file mode 100644
index 0000000..de1c98a6
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_mouse_input_event-members.html
@@ -0,0 +1,37 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_mouse_input_event.html">pp::MouseInputEvent</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_mouse_input_event.html#ae953b64120ab5c84c31114d1e5d15e1b">GetButton</a>() const </td><td><a class="el" href="classpp_1_1_mouse_input_event.html">pp::MouseInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_mouse_input_event.html#a2e125cde20848ee70495e2f981b7417e">GetClickCount</a>() const </td><td><a class="el" href="classpp_1_1_mouse_input_event.html">pp::MouseInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a6f94a5cd8453f1b69e55aadde73354e7">GetModifiers</a>() const </td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_mouse_input_event.html#a33e589dc8460c5fd2064cef39f19970b">GetMovement</a>() const </td><td><a class="el" href="classpp_1_1_mouse_input_event.html">pp::MouseInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_mouse_input_event.html#a95bb484c3628871ed4d8cbd3b44effe2">GetPosition</a>() const </td><td><a class="el" href="classpp_1_1_mouse_input_event.html">pp::MouseInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#acc79ecdcf19f5b8a8a7268fc8ff51531">GetTimeStamp</a>() const </td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a73ca79c06ff9a39304e3b390090f03dc">GetType</a>() const </td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#ac7581e4321abe8de6f3b48d70f4aa65d">InputEvent</a>()</td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a1d4f7d3fb88de3cccc60ab26b92ccf23">InputEvent</a>(PP_Resource input_event_resource)</td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_mouse_input_event.html#a3a7fa73996bd504fc3aa86c447222761">MouseInputEvent</a>()</td><td><a class="el" href="classpp_1_1_mouse_input_event.html">pp::MouseInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_mouse_input_event.html#ad63fc6a3e5f29b5cb787fc74ebf0b33d">MouseInputEvent</a>(const InputEvent &event)</td><td><a class="el" href="classpp_1_1_mouse_input_event.html">pp::MouseInputEvent</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_mouse_input_event.html#a4e2f16fb54382135f07cf53e22905d3a">MouseInputEvent</a>(const InstanceHandle &instance, PP_InputEvent_Type type, PP_TimeTicks time_stamp, uint32_t modifiers, PP_InputEvent_MouseButton mouse_button, const Point &mouse_position, int32_t click_count, const Point &mouse_movement)</td><td><a class="el" href="classpp_1_1_mouse_input_event.html">pp::MouseInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a2492183af4fecec44a423a5b7eae6faf">~InputEvent</a>()</td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_mouse_input_event.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_mouse_input_event.html
new file mode 100644
index 0000000..137dd546
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_mouse_input_event.html
@@ -0,0 +1,222 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::MouseInputEvent Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::MouseInputEvent" --><!-- doxytag: inherits="pp::InputEvent" --><div class="dynheader">
+Inheritance diagram for pp::MouseInputEvent:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_mouse_input_event__inherit__graph.png" border="0" usemap="#pp_1_1_mouse_input_event_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_mouse_input_event_inherit__map" id="pp_1_1_mouse_input_event_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_input_event.html" title="This class represents an input event resource." alt="" coords="25,83,140,112"></area><area shape="rect" id="node4" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="31,5,135,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_mouse_input_event-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_input_event.html#a3a7fa73996bd504fc3aa86c447222761">MouseInputEvent</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_input_event.html#ad63fc6a3e5f29b5cb787fc74ebf0b33d">MouseInputEvent</a> (const <a class="el" href="classpp_1_1_input_event.html">InputEvent</a> &event)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_input_event.html#a4e2f16fb54382135f07cf53e22905d3a">MouseInputEvent</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, PP_InputEvent_Type type, PP_TimeTicks time_stamp, uint32_t modifiers, PP_InputEvent_MouseButton mouse_button, const <a class="el" href="classpp_1_1_point.html">Point</a> &mouse_position, int32_t click_count, const <a class="el" href="classpp_1_1_point.html">Point</a> &mouse_movement)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_InputEvent_MouseButton </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_input_event.html#ae953b64120ab5c84c31114d1e5d15e1b">GetButton</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_point.html">Point</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_input_event.html#a95bb484c3628871ed4d8cbd3b44effe2">GetPosition</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_input_event.html#a2e125cde20848ee70495e2f981b7417e">GetClickCount</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_point.html">Point</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_input_event.html#a33e589dc8460c5fd2064cef39f19970b">GetMovement</a> () const </td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This class handles mouse events. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a3a7fa73996bd504fc3aa86c447222761"></a><!-- doxytag: member="pp::MouseInputEvent::MouseInputEvent" ref="a3a7fa73996bd504fc3aa86c447222761" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_mouse_input_event.html#a3a7fa73996bd504fc3aa86c447222761">pp::MouseInputEvent::MouseInputEvent</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> mouse input event object. </p>
+</div>
+</div>
+<a class="anchor" id="ad63fc6a3e5f29b5cb787fc74ebf0b33d"></a><!-- doxytag: member="pp::MouseInputEvent::MouseInputEvent" ref="ad63fc6a3e5f29b5cb787fc74ebf0b33d" args="(const InputEvent &event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_mouse_input_event.html#a3a7fa73996bd504fc3aa86c447222761">pp::MouseInputEvent::MouseInputEvent</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_input_event.html">InputEvent</a> & </td>
+<td class="paramname"><em>event</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This constructor constructs a mouse input event object from the provided generic input event. </p>
+<p>If the given event is itself <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> or is not a mouse input event, the mouse object will be <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramname">event</td><td>An <code><a class="el" href="classpp_1_1_input_event.html" title="This class represents an input event resource.">InputEvent</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a4e2f16fb54382135f07cf53e22905d3a"></a><!-- doxytag: member="pp::MouseInputEvent::MouseInputEvent" ref="a4e2f16fb54382135f07cf53e22905d3a" args="(const InstanceHandle &instance, PP_InputEvent_Type type, PP_TimeTicks time_stamp, uint32_t modifiers, PP_InputEvent_MouseButton mouse_button, const Point &mouse_position, int32_t click_count, const Point &mouse_movement)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_mouse_input_event.html#a3a7fa73996bd504fc3aa86c447222761">pp::MouseInputEvent::MouseInputEvent</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_InputEvent_Type </td>
+<td class="paramname"><em>type</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_TimeTicks </td>
+<td class="paramname"><em>time_stamp</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>modifiers</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_InputEvent_MouseButton </td>
+<td class="paramname"><em>mouse_button</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">Point</a> & </td>
+<td class="paramname"><em>mouse_position</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>click_count</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">Point</a> & </td>
+<td class="paramname"><em>mouse_movement</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This constructor manually constructs a mouse event from the provided parameters. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance for which this event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>A <code>PP_InputEvent_Type</code> identifying the type of input event.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">time_stamp</td><td>A <code>PP_TimeTicks</code> indicating the time when the event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">modifiers</td><td>A bit field combination of the <code>PP_InputEvent_Modifier</code> flags.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">mouse_button</td><td>The button that changed for mouse down or up events. This value will be <code>PP_EVENT_MOUSEBUTTON_NONE</code> for mouse move, enter, and leave events.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">mouse_position</td><td>A <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code> containing the x and y position of the mouse when the event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">click_count</td><td></td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">mouse_movement</td><td>The change in position of the mouse. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="ae953b64120ab5c84c31114d1e5d15e1b"></a><!-- doxytag: member="pp::MouseInputEvent::GetButton" ref="ae953b64120ab5c84c31114d1e5d15e1b" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_InputEvent_MouseButton <a class="el" href="classpp_1_1_mouse_input_event.html#ae953b64120ab5c84c31114d1e5d15e1b">pp::MouseInputEvent::GetButton</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_mouse_input_event.html#ae953b64120ab5c84c31114d1e5d15e1b" title="GetButton() returns the mouse position for a mouse input event.">GetButton()</a> returns the mouse position for a mouse input event. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The mouse button associated with mouse down and up events. This value will be PP_EVENT_MOUSEBUTTON_NONE for mouse move, enter, and leave events, and for all non-mouse events. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2e125cde20848ee70495e2f981b7417e"></a><!-- doxytag: member="pp::MouseInputEvent::GetClickCount" ref="a2e125cde20848ee70495e2f981b7417e" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_mouse_input_event.html#a2e125cde20848ee70495e2f981b7417e">pp::MouseInputEvent::GetClickCount</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a33e589dc8460c5fd2064cef39f19970b"></a><!-- doxytag: member="pp::MouseInputEvent::GetMovement" ref="a33e589dc8460c5fd2064cef39f19970b" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_point.html">Point</a> <a class="el" href="classpp_1_1_mouse_input_event.html#a33e589dc8460c5fd2064cef39f19970b">pp::MouseInputEvent::GetMovement</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns the change in position of the mouse. </p>
+<p>When the mouse is locked, although the mouse position doesn't actually change, this function still provides movement information, which indicates what the change in position would be had the mouse not been locked.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The change in position of the mouse, relative to the previous position. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a95bb484c3628871ed4d8cbd3b44effe2"></a><!-- doxytag: member="pp::MouseInputEvent::GetPosition" ref="a95bb484c3628871ed4d8cbd3b44effe2" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_point.html">Point</a> <a class="el" href="classpp_1_1_mouse_input_event.html#a95bb484c3628871ed4d8cbd3b44effe2">pp::MouseInputEvent::GetPosition</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_mouse_input_event.html#a95bb484c3628871ed4d8cbd3b44effe2" title="GetPosition() returns the pixel location of a mouse input event.">GetPosition()</a> returns the pixel location of a mouse input event. </p>
+<p>When the mouse is locked, it returns the last known mouse position just as mouse lock was entered.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The point associated with the mouse event, relative to the upper- left of the instance receiving the event. These values can be negative for mouse drags. The return value will be (0, 0) for non-mouse events. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="input__event_8h.html">input_event.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_mouse_input_event__inherit__graph.png b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_mouse_input_event__inherit__graph.png
new file mode 100644
index 0000000..c2e0c0e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_mouse_input_event__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_mouse_lock-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_mouse_lock-members.html
new file mode 100644
index 0000000..e22d66c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_mouse_lock-members.html
@@ -0,0 +1,18 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_mouse_lock.html">pp::MouseLock</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_mouse_lock.html#ad17ce49daa092ec8ec6ca56aebf5b2cc">LockMouse</a>(const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_mouse_lock.html">pp::MouseLock</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_mouse_lock.html#a2c304f04bbcca852cfff575595de291f">MouseLock</a>(Instance *instance)</td><td><a class="el" href="classpp_1_1_mouse_lock.html">pp::MouseLock</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_mouse_lock.html#a325767b75e132ae0c1ca7d4776f5d05c">MouseLockLost</a>()=0</td><td><a class="el" href="classpp_1_1_mouse_lock.html">pp::MouseLock</a></td><td><code> [pure virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_mouse_lock.html#ad896ad4a23395cc6735930437bfb92e6">UnlockMouse</a>()</td><td><a class="el" href="classpp_1_1_mouse_lock.html">pp::MouseLock</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_mouse_lock.html#a2ac121eb177f22d69c46066d979e06a8">~MouseLock</a>()</td><td><a class="el" href="classpp_1_1_mouse_lock.html">pp::MouseLock</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_mouse_lock.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_mouse_lock.html
new file mode 100644
index 0000000..6b40c787
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_mouse_lock.html
@@ -0,0 +1,147 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::MouseLock Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::MouseLock" -->
+<p><a href="classpp_1_1_mouse_lock-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_lock.html#a2c304f04bbcca852cfff575595de291f">MouseLock</a> (<a class="el" href="classpp_1_1_instance.html">Instance</a> *instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_lock.html#a2ac121eb177f22d69c46066d979e06a8">~MouseLock</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_lock.html#a325767b75e132ae0c1ca7d4776f5d05c">MouseLockLost</a> ()=0</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_lock.html#ad17ce49daa092ec8ec6ca56aebf5b2cc">LockMouse</a> (const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_lock.html#ad896ad4a23395cc6735930437bfb92e6">UnlockMouse</a> ()</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This class allows you to associate the <code>PPP_MouseLock</code> and <code>PPB_MouseLock</code> C-based interfaces with an object. </p>
+<p>It associates itself with the given instance, and registers as the global handler for handling the <code>PPP_MouseLock</code> interface that the browser calls.</p>
+<p>You would typically use this class by inheritance on your instance or by composition.</p>
+<p><b>Example (inheritance):</b> </p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">class </span>MyInstance : <span class="keyword">public</span> pp::Instance, <span class="keyword">public</span> pp::<a class="code" href="classpp_1_1_mouse_lock.html#a2c304f04bbcca852cfff575595de291f" title="A constructor for creating a MouseLock.">MouseLock</a> {
+ <span class="keyword">class </span>MyInstance() : pp::<a class="code" href="classpp_1_1_mouse_lock.html#a2c304f04bbcca852cfff575595de291f" title="A constructor for creating a MouseLock.">MouseLock</a>(this) {
+ }
+ ...
+ };
+</pre></div><p><b>Example (composition):</b> </p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">class </span>MyMouseLock : <span class="keyword">public</span> pp::<a class="code" href="classpp_1_1_mouse_lock.html#a2c304f04bbcca852cfff575595de291f" title="A constructor for creating a MouseLock.">MouseLock</a> {
+ ...
+ };
+
+ <span class="keyword">class </span>MyInstance : <span class="keyword">public</span> pp::Instance {
+ MyInstance() : mouse_lock_(this) {
+ }
+
+ MyMouseLock mouse_lock_;
+ };
+</pre></div> </div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a2c304f04bbcca852cfff575595de291f"></a><!-- doxytag: member="pp::MouseLock::MouseLock" ref="a2c304f04bbcca852cfff575595de291f" args="(Instance *instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_mouse_lock.html#a2c304f04bbcca852cfff575595de291f">pp::MouseLock::MouseLock</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="classpp_1_1_instance.html">Instance</a> * </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor for creating a <code><a class="el" href="classpp_1_1_mouse_lock.html" title="This class allows you to associate the PPP_MouseLock and PPB_MouseLock C-based interfaces with an obj...">MouseLock</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a2ac121eb177f22d69c46066d979e06a8"></a><!-- doxytag: member="pp::MouseLock::~MouseLock" ref="a2ac121eb177f22d69c46066d979e06a8" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_mouse_lock.html#a2ac121eb177f22d69c46066d979e06a8">pp::MouseLock::~MouseLock</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Destructor. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="ad17ce49daa092ec8ec6ca56aebf5b2cc"></a><!-- doxytag: member="pp::MouseLock::LockMouse" ref="ad17ce49daa092ec8ec6ca56aebf5b2cc" args="(const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_mouse_lock.html#ad17ce49daa092ec8ec6ca56aebf5b2cc">pp::MouseLock::LockMouse</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_mouse_lock.html#ad17ce49daa092ec8ec6ca56aebf5b2cc" title="LockMouse() requests the mouse to be locked.">LockMouse()</a> requests the mouse to be locked. </p>
+<p>While the mouse is locked, the cursor is implicitly hidden from the user. Any movement of the mouse will generate a <code>PP_INPUTEVENT_TYPE_MOUSEMOVE</code> event. The <code>GetPosition()</code> function in <code>InputEvent()</code> reports the last known mouse position just as mouse lock was entered. The <code>GetMovement()</code> function provides relative movement information indicating what the change in position of the mouse would be had it not been locked.</p>
+<p>The browser may revoke the mouse lock for reasons including (but not limited to) the user pressing the ESC key, the user activating another program using a reserved keystroke (e.g. ALT+TAB), or some other system event.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a325767b75e132ae0c1ca7d4776f5d05c"></a><!-- doxytag: member="pp::MouseLock::MouseLockLost" ref="a325767b75e132ae0c1ca7d4776f5d05c" args="()=0" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual void <a class="el" href="classpp_1_1_mouse_lock.html#a325767b75e132ae0c1ca7d4776f5d05c">pp::MouseLock::MouseLockLost</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [pure virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>PPP_MouseLock functions exposed as virtual functions for you to override. </p>
+</div>
+</div>
+<a class="anchor" id="ad896ad4a23395cc6735930437bfb92e6"></a><!-- doxytag: member="pp::MouseLock::UnlockMouse" ref="ad896ad4a23395cc6735930437bfb92e6" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_mouse_lock.html#ad896ad4a23395cc6735930437bfb92e6">pp::MouseLock::UnlockMouse</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>UnlockMouse causes the mouse to be unlocked, allowing it to track user movement again. </p>
+<p>This is an asynchronous operation. The module instance will be notified using the <code>PPP_MouseLock</code> interface when it has lost the mouse lock. </p>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="mouse__lock_8h.html">mouse_lock.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_net_address-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_net_address-members.html
new file mode 100644
index 0000000..cb30d20
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_net_address-members.html
@@ -0,0 +1,36 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_net_address.html">pp::NetAddress</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_net_address.html#a3fdbd86db0384bf334dabcefa5e46237">DescribeAsIPv4Address</a>(PP_NetAddress_IPv4 *ipv4_addr) const </td><td><a class="el" href="classpp_1_1_net_address.html">pp::NetAddress</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_net_address.html#a81991279a52f8d38d9b75e1e607a81a5">DescribeAsIPv6Address</a>(PP_NetAddress_IPv6 *ipv6_addr) const </td><td><a class="el" href="classpp_1_1_net_address.html">pp::NetAddress</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_net_address.html#a9ff9ad19269af1c00ff02542397e92cc">DescribeAsString</a>(bool include_port) const </td><td><a class="el" href="classpp_1_1_net_address.html">pp::NetAddress</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_net_address.html#a271533da67cd5c6f536c6595b439bd9b">GetFamily</a>() const </td><td><a class="el" href="classpp_1_1_net_address.html">pp::NetAddress</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_net_address.html#a15547416a0b50b6ebd271ca421a91068">IsAvailable</a>()</td><td><a class="el" href="classpp_1_1_net_address.html">pp::NetAddress</a></td><td><code> [static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_net_address.html#abe4887a33342dac27318079f07bb012d">NetAddress</a>()</td><td><a class="el" href="classpp_1_1_net_address.html">pp::NetAddress</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_net_address.html#ade2ad27841d2ccedbb202ee2c1eade14">NetAddress</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_net_address.html">pp::NetAddress</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_net_address.html#ae54044b80f97d259cb23b924a877ce53">NetAddress</a>(const InstanceHandle &instance, const PP_NetAddress_IPv4 &ipv4_addr)</td><td><a class="el" href="classpp_1_1_net_address.html">pp::NetAddress</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_net_address.html#a76442610ed533079115a5150b7a9c98c">NetAddress</a>(const InstanceHandle &instance, const PP_NetAddress_IPv6 &ipv6_addr)</td><td><a class="el" href="classpp_1_1_net_address.html">pp::NetAddress</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_net_address.html#a8c0b559bd205387c199aba688c356298">NetAddress</a>(const NetAddress &other)</td><td><a class="el" href="classpp_1_1_net_address.html">pp::NetAddress</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_net_address.html#ab12bb266c9714d818aedc9cce7a209cf">operator=</a>(const NetAddress &other)</td><td><a class="el" href="classpp_1_1_net_address.html">pp::NetAddress</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">pp::Resource::operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_net_address.html#a06b05fdecaf0b32ee74e7ebbb85a0674">~NetAddress</a>()</td><td><a class="el" href="classpp_1_1_net_address.html">pp::NetAddress</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_net_address.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_net_address.html
new file mode 100644
index 0000000..19752bb
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_net_address.html
@@ -0,0 +1,334 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::NetAddress Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::NetAddress" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::NetAddress:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_net_address__inherit__graph.png" border="0" usemap="#pp_1_1_net_address_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_net_address_inherit__map" id="pp_1_1_net_address_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="13,5,117,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_net_address-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_net_address.html#abe4887a33342dac27318079f07bb012d">NetAddress</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_net_address.html#ade2ad27841d2ccedbb202ee2c1eade14">NetAddress</a> (<a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a>, PP_Resource resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_net_address.html#ae54044b80f97d259cb23b924a877ce53">NetAddress</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, const PP_NetAddress_IPv4 &ipv4_addr)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_net_address.html#a76442610ed533079115a5150b7a9c98c">NetAddress</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, const PP_NetAddress_IPv6 &ipv6_addr)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_net_address.html#a8c0b559bd205387c199aba688c356298">NetAddress</a> (const <a class="el" href="classpp_1_1_net_address.html">NetAddress</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_net_address.html#a06b05fdecaf0b32ee74e7ebbb85a0674">~NetAddress</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_net_address.html">NetAddress</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_net_address.html#ab12bb266c9714d818aedc9cce7a209cf">operator=</a> (const <a class="el" href="classpp_1_1_net_address.html">NetAddress</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_NetAddress_Family </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_net_address.html#a271533da67cd5c6f536c6595b439bd9b">GetFamily</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_net_address.html#a9ff9ad19269af1c00ff02542397e92cc">DescribeAsString</a> (bool include_port) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_net_address.html#a3fdbd86db0384bf334dabcefa5e46237">DescribeAsIPv4Address</a> (PP_NetAddress_IPv4 *ipv4_addr) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_net_address.html#a81991279a52f8d38d9b75e1e607a81a5">DescribeAsIPv6Address</a> (PP_NetAddress_IPv6 *ipv6_addr) const </td></tr>
+</table><h2>
+Static Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_net_address.html#a15547416a0b50b6ebd271ca421a91068">IsAvailable</a> ()</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code> class represents a network address. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="abe4887a33342dac27318079f07bb012d"></a><!-- doxytag: member="pp::NetAddress::NetAddress" ref="abe4887a33342dac27318079f07bb012d" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_net_address.html#abe4887a33342dac27318079f07bb012d">pp::NetAddress::NetAddress</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor for creating an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code> object. </p>
+</div>
+</div>
+<a class="anchor" id="ade2ad27841d2ccedbb202ee2c1eade14"></a><!-- doxytag: member="pp::NetAddress::NetAddress" ref="ade2ad27841d2ccedbb202ee2c1eade14" args="(PassRef, PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_net_address.html#abe4887a33342dac27318079f07bb012d">pp::NetAddress::NetAddress</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a> </td>
+<td class="paramname">, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>resource</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used when you have received a <code>PP_Resource</code> as a return value that has had 1 ref added for you. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PPB_NetAddress</code> resource. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ae54044b80f97d259cb23b924a877ce53"></a><!-- doxytag: member="pp::NetAddress::NetAddress" ref="ae54044b80f97d259cb23b924a877ce53" args="(const InstanceHandle &instance, const PP_NetAddress_IPv4 &ipv4_addr)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_net_address.html#abe4887a33342dac27318079f07bb012d">pp::NetAddress::NetAddress</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const PP_NetAddress_IPv4 & </td>
+<td class="paramname"><em>ipv4_addr</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used to create a <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code> object with the specified IPv4 address. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">ipv4_addr</td><td>An IPv4 address. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a76442610ed533079115a5150b7a9c98c"></a><!-- doxytag: member="pp::NetAddress::NetAddress" ref="a76442610ed533079115a5150b7a9c98c" args="(const InstanceHandle &instance, const PP_NetAddress_IPv6 &ipv6_addr)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_net_address.html#abe4887a33342dac27318079f07bb012d">pp::NetAddress::NetAddress</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const PP_NetAddress_IPv6 & </td>
+<td class="paramname"><em>ipv6_addr</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used to create a <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code> object with the specified IPv6 address. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">ipv6_addr</td><td>An IPv6 address. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a8c0b559bd205387c199aba688c356298"></a><!-- doxytag: member="pp::NetAddress::NetAddress" ref="a8c0b559bd205387c199aba688c356298" args="(const NetAddress &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_net_address.html#abe4887a33342dac27318079f07bb012d">pp::NetAddress::NetAddress</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_net_address.html">NetAddress</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The copy constructor for <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A reference to another <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a06b05fdecaf0b32ee74e7ebbb85a0674"></a><!-- doxytag: member="pp::NetAddress::~NetAddress" ref="a06b05fdecaf0b32ee74e7ebbb85a0674" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_net_address.html#a06b05fdecaf0b32ee74e7ebbb85a0674">pp::NetAddress::~NetAddress</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The destructor. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a3fdbd86db0384bf334dabcefa5e46237"></a><!-- doxytag: member="pp::NetAddress::DescribeAsIPv4Address" ref="a3fdbd86db0384bf334dabcefa5e46237" args="(PP_NetAddress_IPv4 *ipv4_addr) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_net_address.html#a3fdbd86db0384bf334dabcefa5e46237">pp::NetAddress::DescribeAsIPv4Address</a> </td>
+<td>(</td>
+<td class="paramtype">PP_NetAddress_IPv4 * </td>
+<td class="paramname"><em>ipv4_addr</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Fills a <code>PP_NetAddress_IPv4</code> structure if the network address is of <code>PP_NETADDRESS_FAMILY_IPV4</code> address family. </p>
+<p>Note that passing a network address of <code>PP_NETADDRESS_FAMILY_IPV6</code> address family will fail even if the address is an IPv4-mapped IPv6 address.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[out]</td><td class="paramname">ipv4_addr</td><td>A <code>PP_NetAddress_IPv4</code> structure to store the result.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A boolean value indicating whether the operation succeeded. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a81991279a52f8d38d9b75e1e607a81a5"></a><!-- doxytag: member="pp::NetAddress::DescribeAsIPv6Address" ref="a81991279a52f8d38d9b75e1e607a81a5" args="(PP_NetAddress_IPv6 *ipv6_addr) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_net_address.html#a81991279a52f8d38d9b75e1e607a81a5">pp::NetAddress::DescribeAsIPv6Address</a> </td>
+<td>(</td>
+<td class="paramtype">PP_NetAddress_IPv6 * </td>
+<td class="paramname"><em>ipv6_addr</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Fills a <code>PP_NetAddress_IPv6</code> structure if the network address is of <code>PP_NETADDRESS_FAMILY_IPV6</code> address family. </p>
+<p>Note that passing a network address of <code>PP_NETADDRESS_FAMILY_IPV4</code> address family will fail - this method doesn't map it to an IPv6 address.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[out]</td><td class="paramname">ipv6_addr</td><td>A <code>PP_NetAddress_IPv6</code> structure to store the result.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A boolean value indicating whether the operation succeeded. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a9ff9ad19269af1c00ff02542397e92cc"></a><!-- doxytag: member="pp::NetAddress::DescribeAsString" ref="a9ff9ad19269af1c00ff02542397e92cc" args="(bool include_port) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_net_address.html#a9ff9ad19269af1c00ff02542397e92cc">pp::NetAddress::DescribeAsString</a> </td>
+<td>(</td>
+<td class="paramtype">bool </td>
+<td class="paramname"><em>include_port</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns a human-readable description of the network address. </p>
+<p>The description is in the form of host [ ":" port ] and conforms to <a href="http://tools.ietf.org/html/rfc3986#section-3.2">http://tools.ietf.org/html/rfc3986#section-3.2</a> for IPv4 and IPv6 addresses (e.g., "192.168.0.1", "192.168.0.1:99", or "[::1]:80").</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">include_port</td><td>Whether to include the port number in the description.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A string <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> on success; an undefined <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a271533da67cd5c6f536c6595b439bd9b"></a><!-- doxytag: member="pp::NetAddress::GetFamily" ref="a271533da67cd5c6f536c6595b439bd9b" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_NetAddress_Family <a class="el" href="classpp_1_1_net_address.html#a271533da67cd5c6f536c6595b439bd9b">pp::NetAddress::GetFamily</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the address family. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The address family on success; <code>PP_NETADDRESS_FAMILY_UNSPECIFIED</code> on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a15547416a0b50b6ebd271ca421a91068"></a><!-- doxytag: member="pp::NetAddress::IsAvailable" ref="a15547416a0b50b6ebd271ca421a91068" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static bool <a class="el" href="classpp_1_1_net_address.html#a15547416a0b50b6ebd271ca421a91068">pp::NetAddress::IsAvailable</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Static function for determining whether the browser supports the <code>PPB_NetAddress</code> interface. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the interface is available, false otherwise. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab12bb266c9714d818aedc9cce7a209cf"></a><!-- doxytag: member="pp::NetAddress::operator=" ref="ab12bb266c9714d818aedc9cce7a209cf" args="(const NetAddress &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_net_address.html">NetAddress</a>& pp::NetAddress::operator= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_net_address.html">NetAddress</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The assignment operator for <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A reference to another <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A reference to this <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code> object. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="net__address_8h.html">net_address.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_net_address__inherit__graph.png b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_net_address__inherit__graph.png
new file mode 100644
index 0000000..96ea0c8
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_net_address__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_network_list-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_network_list-members.html
new file mode 100644
index 0000000..48b7cf4
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_network_list-members.html
@@ -0,0 +1,34 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_network_list.html">pp::NetworkList</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_network_list.html#a4dd51a7af2b0af6c6b962e975131c3e2">GetCount</a>() const </td><td><a class="el" href="classpp_1_1_network_list.html">pp::NetworkList</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_network_list.html#a5a9aff0b4b03205a35ba0298fb9d383f">GetDisplayName</a>(uint32_t index) const </td><td><a class="el" href="classpp_1_1_network_list.html">pp::NetworkList</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_network_list.html#ab2dee43ce3ac787852438210b80361d8">GetIpAddresses</a>(uint32_t index, std::vector< NetAddress > *addresses) const </td><td><a class="el" href="classpp_1_1_network_list.html">pp::NetworkList</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_network_list.html#aebbb32231a87568e7fbe29e50e16fc58">GetMTU</a>(uint32_t index) const </td><td><a class="el" href="classpp_1_1_network_list.html">pp::NetworkList</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_network_list.html#acb253aedb772fc42bdfbb5d05331d8b1">GetName</a>(uint32_t index) const </td><td><a class="el" href="classpp_1_1_network_list.html">pp::NetworkList</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_network_list.html#a9c4a05d5bc5d0d23aac52f59f1718e32">GetState</a>(uint32_t index) const </td><td><a class="el" href="classpp_1_1_network_list.html">pp::NetworkList</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_network_list.html#a61d4a2421294e176d749115cbf5fb91b">GetType</a>(uint32_t index) const </td><td><a class="el" href="classpp_1_1_network_list.html">pp::NetworkList</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_network_list.html#ab059a90bb9e2aced3f0e709853d0e61f">IsAvailable</a>()</td><td><a class="el" href="classpp_1_1_network_list.html">pp::NetworkList</a></td><td><code> [static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_network_list.html#a2f79e2f0c884db428a4e1df63b64e2c0">NetworkList</a>()</td><td><a class="el" href="classpp_1_1_network_list.html">pp::NetworkList</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_network_list.html#a3d91fdce92976477be4a131fdd5c21e1">NetworkList</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_network_list.html">pp::NetworkList</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_network_list.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_network_list.html
new file mode 100644
index 0000000..a008035
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_network_list.html
@@ -0,0 +1,226 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::NetworkList Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::NetworkList" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::NetworkList:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_network_list__inherit__graph.png" border="0" usemap="#pp_1_1_network_list_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_network_list_inherit__map" id="pp_1_1_network_list_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="13,5,117,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_network_list-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_list.html#a2f79e2f0c884db428a4e1df63b64e2c0">NetworkList</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_list.html#a3d91fdce92976477be4a131fdd5c21e1">NetworkList</a> (<a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a>, PP_Resource resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_list.html#a4dd51a7af2b0af6c6b962e975131c3e2">GetCount</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_list.html#acb253aedb772fc42bdfbb5d05331d8b1">GetName</a> (uint32_t index) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_NetworkList_Type </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_list.html#a61d4a2421294e176d749115cbf5fb91b">GetType</a> (uint32_t index) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_NetworkList_State </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_list.html#a9c4a05d5bc5d0d23aac52f59f1718e32">GetState</a> (uint32_t index) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_list.html#ab2dee43ce3ac787852438210b80361d8">GetIpAddresses</a> (uint32_t index, std::vector< <a class="el" href="classpp_1_1_net_address.html">NetAddress</a> > *addresses) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_list.html#a5a9aff0b4b03205a35ba0298fb9d383f">GetDisplayName</a> (uint32_t index) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_list.html#aebbb32231a87568e7fbe29e50e16fc58">GetMTU</a> (uint32_t index) const </td></tr>
+</table><h2>
+Static Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_list.html#ab059a90bb9e2aced3f0e709853d0e61f">IsAvailable</a> ()</td></tr>
+</table>
+<hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a2f79e2f0c884db428a4e1df63b64e2c0"></a><!-- doxytag: member="pp::NetworkList::NetworkList" ref="a2f79e2f0c884db428a4e1df63b64e2c0" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_network_list.html#a2f79e2f0c884db428a4e1df63b64e2c0">pp::NetworkList::NetworkList</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a3d91fdce92976477be4a131fdd5c21e1"></a><!-- doxytag: member="pp::NetworkList::NetworkList" ref="a3d91fdce92976477be4a131fdd5c21e1" args="(PassRef, PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_network_list.html#a2f79e2f0c884db428a4e1df63b64e2c0">pp::NetworkList::NetworkList</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a> </td>
+<td class="paramname">, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>resource</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a4dd51a7af2b0af6c6b962e975131c3e2"></a><!-- doxytag: member="pp::NetworkList::GetCount" ref="a4dd51a7af2b0af6c6b962e975131c3e2" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="classpp_1_1_network_list.html#a4dd51a7af2b0af6c6b962e975131c3e2">pp::NetworkList::GetCount</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the number of available network interfaces or 0 if the list has never been updated. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a5a9aff0b4b03205a35ba0298fb9d383f"></a><!-- doxytag: member="pp::NetworkList::GetDisplayName" ref="a5a9aff0b4b03205a35ba0298fb9d383f" args="(uint32_t index) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">std::string <a class="el" href="classpp_1_1_network_list.html#a5a9aff0b4b03205a35ba0298fb9d383f">pp::NetworkList::GetDisplayName</a> </td>
+<td>(</td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>index</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the display name for the network interface with the specified <code>index</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab2dee43ce3ac787852438210b80361d8"></a><!-- doxytag: member="pp::NetworkList::GetIpAddresses" ref="ab2dee43ce3ac787852438210b80361d8" args="(uint32_t index, std::vector< NetAddress > *addresses) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_network_list.html#ab2dee43ce3ac787852438210b80361d8">pp::NetworkList::GetIpAddresses</a> </td>
+<td>(</td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>index</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">std::vector< <a class="el" href="classpp_1_1_net_address.html">NetAddress</a> > * </td>
+<td class="paramname"><em>addresses</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the list of IP addresses for the network interface with the specified <code>index</code> and stores them in <code>addresses</code>. </p>
+</div>
+</div>
+<a class="anchor" id="aebbb32231a87568e7fbe29e50e16fc58"></a><!-- doxytag: member="pp::NetworkList::GetMTU" ref="aebbb32231a87568e7fbe29e50e16fc58" args="(uint32_t index) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="classpp_1_1_network_list.html#aebbb32231a87568e7fbe29e50e16fc58">pp::NetworkList::GetMTU</a> </td>
+<td>(</td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>index</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the MTU for the network interface with the specified <code>index</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="acb253aedb772fc42bdfbb5d05331d8b1"></a><!-- doxytag: member="pp::NetworkList::GetName" ref="acb253aedb772fc42bdfbb5d05331d8b1" args="(uint32_t index) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">std::string <a class="el" href="classpp_1_1_network_list.html#acb253aedb772fc42bdfbb5d05331d8b1">pp::NetworkList::GetName</a> </td>
+<td>(</td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>index</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the name for the network interface with the specified <code>index</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a9c4a05d5bc5d0d23aac52f59f1718e32"></a><!-- doxytag: member="pp::NetworkList::GetState" ref="a9c4a05d5bc5d0d23aac52f59f1718e32" args="(uint32_t index) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_NetworkList_State <a class="el" href="classpp_1_1_network_list.html#a9c4a05d5bc5d0d23aac52f59f1718e32">pp::NetworkList::GetState</a> </td>
+<td>(</td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>index</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the current state of the network interface with the specified <code>index</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a61d4a2421294e176d749115cbf5fb91b"></a><!-- doxytag: member="pp::NetworkList::GetType" ref="a61d4a2421294e176d749115cbf5fb91b" args="(uint32_t index) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_NetworkList_Type <a class="el" href="classpp_1_1_network_list.html#a61d4a2421294e176d749115cbf5fb91b">pp::NetworkList::GetType</a> </td>
+<td>(</td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>index</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the type of the network interface with the specified <code>index</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab059a90bb9e2aced3f0e709853d0e61f"></a><!-- doxytag: member="pp::NetworkList::IsAvailable" ref="ab059a90bb9e2aced3f0e709853d0e61f" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static bool <a class="el" href="classpp_1_1_network_list.html#ab059a90bb9e2aced3f0e709853d0e61f">pp::NetworkList::IsAvailable</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns true if the required interface is available. </p>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="network__list_8h.html">network_list.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_network_list__inherit__graph.png b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_network_list__inherit__graph.png
new file mode 100644
index 0000000..8f698b7
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_network_list__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_network_monitor-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_network_monitor-members.html
new file mode 100644
index 0000000..8606ba7
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_network_monitor-members.html
@@ -0,0 +1,27 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_network_monitor.html">pp::NetworkMonitor</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_network_monitor.html#a951ffd9408df8ad2d0372d7d20a82c18">IsAvailable</a>()</td><td><a class="el" href="classpp_1_1_network_monitor.html">pp::NetworkMonitor</a></td><td><code> [static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_network_monitor.html#adb2a70430cea008097334e7986cd2cad">NetworkMonitor</a>(const InstanceHandle &instance)</td><td><a class="el" href="classpp_1_1_network_monitor.html">pp::NetworkMonitor</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_network_monitor.html#a1eb2853161f04d36ec6f7260518b7408">UpdateNetworkList</a>(const CompletionCallbackWithOutput< NetworkList > &callback)</td><td><a class="el" href="classpp_1_1_network_monitor.html">pp::NetworkMonitor</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_network_monitor.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_network_monitor.html
new file mode 100644
index 0000000..64421f46
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_network_monitor.html
@@ -0,0 +1,81 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::NetworkMonitor Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::NetworkMonitor" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::NetworkMonitor:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_network_monitor__inherit__graph.png" border="0" usemap="#pp_1_1_network_monitor_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_network_monitor_inherit__map" id="pp_1_1_network_monitor_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="27,5,131,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_network_monitor-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_monitor.html#adb2a70430cea008097334e7986cd2cad">NetworkMonitor</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_monitor.html#a1eb2853161f04d36ec6f7260518b7408">UpdateNetworkList</a> (const <a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a>< <a class="el" href="classpp_1_1_network_list.html">NetworkList</a> > &callback)</td></tr>
+</table><h2>
+Static Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_monitor.html#a951ffd9408df8ad2d0372d7d20a82c18">IsAvailable</a> ()</td></tr>
+</table>
+<hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="adb2a70430cea008097334e7986cd2cad"></a><!-- doxytag: member="pp::NetworkMonitor::NetworkMonitor" ref="adb2a70430cea008097334e7986cd2cad" args="(const InstanceHandle &instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_network_monitor.html#adb2a70430cea008097334e7986cd2cad">pp::NetworkMonitor::NetworkMonitor</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a951ffd9408df8ad2d0372d7d20a82c18"></a><!-- doxytag: member="pp::NetworkMonitor::IsAvailable" ref="a951ffd9408df8ad2d0372d7d20a82c18" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static bool <a class="el" href="classpp_1_1_network_monitor.html#a951ffd9408df8ad2d0372d7d20a82c18">pp::NetworkMonitor::IsAvailable</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a1eb2853161f04d36ec6f7260518b7408"></a><!-- doxytag: member="pp::NetworkMonitor::UpdateNetworkList" ref="a1eb2853161f04d36ec6f7260518b7408" args="(const CompletionCallbackWithOutput< NetworkList > &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_network_monitor.html#a1eb2853161f04d36ec6f7260518b7408">pp::NetworkMonitor::UpdateNetworkList</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a>< <a class="el" href="classpp_1_1_network_list.html">NetworkList</a> > & </td>
+<td class="paramname"><em>callback</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="network__monitor_8h.html">network_monitor.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_network_monitor__inherit__graph.png b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_network_monitor__inherit__graph.png
new file mode 100644
index 0000000..dc7826c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_network_monitor__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_network_proxy-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_network_proxy-members.html
new file mode 100644
index 0000000..3e0d713
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_network_proxy-members.html
@@ -0,0 +1,15 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_network_proxy.html">pp::NetworkProxy</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_network_proxy.html#a03ae12454a920710272c15431039b6fd">GetProxyForURL</a>(const InstanceHandle &instance, const Var &url, const pp::CompletionCallbackWithOutput< Var > &callback)</td><td><a class="el" href="classpp_1_1_network_proxy.html">pp::NetworkProxy</a></td><td><code> [static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_network_proxy.html#a864362732834af39e12f699ff5e1888d">IsAvailable</a>()</td><td><a class="el" href="classpp_1_1_network_proxy.html">pp::NetworkProxy</a></td><td><code> [static]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_network_proxy.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_network_proxy.html
new file mode 100644
index 0000000..35fd4a5
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_network_proxy.html
@@ -0,0 +1,86 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::NetworkProxy Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::NetworkProxy" -->
+<p><a href="classpp_1_1_network_proxy-members.html">List of all members.</a></p>
+<h2>
+Static Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_proxy.html#a864362732834af39e12f699ff5e1888d">IsAvailable</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_proxy.html#a03ae12454a920710272c15431039b6fd">GetProxyForURL</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, const <a class="el" href="classpp_1_1_var.html">Var</a> &url, const <a class="el" href="classpp_1_1_completion_callback_with_output.html">pp::CompletionCallbackWithOutput</a>< <a class="el" href="classpp_1_1_var.html">Var</a> > &callback)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This class provides a way to determine the appropriate proxy settings for for a given URL. </p>
+<p>Permissions: Apps permission <code>socket</code> with subrule <code>resolve-proxy</code> is required for using this API. For more details about network communication permissions, please see: <a href="http://developer.chrome.com/apps/app_network.html">http://developer.chrome.com/apps/app_network.html</a> </p>
+</div><hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a03ae12454a920710272c15431039b6fd"></a><!-- doxytag: member="pp::NetworkProxy::GetProxyForURL" ref="a03ae12454a920710272c15431039b6fd" args="(const InstanceHandle &instance, const Var &url, const pp::CompletionCallbackWithOutput< Var > &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static int32_t <a class="el" href="classpp_1_1_network_proxy.html#a03ae12454a920710272c15431039b6fd">pp::NetworkProxy::GetProxyForURL</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>url</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback_with_output.html">pp::CompletionCallbackWithOutput</a>< <a class="el" href="classpp_1_1_var.html">Var</a> > & </td>
+<td class="paramname"><em>callback</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Retrieves the proxy that will be used for the given URL. </p>
+<p>The result will be a string in PAC format. For more details about PAC format, please see <a href="http://en.wikipedia.org/wiki/Proxy_auto-config">http://en.wikipedia.org/wiki/Proxy_auto-config</a></p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>An <code><a class="el" href="classpp_1_1_instance_handle.html" title="An instance handle identifies an instance in a constructor for a resource.">InstanceHandle</a></code> identifying one instance of a module.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">url</td><td>A string <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing a URL.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a></code> to be called upon completion. It will be passed a string <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing the appropriate PAC string for <code>url</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a864362732834af39e12f699ff5e1888d"></a><!-- doxytag: member="pp::NetworkProxy::IsAvailable" ref="a864362732834af39e12f699ff5e1888d" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static bool <a class="el" href="classpp_1_1_network_proxy.html#a864362732834af39e12f699ff5e1888d">pp::NetworkProxy::IsAvailable</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Returns true if the browser supports this API, false otherwise. </p>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="network__proxy_8h.html">network_proxy.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_point-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_point-members.html
new file mode 100644
index 0000000..d151438
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_point-members.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_point.html">pp::Point</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_point.html#a2d5803331cba5ef9f6fea1dca3fb0773">operator PP_Point</a>() const </td><td><a class="el" href="classpp_1_1_point.html">pp::Point</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_point.html#a7f2e778a029a9c6303f9606c165bcd73">operator+</a>(const Point &other) const </td><td><a class="el" href="classpp_1_1_point.html">pp::Point</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_point.html#a560a8ea46bd77f995f201437e78c26a9">operator+=</a>(const Point &other)</td><td><a class="el" href="classpp_1_1_point.html">pp::Point</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_point.html#a098ba0a739056bec9da6706e7be28f2b">operator-</a>(const Point &other) const </td><td><a class="el" href="classpp_1_1_point.html">pp::Point</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_point.html#a94cb2c93b7ab92c441bb4fc49a4223a3">operator-=</a>(const Point &other)</td><td><a class="el" href="classpp_1_1_point.html">pp::Point</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_point.html#a0175483c538fdf65c7bd056f0dc25b90">Point</a>()</td><td><a class="el" href="classpp_1_1_point.html">pp::Point</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_point.html#a18c7d4691920879ed45bde20b79c8d76">Point</a>(int32_t in_x, int32_t in_y)</td><td><a class="el" href="classpp_1_1_point.html">pp::Point</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_point.html#a3d572a358d2f3ce860bc7d0406e1c1da">Point</a>(const PP_Point &point)</td><td><a class="el" href="classpp_1_1_point.html">pp::Point</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_point.html#a1e25e160421a213924a4956a1d8da8b8">pp_point</a>() const </td><td><a class="el" href="classpp_1_1_point.html">pp::Point</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_point.html#afff81b0164d11767c03a49e8e6ee3509">pp_point</a>()</td><td><a class="el" href="classpp_1_1_point.html">pp::Point</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_point.html#a1282f3331d3565beafd7e939d6ffcac7">set_x</a>(int32_t in_x)</td><td><a class="el" href="classpp_1_1_point.html">pp::Point</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_point.html#af3e1a26a8dd635d8c77c5f86d81deb3c">set_y</a>(int32_t in_y)</td><td><a class="el" href="classpp_1_1_point.html">pp::Point</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_point.html#a197414e35cbd23b762fb04cb39bb2296">swap</a>(Point &other)</td><td><a class="el" href="classpp_1_1_point.html">pp::Point</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_point.html#a802963acd6223e5520c4e93a0ae7c1ab">x</a>() const </td><td><a class="el" href="classpp_1_1_point.html">pp::Point</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_point.html#a870a9bfcf7a54c18f4e5f382f69fc60d">y</a>() const </td><td><a class="el" href="classpp_1_1_point.html">pp::Point</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_point.html#abd093db1c01b63642cf8a8b73620626e">~Point</a>()</td><td><a class="el" href="classpp_1_1_point.html">pp::Point</a></td><td><code> [inline]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_point.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_point.html
new file mode 100644
index 0000000..3c7e054
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_point.html
@@ -0,0 +1,384 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::Point Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::Point" -->
+<p><a href="classpp_1_1_point-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_point.html#a0175483c538fdf65c7bd056f0dc25b90">Point</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_point.html#a18c7d4691920879ed45bde20b79c8d76">Point</a> (int32_t in_x, int32_t in_y)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_point.html#a3d572a358d2f3ce860bc7d0406e1c1da">Point</a> (const PP_Point &point)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_point.html#abd093db1c01b63642cf8a8b73620626e">~Point</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_point.html#a2d5803331cba5ef9f6fea1dca3fb0773">operator PP_Point</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const PP_Point & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_point.html#a1e25e160421a213924a4956a1d8da8b8">pp_point</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_Point & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_point.html#afff81b0164d11767c03a49e8e6ee3509">pp_point</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_point.html#a802963acd6223e5520c4e93a0ae7c1ab">x</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_point.html#a1282f3331d3565beafd7e939d6ffcac7">set_x</a> (int32_t in_x)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_point.html#a870a9bfcf7a54c18f4e5f382f69fc60d">y</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_point.html#af3e1a26a8dd635d8c77c5f86d81deb3c">set_y</a> (int32_t in_y)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_point.html">Point</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_point.html#a7f2e778a029a9c6303f9606c165bcd73">operator+</a> (const <a class="el" href="classpp_1_1_point.html">Point</a> &other) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_point.html">Point</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_point.html#a098ba0a739056bec9da6706e7be28f2b">operator-</a> (const <a class="el" href="classpp_1_1_point.html">Point</a> &other) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_point.html">Point</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_point.html#a560a8ea46bd77f995f201437e78c26a9">operator+=</a> (const <a class="el" href="classpp_1_1_point.html">Point</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_point.html">Point</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_point.html#a94cb2c93b7ab92c441bb4fc49a4223a3">operator-=</a> (const <a class="el" href="classpp_1_1_point.html">Point</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_point.html#a197414e35cbd23b762fb04cb39bb2296">swap</a> (<a class="el" href="classpp_1_1_point.html">Point</a> &other)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>A 2 dimensional point with 0,0 being the upper-left starting coordinate. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a0175483c538fdf65c7bd056f0dc25b90"></a><!-- doxytag: member="pp::Point::Point" ref="a0175483c538fdf65c7bd056f0dc25b90" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_point.html#a0175483c538fdf65c7bd056f0dc25b90">pp::Point::Point</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The default constructor for a point at 0,0. </p>
+</div>
+</div>
+<a class="anchor" id="a18c7d4691920879ed45bde20b79c8d76"></a><!-- doxytag: member="pp::Point::Point" ref="a18c7d4691920879ed45bde20b79c8d76" args="(int32_t in_x, int32_t in_y)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_point.html#a0175483c538fdf65c7bd056f0dc25b90">pp::Point::Point</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>in_x</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>in_y</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor accepting two int32_t values for x and y and converting them to a <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">in_x</td><td>An int32_t value representing a horizontal coordinate of a point, starting with 0 as the left-most coordinate. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">in_y</td><td>An int32_t value representing a vertical coordinate of a point, starting with 0 as the top-most coordinate. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a3d572a358d2f3ce860bc7d0406e1c1da"></a><!-- doxytag: member="pp::Point::Point" ref="a3d572a358d2f3ce860bc7d0406e1c1da" args="(const PP_Point &point)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_point.html#a0175483c538fdf65c7bd056f0dc25b90">pp::Point::Point</a> </td>
+<td>(</td>
+<td class="paramtype">const PP_Point & </td>
+<td class="paramname"><em>point</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor accepting a pointer to a PP_Point and converting the PP_Point to a <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a>. </p>
+<p>This is an implicit conversion constructor.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">point</td><td>A pointer to a PP_Point. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="abd093db1c01b63642cf8a8b73620626e"></a><!-- doxytag: member="pp::Point::~Point" ref="abd093db1c01b63642cf8a8b73620626e" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_point.html#abd093db1c01b63642cf8a8b73620626e">pp::Point::~Point</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Destructor. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a2d5803331cba5ef9f6fea1dca3fb0773"></a><!-- doxytag: member="pp::Point::operator PP_Point" ref="a2d5803331cba5ef9f6fea1dca3fb0773" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">pp::Point::operator PP_Point </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A function allowing implicit conversion of a <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> to a PP_Point. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a7f2e778a029a9c6303f9606c165bcd73"></a><!-- doxytag: member="pp::Point::operator+" ref="a7f2e778a029a9c6303f9606c165bcd73" args="(const Point &other) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_point.html">Point</a> pp::Point::operator+ </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">Point</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Adds two Points (this and other) together by adding their x values and y values. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A new <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> containing the result. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a560a8ea46bd77f995f201437e78c26a9"></a><!-- doxytag: member="pp::Point::operator+=" ref="a560a8ea46bd77f995f201437e78c26a9" args="(const Point &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_point.html">Point</a>& pp::Point::operator+= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">Point</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Adds two Points (this and other) together by adding their x and y values. </p>
+<p>Returns this point as the result.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>This <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> containing the result. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a098ba0a739056bec9da6706e7be28f2b"></a><!-- doxytag: member="pp::Point::operator-" ref="a098ba0a739056bec9da6706e7be28f2b" args="(const Point &other) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_point.html">Point</a> pp::Point::operator- </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">Point</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Subtracts one <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> from another <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> by subtracting their x values and y values. </p>
+<p>Returns a new point with the result.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A new <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> containing the result. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a94cb2c93b7ab92c441bb4fc49a4223a3"></a><!-- doxytag: member="pp::Point::operator-=" ref="a94cb2c93b7ab92c441bb4fc49a4223a3" args="(const Point &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_point.html">Point</a>& pp::Point::operator-= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">Point</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Subtracts one <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> from another <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> by subtracting their x values and y values. </p>
+<p>Returns this point as the result.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>This <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> containing the result. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a1e25e160421a213924a4956a1d8da8b8"></a><!-- doxytag: member="pp::Point::pp_point" ref="a1e25e160421a213924a4956a1d8da8b8" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">const PP_Point& <a class="el" href="classpp_1_1_point.html#a1e25e160421a213924a4956a1d8da8b8">pp::Point::pp_point</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the internal PP_Point struct. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A const reference to the internal PP_Point struct. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="afff81b0164d11767c03a49e8e6ee3509"></a><!-- doxytag: member="pp::Point::pp_point" ref="afff81b0164d11767c03a49e8e6ee3509" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_Point& <a class="el" href="classpp_1_1_point.html#a1e25e160421a213924a4956a1d8da8b8">pp::Point::pp_point</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the internal PP_Point struct. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A mutable reference to the PP_Point struct. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a1282f3331d3565beafd7e939d6ffcac7"></a><!-- doxytag: member="pp::Point::set_x" ref="a1282f3331d3565beafd7e939d6ffcac7" args="(int32_t in_x)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_point.html#a1282f3331d3565beafd7e939d6ffcac7">pp::Point::set_x</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>in_x</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Setter function for setting the value of x. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">in_x</td><td>A new x value. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="af3e1a26a8dd635d8c77c5f86d81deb3c"></a><!-- doxytag: member="pp::Point::set_y" ref="af3e1a26a8dd635d8c77c5f86d81deb3c" args="(int32_t in_y)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_point.html#af3e1a26a8dd635d8c77c5f86d81deb3c">pp::Point::set_y</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>in_y</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Setter function for setting the value of y. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">in_y</td><td>A new y value. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a197414e35cbd23b762fb04cb39bb2296"></a><!-- doxytag: member="pp::Point::swap" ref="a197414e35cbd23b762fb04cb39bb2296" args="(Point &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_point.html#a197414e35cbd23b762fb04cb39bb2296">pp::Point::swap</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="classpp_1_1_point.html">Point</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Swaps the coordinates of two Points. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a802963acd6223e5520c4e93a0ae7c1ab"></a><!-- doxytag: member="pp::Point::x" ref="a802963acd6223e5520c4e93a0ae7c1ab" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_point.html#a802963acd6223e5520c4e93a0ae7c1ab">pp::Point::x</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the value of x. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The value of x for this <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a870a9bfcf7a54c18f4e5f382f69fc60d"></a><!-- doxytag: member="pp::Point::y" ref="a870a9bfcf7a54c18f4e5f382f69fc60d" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_point.html#a870a9bfcf7a54c18f4e5f382f69fc60d">pp::Point::y</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the value of y. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The value of y for this <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="point_8h.html">point.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_rect-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_rect-members.html
new file mode 100644
index 0000000..07b5f9e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_rect-members.html
@@ -0,0 +1,54 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_rect.html">pp::Rect</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#aa6d25f1179956e0ee13467e10d169bbc">AdjustToFit</a>(const Rect &rect) const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a2554e9d4a85d5741dd3cc4e121a15643">bottom</a>() const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a86ceef39ee91844a877554a2e72bf49f">CenterPoint</a>() const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#aae5394eb09b76d2ef7c9251b1e738a3f">Contains</a>(int32_t point_x, int32_t point_y) const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a9386508708c88be8820bd19eedbd1862">Contains</a>(const Point &point) const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a419d8b63aafcb6626538969abcc7573a">Contains</a>(const Rect &rect) const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#ab7e196b0fba7f34246bf8106f562ff34">height</a>() const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a83e4d334a41b6d612f1f18ea958767f7">Inset</a>(int32_t horizontal, int32_t vertical)</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a17d964545980ac3ae785ef4484c5315a">Inset</a>(int32_t left, int32_t top, int32_t right, int32_t bottom)</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#af903bf60faa68544372f5a58b00144aa">Intersect</a>(const Rect &rect) const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a32a682a28a1de0b7fa5793a3660514b0">Intersects</a>(const Rect &rect) const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a8092af1866d23f91f517058b4f612eb5">IsEmpty</a>() const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a3c39cdfe70b05c4cb172848daf4cd093">Offset</a>(int32_t horizontal, int32_t vertical)</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a8fdc680fc8d23ca24f5a10ec93db3414">Offset</a>(const Point &point)</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a02e46c92ffedee393caff7ae0f7aca2f">operator PP_Rect</a>() const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#ad4d6b9c43472620d8363cbe091f8c5b3">point</a>() const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#adf531599805a31e63098782c3108c0e0">pp_rect</a>() const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#af278a4ae7b2a1af26a7cc8d4f0b629e6">pp_rect</a>()</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a839431b4022e2ebdba8472444035401a">Rect</a>()</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a1625c1989e873e231cac08fe0877df4a">Rect</a>(const PP_Rect &rect)</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a46617cae1905a1793ecc9ea0d2dd64e6">Rect</a>(int32_t w, int32_t h)</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a0d444f7609de3ba609a80c232aa7c857">Rect</a>(int32_t x, int32_t y, int32_t w, int32_t h)</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#ac2a745a2ef59463bf9f17814035f27dd">Rect</a>(const Size &s)</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline, explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a8c4b37a52ccf96670b6ca1f732af07fe">Rect</a>(const Point &origin, const Size &size)</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a83ecc36b001f2c24d99e3088d1cc45a2">right</a>() const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a7f816974533715510bfbe1a77bf09e98">set_height</a>(int32_t h)</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#aa099aad16ade23466364968d1cfbb68e">set_point</a>(const Point &origin)</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a484a54bc72ce43eae283dd04d5258a42">set_size</a>(const Size &s)</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#ad8b7a557c0a3b7b09a71cc7da3b8cac3">set_width</a>(int32_t w)</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#ac5e698050a5de8bcb57847ac876279cc">set_x</a>(int32_t in_x)</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a99d75f24b47d11e05aadde0bcf11b128">set_y</a>(int32_t in_y)</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#aff9442d9ee78ad390129625379b2103f">SetRect</a>(int32_t x, int32_t y, int32_t w, int32_t h)</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#ad19e517179cc55db2a16d317d2e8904a">SetRect</a>(const PP_Rect &rect)</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a2471b9960ecbbb006330cd1bb6d51701">SharesEdgeWith</a>(const Rect &rect) const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#ae545e94421d1384fb292b270222b812e">size</a>() const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#acb5c5d3c44facb488723c609f95b3d72">Subtract</a>(const Rect &rect) const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#ab7f3bfc56fddca606125f806f8752880">Union</a>(const Rect &rect) const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#a102299d70d5cd970298c6de5b8ec260d">width</a>() const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#acf8feb9af84a42d30917e2c590eafb33">x</a>() const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#af84b03d10a656af3bbdabae6e0f37972">y</a>() const </td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_rect.html#af8bb88a4f39237b78ff8ebf5f3a429e2">~Rect</a>()</td><td><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td><td><code> [inline]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_rect.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_rect.html
new file mode 100644
index 0000000..60b6a75
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_rect.html
@@ -0,0 +1,1066 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::Rect Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::Rect" -->
+<p><a href="classpp_1_1_rect-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a839431b4022e2ebdba8472444035401a">Rect</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a1625c1989e873e231cac08fe0877df4a">Rect</a> (const PP_Rect &rect)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a46617cae1905a1793ecc9ea0d2dd64e6">Rect</a> (int32_t w, int32_t h)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a0d444f7609de3ba609a80c232aa7c857">Rect</a> (int32_t <a class="el" href="classpp_1_1_rect.html#acf8feb9af84a42d30917e2c590eafb33">x</a>, int32_t <a class="el" href="classpp_1_1_rect.html#af84b03d10a656af3bbdabae6e0f37972">y</a>, int32_t w, int32_t h)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#ac2a745a2ef59463bf9f17814035f27dd">Rect</a> (const <a class="el" href="classpp_1_1_size.html">Size</a> &s)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a8c4b37a52ccf96670b6ca1f732af07fe">Rect</a> (const <a class="el" href="classpp_1_1_point.html">Point</a> &origin, const <a class="el" href="classpp_1_1_size.html">Size</a> &<a class="el" href="classpp_1_1_rect.html#ae545e94421d1384fb292b270222b812e">size</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#af8bb88a4f39237b78ff8ebf5f3a429e2">~Rect</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a02e46c92ffedee393caff7ae0f7aca2f">operator PP_Rect</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const PP_Rect & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#adf531599805a31e63098782c3108c0e0">pp_rect</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_Rect & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#af278a4ae7b2a1af26a7cc8d4f0b629e6">pp_rect</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#acf8feb9af84a42d30917e2c590eafb33">x</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#ac5e698050a5de8bcb57847ac876279cc">set_x</a> (int32_t in_x)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#af84b03d10a656af3bbdabae6e0f37972">y</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a99d75f24b47d11e05aadde0bcf11b128">set_y</a> (int32_t in_y)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a102299d70d5cd970298c6de5b8ec260d">width</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#ad8b7a557c0a3b7b09a71cc7da3b8cac3">set_width</a> (int32_t w)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#ab7e196b0fba7f34246bf8106f562ff34">height</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a7f816974533715510bfbe1a77bf09e98">set_height</a> (int32_t h)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_point.html">Point</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#ad4d6b9c43472620d8363cbe091f8c5b3">point</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#aa099aad16ade23466364968d1cfbb68e">set_point</a> (const <a class="el" href="classpp_1_1_point.html">Point</a> &origin)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_size.html">Size</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#ae545e94421d1384fb292b270222b812e">size</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a484a54bc72ce43eae283dd04d5258a42">set_size</a> (const <a class="el" href="classpp_1_1_size.html">Size</a> &s)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a83ecc36b001f2c24d99e3088d1cc45a2">right</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a2554e9d4a85d5741dd3cc4e121a15643">bottom</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#aff9442d9ee78ad390129625379b2103f">SetRect</a> (int32_t <a class="el" href="classpp_1_1_rect.html#acf8feb9af84a42d30917e2c590eafb33">x</a>, int32_t <a class="el" href="classpp_1_1_rect.html#af84b03d10a656af3bbdabae6e0f37972">y</a>, int32_t w, int32_t h)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#ad19e517179cc55db2a16d317d2e8904a">SetRect</a> (const PP_Rect &rect)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a83e4d334a41b6d612f1f18ea958767f7">Inset</a> (int32_t horizontal, int32_t vertical)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a17d964545980ac3ae785ef4484c5315a">Inset</a> (int32_t left, int32_t top, int32_t <a class="el" href="classpp_1_1_rect.html#a83ecc36b001f2c24d99e3088d1cc45a2">right</a>, int32_t <a class="el" href="classpp_1_1_rect.html#a2554e9d4a85d5741dd3cc4e121a15643">bottom</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a3c39cdfe70b05c4cb172848daf4cd093">Offset</a> (int32_t horizontal, int32_t vertical)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a8fdc680fc8d23ca24f5a10ec93db3414">Offset</a> (const <a class="el" href="classpp_1_1_point.html">Point</a> &<a class="el" href="classpp_1_1_rect.html#ad4d6b9c43472620d8363cbe091f8c5b3">point</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a8092af1866d23f91f517058b4f612eb5">IsEmpty</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#aae5394eb09b76d2ef7c9251b1e738a3f">Contains</a> (int32_t point_x, int32_t point_y) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a9386508708c88be8820bd19eedbd1862">Contains</a> (const <a class="el" href="classpp_1_1_point.html">Point</a> &<a class="el" href="classpp_1_1_rect.html#ad4d6b9c43472620d8363cbe091f8c5b3">point</a>) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a419d8b63aafcb6626538969abcc7573a">Contains</a> (const <a class="el" href="classpp_1_1_rect.html">Rect</a> &rect) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a32a682a28a1de0b7fa5793a3660514b0">Intersects</a> (const <a class="el" href="classpp_1_1_rect.html">Rect</a> &rect) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_rect.html">Rect</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#af903bf60faa68544372f5a58b00144aa">Intersect</a> (const <a class="el" href="classpp_1_1_rect.html">Rect</a> &rect) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_rect.html">Rect</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#ab7f3bfc56fddca606125f806f8752880">Union</a> (const <a class="el" href="classpp_1_1_rect.html">Rect</a> &rect) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_rect.html">Rect</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#acb5c5d3c44facb488723c609f95b3d72">Subtract</a> (const <a class="el" href="classpp_1_1_rect.html">Rect</a> &rect) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_rect.html">Rect</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#aa6d25f1179956e0ee13467e10d169bbc">AdjustToFit</a> (const <a class="el" href="classpp_1_1_rect.html">Rect</a> &rect) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_point.html">Point</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a86ceef39ee91844a877554a2e72bf49f">CenterPoint</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a2471b9960ecbbb006330cd1bb6d51701">SharesEdgeWith</a> (const <a class="el" href="classpp_1_1_rect.html">Rect</a> &rect) const </td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>A 2 dimensional rectangle. </p>
+<p>A rectangle is represented by x and y (which identifies the upper-left corner of the rectangle), width, and height. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a839431b4022e2ebdba8472444035401a"></a><!-- doxytag: member="pp::Rect::Rect" ref="a839431b4022e2ebdba8472444035401a" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_rect.html#a839431b4022e2ebdba8472444035401a">pp::Rect::Rect</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The default constructor. </p>
+<p>Creates a <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code> in the upper-left at 0,0 with height and width of 0. </p>
+</div>
+</div>
+<a class="anchor" id="a1625c1989e873e231cac08fe0877df4a"></a><!-- doxytag: member="pp::Rect::Rect" ref="a1625c1989e873e231cac08fe0877df4a" args="(const PP_Rect &rect)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_rect.html#a839431b4022e2ebdba8472444035401a">pp::Rect::Rect</a> </td>
+<td>(</td>
+<td class="paramtype">const PP_Rect & </td>
+<td class="paramname"><em>rect</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor accepting a reference to a <code>PP_Rect and</code> converting the <code>PP_Rect</code> to a <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code>. </p>
+<p>This is an implicit conversion constructor.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">rect</td><td>A <code>PP_Rect</code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a46617cae1905a1793ecc9ea0d2dd64e6"></a><!-- doxytag: member="pp::Rect::Rect" ref="a46617cae1905a1793ecc9ea0d2dd64e6" args="(int32_t w, int32_t h)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_rect.html#a839431b4022e2ebdba8472444035401a">pp::Rect::Rect</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>w</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>h</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor accepting two int32_t values for width and height and converting them to a <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code> in the upper-left starting coordinate of 0,0. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">w</td><td>An int32_t value representing a width. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>An int32_t value representing a height. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a0d444f7609de3ba609a80c232aa7c857"></a><!-- doxytag: member="pp::Rect::Rect" ref="a0d444f7609de3ba609a80c232aa7c857" args="(int32_t x, int32_t y, int32_t w, int32_t h)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_rect.html#a839431b4022e2ebdba8472444035401a">pp::Rect::Rect</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>x</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>y</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>w</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>h</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor accepting four int32_t values for width, height, x, and y. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>An int32_t value representing a horizontal coordinate of a point, starting with 0 as the left-most coordinate. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>An int32_t value representing a vertical coordinate of a point, starting with 0 as the top-most coordinate. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">w</td><td>An int32_t value representing a width. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>An int32_t value representing a height. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ac2a745a2ef59463bf9f17814035f27dd"></a><!-- doxytag: member="pp::Rect::Rect" ref="ac2a745a2ef59463bf9f17814035f27dd" args="(const Size &s)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_rect.html#a839431b4022e2ebdba8472444035401a">pp::Rect::Rect</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_size.html">Size</a> & </td>
+<td class="paramname"><em>s</em></td><td>)</td>
+<td><code> [inline, explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor accepting a pointer to a <a class="el" href="classpp_1_1_size.html" title="A size of an object based on width and height.">Size</a> and converting the <code><a class="el" href="classpp_1_1_size.html" title="A size of an object based on width and height.">Size</a></code> to a <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code> in the upper-left starting coordinate of 0,0. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>A pointer to a <code><a class="el" href="classpp_1_1_size.html" title="A size of an object based on width and height.">Size</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a8c4b37a52ccf96670b6ca1f732af07fe"></a><!-- doxytag: member="pp::Rect::Rect" ref="a8c4b37a52ccf96670b6ca1f732af07fe" args="(const Point &origin, const Size &size)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_rect.html#a839431b4022e2ebdba8472444035401a">pp::Rect::Rect</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">Point</a> & </td>
+<td class="paramname"><em>origin</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_size.html">Size</a> & </td>
+<td class="paramname"><em>size</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor accepting a pointer to a <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code> representing the origin of the rectangle and a pointer to a <code><a class="el" href="classpp_1_1_size.html" title="A size of an object based on width and height.">Size</a></code> representing the height and width. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">origin</td><td>A pointer to a <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code> representing the upper-left starting coordinate. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>A pointer to a <code><a class="el" href="classpp_1_1_size.html" title="A size of an object based on width and height.">Size</a></code> representing the height and width. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="af8bb88a4f39237b78ff8ebf5f3a429e2"></a><!-- doxytag: member="pp::Rect::~Rect" ref="af8bb88a4f39237b78ff8ebf5f3a429e2" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_rect.html#af8bb88a4f39237b78ff8ebf5f3a429e2">pp::Rect::~Rect</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Destructor. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="aa6d25f1179956e0ee13467e10d169bbc"></a><!-- doxytag: member="pp::Rect::AdjustToFit" ref="aa6d25f1179956e0ee13467e10d169bbc" args="(const Rect &rect) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_rect.html">Rect</a> <a class="el" href="classpp_1_1_rect.html#aa6d25f1179956e0ee13467e10d169bbc">pp::Rect::AdjustToFit</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">Rect</a> & </td>
+<td class="paramname"><em>rect</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_rect.html#aa6d25f1179956e0ee13467e10d169bbc" title="AdjustToFit() fits as much of the receiving rectangle within the supplied rectangle as possible...">AdjustToFit()</a> fits as much of the receiving rectangle within the supplied rectangle as possible, returning the result. </p>
+<p>For example, if the receiver had a x-location of 2 and a width of 4, and the supplied rectangle had an x-location of 0 with a width of 5, the returned rectangle would have an x-location of 1 with a width of 4.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">rect</td><td>A pointer to a <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code> representing the difference between this rectangle and the receiving rectangle. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2554e9d4a85d5741dd3cc4e121a15643"></a><!-- doxytag: member="pp::Rect::bottom" ref="a2554e9d4a85d5741dd3cc4e121a15643" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_rect.html#a2554e9d4a85d5741dd3cc4e121a15643">pp::Rect::bottom</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function to get the upper-bound for the y-coordinates of the rectangle. </p>
+<p>Note that this coordinate value is one past the highest xy value of pixels in the rectangle. This loop will access all the pixels in a horizontal line in the rectangle: <code>for (int32_t y = rect.y(); y < rect.bottom(); ++y) {}</code></p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The value of y + height for this point. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a86ceef39ee91844a877554a2e72bf49f"></a><!-- doxytag: member="pp::Rect::CenterPoint" ref="a86ceef39ee91844a877554a2e72bf49f" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_point.html">Point</a> <a class="el" href="classpp_1_1_rect.html#a86ceef39ee91844a877554a2e72bf49f">pp::Rect::CenterPoint</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_rect.html#a86ceef39ee91844a877554a2e72bf49f" title="CenterPoint() determines the center of this rectangle.">CenterPoint()</a> determines the center of this rectangle. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code> representing the center of this rectangle. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aae5394eb09b76d2ef7c9251b1e738a3f"></a><!-- doxytag: member="pp::Rect::Contains" ref="aae5394eb09b76d2ef7c9251b1e738a3f" args="(int32_t point_x, int32_t point_y) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_rect.html#aae5394eb09b76d2ef7c9251b1e738a3f">pp::Rect::Contains</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>point_x</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>point_y</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_rect.html#aae5394eb09b76d2ef7c9251b1e738a3f" title="Contains() determines if the point identified by point_x and point_y falls inside this rectangle...">Contains()</a> determines if the point identified by point_x and point_y falls inside this rectangle. </p>
+<p>The point (x, y) is inside the rectangle, but the point (x + width, y + height) is not.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">point_x</td><td>An int32_t value representing a x value. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">point_y</td><td>An int32_t value representing a y value.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the point_x and point_y fall inside the rectangle. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a9386508708c88be8820bd19eedbd1862"></a><!-- doxytag: member="pp::Rect::Contains" ref="a9386508708c88be8820bd19eedbd1862" args="(const Point &point) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_rect.html#aae5394eb09b76d2ef7c9251b1e738a3f">pp::Rect::Contains</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">Point</a> & </td>
+<td class="paramname"><em>point</em></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_rect.html#aae5394eb09b76d2ef7c9251b1e738a3f" title="Contains() determines if the point identified by point_x and point_y falls inside this rectangle...">Contains()</a> determines if the specified point is contained by this rectangle. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">point</td><td>A pointer to a <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> representing a 2D coordinate.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the point_x and point_y fall inside the rectangle. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a419d8b63aafcb6626538969abcc7573a"></a><!-- doxytag: member="pp::Rect::Contains" ref="a419d8b63aafcb6626538969abcc7573a" args="(const Rect &rect) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_rect.html#aae5394eb09b76d2ef7c9251b1e738a3f">pp::Rect::Contains</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">Rect</a> & </td>
+<td class="paramname"><em>rect</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_rect.html#aae5394eb09b76d2ef7c9251b1e738a3f" title="Contains() determines if the point identified by point_x and point_y falls inside this rectangle...">Contains()</a> determines if this rectangle contains the specified rectangle. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">rect</td><td>A pointer to a <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the rectangle fall inside this rectangle. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab7e196b0fba7f34246bf8106f562ff34"></a><!-- doxytag: member="pp::Rect::height" ref="ab7e196b0fba7f34246bf8106f562ff34" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_rect.html#ab7e196b0fba7f34246bf8106f562ff34">pp::Rect::height</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the value of height. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The value of height for this <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a83e4d334a41b6d612f1f18ea958767f7"></a><!-- doxytag: member="pp::Rect::Inset" ref="a83e4d334a41b6d612f1f18ea958767f7" args="(int32_t horizontal, int32_t vertical)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_rect.html#a83e4d334a41b6d612f1f18ea958767f7">pp::Rect::Inset</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>horizontal</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>vertical</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_rect.html#a83e4d334a41b6d612f1f18ea958767f7" title="Inset() shrinks the rectangle by a horizontal and vertical distance on all sides.">Inset()</a> shrinks the rectangle by a horizontal and vertical distance on all sides. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">horizontal</td><td>An int32_t value representing a horizontal shrinking distance. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">vertical</td><td>An int32_t value representing a vertical shrinking distance. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a17d964545980ac3ae785ef4484c5315a"></a><!-- doxytag: member="pp::Rect::Inset" ref="a17d964545980ac3ae785ef4484c5315a" args="(int32_t left, int32_t top, int32_t right, int32_t bottom)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_rect.html#a83e4d334a41b6d612f1f18ea958767f7">pp::Rect::Inset</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>left</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>top</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>right</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>bottom</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_rect.html#a83e4d334a41b6d612f1f18ea958767f7" title="Inset() shrinks the rectangle by a horizontal and vertical distance on all sides.">Inset()</a> shrinks the rectangle by the specified amount on each side. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">left</td><td>An int32_t value representing a left shrinking distance. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">top</td><td>An int32_t value representing a top shrinking distance. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">right</td><td>An int32_t value representing a right shrinking distance. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">bottom</td><td>An int32_t value representing a bottom shrinking distance. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="af903bf60faa68544372f5a58b00144aa"></a><!-- doxytag: member="pp::Rect::Intersect" ref="af903bf60faa68544372f5a58b00144aa" args="(const Rect &rect) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_rect.html">Rect</a> <a class="el" href="classpp_1_1_rect.html#af903bf60faa68544372f5a58b00144aa">pp::Rect::Intersect</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">Rect</a> & </td>
+<td class="paramname"><em>rect</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_rect.html#af903bf60faa68544372f5a58b00144aa" title="Intersect() computes the intersection of this rectangle with the given rectangle.">Intersect()</a> computes the intersection of this rectangle with the given rectangle. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">rect</td><td>A pointer to a <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code> representing the intersection. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a32a682a28a1de0b7fa5793a3660514b0"></a><!-- doxytag: member="pp::Rect::Intersects" ref="a32a682a28a1de0b7fa5793a3660514b0" args="(const Rect &rect) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_rect.html#a32a682a28a1de0b7fa5793a3660514b0">pp::Rect::Intersects</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">Rect</a> & </td>
+<td class="paramname"><em>rect</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_rect.html#a32a682a28a1de0b7fa5793a3660514b0" title="Intersects() determines if this rectangle intersects the specified rectangle.">Intersects()</a> determines if this rectangle intersects the specified rectangle. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">rect</td><td>A pointer to a <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the rectangle intersects this rectangle. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a8092af1866d23f91f517058b4f612eb5"></a><!-- doxytag: member="pp::Rect::IsEmpty" ref="a8092af1866d23f91f517058b4f612eb5" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_rect.html#a8092af1866d23f91f517058b4f612eb5">pp::Rect::IsEmpty</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_rect.html#a8092af1866d23f91f517058b4f612eb5" title="IsEmpty() determines if the area of a rectangle is zero.">IsEmpty()</a> determines if the area of a rectangle is zero. </p>
+<p>Returns true if the area of the rectangle is zero.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the area of the rectangle is zero. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a3c39cdfe70b05c4cb172848daf4cd093"></a><!-- doxytag: member="pp::Rect::Offset" ref="a3c39cdfe70b05c4cb172848daf4cd093" args="(int32_t horizontal, int32_t vertical)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_rect.html#a3c39cdfe70b05c4cb172848daf4cd093">pp::Rect::Offset</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>horizontal</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>vertical</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_rect.html#a3c39cdfe70b05c4cb172848daf4cd093" title="Offset() moves the rectangle by a horizontal and vertical distance.">Offset()</a> moves the rectangle by a horizontal and vertical distance. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">horizontal</td><td>An int32_t value representing a horizontal move distance. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">vertical</td><td>An int32_t value representing a vertical move distance. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a8fdc680fc8d23ca24f5a10ec93db3414"></a><!-- doxytag: member="pp::Rect::Offset" ref="a8fdc680fc8d23ca24f5a10ec93db3414" args="(const Point &point)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_rect.html#a3c39cdfe70b05c4cb172848daf4cd093">pp::Rect::Offset</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">Point</a> & </td>
+<td class="paramname"><em>point</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_rect.html#a3c39cdfe70b05c4cb172848daf4cd093" title="Offset() moves the rectangle by a horizontal and vertical distance.">Offset()</a> moves the rectangle by a horizontal and vertical distance. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">point</td><td>A pointer to a <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code> representing the horizontal and vertical move distances. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a02e46c92ffedee393caff7ae0f7aca2f"></a><!-- doxytag: member="pp::Rect::operator PP_Rect" ref="a02e46c92ffedee393caff7ae0f7aca2f" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">pp::Rect::operator PP_Rect </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>PP_Rect() allows implicit conversion of a <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code> to a <code>PP_Rect</code>. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ad4d6b9c43472620d8363cbe091f8c5b3"></a><!-- doxytag: member="pp::Rect::point" ref="ad4d6b9c43472620d8363cbe091f8c5b3" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_point.html">Point</a> <a class="el" href="classpp_1_1_rect.html#ad4d6b9c43472620d8363cbe091f8c5b3">pp::Rect::point</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code>. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="adf531599805a31e63098782c3108c0e0"></a><!-- doxytag: member="pp::Rect::pp_rect" ref="adf531599805a31e63098782c3108c0e0" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">const PP_Rect& <a class="el" href="classpp_1_1_rect.html#adf531599805a31e63098782c3108c0e0">pp::Rect::pp_rect</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the internal <code>PP_Rect</code> struct. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A const reference to the internal <code>PP_Rect</code> struct. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="af278a4ae7b2a1af26a7cc8d4f0b629e6"></a><!-- doxytag: member="pp::Rect::pp_rect" ref="af278a4ae7b2a1af26a7cc8d4f0b629e6" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_Rect& <a class="el" href="classpp_1_1_rect.html#adf531599805a31e63098782c3108c0e0">pp::Rect::pp_rect</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the internal <code>PP_Rect</code> struct. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A mutable reference to the <code>PP_Rect</code> struct. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a83ecc36b001f2c24d99e3088d1cc45a2"></a><!-- doxytag: member="pp::Rect::right" ref="a83ecc36b001f2c24d99e3088d1cc45a2" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_rect.html#a83ecc36b001f2c24d99e3088d1cc45a2">pp::Rect::right</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function to get the upper-bound for the x-coordinates of the rectangle. </p>
+<p>Note that this coordinate value is one past the highest x value of pixels in the rectangle. This loop will access all the pixels in a horizontal line in the rectangle: <code>for (int32_t x = rect.x(); x < rect.right(); ++x) {}</code></p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The value of x + width for this point. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a7f816974533715510bfbe1a77bf09e98"></a><!-- doxytag: member="pp::Rect::set_height" ref="a7f816974533715510bfbe1a77bf09e98" args="(int32_t h)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_rect.html#a7f816974533715510bfbe1a77bf09e98">pp::Rect::set_height</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>h</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Setter function for setting the value of height. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>A new width height. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="aa099aad16ade23466364968d1cfbb68e"></a><!-- doxytag: member="pp::Rect::set_point" ref="aa099aad16ade23466364968d1cfbb68e" args="(const Point &origin)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_rect.html#aa099aad16ade23466364968d1cfbb68e">pp::Rect::set_point</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">Point</a> & </td>
+<td class="paramname"><em>origin</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Setter function for setting the value of the <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">origin</td><td>A <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code> representing the upper-left starting coordinate. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a484a54bc72ce43eae283dd04d5258a42"></a><!-- doxytag: member="pp::Rect::set_size" ref="a484a54bc72ce43eae283dd04d5258a42" args="(const Size &s)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_rect.html#a484a54bc72ce43eae283dd04d5258a42">pp::Rect::set_size</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_size.html">Size</a> & </td>
+<td class="paramname"><em>s</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Setter function for setting the <code><a class="el" href="classpp_1_1_size.html" title="A size of an object based on width and height.">Size</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>A pointer to a <code><a class="el" href="classpp_1_1_size.html" title="A size of an object based on width and height.">Size</a></code> representing the height and width. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ad8b7a557c0a3b7b09a71cc7da3b8cac3"></a><!-- doxytag: member="pp::Rect::set_width" ref="ad8b7a557c0a3b7b09a71cc7da3b8cac3" args="(int32_t w)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_rect.html#ad8b7a557c0a3b7b09a71cc7da3b8cac3">pp::Rect::set_width</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>w</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Setter function for setting the value of width. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">w</td><td>A new width value. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ac5e698050a5de8bcb57847ac876279cc"></a><!-- doxytag: member="pp::Rect::set_x" ref="ac5e698050a5de8bcb57847ac876279cc" args="(int32_t in_x)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_rect.html#ac5e698050a5de8bcb57847ac876279cc">pp::Rect::set_x</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>in_x</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Setter function for setting the value of x. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">in_x</td><td>A new x value. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a99d75f24b47d11e05aadde0bcf11b128"></a><!-- doxytag: member="pp::Rect::set_y" ref="a99d75f24b47d11e05aadde0bcf11b128" args="(int32_t in_y)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_rect.html#a99d75f24b47d11e05aadde0bcf11b128">pp::Rect::set_y</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>in_y</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Setter function for setting the value of y. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">in_y</td><td>A new y value. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="aff9442d9ee78ad390129625379b2103f"></a><!-- doxytag: member="pp::Rect::SetRect" ref="aff9442d9ee78ad390129625379b2103f" args="(int32_t x, int32_t y, int32_t w, int32_t h)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_rect.html#aff9442d9ee78ad390129625379b2103f">pp::Rect::SetRect</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>x</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>y</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>w</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>h</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Setter function for setting the value of the <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>A new x value. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>A new y value. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">w</td><td>A new width value. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>A new height value. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ad19e517179cc55db2a16d317d2e8904a"></a><!-- doxytag: member="pp::Rect::SetRect" ref="ad19e517179cc55db2a16d317d2e8904a" args="(const PP_Rect &rect)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_rect.html#aff9442d9ee78ad390129625379b2103f">pp::Rect::SetRect</a> </td>
+<td>(</td>
+<td class="paramtype">const PP_Rect & </td>
+<td class="paramname"><em>rect</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Setter function for setting the value of the <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">rect</td><td>A pointer to a <code>PP_Rect</code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a2471b9960ecbbb006330cd1bb6d51701"></a><!-- doxytag: member="pp::Rect::SharesEdgeWith" ref="a2471b9960ecbbb006330cd1bb6d51701" args="(const Rect &rect) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_rect.html#a2471b9960ecbbb006330cd1bb6d51701">pp::Rect::SharesEdgeWith</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">Rect</a> & </td>
+<td class="paramname"><em>rect</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_rect.html#a2471b9960ecbbb006330cd1bb6d51701" title="SharesEdgeWith() determines if this rectangle shares an entire edge (same width or same height) with ...">SharesEdgeWith()</a> determines if this rectangle shares an entire edge (same width or same height) with the given rectangle, and the rectangles do not overlap. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">rect</td><td>A pointer to a <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if this rectangle and supplied rectangle share an edge. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ae545e94421d1384fb292b270222b812e"></a><!-- doxytag: member="pp::Rect::size" ref="ae545e94421d1384fb292b270222b812e" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_size.html">Size</a> <a class="el" href="classpp_1_1_rect.html#ae545e94421d1384fb292b270222b812e">pp::Rect::size</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the <code><a class="el" href="classpp_1_1_size.html" title="A size of an object based on width and height.">Size</a></code>. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The size of the rectangle. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="acb5c5d3c44facb488723c609f95b3d72"></a><!-- doxytag: member="pp::Rect::Subtract" ref="acb5c5d3c44facb488723c609f95b3d72" args="(const Rect &rect) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_rect.html">Rect</a> <a class="el" href="classpp_1_1_rect.html#acb5c5d3c44facb488723c609f95b3d72">pp::Rect::Subtract</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">Rect</a> & </td>
+<td class="paramname"><em>rect</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_rect.html#acb5c5d3c44facb488723c609f95b3d72" title="Subtract() computes the rectangle resulting from subtracting rect from this Rect.">Subtract()</a> computes the rectangle resulting from subtracting <code>rect</code> from this <a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a>. </p>
+<p>If <code>rect</code>does not intersect completely in either the x or y direction, then <code>*this</code> is returned. If <code>rect</code> contains <code>this</code>, then an empty <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code> is returned.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">rect</td><td>A pointer to a <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code> representing the subtraction. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab7f3bfc56fddca606125f806f8752880"></a><!-- doxytag: member="pp::Rect::Union" ref="ab7f3bfc56fddca606125f806f8752880" args="(const Rect &rect) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_rect.html">Rect</a> <a class="el" href="classpp_1_1_rect.html#ab7f3bfc56fddca606125f806f8752880">pp::Rect::Union</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">Rect</a> & </td>
+<td class="paramname"><em>rect</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_rect.html#ab7f3bfc56fddca606125f806f8752880" title="Union() computes the union of this rectangle with the given rectangle.">Union()</a> computes the union of this rectangle with the given rectangle. </p>
+<p>The union is the smallest rectangle containing both rectangles.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">rect</td><td>A pointer to a <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code> representing the union. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a102299d70d5cd970298c6de5b8ec260d"></a><!-- doxytag: member="pp::Rect::width" ref="a102299d70d5cd970298c6de5b8ec260d" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_rect.html#a102299d70d5cd970298c6de5b8ec260d">pp::Rect::width</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the value of width. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The value of width for this <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="acf8feb9af84a42d30917e2c590eafb33"></a><!-- doxytag: member="pp::Rect::x" ref="acf8feb9af84a42d30917e2c590eafb33" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_rect.html#acf8feb9af84a42d30917e2c590eafb33">pp::Rect::x</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the value of x. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The value of x for this <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="af84b03d10a656af3bbdabae6e0f37972"></a><!-- doxytag: member="pp::Rect::y" ref="af84b03d10a656af3bbdabae6e0f37972" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_rect.html#af84b03d10a656af3bbdabae6e0f37972">pp::Rect::y</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the value of y. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The value of y for this <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="rect_8h.html">rect.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_resource-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_resource-members.html
new file mode 100644
index 0000000..efb3b02
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_resource-members.html
@@ -0,0 +1,25 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_resource.html">pp::Resource</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aef268205011788a4a9f05ed201384ace">VarResource_Dev</a> class</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [friend]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_resource.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_resource.html
new file mode 100644
index 0000000..2ca82af
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_resource.html
@@ -0,0 +1,281 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::Resource Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::Resource:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_resource__inherit__graph.png" border="0" usemap="#pp_1_1_resource_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_resource_inherit__map" id="pp_1_1_resource_inherit__map">
+<area shape="rect" id="node3" href="classpp_1_1_audio.html" title="An audio resource." alt="" coords="193,5,276,35"></area><area shape="rect" id="node5" href="classpp_1_1_audio_config.html" title="A 16 bit stereo AudioConfig resource." alt="" coords="173,59,296,88"></area><area shape="rect" id="node7" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file." alt="" coords="196,112,273,141"></area><area shape="rect" id="node9" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.' alt="" coords="192,165,277,195"></area><area shape="rect" id="node11" href="classpp_1_1_file_system.html" title="The FileSystem class identifies the file system type associated with a file." alt="" coords="177,219,292,248"></area><area shape="rect" id="node13" href="classpp_1_1_graphics2_d.html" title="pp::Graphics2D" alt="" coords="175,272,295,301"></area><area shape="rect" id="node15" href="classpp_1_1_graphics3_d.html" title="This class represents a 3D rendering context in the browser." alt="" coords="175,325,295,355"></area><area shape="rect" id="node17" href="classpp_1_1_host_resolver.html" title="The HostResolver class supports host name resolution." alt="" coords="171,379,299,408"></area><area shape="rect" id="node19" href="classpp_1_1_image_data.html" title="pp::ImageData" alt="" coords="176,432,293,461"></area><area shape="rect" id="node21" href="classpp_1_1_input_event.html" title="This class represents an input event resource." alt="" coords="177,485,292,515"></area><area shape="rect" id="node33" href="classpp_1_1_message_loop.html" title="A message loop allows PPAPI calls to be issued on a thread." alt="" coords="168,539,301,568"></area><area shape="rect" id="node35" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address." alt="" coords="175,592,295,621"></area><area shape="rect" id="node37" href="classpp_1_1_network_list.html" title="pp::NetworkList" alt="" coords="175,645,295,675"></area><area shape="rect" id="node39" href="classpp_1_1_network_monitor.html" title="pp::NetworkMonitor" alt="" coords="161,699,308,728"></area><area shape="rect" id="node41" href="classpp_1_1_t_c_p_socket.html" title="The TCPSocket class provides TCP socket operations." alt="" coords="179,752,291,781"></area><area shape="rect" id="node43" href="classpp_1_1_u_d_p_socket.html" title="The UDPSocket class provides UDP socket operations." alt="" coords="176,805,293,835"></area><area shape="rect" id="node45" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs." alt="" coords="177,859,292,888"></area><area shape="rect" id="node47" href="classpp_1_1_u_r_l_request_info.html" title="URLRequestInfo provides an API for creating and manipulating URL requests." alt="" coords="163,912,307,941"></area><area shape="rect" id="node49" href="classpp_1_1_u_r_l_response_info.html" title="URLResponseInfo provides an API for examining URL responses." alt="" coords="157,965,312,995"></area><area shape="rect" id="node51" href="classpp_1_1_view.html" title="This class represents the state of the view for an instance and contains functions for retrieving the..." alt="" coords="197,1019,272,1048"></area><area shape="rect" id="node53" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket..." alt="" coords="177,1072,292,1101"></area><area shape="rect" id="node23" href="classpp_1_1_i_m_e_input_event.html" title="pp::IMEInputEvent" alt="" coords="379,379,515,408"></area><area shape="rect" id="node25" href="classpp_1_1_keyboard_input_event.html" title="pp::KeyboardInputEvent" alt="" coords="360,432,533,461"></area><area shape="rect" id="node27" href="classpp_1_1_mouse_input_event.html" title="This class handles mouse events." alt="" coords="369,485,524,515"></area><area shape="rect" id="node29" href="classpp_1_1_touch_input_event.html" title="pp::TouchInputEvent" alt="" coords="372,539,521,568"></area><area shape="rect" id="node31" href="classpp_1_1_wheel_input_event.html" title="pp::WheelInputEvent" alt="" coords="371,592,523,621"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_resource-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a> (const <a class="el" href="classpp_1_1_resource.html">Resource</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_resource.html">Resource</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a> (const <a class="el" href="classpp_1_1_resource.html">Resource</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_Resource </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_Resource </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a> ()</td></tr>
+</table><h2>
+Protected Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a> (PP_Resource resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a> (<a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a>, PP_Resource resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a> (PP_Resource resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a> ()</td></tr>
+</table><h2>
+Friends</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_resource.html#aef268205011788a4a9f05ed201384ace">VarResource_Dev</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>A reference counted module resource. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a56679e93a58101c8dce5dc510811a094"></a><!-- doxytag: member="pp::Resource::Resource" ref="a56679e93a58101c8dce5dc510811a094" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">pp::Resource::Resource</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The default constructor. </p>
+</div>
+</div>
+<a class="anchor" id="ab0f664099ca06367180f220ea7e0b831"></a><!-- doxytag: member="pp::Resource::Resource" ref="ab0f664099ca06367180f220ea7e0b831" args="(const Resource &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">pp::Resource::Resource</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_resource.html">Resource</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor for copying a resource. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A <code><a class="el" href="classpp_1_1_resource.html" title="A reference counted module resource.">Resource</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a081165265e2bd8217eaa2be2aeeb3aa3"></a><!-- doxytag: member="pp::Resource::~Resource" ref="a081165265e2bd8217eaa2be2aeeb3aa3" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">pp::Resource::~Resource</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Destructor. </p>
+</div>
+</div>
+<a class="anchor" id="a555de93fdf4793f7db1183bf71d20580"></a><!-- doxytag: member="pp::Resource::Resource" ref="a555de93fdf4793f7db1183bf71d20580" args="(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">pp::Resource::Resource</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>resource</em></td><td>)</td>
+<td><code> [explicit, protected]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used when a <code>PP_Resource</code> is provided as a return value whose reference count we need to increment. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a resource. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a907d3d6b7e292587c8cb9ff30d0a418d"></a><!-- doxytag: member="pp::Resource::Resource" ref="a907d3d6b7e292587c8cb9ff30d0a418d" args="(PassRef, PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">pp::Resource::Resource</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a> </td>
+<td class="paramname">, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>resource</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [protected]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructor used when a <code>PP_Resource</code> already has a ref count assigned. </p>
+<p>Add additional refcount is not taken. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="ad4016f37d3022863ca0188acb26ac9c4"></a><!-- doxytag: member="pp::Resource::Clear" ref="ad4016f37d3022863ca0188acb26ac9c4" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">pp::Resource::Clear</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [protected]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sets this resource to null. This releases ownership of the resource. </p>
+</div>
+</div>
+<a class="anchor" id="a81b9246381bdddacca3ac25f6ded2bfd"></a><!-- doxytag: member="pp::Resource::detach" ref="a81b9246381bdddacca3ac25f6ded2bfd" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_Resource <a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">pp::Resource::detach</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function releases ownership of this resource and returns it to the caller. </p>
+<p>Note that the reference count on the resource is unchanged and the caller needs to release the resource.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The detached <code>PP_Resource</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a859068e34cdc2dc0b78754c255323aa9"></a><!-- doxytag: member="pp::Resource::is_null" ref="a859068e34cdc2dc0b78754c255323aa9" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">pp::Resource::is_null</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This functions determines if this resource is invalid or uninitialized. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if this resource is invalid or uninitialized. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aaf808a98bdaa7998d82e19514aa87423"></a><!-- doxytag: member="pp::Resource::operator=" ref="aaf808a98bdaa7998d82e19514aa87423" args="(const Resource &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_resource.html">Resource</a>& pp::Resource::operator= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_resource.html">Resource</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function assigns one <code><a class="el" href="classpp_1_1_resource.html" title="A reference counted module resource.">Resource</a></code> to another <code><a class="el" href="classpp_1_1_resource.html" title="A reference counted module resource.">Resource</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A <a class="el" href="classpp_1_1_resource.html" title="A reference counted module resource.">Resource</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <a class="el" href="classpp_1_1_resource.html" title="A reference counted module resource.">Resource</a> containing the assigned <a class="el" href="classpp_1_1_resource.html" title="A reference counted module resource.">Resource</a>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a3eda014529127a818df8d5bb5ec2fdf0"></a><!-- doxytag: member="pp::Resource::PassRefFromConstructor" ref="a3eda014529127a818df8d5bb5ec2fdf0" args="(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">pp::Resource::PassRefFromConstructor</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>resource</em></td><td>)</td>
+<td><code> [protected]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>PassRefFromConstructor is called by derived class' constructors to initialize this <code><a class="el" href="classpp_1_1_resource.html" title="A reference counted module resource.">Resource</a></code> with a <code>PP_Resource</code> that has already had its reference count incremented by <code><a class="el" href="classpp_1_1_core.html#a09c663df7fcb527b3e5e71ea07531899" title="AddRefResource() increments the reference count for the provided resource.">Core::AddRefResource</a></code>. </p>
+<p>It also assumes this object has no current resource.</p>
+<p>The intended usage of this function that the derived class constructor will call the default <code><a class="el" href="classpp_1_1_resource.html" title="A reference counted module resource.">Resource</a></code> constructor, then make a call to create a resource. It then wants to assign the new resource (which, since it was returned by the browser, already had its reference count increased).</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a resource. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a46a6123de0b007ad3fcb6f666534ccb4"></a><!-- doxytag: member="pp::Resource::pp_resource" ref="a46a6123de0b007ad3fcb6f666534ccb4" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_Resource <a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp::Resource::pp_resource</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Friends And Related Function Documentation</h2>
+<a class="anchor" id="aef268205011788a4a9f05ed201384ace"></a><!-- doxytag: member="pp::Resource::VarResource_Dev" ref="aef268205011788a4a9f05ed201384ace" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">friend class <a class="el" href="classpp_1_1_resource.html#aef268205011788a4a9f05ed201384ace">VarResource_Dev</a><code> [friend]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="resource_8h.html">resource.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_resource__inherit__graph.png b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_resource__inherit__graph.png
new file mode 100644
index 0000000..fc41995
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_resource__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_size-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_size-members.html
new file mode 100644
index 0000000..727c213
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_size-members.html
@@ -0,0 +1,28 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_size.html">pp::Size</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_size.html#a51a74964f27e139003b82aad55dd63f5">Enlarge</a>(int w, int h)</td><td><a class="el" href="classpp_1_1_size.html">pp::Size</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_size.html#ac056add4f1e8b1f90a6e3c65afa4ba3b">GetArea</a>() const </td><td><a class="el" href="classpp_1_1_size.html">pp::Size</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_size.html#a61a68178eefa2589ead95491ac079139">height</a>() const </td><td><a class="el" href="classpp_1_1_size.html">pp::Size</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_size.html#a11e791714686761966773adcc94218bb">IsEmpty</a>() const </td><td><a class="el" href="classpp_1_1_size.html">pp::Size</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_size.html#a72cbb6066dd37615daaa3d3c1a0c595a">operator PP_Size</a>()</td><td><a class="el" href="classpp_1_1_size.html">pp::Size</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_size.html#ad61947a5f2a3bbe90dc62c62cc799174">pp_size</a>() const </td><td><a class="el" href="classpp_1_1_size.html">pp::Size</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_size.html#ae20ce070c015adec8b5411b047db5917">pp_size</a>()</td><td><a class="el" href="classpp_1_1_size.html">pp::Size</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_size.html#a2805413bf372ad033fcf505c8d3cce34">set_height</a>(int h)</td><td><a class="el" href="classpp_1_1_size.html">pp::Size</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_size.html#a104cf1f6a95c1430f7cd15a26815e82a">set_width</a>(int w)</td><td><a class="el" href="classpp_1_1_size.html">pp::Size</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_size.html#a25d85979d55798a9b672ca73c1d48222">SetSize</a>(int w, int h)</td><td><a class="el" href="classpp_1_1_size.html">pp::Size</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_size.html#a5ffffc4488c677716baed27752b6a6c1">Size</a>()</td><td><a class="el" href="classpp_1_1_size.html">pp::Size</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_size.html#aa050f55ab1775d0ee1b0ae174e1495df">Size</a>(const PP_Size &s)</td><td><a class="el" href="classpp_1_1_size.html">pp::Size</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_size.html#a14a1c612454596e43a94c01da338bc1e">Size</a>(int w, int h)</td><td><a class="el" href="classpp_1_1_size.html">pp::Size</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_size.html#af043a504c701e32c504c63b9e91ac500">width</a>() const </td><td><a class="el" href="classpp_1_1_size.html">pp::Size</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_size.html#aff4a88df9882be410ca78d338d2d87dc">~Size</a>()</td><td><a class="el" href="classpp_1_1_size.html">pp::Size</a></td><td><code> [inline]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_size.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_size.html
new file mode 100644
index 0000000..93a22ac
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_size.html
@@ -0,0 +1,363 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::Size Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::Size" -->
+<p><a href="classpp_1_1_size-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_size.html#a5ffffc4488c677716baed27752b6a6c1">Size</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_size.html#aa050f55ab1775d0ee1b0ae174e1495df">Size</a> (const PP_Size &s)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_size.html#a14a1c612454596e43a94c01da338bc1e">Size</a> (int w, int h)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_size.html#aff4a88df9882be410ca78d338d2d87dc">~Size</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_size.html#a72cbb6066dd37615daaa3d3c1a0c595a">operator PP_Size</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const PP_Size & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_size.html#ad61947a5f2a3bbe90dc62c62cc799174">pp_size</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_Size & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_size.html#ae20ce070c015adec8b5411b047db5917">pp_size</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_size.html#af043a504c701e32c504c63b9e91ac500">width</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_size.html#a104cf1f6a95c1430f7cd15a26815e82a">set_width</a> (int w)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_size.html#a61a68178eefa2589ead95491ac079139">height</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_size.html#a2805413bf372ad033fcf505c8d3cce34">set_height</a> (int h)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_size.html#ac056add4f1e8b1f90a6e3c65afa4ba3b">GetArea</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_size.html#a25d85979d55798a9b672ca73c1d48222">SetSize</a> (int w, int h)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_size.html#a51a74964f27e139003b82aad55dd63f5">Enlarge</a> (int w, int h)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_size.html#a11e791714686761966773adcc94218bb">IsEmpty</a> () const </td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>A size of an object based on width and height. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a5ffffc4488c677716baed27752b6a6c1"></a><!-- doxytag: member="pp::Size::Size" ref="a5ffffc4488c677716baed27752b6a6c1" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_size.html#a5ffffc4488c677716baed27752b6a6c1">pp::Size::Size</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The default constructor. Initializes the width and height to 0. </p>
+</div>
+</div>
+<a class="anchor" id="aa050f55ab1775d0ee1b0ae174e1495df"></a><!-- doxytag: member="pp::Size::Size" ref="aa050f55ab1775d0ee1b0ae174e1495df" args="(const PP_Size &s)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_size.html#a5ffffc4488c677716baed27752b6a6c1">pp::Size::Size</a> </td>
+<td>(</td>
+<td class="paramtype">const PP_Size & </td>
+<td class="paramname"><em>s</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor accepting a pointer to a <code>PP_Size</code> and converting the <code>PP_Size</code> to a <code><a class="el" href="classpp_1_1_size.html" title="A size of an object based on width and height.">Size</a></code>. </p>
+<p>This is an implicit conversion constructor.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>A pointer to a <code>PP_Size</code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a14a1c612454596e43a94c01da338bc1e"></a><!-- doxytag: member="pp::Size::Size" ref="a14a1c612454596e43a94c01da338bc1e" args="(int w, int h)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_size.html#a5ffffc4488c677716baed27752b6a6c1">pp::Size::Size</a> </td>
+<td>(</td>
+<td class="paramtype">int </td>
+<td class="paramname"><em>w</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int </td>
+<td class="paramname"><em>h</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor accepting two int values for width and height and converting them to a <code><a class="el" href="classpp_1_1_size.html" title="A size of an object based on width and height.">Size</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">w</td><td>An int value representing a width. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>An int value representing a height. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="aff4a88df9882be410ca78d338d2d87dc"></a><!-- doxytag: member="pp::Size::~Size" ref="aff4a88df9882be410ca78d338d2d87dc" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_size.html#aff4a88df9882be410ca78d338d2d87dc">pp::Size::~Size</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Destructor. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a51a74964f27e139003b82aad55dd63f5"></a><!-- doxytag: member="pp::Size::Enlarge" ref="a51a74964f27e139003b82aad55dd63f5" args="(int w, int h)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_size.html#a51a74964f27e139003b82aad55dd63f5">pp::Size::Enlarge</a> </td>
+<td>(</td>
+<td class="paramtype">int </td>
+<td class="paramname"><em>w</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int </td>
+<td class="paramname"><em>h</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_size.html#a51a74964f27e139003b82aad55dd63f5" title="Enlarge() enlarges the size of an object.">Enlarge()</a> enlarges the size of an object. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">w</td><td>A width to add the current width. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>A height to add to the current height. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ac056add4f1e8b1f90a6e3c65afa4ba3b"></a><!-- doxytag: member="pp::Size::GetArea" ref="ac056add4f1e8b1f90a6e3c65afa4ba3b" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int <a class="el" href="classpp_1_1_size.html#ac056add4f1e8b1f90a6e3c65afa4ba3b">pp::Size::GetArea</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_size.html#ac056add4f1e8b1f90a6e3c65afa4ba3b" title="GetArea() determines the area (width * height).">GetArea()</a> determines the area (width * height). </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The area. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a61a68178eefa2589ead95491ac079139"></a><!-- doxytag: member="pp::Size::height" ref="a61a68178eefa2589ead95491ac079139" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int <a class="el" href="classpp_1_1_size.html#a61a68178eefa2589ead95491ac079139">pp::Size::height</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the value of height. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The value of height for this <code><a class="el" href="classpp_1_1_size.html" title="A size of an object based on width and height.">Size</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a11e791714686761966773adcc94218bb"></a><!-- doxytag: member="pp::Size::IsEmpty" ref="a11e791714686761966773adcc94218bb" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_size.html#a11e791714686761966773adcc94218bb">pp::Size::IsEmpty</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_size.html#a11e791714686761966773adcc94218bb" title="IsEmpty() determines if the size is zero.">IsEmpty()</a> determines if the size is zero. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the size is zero. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a72cbb6066dd37615daaa3d3c1a0c595a"></a><!-- doxytag: member="pp::Size::operator PP_Size" ref="a72cbb6066dd37615daaa3d3c1a0c595a" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">pp::Size::operator PP_Size </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>PP_Size() allows implicit conversion of a <code><a class="el" href="classpp_1_1_size.html" title="A size of an object based on width and height.">Size</a></code> to a <code>PP_Size</code>. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <a class="el" href="classpp_1_1_size.html" title="A size of an object based on width and height.">Size</a>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ad61947a5f2a3bbe90dc62c62cc799174"></a><!-- doxytag: member="pp::Size::pp_size" ref="ad61947a5f2a3bbe90dc62c62cc799174" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">const PP_Size& <a class="el" href="classpp_1_1_size.html#ad61947a5f2a3bbe90dc62c62cc799174">pp::Size::pp_size</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the internal <code>PP_Size</code> struct. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A const reference to the internal <code>PP_Size</code> struct. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ae20ce070c015adec8b5411b047db5917"></a><!-- doxytag: member="pp::Size::pp_size" ref="ae20ce070c015adec8b5411b047db5917" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_Size& <a class="el" href="classpp_1_1_size.html#ad61947a5f2a3bbe90dc62c62cc799174">pp::Size::pp_size</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the internal <code>PP_Size</code> struct. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A mutable reference to the <code>PP_Size</code> struct. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2805413bf372ad033fcf505c8d3cce34"></a><!-- doxytag: member="pp::Size::set_height" ref="a2805413bf372ad033fcf505c8d3cce34" args="(int h)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_size.html#a2805413bf372ad033fcf505c8d3cce34">pp::Size::set_height</a> </td>
+<td>(</td>
+<td class="paramtype">int </td>
+<td class="paramname"><em>h</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Setter function for setting the value of height. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>A new height value. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a104cf1f6a95c1430f7cd15a26815e82a"></a><!-- doxytag: member="pp::Size::set_width" ref="a104cf1f6a95c1430f7cd15a26815e82a" args="(int w)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_size.html#a104cf1f6a95c1430f7cd15a26815e82a">pp::Size::set_width</a> </td>
+<td>(</td>
+<td class="paramtype">int </td>
+<td class="paramname"><em>w</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Setter function for setting the value of width. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">w</td><td>A new width value. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a25d85979d55798a9b672ca73c1d48222"></a><!-- doxytag: member="pp::Size::SetSize" ref="a25d85979d55798a9b672ca73c1d48222" args="(int w, int h)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_size.html#a25d85979d55798a9b672ca73c1d48222">pp::Size::SetSize</a> </td>
+<td>(</td>
+<td class="paramtype">int </td>
+<td class="paramname"><em>w</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int </td>
+<td class="paramname"><em>h</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_size.html#a25d85979d55798a9b672ca73c1d48222" title="SetSize() sets the value of width and height.">SetSize()</a> sets the value of width and height. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">w</td><td>A new width value. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>A new height value. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="af043a504c701e32c504c63b9e91ac500"></a><!-- doxytag: member="pp::Size::width" ref="af043a504c701e32c504c63b9e91ac500" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int <a class="el" href="classpp_1_1_size.html#af043a504c701e32c504c63b9e91ac500">pp::Size::width</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Getter function for returning the value of width. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The value of width for this <code><a class="el" href="classpp_1_1_size.html" title="A size of an object based on width and height.">Size</a></code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="size_8h.html">size.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_t_c_p_socket-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_t_c_p_socket-members.html
new file mode 100644
index 0000000..d4a6931d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_t_c_p_socket-members.html
@@ -0,0 +1,41 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_t_c_p_socket.html#aef5daadffa0cf98464d30c418f1eceb1">Accept</a>(const CompletionCallbackWithOutput< TCPSocket > &callback)</td><td><a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_t_c_p_socket.html#a266c28928c7524fa8bad8bca513c8f2b">Bind</a>(const NetAddress &addr, const CompletionCallback &callback)</td><td><a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_t_c_p_socket.html#abc186103df13872795525a65ab48a478">Close</a>()</td><td><a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_t_c_p_socket.html#a939f7d319a58c60afcb71f6356223aac">Connect</a>(const NetAddress &addr, const CompletionCallback &callback)</td><td><a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_t_c_p_socket.html#ad35bf6762cac2eceb4469eba0275ed7f">GetLocalAddress</a>() const </td><td><a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_t_c_p_socket.html#a6d8c7d3ab135c58f0cd92202946c1ea8">GetRemoteAddress</a>() const </td><td><a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_t_c_p_socket.html#addc35d01f8547e3128358c401a2a8e47">IsAvailable</a>()</td><td><a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a></td><td><code> [static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_t_c_p_socket.html#afed8c462e80b265b132a53e8cbd87fbb">Listen</a>(int32_t backlog, const CompletionCallback &callback)</td><td><a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_t_c_p_socket.html#ae7c8888a8f6ef5187547de8b8db3bb98">operator=</a>(const TCPSocket &other)</td><td><a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">pp::Resource::operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_t_c_p_socket.html#a598efe777f0ef2eb9117b11437e1bedb">Read</a>(char *buffer, int32_t bytes_to_read, const CompletionCallback &callback)</td><td><a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_t_c_p_socket.html#a71fdfb61f8ab4fbc805bb66b34a77484">SetOption</a>(PP_TCPSocket_Option name, const Var &value, const CompletionCallback &callback)</td><td><a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_t_c_p_socket.html#a8752f9c331ea25e01bf4a80be95117ef">TCPSocket</a>()</td><td><a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_t_c_p_socket.html#af33619315cc5eeff15174a78b0fff44d">TCPSocket</a>(const InstanceHandle &instance)</td><td><a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_t_c_p_socket.html#aa7af4b57237e461a79ba33e044d688fe">TCPSocket</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_t_c_p_socket.html#a528305852766af8c12284e6ef7e94058">TCPSocket</a>(const TCPSocket &other)</td><td><a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_t_c_p_socket.html#aef066de742e7271ca72fa8e4e177f63b">Write</a>(const char *buffer, int32_t bytes_to_write, const CompletionCallback &callback)</td><td><a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_t_c_p_socket.html#a32547904059796aa6def4c9ab6107c80">~TCPSocket</a>()</td><td><a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_t_c_p_socket.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_t_c_p_socket.html
new file mode 100644
index 0000000..f6aba03
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_t_c_p_socket.html
@@ -0,0 +1,537 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::TCPSocket Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::TCPSocket" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::TCPSocket:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_t_c_p_socket__inherit__graph.png" border="0" usemap="#pp_1_1_t_c_p_socket_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_t_c_p_socket_inherit__map" id="pp_1_1_t_c_p_socket_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="9,5,113,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_t_c_p_socket-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html#a8752f9c331ea25e01bf4a80be95117ef">TCPSocket</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html#af33619315cc5eeff15174a78b0fff44d">TCPSocket</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html#aa7af4b57237e461a79ba33e044d688fe">TCPSocket</a> (<a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a>, PP_Resource resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html#a528305852766af8c12284e6ef7e94058">TCPSocket</a> (const <a class="el" href="classpp_1_1_t_c_p_socket.html">TCPSocket</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html#a32547904059796aa6def4c9ab6107c80">~TCPSocket</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_t_c_p_socket.html">TCPSocket</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html#ae7c8888a8f6ef5187547de8b8db3bb98">operator=</a> (const <a class="el" href="classpp_1_1_t_c_p_socket.html">TCPSocket</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html#a266c28928c7524fa8bad8bca513c8f2b">Bind</a> (const <a class="el" href="classpp_1_1_net_address.html">NetAddress</a> &addr, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html#a939f7d319a58c60afcb71f6356223aac">Connect</a> (const <a class="el" href="classpp_1_1_net_address.html">NetAddress</a> &addr, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_net_address.html">NetAddress</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html#ad35bf6762cac2eceb4469eba0275ed7f">GetLocalAddress</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_net_address.html">NetAddress</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html#a6d8c7d3ab135c58f0cd92202946c1ea8">GetRemoteAddress</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html#a598efe777f0ef2eb9117b11437e1bedb">Read</a> (char *buffer, int32_t bytes_to_read, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html#aef066de742e7271ca72fa8e4e177f63b">Write</a> (const char *buffer, int32_t bytes_to_write, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html#afed8c462e80b265b132a53e8cbd87fbb">Listen</a> (int32_t backlog, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html#aef5daadffa0cf98464d30c418f1eceb1">Accept</a> (const <a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a>< <a class="el" href="classpp_1_1_t_c_p_socket.html">TCPSocket</a> > &callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html#abc186103df13872795525a65ab48a478">Close</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html#a71fdfb61f8ab4fbc805bb66b34a77484">SetOption</a> (PP_TCPSocket_Option name, const <a class="el" href="classpp_1_1_var.html">Var</a> &value, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &callback)</td></tr>
+</table><h2>
+Static Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html#addc35d01f8547e3128358c401a2a8e47">IsAvailable</a> ()</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="classpp_1_1_t_c_p_socket.html" title="The TCPSocket class provides TCP socket operations.">TCPSocket</a></code> class provides TCP socket operations. </p>
+<p>Permissions: Apps permission <code>socket</code> with subrule <code>tcp-connect</code> is required for <code><a class="el" href="classpp_1_1_t_c_p_socket.html#a939f7d319a58c60afcb71f6356223aac" title="Connects the socket to the given address.">Connect()</a></code>; subrule <code>tcp-listen</code> is required for <code><a class="el" href="classpp_1_1_t_c_p_socket.html#afed8c462e80b265b132a53e8cbd87fbb" title="Starts listening.">Listen()</a></code>. For more details about network communication permissions, please see: <a href="http://developer.chrome.com/apps/app_network.html">http://developer.chrome.com/apps/app_network.html</a> </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a8752f9c331ea25e01bf4a80be95117ef"></a><!-- doxytag: member="pp::TCPSocket::TCPSocket" ref="a8752f9c331ea25e01bf4a80be95117ef" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_t_c_p_socket.html#a8752f9c331ea25e01bf4a80be95117ef">pp::TCPSocket::TCPSocket</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor for creating an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> <code><a class="el" href="classpp_1_1_t_c_p_socket.html" title="The TCPSocket class provides TCP socket operations.">TCPSocket</a></code> object. </p>
+</div>
+</div>
+<a class="anchor" id="af33619315cc5eeff15174a78b0fff44d"></a><!-- doxytag: member="pp::TCPSocket::TCPSocket" ref="af33619315cc5eeff15174a78b0fff44d" args="(const InstanceHandle &instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_t_c_p_socket.html#a8752f9c331ea25e01bf4a80be95117ef">pp::TCPSocket::TCPSocket</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used to create a <code><a class="el" href="classpp_1_1_t_c_p_socket.html" title="The TCPSocket class provides TCP socket operations.">TCPSocket</a></code> object. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="aa7af4b57237e461a79ba33e044d688fe"></a><!-- doxytag: member="pp::TCPSocket::TCPSocket" ref="aa7af4b57237e461a79ba33e044d688fe" args="(PassRef, PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_t_c_p_socket.html#a8752f9c331ea25e01bf4a80be95117ef">pp::TCPSocket::TCPSocket</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a> </td>
+<td class="paramname">, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>resource</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used when you have received a <code>PP_Resource</code> as a return value that has had 1 ref added for you. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PPB_TCPSocket</code> resource. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a528305852766af8c12284e6ef7e94058"></a><!-- doxytag: member="pp::TCPSocket::TCPSocket" ref="a528305852766af8c12284e6ef7e94058" args="(const TCPSocket &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_t_c_p_socket.html#a8752f9c331ea25e01bf4a80be95117ef">pp::TCPSocket::TCPSocket</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_t_c_p_socket.html">TCPSocket</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The copy constructor for <code><a class="el" href="classpp_1_1_t_c_p_socket.html" title="The TCPSocket class provides TCP socket operations.">TCPSocket</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A reference to another <code><a class="el" href="classpp_1_1_t_c_p_socket.html" title="The TCPSocket class provides TCP socket operations.">TCPSocket</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a32547904059796aa6def4c9ab6107c80"></a><!-- doxytag: member="pp::TCPSocket::~TCPSocket" ref="a32547904059796aa6def4c9ab6107c80" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_t_c_p_socket.html#a32547904059796aa6def4c9ab6107c80">pp::TCPSocket::~TCPSocket</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The destructor. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="aef5daadffa0cf98464d30c418f1eceb1"></a><!-- doxytag: member="pp::TCPSocket::Accept" ref="aef5daadffa0cf98464d30c418f1eceb1" args="(const CompletionCallbackWithOutput< TCPSocket > &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_t_c_p_socket.html#aef5daadffa0cf98464d30c418f1eceb1">pp::TCPSocket::Accept</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a>< <a class="el" href="classpp_1_1_t_c_p_socket.html">TCPSocket</a> > & </td>
+<td class="paramname"><em>callback</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Accepts a connection. </p>
+<p>The socket must be listening.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>, including (but not limited to):<ul>
+<li><code>PP_ERROR_CONNECTION_ABORTED</code>: A connection has been aborted. </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<a class="anchor" id="a266c28928c7524fa8bad8bca513c8f2b"></a><!-- doxytag: member="pp::TCPSocket::Bind" ref="a266c28928c7524fa8bad8bca513c8f2b" args="(const NetAddress &addr, const CompletionCallback &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_t_c_p_socket.html#a266c28928c7524fa8bad8bca513c8f2b">pp::TCPSocket::Bind</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_net_address.html">NetAddress</a> & </td>
+<td class="paramname"><em>addr</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>callback</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Binds the socket to the given address. </p>
+<p>The socket must not be bound.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>A <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code> object. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>, including (but not limited to):<ul>
+<li><code>PP_ERROR_ADDRESS_IN_USE</code>: the address is already in use.</li>
+<li><code>PP_ERROR_ADDRESS_INVALID</code>: the address is invalid. </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<a class="anchor" id="abc186103df13872795525a65ab48a478"></a><!-- doxytag: member="pp::TCPSocket::Close" ref="abc186103df13872795525a65ab48a478" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_t_c_p_socket.html#abc186103df13872795525a65ab48a478">pp::TCPSocket::Close</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Cancels all pending operations and closes the socket. </p>
+<p>Any pending callbacks will still run, reporting <code>PP_ERROR_ABORTED</code> if pending IO was interrupted. After a call to this method, no output buffer pointers passed into previous <code><a class="el" href="classpp_1_1_t_c_p_socket.html#a598efe777f0ef2eb9117b11437e1bedb" title="Reads data from the socket.">Read()</a></code> or <code><a class="el" href="classpp_1_1_t_c_p_socket.html#aef5daadffa0cf98464d30c418f1eceb1" title="Accepts a connection.">Accept()</a></code> calls will be accessed. It is not valid to call <code><a class="el" href="classpp_1_1_t_c_p_socket.html#a939f7d319a58c60afcb71f6356223aac" title="Connects the socket to the given address.">Connect()</a></code> or <code><a class="el" href="classpp_1_1_t_c_p_socket.html#afed8c462e80b265b132a53e8cbd87fbb" title="Starts listening.">Listen()</a></code> again.</p>
+<p>The socket is implicitly closed if it is destroyed, so you are not required to call this method. </p>
+</div>
+</div>
+<a class="anchor" id="a939f7d319a58c60afcb71f6356223aac"></a><!-- doxytag: member="pp::TCPSocket::Connect" ref="a939f7d319a58c60afcb71f6356223aac" args="(const NetAddress &addr, const CompletionCallback &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_t_c_p_socket.html#a939f7d319a58c60afcb71f6356223aac">pp::TCPSocket::Connect</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_net_address.html">NetAddress</a> & </td>
+<td class="paramname"><em>addr</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>callback</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Connects the socket to the given address. </p>
+<p>The socket must not be listening. Binding the socket beforehand is optional.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>A <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code> object. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>, including (but not limited to):<ul>
+<li><code>PP_ERROR_NOACCESS</code>: the caller doesn't have required permissions.</li>
+<li><code>PP_ERROR_ADDRESS_UNREACHABLE</code>: <code>addr</code> is unreachable.</li>
+<li><code>PP_ERROR_CONNECTION_REFUSED</code>: the connection attempt was refused.</li>
+<li><code>PP_ERROR_CONNECTION_FAILED</code>: the connection attempt failed.</li>
+<li><code>PP_ERROR_CONNECTION_TIMEDOUT</code>: the connection attempt timed out.</li>
+</ul>
+</dd></dl>
+<p>Since version 1.1, if the socket is listening/connected or has a pending listen/connect request, <code><a class="el" href="classpp_1_1_t_c_p_socket.html#a939f7d319a58c60afcb71f6356223aac" title="Connects the socket to the given address.">Connect()</a></code> will fail without starting a connection attempt. Otherwise, any failure during the connection attempt will cause the socket to be closed. </p>
+</div>
+</div>
+<a class="anchor" id="ad35bf6762cac2eceb4469eba0275ed7f"></a><!-- doxytag: member="pp::TCPSocket::GetLocalAddress" ref="ad35bf6762cac2eceb4469eba0275ed7f" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_net_address.html">NetAddress</a> <a class="el" href="classpp_1_1_t_c_p_socket.html#ad35bf6762cac2eceb4469eba0275ed7f">pp::TCPSocket::GetLocalAddress</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the local address of the socket, if it is bound. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code> object. The object will be null (i.e., <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> returns true) on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a6d8c7d3ab135c58f0cd92202946c1ea8"></a><!-- doxytag: member="pp::TCPSocket::GetRemoteAddress" ref="a6d8c7d3ab135c58f0cd92202946c1ea8" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_net_address.html">NetAddress</a> <a class="el" href="classpp_1_1_t_c_p_socket.html#a6d8c7d3ab135c58f0cd92202946c1ea8">pp::TCPSocket::GetRemoteAddress</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the remote address of the socket, if it is connected. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code> object. The object will be null (i.e., <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> returns true) on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="addc35d01f8547e3128358c401a2a8e47"></a><!-- doxytag: member="pp::TCPSocket::IsAvailable" ref="addc35d01f8547e3128358c401a2a8e47" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static bool <a class="el" href="classpp_1_1_t_c_p_socket.html#addc35d01f8547e3128358c401a2a8e47">pp::TCPSocket::IsAvailable</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Static function for determining whether the browser supports the <code>PPB_TCPSocket</code> interface. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the interface is available, false otherwise. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="afed8c462e80b265b132a53e8cbd87fbb"></a><!-- doxytag: member="pp::TCPSocket::Listen" ref="afed8c462e80b265b132a53e8cbd87fbb" args="(int32_t backlog, const CompletionCallback &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_t_c_p_socket.html#afed8c462e80b265b132a53e8cbd87fbb">pp::TCPSocket::Listen</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>backlog</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>callback</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Starts listening. </p>
+<p>The socket must be bound and not connected.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">backlog</td><td>A hint to determine the maximum length to which the queue of pending connections may grow. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>, including (but not limited to):<ul>
+<li><code>PP_ERROR_NOACCESS</code>: the caller doesn't have required permissions.</li>
+<li><code>PP_ERROR_ADDRESS_IN_USE</code>: Another socket is already listening on the same port. </li>
+</ul>
+</dd></dl>
+</div>
+</div>
+<a class="anchor" id="ae7c8888a8f6ef5187547de8b8db3bb98"></a><!-- doxytag: member="pp::TCPSocket::operator=" ref="ae7c8888a8f6ef5187547de8b8db3bb98" args="(const TCPSocket &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_t_c_p_socket.html">TCPSocket</a>& pp::TCPSocket::operator= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_t_c_p_socket.html">TCPSocket</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The assignment operator for <code><a class="el" href="classpp_1_1_t_c_p_socket.html" title="The TCPSocket class provides TCP socket operations.">TCPSocket</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A reference to another <code><a class="el" href="classpp_1_1_t_c_p_socket.html" title="The TCPSocket class provides TCP socket operations.">TCPSocket</a></code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A reference to this <code><a class="el" href="classpp_1_1_t_c_p_socket.html" title="The TCPSocket class provides TCP socket operations.">TCPSocket</a></code> object. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a598efe777f0ef2eb9117b11437e1bedb"></a><!-- doxytag: member="pp::TCPSocket::Read" ref="a598efe777f0ef2eb9117b11437e1bedb" args="(char *buffer, int32_t bytes_to_read, const CompletionCallback &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_t_c_p_socket.html#a598efe777f0ef2eb9117b11437e1bedb">pp::TCPSocket::Read</a> </td>
+<td>(</td>
+<td class="paramtype">char * </td>
+<td class="paramname"><em>buffer</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>bytes_to_read</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>callback</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Reads data from the socket. </p>
+<p>The socket must be connected. It may perform a partial read.</p>
+<p><b>Caveat:</b> You should be careful about the lifetime of <code>buffer</code>. Typically you will use a <code><a class="el" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe...">CompletionCallbackFactory</a></code> to scope callbacks to the lifetime of your class. When your class goes out of scope, the callback factory will not actually cancel the operation, but will rather just skip issuing the callback on your class. This means that if the underlying <code>PPB_TCPSocket</code> resource outlives your class, the browser will still try to write into your buffer when the operation completes. The buffer must be kept valid until then to avoid memory corruption. If you want to release the buffer while the <code><a class="el" href="classpp_1_1_t_c_p_socket.html#a598efe777f0ef2eb9117b11437e1bedb" title="Reads data from the socket.">Read()</a></code> call is still pending, you should call <code><a class="el" href="classpp_1_1_t_c_p_socket.html#abc186103df13872795525a65ab48a478" title="Cancels all pending operations and closes the socket.">Close()</a></code> to ensure that the buffer won't be accessed in the future.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[out]</td><td class="paramname">buffer</td><td>The buffer to store the received data on success. It must be at least as large as <code>bytes_to_read</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">bytes_to_read</td><td>The number of bytes to read. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A non-negative number on success to indicate how many bytes have been read, 0 means that end-of-file was reached; otherwise, an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a71fdfb61f8ab4fbc805bb66b34a77484"></a><!-- doxytag: member="pp::TCPSocket::SetOption" ref="a71fdfb61f8ab4fbc805bb66b34a77484" args="(PP_TCPSocket_Option name, const Var &value, const CompletionCallback &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_t_c_p_socket.html#a71fdfb61f8ab4fbc805bb66b34a77484">pp::TCPSocket::SetOption</a> </td>
+<td>(</td>
+<td class="paramtype">PP_TCPSocket_Option </td>
+<td class="paramname"><em>name</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>value</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>callback</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sets a socket option on the TCP socket. </p>
+<p>Please see the <code>PP_TCPSocket_Option</code> description for option names, value types and allowed values.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>The option to set. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The option value to set. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aef066de742e7271ca72fa8e4e177f63b"></a><!-- doxytag: member="pp::TCPSocket::Write" ref="aef066de742e7271ca72fa8e4e177f63b" args="(const char *buffer, int32_t bytes_to_write, const CompletionCallback &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_t_c_p_socket.html#aef066de742e7271ca72fa8e4e177f63b">pp::TCPSocket::Write</a> </td>
+<td>(</td>
+<td class="paramtype">const char * </td>
+<td class="paramname"><em>buffer</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>bytes_to_write</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>callback</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Writes data to the socket. </p>
+<p>The socket must be connected. It may perform a partial write.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">buffer</td><td>The buffer containing the data to write. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">bytes_to_write</td><td>The number of bytes to write. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A non-negative number on success to indicate how many bytes have been written; otherwise, an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="tcp__socket_8h.html">tcp_socket.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_t_c_p_socket__inherit__graph.png b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_t_c_p_socket__inherit__graph.png
new file mode 100644
index 0000000..d0827c6
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_t_c_p_socket__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_text_input_controller-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_text_input_controller-members.html
new file mode 100644
index 0000000..1186ccf2
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_text_input_controller-members.html
@@ -0,0 +1,19 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_text_input_controller.html">pp::TextInputController</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_text_input_controller.html#a19329ad0e0ca3e7a7d31cf51462643cb">CancelCompositionText</a>()</td><td><a class="el" href="classpp_1_1_text_input_controller.html">pp::TextInputController</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_text_input_controller.html#acef9638552ba5254401ea3330140e67f">SetTextInputType</a>(PP_TextInput_Type type)</td><td><a class="el" href="classpp_1_1_text_input_controller.html">pp::TextInputController</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_text_input_controller.html#a6fe3648b0322ad724f0d103b61cbaee9">TextInputController</a>(const InstanceHandle &instance)</td><td><a class="el" href="classpp_1_1_text_input_controller.html">pp::TextInputController</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_text_input_controller.html#a884a00a9d265d812424874542c2ee34c">UpdateCaretPosition</a>(const Rect &caret)</td><td><a class="el" href="classpp_1_1_text_input_controller.html">pp::TextInputController</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_text_input_controller.html#a59fc139f69ed425f632c16313e69ceca">UpdateSurroundingText</a>(const Var &text, uint32_t caret, uint32_t anchor)</td><td><a class="el" href="classpp_1_1_text_input_controller.html">pp::TextInputController</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_text_input_controller.html#a19e3cd5588f61113d4037cbf15069a96">~TextInputController</a>()</td><td><a class="el" href="classpp_1_1_text_input_controller.html">pp::TextInputController</a></td><td></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_text_input_controller.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_text_input_controller.html
new file mode 100644
index 0000000..c0939fc
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_text_input_controller.html
@@ -0,0 +1,173 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::TextInputController Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::TextInputController" -->
+<p><a href="classpp_1_1_text_input_controller-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_text_input_controller.html#a6fe3648b0322ad724f0d103b61cbaee9">TextInputController</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_text_input_controller.html#a19e3cd5588f61113d4037cbf15069a96">~TextInputController</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_text_input_controller.html#acef9638552ba5254401ea3330140e67f">SetTextInputType</a> (PP_TextInput_Type type)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_text_input_controller.html#a884a00a9d265d812424874542c2ee34c">UpdateCaretPosition</a> (const <a class="el" href="classpp_1_1_rect.html">Rect</a> &caret)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_text_input_controller.html#a19329ad0e0ca3e7a7d31cf51462643cb">CancelCompositionText</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_text_input_controller.html#a59fc139f69ed425f632c16313e69ceca">UpdateSurroundingText</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &text, uint32_t caret, uint32_t anchor)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This class can be used for giving hints to the browser about the text input status of plugins. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a6fe3648b0322ad724f0d103b61cbaee9"></a><!-- doxytag: member="pp::TextInputController::TextInputController" ref="a6fe3648b0322ad724f0d103b61cbaee9" args="(const InstanceHandle &instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_text_input_controller.html#a6fe3648b0322ad724f0d103b61cbaee9">pp::TextInputController::TextInputController</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor for creating a <code><a class="el" href="classpp_1_1_text_input_controller.html" title="This class can be used for giving hints to the browser about the text input status of plugins...">TextInputController</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a19e3cd5588f61113d4037cbf15069a96"></a><!-- doxytag: member="pp::TextInputController::~TextInputController" ref="a19e3cd5588f61113d4037cbf15069a96" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_text_input_controller.html#a19e3cd5588f61113d4037cbf15069a96">pp::TextInputController::~TextInputController</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Destructor. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a19329ad0e0ca3e7a7d31cf51462643cb"></a><!-- doxytag: member="pp::TextInputController::CancelCompositionText" ref="a19329ad0e0ca3e7a7d31cf51462643cb" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_text_input_controller.html#a19329ad0e0ca3e7a7d31cf51462643cb">pp::TextInputController::CancelCompositionText</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_text_input_controller.html#a19329ad0e0ca3e7a7d31cf51462643cb" title="CancelCompositionText() informs the browser that the current composition text is cancelled by the plu...">CancelCompositionText()</a> informs the browser that the current composition text is cancelled by the plugin. </p>
+</div>
+</div>
+<a class="anchor" id="acef9638552ba5254401ea3330140e67f"></a><!-- doxytag: member="pp::TextInputController::SetTextInputType" ref="acef9638552ba5254401ea3330140e67f" args="(PP_TextInput_Type type)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_text_input_controller.html#acef9638552ba5254401ea3330140e67f">pp::TextInputController::SetTextInputType</a> </td>
+<td>(</td>
+<td class="paramtype">PP_TextInput_Type </td>
+<td class="paramname"><em>type</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_text_input_controller.html#acef9638552ba5254401ea3330140e67f" title="SetTextInputType() informs the browser about the current text input mode of the plugin.">SetTextInputType()</a> informs the browser about the current text input mode of the plugin. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>The type of text input type. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a884a00a9d265d812424874542c2ee34c"></a><!-- doxytag: member="pp::TextInputController::UpdateCaretPosition" ref="a884a00a9d265d812424874542c2ee34c" args="(const Rect &caret)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_text_input_controller.html#a884a00a9d265d812424874542c2ee34c">pp::TextInputController::UpdateCaretPosition</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">Rect</a> & </td>
+<td class="paramname"><em>caret</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_text_input_controller.html#a884a00a9d265d812424874542c2ee34c" title="UpdateCaretPosition() informs the browser about the coordinates of the text input caret area...">UpdateCaretPosition()</a> informs the browser about the coordinates of the text input caret area. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">caret</td><td>A rectangle indicating the caret area. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a59fc139f69ed425f632c16313e69ceca"></a><!-- doxytag: member="pp::TextInputController::UpdateSurroundingText" ref="a59fc139f69ed425f632c16313e69ceca" args="(const Var &text, uint32_t caret, uint32_t anchor)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_text_input_controller.html#a59fc139f69ed425f632c16313e69ceca">pp::TextInputController::UpdateSurroundingText</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>text</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>caret</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>anchor</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_text_input_controller.html#a59fc139f69ed425f632c16313e69ceca" title="UpdateSurroundingText() informs the browser about the current text selection and surrounding text...">UpdateSurroundingText()</a> informs the browser about the current text selection and surrounding text. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">text</td><td>A UTF-8 sting indicating string buffer of current input context.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">caret</td><td>A integer indicating the byte index of caret location in <code>text</code>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">caret</td><td>A integer indicating the byte index of anchor location in <code>text</code>. If there is no selection, this value should be equal to <code>caret</code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="text__input__controller_8h.html">text_input_controller.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_touch_input_event-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_touch_input_event-members.html
new file mode 100644
index 0000000..9d7d43a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_touch_input_event-members.html
@@ -0,0 +1,37 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_touch_input_event.html">pp::TouchInputEvent</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_touch_input_event.html#a0a323b8bd08e02d816b6fffa9b6299c0">AddTouchPoint</a>(PP_TouchListType list, PP_TouchPoint point)</td><td><a class="el" href="classpp_1_1_touch_input_event.html">pp::TouchInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a6f94a5cd8453f1b69e55aadde73354e7">GetModifiers</a>() const </td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#acc79ecdcf19f5b8a8a7268fc8ff51531">GetTimeStamp</a>() const </td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_touch_input_event.html#a66228762dbdfbb3404853a87c37b1736">GetTouchById</a>(PP_TouchListType list, uint32_t id) const </td><td><a class="el" href="classpp_1_1_touch_input_event.html">pp::TouchInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_touch_input_event.html#ac68cc82bbf2fcc88d449c5430cc02505">GetTouchByIndex</a>(PP_TouchListType list, uint32_t index) const </td><td><a class="el" href="classpp_1_1_touch_input_event.html">pp::TouchInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_touch_input_event.html#a5bdc7a4cd409586cab33e509dad43461">GetTouchCount</a>(PP_TouchListType list) const </td><td><a class="el" href="classpp_1_1_touch_input_event.html">pp::TouchInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a73ca79c06ff9a39304e3b390090f03dc">GetType</a>() const </td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#ac7581e4321abe8de6f3b48d70f4aa65d">InputEvent</a>()</td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a1d4f7d3fb88de3cccc60ab26b92ccf23">InputEvent</a>(PP_Resource input_event_resource)</td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_touch_input_event.html#a29020b28f060c5ce45ae5c3fc7512e43">TouchInputEvent</a>()</td><td><a class="el" href="classpp_1_1_touch_input_event.html">pp::TouchInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_touch_input_event.html#a601fab40cbb3e8f2f1824f655192b541">TouchInputEvent</a>(const InputEvent &event)</td><td><a class="el" href="classpp_1_1_touch_input_event.html">pp::TouchInputEvent</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_touch_input_event.html#a4a14ab4999f452f368e61c815c976eb3">TouchInputEvent</a>(const InstanceHandle &instance, PP_InputEvent_Type type, PP_TimeTicks time_stamp, uint32_t modifiers)</td><td><a class="el" href="classpp_1_1_touch_input_event.html">pp::TouchInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a2492183af4fecec44a423a5b7eae6faf">~InputEvent</a>()</td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_touch_input_event.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_touch_input_event.html
new file mode 100644
index 0000000..1b9e23f3
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_touch_input_event.html
@@ -0,0 +1,216 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::TouchInputEvent Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::TouchInputEvent" --><!-- doxytag: inherits="pp::InputEvent" --><div class="dynheader">
+Inheritance diagram for pp::TouchInputEvent:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_touch_input_event__inherit__graph.png" border="0" usemap="#pp_1_1_touch_input_event_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_touch_input_event_inherit__map" id="pp_1_1_touch_input_event_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_input_event.html" title="This class represents an input event resource." alt="" coords="23,83,137,112"></area><area shape="rect" id="node4" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="28,5,132,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_touch_input_event-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_touch_input_event.html#a29020b28f060c5ce45ae5c3fc7512e43">TouchInputEvent</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_touch_input_event.html#a601fab40cbb3e8f2f1824f655192b541">TouchInputEvent</a> (const <a class="el" href="classpp_1_1_input_event.html">InputEvent</a> &event)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_touch_input_event.html#a4a14ab4999f452f368e61c815c976eb3">TouchInputEvent</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, PP_InputEvent_Type type, PP_TimeTicks time_stamp, uint32_t modifiers)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_touch_input_event.html#a0a323b8bd08e02d816b6fffa9b6299c0">AddTouchPoint</a> (PP_TouchListType list, PP_TouchPoint point)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_touch_input_event.html#a5bdc7a4cd409586cab33e509dad43461">GetTouchCount</a> (PP_TouchListType list) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_touch_point.html">TouchPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_touch_input_event.html#ac68cc82bbf2fcc88d449c5430cc02505">GetTouchByIndex</a> (PP_TouchListType list, uint32_t index) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_touch_point.html">TouchPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_touch_input_event.html#a66228762dbdfbb3404853a87c37b1736">GetTouchById</a> (PP_TouchListType list, uint32_t id) const </td></tr>
+</table>
+<hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a29020b28f060c5ce45ae5c3fc7512e43"></a><!-- doxytag: member="pp::TouchInputEvent::TouchInputEvent" ref="a29020b28f060c5ce45ae5c3fc7512e43" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_touch_input_event.html#a29020b28f060c5ce45ae5c3fc7512e43">pp::TouchInputEvent::TouchInputEvent</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> touch input event object. </p>
+</div>
+</div>
+<a class="anchor" id="a601fab40cbb3e8f2f1824f655192b541"></a><!-- doxytag: member="pp::TouchInputEvent::TouchInputEvent" ref="a601fab40cbb3e8f2f1824f655192b541" args="(const InputEvent &event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_touch_input_event.html#a29020b28f060c5ce45ae5c3fc7512e43">pp::TouchInputEvent::TouchInputEvent</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_input_event.html">InputEvent</a> & </td>
+<td class="paramname"><em>event</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs a touch input event object from the given generic input event. </p>
+<p>If the given event is itself <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> or is not a touch input event, the touch object will be <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a>. </p>
+</div>
+</div>
+<a class="anchor" id="a4a14ab4999f452f368e61c815c976eb3"></a><!-- doxytag: member="pp::TouchInputEvent::TouchInputEvent" ref="a4a14ab4999f452f368e61c815c976eb3" args="(const InstanceHandle &instance, PP_InputEvent_Type type, PP_TimeTicks time_stamp, uint32_t modifiers)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_touch_input_event.html#a29020b28f060c5ce45ae5c3fc7512e43">pp::TouchInputEvent::TouchInputEvent</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_InputEvent_Type </td>
+<td class="paramname"><em>type</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_TimeTicks </td>
+<td class="paramname"><em>time_stamp</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>modifiers</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs a touch input even from the given parameters. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance for which this event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>A <code>PP_InputEvent_Type</code> identifying the type of input event.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">time_stamp</td><td>A <code>PP_TimeTicks</code> indicating the time when the event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">modifiers</td><td>A bit field combination of the <code>PP_InputEvent_Modifier</code> flags. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a0a323b8bd08e02d816b6fffa9b6299c0"></a><!-- doxytag: member="pp::TouchInputEvent::AddTouchPoint" ref="a0a323b8bd08e02d816b6fffa9b6299c0" args="(PP_TouchListType list, PP_TouchPoint point)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_touch_input_event.html#a0a323b8bd08e02d816b6fffa9b6299c0">pp::TouchInputEvent::AddTouchPoint</a> </td>
+<td>(</td>
+<td class="paramtype">PP_TouchListType </td>
+<td class="paramname"><em>list</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_TouchPoint </td>
+<td class="paramname"><em>point</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Adds the touch-point to the specified TouchList. </p>
+</div>
+</div>
+<a class="anchor" id="a66228762dbdfbb3404853a87c37b1736"></a><!-- doxytag: member="pp::TouchInputEvent::GetTouchById" ref="a66228762dbdfbb3404853a87c37b1736" args="(PP_TouchListType list, uint32_t id) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_touch_point.html">TouchPoint</a> <a class="el" href="classpp_1_1_touch_input_event.html#a66228762dbdfbb3404853a87c37b1736">pp::TouchInputEvent::GetTouchById</a> </td>
+<td>(</td>
+<td class="paramtype">PP_TouchListType </td>
+<td class="paramname"><em>list</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>id</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>The <a class="el" href="classpp_1_1_touch_point.html" title="Wrapper class for PP_TouchPoint.">TouchPoint</a> in the given list with the given identifier, or an empty <a class="el" href="classpp_1_1_touch_point.html" title="Wrapper class for PP_TouchPoint.">TouchPoint</a> if the list does not contain a <a class="el" href="classpp_1_1_touch_point.html" title="Wrapper class for PP_TouchPoint.">TouchPoint</a> with that identifier. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ac68cc82bbf2fcc88d449c5430cc02505"></a><!-- doxytag: member="pp::TouchInputEvent::GetTouchByIndex" ref="ac68cc82bbf2fcc88d449c5430cc02505" args="(PP_TouchListType list, uint32_t index) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_touch_point.html">TouchPoint</a> <a class="el" href="classpp_1_1_touch_input_event.html#ac68cc82bbf2fcc88d449c5430cc02505">pp::TouchInputEvent::GetTouchByIndex</a> </td>
+<td>(</td>
+<td class="paramtype">PP_TouchListType </td>
+<td class="paramname"><em>list</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>index</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>The <a class="el" href="classpp_1_1_touch_point.html" title="Wrapper class for PP_TouchPoint.">TouchPoint</a> at the given index of the given list, or an empty <a class="el" href="classpp_1_1_touch_point.html" title="Wrapper class for PP_TouchPoint.">TouchPoint</a> if the index is out of range. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a5bdc7a4cd409586cab33e509dad43461"></a><!-- doxytag: member="pp::TouchInputEvent::GetTouchCount" ref="a5bdc7a4cd409586cab33e509dad43461" args="(PP_TouchListType list) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="classpp_1_1_touch_input_event.html#a5bdc7a4cd409586cab33e509dad43461">pp::TouchInputEvent::GetTouchCount</a> </td>
+<td>(</td>
+<td class="paramtype">PP_TouchListType </td>
+<td class="paramname"><em>list</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>The number of TouchPoints in this TouchList. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="input__event_8h.html">input_event.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_touch_input_event__inherit__graph.png b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_touch_input_event__inherit__graph.png
new file mode 100644
index 0000000..5e6dced
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_touch_input_event__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_touch_point-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_touch_point-members.html
new file mode 100644
index 0000000..da79431
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_touch_point-members.html
@@ -0,0 +1,20 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_touch_point.html">pp::TouchPoint</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_touch_point.html#a9bc0e1ce3579b52927da1104646b994b">id</a>() const </td><td><a class="el" href="classpp_1_1_touch_point.html">pp::TouchPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_touch_point.html#aa4a407b747e9c523844eba4aaf861773">position</a>() const </td><td><a class="el" href="classpp_1_1_touch_point.html">pp::TouchPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_touch_point.html#a4e09d5e4a892da9f6b32c9986a25376c">pressure</a>() const </td><td><a class="el" href="classpp_1_1_touch_point.html">pp::TouchPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_touch_point.html#a92f3376a9db010e20bed4a5fe3e42f0f">radii</a>() const </td><td><a class="el" href="classpp_1_1_touch_point.html">pp::TouchPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_touch_point.html#a82c6f0f579e30d37d0f14cdbb3ca9177">rotation_angle</a>() const </td><td><a class="el" href="classpp_1_1_touch_point.html">pp::TouchPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_touch_point.html#a76b04de6cd756e80d3b039988faed697">TouchPoint</a>()</td><td><a class="el" href="classpp_1_1_touch_point.html">pp::TouchPoint</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_touch_point.html#affadca4389137e288a0a9a53019a2211">TouchPoint</a>(const PP_TouchPoint &point)</td><td><a class="el" href="classpp_1_1_touch_point.html">pp::TouchPoint</a></td><td><code> [inline]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_touch_point.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_touch_point.html
new file mode 100644
index 0000000..9f9fa25
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_touch_point.html
@@ -0,0 +1,143 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::TouchPoint Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::TouchPoint" -->
+<p><a href="classpp_1_1_touch_point-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_touch_point.html#a76b04de6cd756e80d3b039988faed697">TouchPoint</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_touch_point.html#affadca4389137e288a0a9a53019a2211">TouchPoint</a> (const PP_TouchPoint &point)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_touch_point.html#a9bc0e1ce3579b52927da1104646b994b">id</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_touch_point.html#aa4a407b747e9c523844eba4aaf861773">position</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_touch_point.html#a92f3376a9db010e20bed4a5fe3e42f0f">radii</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_touch_point.html#a82c6f0f579e30d37d0f14cdbb3ca9177">rotation_angle</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_touch_point.html#a4e09d5e4a892da9f6b32c9986a25376c">pressure</a> () const </td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Wrapper class for PP_TouchPoint. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a76b04de6cd756e80d3b039988faed697"></a><!-- doxytag: member="pp::TouchPoint::TouchPoint" ref="a76b04de6cd756e80d3b039988faed697" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_touch_point.html#a76b04de6cd756e80d3b039988faed697">pp::TouchPoint::TouchPoint</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="affadca4389137e288a0a9a53019a2211"></a><!-- doxytag: member="pp::TouchPoint::TouchPoint" ref="affadca4389137e288a0a9a53019a2211" args="(const PP_TouchPoint &point)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_touch_point.html#a76b04de6cd756e80d3b039988faed697">pp::TouchPoint::TouchPoint</a> </td>
+<td>(</td>
+<td class="paramtype">const PP_TouchPoint & </td>
+<td class="paramname"><em>point</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a9bc0e1ce3579b52927da1104646b994b"></a><!-- doxytag: member="pp::TouchPoint::id" ref="a9bc0e1ce3579b52927da1104646b994b" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="classpp_1_1_touch_point.html#a9bc0e1ce3579b52927da1104646b994b">pp::TouchPoint::id</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>The identifier for this <a class="el" href="classpp_1_1_touch_point.html" title="Wrapper class for PP_TouchPoint.">TouchPoint</a>. This corresponds to the order in which the points were pressed. For example, the first point to be pressed has an id of 0, the second has an id of 1, and so on. An id can be reused when a touch point is released. For example, if two fingers are down, with id 0 and 1, and finger 0 releases, the next finger to be pressed can be assigned to id 0. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aa4a407b747e9c523844eba4aaf861773"></a><!-- doxytag: member="pp::TouchPoint::position" ref="aa4a407b747e9c523844eba4aaf861773" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> <a class="el" href="classpp_1_1_touch_point.html#aa4a407b747e9c523844eba4aaf861773">pp::TouchPoint::position</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>The x-y coordinates of this <a class="el" href="classpp_1_1_touch_point.html" title="Wrapper class for PP_TouchPoint.">TouchPoint</a>, in DOM coordinate space. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a4e09d5e4a892da9f6b32c9986a25376c"></a><!-- doxytag: member="pp::TouchPoint::pressure" ref="a4e09d5e4a892da9f6b32c9986a25376c" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="classpp_1_1_touch_point.html#a4e09d5e4a892da9f6b32c9986a25376c">pp::TouchPoint::pressure</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>The pressure applied to this <a class="el" href="classpp_1_1_touch_point.html" title="Wrapper class for PP_TouchPoint.">TouchPoint</a>. This is typically a value between 0 and 1, with 0 indicating no pressure and 1 indicating some maximum pressure, but scaling differs depending on the hardware and the value is not guaranteed to stay within that range. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a92f3376a9db010e20bed4a5fe3e42f0f"></a><!-- doxytag: member="pp::TouchPoint::radii" ref="a92f3376a9db010e20bed4a5fe3e42f0f" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> <a class="el" href="classpp_1_1_touch_point.html#a92f3376a9db010e20bed4a5fe3e42f0f">pp::TouchPoint::radii</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>The elliptical radii, in screen pixels, in the x and y direction of this <a class="el" href="classpp_1_1_touch_point.html" title="Wrapper class for PP_TouchPoint.">TouchPoint</a>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a82c6f0f579e30d37d0f14cdbb3ca9177"></a><!-- doxytag: member="pp::TouchPoint::rotation_angle" ref="a82c6f0f579e30d37d0f14cdbb3ca9177" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="classpp_1_1_touch_point.html#a82c6f0f579e30d37d0f14cdbb3ca9177">pp::TouchPoint::rotation_angle</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>The angle of rotation of the elliptical model of this <a class="el" href="classpp_1_1_touch_point.html" title="Wrapper class for PP_TouchPoint.">TouchPoint</a> from the y-axis. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="touch__point_8h.html">touch_point.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_u_d_p_socket-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_u_d_p_socket-members.html
new file mode 100644
index 0000000..e46a9b6
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_u_d_p_socket-members.html
@@ -0,0 +1,37 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_u_d_p_socket.html">pp::UDPSocket</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_d_p_socket.html#a5f9b7edf613c59091eb66dc074d7f7c1">Bind</a>(const NetAddress &addr, const CompletionCallback &callback)</td><td><a class="el" href="classpp_1_1_u_d_p_socket.html">pp::UDPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_d_p_socket.html#aa1f03d8d0e7ef59c40724e2691f165f2">Close</a>()</td><td><a class="el" href="classpp_1_1_u_d_p_socket.html">pp::UDPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_d_p_socket.html#ae98c9decb3c3ea4ba1006943577b684d">GetBoundAddress</a>()</td><td><a class="el" href="classpp_1_1_u_d_p_socket.html">pp::UDPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_d_p_socket.html#a76a2e93f2fa01d0dce8d8216d53b4f44">IsAvailable</a>()</td><td><a class="el" href="classpp_1_1_u_d_p_socket.html">pp::UDPSocket</a></td><td><code> [static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_d_p_socket.html#a72112f67b757bbbfaaf67ae3cfe2f602">operator=</a>(const UDPSocket &other)</td><td><a class="el" href="classpp_1_1_u_d_p_socket.html">pp::UDPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">pp::Resource::operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_d_p_socket.html#a496b1742a9b4ef27d23c9b4b96b9fd0a">RecvFrom</a>(char *buffer, int32_t num_bytes, const CompletionCallbackWithOutput< NetAddress > &callback)</td><td><a class="el" href="classpp_1_1_u_d_p_socket.html">pp::UDPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_d_p_socket.html#a657309cd3bc38cf28e25f4c71190d1a0">SendTo</a>(const char *buffer, int32_t num_bytes, const NetAddress &addr, const CompletionCallback &callback)</td><td><a class="el" href="classpp_1_1_u_d_p_socket.html">pp::UDPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_d_p_socket.html#a5ff91fd2342e534b57980c0c2e414251">SetOption</a>(PP_UDPSocket_Option name, const Var &value, const CompletionCallback &callback)</td><td><a class="el" href="classpp_1_1_u_d_p_socket.html">pp::UDPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_d_p_socket.html#aba8a6c1b62bc3c8883296a9445131da5">UDPSocket</a>()</td><td><a class="el" href="classpp_1_1_u_d_p_socket.html">pp::UDPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_d_p_socket.html#aa2b691e69558b5d7d43a91bd61550b2c">UDPSocket</a>(const InstanceHandle &instance)</td><td><a class="el" href="classpp_1_1_u_d_p_socket.html">pp::UDPSocket</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_d_p_socket.html#ac824fba529205830d0c2c54a21ed449b">UDPSocket</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_u_d_p_socket.html">pp::UDPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_d_p_socket.html#a88fb9b2ed5c7726d0f4bf55948ef5be2">UDPSocket</a>(const UDPSocket &other)</td><td><a class="el" href="classpp_1_1_u_d_p_socket.html">pp::UDPSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_d_p_socket.html#a5fe143ce6bcaf1ac67748325acde1c50">~UDPSocket</a>()</td><td><a class="el" href="classpp_1_1_u_d_p_socket.html">pp::UDPSocket</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_u_d_p_socket.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_u_d_p_socket.html
new file mode 100644
index 0000000..ea4a652
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_u_d_p_socket.html
@@ -0,0 +1,407 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::UDPSocket Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::UDPSocket" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::UDPSocket:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_u_d_p_socket__inherit__graph.png" border="0" usemap="#pp_1_1_u_d_p_socket_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_u_d_p_socket_inherit__map" id="pp_1_1_u_d_p_socket_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="12,5,116,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_u_d_p_socket-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_d_p_socket.html#aba8a6c1b62bc3c8883296a9445131da5">UDPSocket</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_d_p_socket.html#aa2b691e69558b5d7d43a91bd61550b2c">UDPSocket</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_d_p_socket.html#ac824fba529205830d0c2c54a21ed449b">UDPSocket</a> (<a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a>, PP_Resource resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_d_p_socket.html#a88fb9b2ed5c7726d0f4bf55948ef5be2">UDPSocket</a> (const <a class="el" href="classpp_1_1_u_d_p_socket.html">UDPSocket</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_d_p_socket.html#a5fe143ce6bcaf1ac67748325acde1c50">~UDPSocket</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_u_d_p_socket.html">UDPSocket</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_d_p_socket.html#a72112f67b757bbbfaaf67ae3cfe2f602">operator=</a> (const <a class="el" href="classpp_1_1_u_d_p_socket.html">UDPSocket</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_d_p_socket.html#a5f9b7edf613c59091eb66dc074d7f7c1">Bind</a> (const <a class="el" href="classpp_1_1_net_address.html">NetAddress</a> &addr, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_net_address.html">NetAddress</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_d_p_socket.html#ae98c9decb3c3ea4ba1006943577b684d">GetBoundAddress</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_d_p_socket.html#a496b1742a9b4ef27d23c9b4b96b9fd0a">RecvFrom</a> (char *buffer, int32_t num_bytes, const <a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a>< <a class="el" href="classpp_1_1_net_address.html">NetAddress</a> > &callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_d_p_socket.html#a657309cd3bc38cf28e25f4c71190d1a0">SendTo</a> (const char *buffer, int32_t num_bytes, const <a class="el" href="classpp_1_1_net_address.html">NetAddress</a> &addr, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_d_p_socket.html#aa1f03d8d0e7ef59c40724e2691f165f2">Close</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_d_p_socket.html#a5ff91fd2342e534b57980c0c2e414251">SetOption</a> (PP_UDPSocket_Option name, const <a class="el" href="classpp_1_1_var.html">Var</a> &value, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &callback)</td></tr>
+</table><h2>
+Static Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_d_p_socket.html#a76a2e93f2fa01d0dce8d8216d53b4f44">IsAvailable</a> ()</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="classpp_1_1_u_d_p_socket.html" title="The UDPSocket class provides UDP socket operations.">UDPSocket</a></code> class provides UDP socket operations. </p>
+<p>Permissions: Apps permission <code>socket</code> with subrule <code>udp-bind</code> is required for <code><a class="el" href="classpp_1_1_u_d_p_socket.html#a5f9b7edf613c59091eb66dc074d7f7c1" title="Binds the socket to the given address.">Bind()</a></code>; subrule <code>udp-send-to</code> is required for <code><a class="el" href="classpp_1_1_u_d_p_socket.html#a657309cd3bc38cf28e25f4c71190d1a0" title="Sends data to a specific destination.">SendTo()</a></code>. For more details about network communication permissions, please see: <a href="http://developer.chrome.com/apps/app_network.html">http://developer.chrome.com/apps/app_network.html</a> </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="aba8a6c1b62bc3c8883296a9445131da5"></a><!-- doxytag: member="pp::UDPSocket::UDPSocket" ref="aba8a6c1b62bc3c8883296a9445131da5" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_u_d_p_socket.html#aba8a6c1b62bc3c8883296a9445131da5">pp::UDPSocket::UDPSocket</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor for creating an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> <code><a class="el" href="classpp_1_1_u_d_p_socket.html" title="The UDPSocket class provides UDP socket operations.">UDPSocket</a></code> object. </p>
+</div>
+</div>
+<a class="anchor" id="aa2b691e69558b5d7d43a91bd61550b2c"></a><!-- doxytag: member="pp::UDPSocket::UDPSocket" ref="aa2b691e69558b5d7d43a91bd61550b2c" args="(const InstanceHandle &instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_u_d_p_socket.html#aba8a6c1b62bc3c8883296a9445131da5">pp::UDPSocket::UDPSocket</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used to create a <code><a class="el" href="classpp_1_1_u_d_p_socket.html" title="The UDPSocket class provides UDP socket operations.">UDPSocket</a></code> object. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ac824fba529205830d0c2c54a21ed449b"></a><!-- doxytag: member="pp::UDPSocket::UDPSocket" ref="ac824fba529205830d0c2c54a21ed449b" args="(PassRef, PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_u_d_p_socket.html#aba8a6c1b62bc3c8883296a9445131da5">pp::UDPSocket::UDPSocket</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a> </td>
+<td class="paramname">, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>resource</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used when you have received a <code>PP_Resource</code> as a return value that has had 1 ref added for you. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PPB_UDPSocket</code> resource. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a88fb9b2ed5c7726d0f4bf55948ef5be2"></a><!-- doxytag: member="pp::UDPSocket::UDPSocket" ref="a88fb9b2ed5c7726d0f4bf55948ef5be2" args="(const UDPSocket &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_u_d_p_socket.html#aba8a6c1b62bc3c8883296a9445131da5">pp::UDPSocket::UDPSocket</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_u_d_p_socket.html">UDPSocket</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The copy constructor for <code><a class="el" href="classpp_1_1_u_d_p_socket.html" title="The UDPSocket class provides UDP socket operations.">UDPSocket</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A reference to another <code><a class="el" href="classpp_1_1_u_d_p_socket.html" title="The UDPSocket class provides UDP socket operations.">UDPSocket</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a5fe143ce6bcaf1ac67748325acde1c50"></a><!-- doxytag: member="pp::UDPSocket::~UDPSocket" ref="a5fe143ce6bcaf1ac67748325acde1c50" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_u_d_p_socket.html#a5fe143ce6bcaf1ac67748325acde1c50">pp::UDPSocket::~UDPSocket</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The destructor. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a5f9b7edf613c59091eb66dc074d7f7c1"></a><!-- doxytag: member="pp::UDPSocket::Bind" ref="a5f9b7edf613c59091eb66dc074d7f7c1" args="(const NetAddress &addr, const CompletionCallback &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_u_d_p_socket.html#a5f9b7edf613c59091eb66dc074d7f7c1">pp::UDPSocket::Bind</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_net_address.html">NetAddress</a> & </td>
+<td class="paramname"><em>addr</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>callback</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Binds the socket to the given address. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>A <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code> object. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. <code>PP_ERROR_NOACCESS</code> will be returned if the caller doesn't have required permissions. <code>PP_ERROR_ADDRESS_IN_USE</code> will be returned if the address is already in use. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aa1f03d8d0e7ef59c40724e2691f165f2"></a><!-- doxytag: member="pp::UDPSocket::Close" ref="aa1f03d8d0e7ef59c40724e2691f165f2" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_u_d_p_socket.html#aa1f03d8d0e7ef59c40724e2691f165f2">pp::UDPSocket::Close</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Cancels all pending reads and writes, and closes the socket. </p>
+<p>Any pending callbacks will still run, reporting <code>PP_ERROR_ABORTED</code> if pending IO was interrupted. After a call to this method, no output paramters passed into previous <code><a class="el" href="classpp_1_1_u_d_p_socket.html#a496b1742a9b4ef27d23c9b4b96b9fd0a" title="Receives data from the socket and stores the source address.">RecvFrom()</a></code> calls will be accessed. It is not valid to call <code><a class="el" href="classpp_1_1_u_d_p_socket.html#a5f9b7edf613c59091eb66dc074d7f7c1" title="Binds the socket to the given address.">Bind()</a></code> again.</p>
+<p>The socket is implicitly closed if it is destroyed, so you are not required to call this method. </p>
+</div>
+</div>
+<a class="anchor" id="ae98c9decb3c3ea4ba1006943577b684d"></a><!-- doxytag: member="pp::UDPSocket::GetBoundAddress" ref="ae98c9decb3c3ea4ba1006943577b684d" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_net_address.html">NetAddress</a> <a class="el" href="classpp_1_1_u_d_p_socket.html#ae98c9decb3c3ea4ba1006943577b684d">pp::UDPSocket::GetBoundAddress</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Get the address that the socket is bound to. </p>
+<p>The socket must be bound.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code> object. The object will be null (i.e., <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> returns true) on failure. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a76a2e93f2fa01d0dce8d8216d53b4f44"></a><!-- doxytag: member="pp::UDPSocket::IsAvailable" ref="a76a2e93f2fa01d0dce8d8216d53b4f44" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static bool <a class="el" href="classpp_1_1_u_d_p_socket.html#a76a2e93f2fa01d0dce8d8216d53b4f44">pp::UDPSocket::IsAvailable</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Static function for determining whether the browser supports the <code>PPB_UDPSocket</code> interface. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the interface is available, false otherwise. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a72112f67b757bbbfaaf67ae3cfe2f602"></a><!-- doxytag: member="pp::UDPSocket::operator=" ref="a72112f67b757bbbfaaf67ae3cfe2f602" args="(const UDPSocket &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_u_d_p_socket.html">UDPSocket</a>& pp::UDPSocket::operator= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_u_d_p_socket.html">UDPSocket</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The assignment operator for <code><a class="el" href="classpp_1_1_u_d_p_socket.html" title="The UDPSocket class provides UDP socket operations.">UDPSocket</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A reference to another <code><a class="el" href="classpp_1_1_u_d_p_socket.html" title="The UDPSocket class provides UDP socket operations.">UDPSocket</a></code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A reference to this <code><a class="el" href="classpp_1_1_u_d_p_socket.html" title="The UDPSocket class provides UDP socket operations.">UDPSocket</a></code> object. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a496b1742a9b4ef27d23c9b4b96b9fd0a"></a><!-- doxytag: member="pp::UDPSocket::RecvFrom" ref="a496b1742a9b4ef27d23c9b4b96b9fd0a" args="(char *buffer, int32_t num_bytes, const CompletionCallbackWithOutput< NetAddress > &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_u_d_p_socket.html#a496b1742a9b4ef27d23c9b4b96b9fd0a">pp::UDPSocket::RecvFrom</a> </td>
+<td>(</td>
+<td class="paramtype">char * </td>
+<td class="paramname"><em>buffer</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>num_bytes</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a>< <a class="el" href="classpp_1_1_net_address.html">NetAddress</a> > & </td>
+<td class="paramname"><em>callback</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Receives data from the socket and stores the source address. </p>
+<p>The socket must be bound.</p>
+<p><b>Caveat:</b> You should be careful about the lifetime of <code>buffer</code>. Typically you will use a <code><a class="el" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe...">CompletionCallbackFactory</a></code> to scope callbacks to the lifetime of your class. When your class goes out of scope, the callback factory will not actually cancel the operation, but will rather just skip issuing the callback on your class. This means that if the underlying <code>PPB_UDPSocket</code> resource outlives your class, the browser will still try to write into your buffer when the operation completes. The buffer must be kept valid until then to avoid memory corruption. If you want to release the buffer while the <code><a class="el" href="classpp_1_1_u_d_p_socket.html#a496b1742a9b4ef27d23c9b4b96b9fd0a" title="Receives data from the socket and stores the source address.">RecvFrom()</a></code> call is still pending, you should call <code><a class="el" href="classpp_1_1_u_d_p_socket.html#aa1f03d8d0e7ef59c40724e2691f165f2" title="Cancels all pending reads and writes, and closes the socket.">Close()</a></code> to ensure that the buffer won't be accessed in the future.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[out]</td><td class="paramname">buffer</td><td>The buffer to store the received data on success. It must be at least as large as <code>num_bytes</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">num_bytes</td><td>The number of bytes to receive. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A non-negative number on success to indicate how many bytes have been received; otherwise, an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a657309cd3bc38cf28e25f4c71190d1a0"></a><!-- doxytag: member="pp::UDPSocket::SendTo" ref="a657309cd3bc38cf28e25f4c71190d1a0" args="(const char *buffer, int32_t num_bytes, const NetAddress &addr, const CompletionCallback &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_u_d_p_socket.html#a657309cd3bc38cf28e25f4c71190d1a0">pp::UDPSocket::SendTo</a> </td>
+<td>(</td>
+<td class="paramtype">const char * </td>
+<td class="paramname"><em>buffer</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>num_bytes</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_net_address.html">NetAddress</a> & </td>
+<td class="paramname"><em>addr</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>callback</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sends data to a specific destination. </p>
+<p>The socket must be bound.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">buffer</td><td>The buffer containing the data to send. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">num_bytes</td><td>The number of bytes to send. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>A <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code> object holding the destination address. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A non-negative number on success to indicate how many bytes have been sent; otherwise, an error code from <code>pp_errors.h</code>. <code>PP_ERROR_NOACCESS</code> will be returned if the caller doesn't have required permissions. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a5ff91fd2342e534b57980c0c2e414251"></a><!-- doxytag: member="pp::UDPSocket::SetOption" ref="a5ff91fd2342e534b57980c0c2e414251" args="(PP_UDPSocket_Option name, const Var &value, const CompletionCallback &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_u_d_p_socket.html#a5ff91fd2342e534b57980c0c2e414251">pp::UDPSocket::SetOption</a> </td>
+<td>(</td>
+<td class="paramtype">PP_UDPSocket_Option </td>
+<td class="paramname"><em>name</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>value</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>callback</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sets a socket option on the UDP socket. </p>
+<p>Please see the <code>PP_UDPSocket_Option</code> description for option names, value types and allowed values.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>The option to set. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The option value to set. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="udp__socket_8h.html">udp_socket.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_u_d_p_socket__inherit__graph.png b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_u_d_p_socket__inherit__graph.png
new file mode 100644
index 0000000..50dcf00
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_u_d_p_socket__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_u_r_l_loader-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_u_r_l_loader-members.html
new file mode 100644
index 0000000..a383e22
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_u_r_l_loader-members.html
@@ -0,0 +1,36 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_u_r_l_loader.html">pp::URLLoader</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_loader.html#a43858cb7d3c64dc37128434e18a2ea1c">Close</a>()</td><td><a class="el" href="classpp_1_1_u_r_l_loader.html">pp::URLLoader</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_loader.html#a2e40e91e7a9ffca3f697497abef843f4">FinishStreamingToFile</a>(const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_u_r_l_loader.html">pp::URLLoader</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_loader.html#a411a79d6e9e5335ce31d187d137420af">FollowRedirect</a>(const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_u_r_l_loader.html">pp::URLLoader</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_loader.html#ada4a1757e7883912626e2ece85ec1c53">GetDownloadProgress</a>(int64_t *bytes_received, int64_t *total_bytes_to_be_received) const </td><td><a class="el" href="classpp_1_1_u_r_l_loader.html">pp::URLLoader</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_loader.html#a92757c9e1261280cb4f8fd65e0c8df6f">GetResponseInfo</a>() const </td><td><a class="el" href="classpp_1_1_u_r_l_loader.html">pp::URLLoader</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_loader.html#a5e3723f5c5d10394329899f75121faf1">GetUploadProgress</a>(int64_t *bytes_sent, int64_t *total_bytes_to_be_sent) const </td><td><a class="el" href="classpp_1_1_u_r_l_loader.html">pp::URLLoader</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_loader.html#afb72f38f30b94a2d5494225e364395b8">Open</a>(const URLRequestInfo &request_info, const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_u_r_l_loader.html">pp::URLLoader</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_loader.html#a907697c3c268a68eb3b4ca341aea4812">ReadResponseBody</a>(void *buffer, int32_t bytes_to_read, const CompletionCallback &cc)</td><td><a class="el" href="classpp_1_1_u_r_l_loader.html">pp::URLLoader</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_loader.html#a22b752c975a9302efa2eceb20ecf92ed">URLLoader</a>()</td><td><a class="el" href="classpp_1_1_u_r_l_loader.html">pp::URLLoader</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_loader.html#a187f5a2c8422c072c2a33bca4de9e39d">URLLoader</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_u_r_l_loader.html">pp::URLLoader</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_loader.html#a806606ad9e924708b69ae124b4c9d97d">URLLoader</a>(const InstanceHandle &instance)</td><td><a class="el" href="classpp_1_1_u_r_l_loader.html">pp::URLLoader</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_loader.html#ac590ce0a1992376bcf154c4e3cce1ab2">URLLoader</a>(const URLLoader &other)</td><td><a class="el" href="classpp_1_1_u_r_l_loader.html">pp::URLLoader</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_u_r_l_loader.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_u_r_l_loader.html
new file mode 100644
index 0000000..4487242
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_u_r_l_loader.html
@@ -0,0 +1,367 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::URLLoader Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::URLLoader" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::URLLoader:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_u_r_l_loader__inherit__graph.png" border="0" usemap="#pp_1_1_u_r_l_loader_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_u_r_l_loader_inherit__map" id="pp_1_1_u_r_l_loader_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="11,5,115,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_u_r_l_loader-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_loader.html#a22b752c975a9302efa2eceb20ecf92ed">URLLoader</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_loader.html#a187f5a2c8422c072c2a33bca4de9e39d">URLLoader</a> (PP_Resource resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_loader.html#a806606ad9e924708b69ae124b4c9d97d">URLLoader</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_loader.html#ac590ce0a1992376bcf154c4e3cce1ab2">URLLoader</a> (const <a class="el" href="classpp_1_1_u_r_l_loader.html">URLLoader</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_loader.html#afb72f38f30b94a2d5494225e364395b8">Open</a> (const <a class="el" href="classpp_1_1_u_r_l_request_info.html">URLRequestInfo</a> &request_info, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_loader.html#a411a79d6e9e5335ce31d187d137420af">FollowRedirect</a> (const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_loader.html#a5e3723f5c5d10394329899f75121faf1">GetUploadProgress</a> (int64_t *bytes_sent, int64_t *total_bytes_to_be_sent) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_loader.html#ada4a1757e7883912626e2ece85ec1c53">GetDownloadProgress</a> (int64_t *bytes_received, int64_t *total_bytes_to_be_received) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_u_r_l_response_info.html">URLResponseInfo</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_loader.html#a92757c9e1261280cb4f8fd65e0c8df6f">GetResponseInfo</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_loader.html#a907697c3c268a68eb3b4ca341aea4812">ReadResponseBody</a> (void *buffer, int32_t bytes_to_read, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_loader.html#a2e40e91e7a9ffca3f697497abef843f4">FinishStreamingToFile</a> (const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &cc)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_loader.html#a43858cb7d3c64dc37128434e18a2ea1c">Close</a> ()</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs.">URLLoader</a> provides an API for loading URLs. </p>
+<p>Refer to <code>ppapi/examples/url_loader/streaming.cc</code> for an example of how to use this class. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a22b752c975a9302efa2eceb20ecf92ed"></a><!-- doxytag: member="pp::URLLoader::URLLoader" ref="a22b752c975a9302efa2eceb20ecf92ed" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_u_r_l_loader.html#a22b752c975a9302efa2eceb20ecf92ed">pp::URLLoader::URLLoader</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor for creating an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> <code><a class="el" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs.">URLLoader</a></code> object. </p>
+</div>
+</div>
+<a class="anchor" id="a187f5a2c8422c072c2a33bca4de9e39d"></a><!-- doxytag: member="pp::URLLoader::URLLoader" ref="a187f5a2c8422c072c2a33bca4de9e39d" args="(PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_u_r_l_loader.html#a22b752c975a9302efa2eceb20ecf92ed">pp::URLLoader::URLLoader</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>resource</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used when a <code>PP_Resource</code> is provided as a return value whose reference count we need to increment. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a <code><a class="el" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs.">URLLoader</a></code> resource. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a806606ad9e924708b69ae124b4c9d97d"></a><!-- doxytag: member="pp::URLLoader::URLLoader" ref="a806606ad9e924708b69ae124b4c9d97d" args="(const InstanceHandle &instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_u_r_l_loader.html#a22b752c975a9302efa2eceb20ecf92ed">pp::URLLoader::URLLoader</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used to allocate a new <a class="el" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs.">URLLoader</a> in the browser. </p>
+<p>The resulting object will be <code>is_null</code> if the allocation failed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ac590ce0a1992376bcf154c4e3cce1ab2"></a><!-- doxytag: member="pp::URLLoader::URLLoader" ref="ac590ce0a1992376bcf154c4e3cce1ab2" args="(const URLLoader &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_u_r_l_loader.html#a22b752c975a9302efa2eceb20ecf92ed">pp::URLLoader::URLLoader</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_u_r_l_loader.html">URLLoader</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The copy constructor for <code><a class="el" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs.">URLLoader</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramname">other</td><td>A <code><a class="el" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs.">URLLoader</a></code> to be copied. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a43858cb7d3c64dc37128434e18a2ea1c"></a><!-- doxytag: member="pp::URLLoader::Close" ref="a43858cb7d3c64dc37128434e18a2ea1c" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_u_r_l_loader.html#a43858cb7d3c64dc37128434e18a2ea1c">pp::URLLoader::Close</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function is used to cancel any pending IO and close the <a class="el" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs.">URLLoader</a> object. </p>
+<p>Any pending callbacks will still run, reporting <code>PP_ERROR_ABORTED</code> if pending IO was interrupted. It is NOT valid to call <a class="el" href="classpp_1_1_u_r_l_loader.html#afb72f38f30b94a2d5494225e364395b8" title="This function begins loading the URLRequestInfo.">Open()</a> again after a call to this function.</p>
+<p><b>Note:</b> If the <code><a class="el" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs.">URLLoader</a></code> object is destroyed while it is still open, then it will be implicitly closed so you are not required to call <a class="el" href="classpp_1_1_u_r_l_loader.html#a43858cb7d3c64dc37128434e18a2ea1c" title="This function is used to cancel any pending IO and close the URLLoader object.">Close()</a>. </p>
+</div>
+</div>
+<a class="anchor" id="a2e40e91e7a9ffca3f697497abef843f4"></a><!-- doxytag: member="pp::URLLoader::FinishStreamingToFile" ref="a2e40e91e7a9ffca3f697497abef843f4" args="(const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_u_r_l_loader.html#a2e40e91e7a9ffca3f697497abef843f4">pp::URLLoader::FinishStreamingToFile</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function is used to wait for the response body to be completely downloaded to the file provided by the GetBodyAsFileRef() in the current <code><a class="el" href="classpp_1_1_u_r_l_response_info.html" title="URLResponseInfo provides an API for examining URL responses.">URLResponseInfo</a></code>. </p>
+<p>This function is only used if <code>PP_URLREQUESTPROPERTY_STREAMTOFILE</code> was set on the <code><a class="el" href="classpp_1_1_u_r_l_request_info.html" title="URLRequestInfo provides an API for creating and manipulating URL requests.">URLRequestInfo</a></code> passed to <a class="el" href="classpp_1_1_u_r_l_loader.html#afb72f38f30b94a2d5494225e364395b8" title="This function begins loading the URLRequestInfo.">Open()</a>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to run on asynchronous completion. This callback will run when body is downloaded or an error occurs after <a class="el" href="classpp_1_1_u_r_l_loader.html#a2e40e91e7a9ffca3f697497abef843f4" title="This function is used to wait for the response body to be completely downloaded to the file provided ...">FinishStreamingToFile()</a> returns <code>PP_OK_COMPLETIONPENDING</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing the number of bytes read or an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a411a79d6e9e5335ce31d187d137420af"></a><!-- doxytag: member="pp::URLLoader::FollowRedirect" ref="a411a79d6e9e5335ce31d187d137420af" args="(const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_u_r_l_loader.html#a411a79d6e9e5335ce31d187d137420af">pp::URLLoader::FollowRedirect</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function can be invoked to follow a redirect after <a class="el" href="classpp_1_1_u_r_l_loader.html#afb72f38f30b94a2d5494225e364395b8" title="This function begins loading the URLRequestInfo.">Open()</a> completed on receiving redirect headers. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to run on asynchronous completion of <a class="el" href="classpp_1_1_u_r_l_loader.html#a411a79d6e9e5335ce31d187d137420af" title="This function can be invoked to follow a redirect after Open() completed on receiving redirect header...">FollowRedirect()</a>. This callback will run when response headers for the redirect url are received or error occurred. This callback will only run if <a class="el" href="classpp_1_1_u_r_l_loader.html#a411a79d6e9e5335ce31d187d137420af" title="This function can be invoked to follow a redirect after Open() completed on receiving redirect header...">FollowRedirect()</a> returns <code>PP_OK_COMPLETIONPENDING</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ada4a1757e7883912626e2ece85ec1c53"></a><!-- doxytag: member="pp::URLLoader::GetDownloadProgress" ref="ada4a1757e7883912626e2ece85ec1c53" args="(int64_t *bytes_received, int64_t *total_bytes_to_be_received) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_loader.html#ada4a1757e7883912626e2ece85ec1c53">pp::URLLoader::GetDownloadProgress</a> </td>
+<td>(</td>
+<td class="paramtype">int64_t * </td>
+<td class="paramname"><em>bytes_received</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int64_t * </td>
+<td class="paramname"><em>total_bytes_to_be_received</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function returns the current download progress, which is meaningful after <a class="el" href="classpp_1_1_u_r_l_loader.html#afb72f38f30b94a2d5494225e364395b8" title="This function begins loading the URLRequestInfo.">Open()</a> has been called. </p>
+<p>Progress only refers to the response body and does not include the headers.</p>
+<p>This data is only available if the <code><a class="el" href="classpp_1_1_u_r_l_request_info.html" title="URLRequestInfo provides an API for creating and manipulating URL requests.">URLRequestInfo</a></code> passed to <a class="el" href="classpp_1_1_u_r_l_loader.html#afb72f38f30b94a2d5494225e364395b8" title="This function begins loading the URLRequestInfo.">Open()</a> had the <code>PP_URLREQUESTPROPERTY_REPORTDOWNLOADPROGRESS</code> property set to PP_TRUE.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">bytes_received</td><td>The number of bytes received thus far. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">total_bytes_to_be_received</td><td>The total number of bytes to be received. The total bytes to be received may be unknown, in which case <code>total_bytes_to_be_received</code> will be set to -1.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the download progress is available, false if it is not available. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a92757c9e1261280cb4f8fd65e0c8df6f"></a><!-- doxytag: member="pp::URLLoader::GetResponseInfo" ref="a92757c9e1261280cb4f8fd65e0c8df6f" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_u_r_l_response_info.html">URLResponseInfo</a> <a class="el" href="classpp_1_1_u_r_l_loader.html#a92757c9e1261280cb4f8fd65e0c8df6f">pp::URLLoader::GetResponseInfo</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This is a function that returns the current <code><a class="el" href="classpp_1_1_u_r_l_response_info.html" title="URLResponseInfo provides an API for examining URL responses.">URLResponseInfo</a></code> object. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_u_r_l_response_info.html" title="URLResponseInfo provides an API for examining URL responses.">URLResponseInfo</a></code> corresponding to the <code><a class="el" href="classpp_1_1_u_r_l_response_info.html" title="URLResponseInfo provides an API for examining URL responses.">URLResponseInfo</a></code> if successful, an <code>is_null</code> object if the loader is not a valid resource or if <a class="el" href="classpp_1_1_u_r_l_loader.html#afb72f38f30b94a2d5494225e364395b8" title="This function begins loading the URLRequestInfo.">Open()</a> has not been called. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a5e3723f5c5d10394329899f75121faf1"></a><!-- doxytag: member="pp::URLLoader::GetUploadProgress" ref="a5e3723f5c5d10394329899f75121faf1" args="(int64_t *bytes_sent, int64_t *total_bytes_to_be_sent) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_loader.html#a5e3723f5c5d10394329899f75121faf1">pp::URLLoader::GetUploadProgress</a> </td>
+<td>(</td>
+<td class="paramtype">int64_t * </td>
+<td class="paramname"><em>bytes_sent</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int64_t * </td>
+<td class="paramname"><em>total_bytes_to_be_sent</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function returns the current upload progress (which is only meaningful after <a class="el" href="classpp_1_1_u_r_l_loader.html#afb72f38f30b94a2d5494225e364395b8" title="This function begins loading the URLRequestInfo.">Open()</a> has been called). </p>
+<p>Progress only refers to the request body and does not include the headers.</p>
+<p>This data is only available if the <code><a class="el" href="classpp_1_1_u_r_l_request_info.html" title="URLRequestInfo provides an API for creating and manipulating URL requests.">URLRequestInfo</a></code> passed to <a class="el" href="classpp_1_1_u_r_l_loader.html#afb72f38f30b94a2d5494225e364395b8" title="This function begins loading the URLRequestInfo.">Open()</a> had the <code>PP_URLREQUESTPROPERTY_REPORTUPLOADPROGRESS</code> property set to <code>PP_TRUE</code>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">bytes_sent</td><td>The number of bytes sent thus far. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">total_bytes_to_be_sent</td><td>The total number of bytes to be sent.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the upload progress is available, false if it is not available. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="afb72f38f30b94a2d5494225e364395b8"></a><!-- doxytag: member="pp::URLLoader::Open" ref="afb72f38f30b94a2d5494225e364395b8" args="(const URLRequestInfo &request_info, const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_u_r_l_loader.html#afb72f38f30b94a2d5494225e364395b8">pp::URLLoader::Open</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_u_r_l_request_info.html">URLRequestInfo</a> & </td>
+<td class="paramname"><em>request_info</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function begins loading the <code><a class="el" href="classpp_1_1_u_r_l_request_info.html" title="URLRequestInfo provides an API for creating and manipulating URL requests.">URLRequestInfo</a></code>. </p>
+<p>The operation completes when response headers are received or when an error occurs. Use <a class="el" href="classpp_1_1_u_r_l_loader.html#a92757c9e1261280cb4f8fd65e0c8df6f" title="This is a function that returns the current URLResponseInfo object.">GetResponseInfo()</a> to access the response headers.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">request_info</td><td>A <code><a class="el" href="classpp_1_1_u_r_l_request_info.html" title="URLRequestInfo provides an API for creating and manipulating URL requests.">URLRequestInfo</a></code> corresponding to a <a class="el" href="classpp_1_1_u_r_l_request_info.html" title="URLRequestInfo provides an API for creating and manipulating URL requests.">URLRequestInfo</a>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to run on asynchronous completion of <a class="el" href="classpp_1_1_u_r_l_loader.html#afb72f38f30b94a2d5494225e364395b8" title="This function begins loading the URLRequestInfo.">Open()</a>. This callback will run when response headers for the url are received or error occurred. This callback will only run if <a class="el" href="classpp_1_1_u_r_l_loader.html#afb72f38f30b94a2d5494225e364395b8" title="This function begins loading the URLRequestInfo.">Open()</a> returns <code>PP_OK_COMPLETIONPENDING</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a907697c3c268a68eb3b4ca341aea4812"></a><!-- doxytag: member="pp::URLLoader::ReadResponseBody" ref="a907697c3c268a68eb3b4ca341aea4812" args="(void *buffer, int32_t bytes_to_read, const CompletionCallback &cc)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_u_r_l_loader.html#a907697c3c268a68eb3b4ca341aea4812">pp::URLLoader::ReadResponseBody</a> </td>
+<td>(</td>
+<td class="paramtype">void * </td>
+<td class="paramname"><em>buffer</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>bytes_to_read</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>cc</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function is used to read the response body. </p>
+<p>The size of the buffer must be large enough to hold the specified number of bytes to read. This function might perform a partial read.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in,out]</td><td class="paramname">buffer</td><td>A pointer to the buffer for the response body. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">bytes_to_read</td><td>The number of bytes to read. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to run on asynchronous completion. The callback will run if the bytes (full or partial) are read or an error occurs asynchronously. This callback will run only if this function returns <code>PP_OK_COMPLETIONPENDING</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing the number of bytes read or an error code from <code>pp_errors.h</code>. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="url__loader_8h.html">url_loader.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_u_r_l_loader__inherit__graph.png b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_u_r_l_loader__inherit__graph.png
new file mode 100644
index 0000000..49e12dc
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_u_r_l_loader__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_u_r_l_request_info-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_u_r_l_request_info-members.html
new file mode 100644
index 0000000..74f0ff2
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_u_r_l_request_info-members.html
@@ -0,0 +1,45 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#ab16f2efba1f2ddc434e2fc860dcbe900">AppendDataToBody</a>(const void *data, uint32_t len)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#a1ae72c8ac65a6cd6c174c8df238038fd">AppendFileRangeToBody</a>(const FileRef &file_ref, int64_t start_offset, int64_t length, PP_Time expected_last_modified_time=0)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#af19afd7e5849e68497f1e4f4b7400995">AppendFileToBody</a>(const FileRef &file_ref, PP_Time expected_last_modified_time=0)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#afa23501e503ee1787c4663d74f00d0c4">SetAllowCredentials</a>(bool enable)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#a39a5000e734a378d412fbe87e38dabe4">SetAllowCrossOriginRequests</a>(bool enable)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#af25b7f4b3aa00af49140921d28fa09c9">SetCustomContentTransferEncoding</a>(const Var &content_transfer_encoding)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#af6232dbb546c37c5438fadbada30353a">SetCustomReferrerURL</a>(const Var &url)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#aaaf79f763cd4d72c8507c2fa19b7fcaf">SetCustomUserAgent</a>(const Var &user_agent)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#a72dd5d3b335a429af0ffa266e338a110">SetFollowRedirects</a>(bool enable)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#a7105409f66e2eb5595eec0e0ae07c4f6">SetHeaders</a>(const Var &headers_string)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#abf4024d196a5139dbca2e95b9ab9bdb6">SetMethod</a>(const Var &method_string)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#a498fc64ad75ed2d44e33f2fdb3c0cad3">SetPrefetchBufferLowerThreshold</a>(int32_t size)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#aa2c6bb4f07e5372bd4b0ed49f9b67990">SetPrefetchBufferUpperThreshold</a>(int32_t size)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#a679c2c4a7247e0b0985595c24e61cf9c">SetProperty</a>(PP_URLRequestProperty property, const Var &value)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#aca69393ce31673c1cc5407d15774e310">SetRecordDownloadProgress</a>(bool enable)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#a52cfef994077173627a809bdf891e01a">SetRecordUploadProgress</a>(bool enable)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#a7bd36cb47bc0bc3579292f81581359b8">SetStreamToFile</a>(bool enable)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#a97cdeb02a63922704d47c585a4e2baaf">SetURL</a>(const Var &url_string)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#afd2068e004d90104cdc8472756d6131d">URLRequestInfo</a>()</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#a95ae0d638a82bcd18318ae6340735321">URLRequestInfo</a>(const InstanceHandle &instance)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_request_info.html#a6f52f41f98fa5917addd412417b7d5d4">URLRequestInfo</a>(const URLRequestInfo &other)</td><td><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_u_r_l_request_info.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_u_r_l_request_info.html
new file mode 100644
index 0000000..af247c5
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_u_r_l_request_info.html
@@ -0,0 +1,624 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::URLRequestInfo Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::URLRequestInfo" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::URLRequestInfo:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_u_r_l_request_info__inherit__graph.png" border="0" usemap="#pp_1_1_u_r_l_request_info_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_u_r_l_request_info_inherit__map" id="pp_1_1_u_r_l_request_info_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="25,5,129,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_u_r_l_request_info-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#afd2068e004d90104cdc8472756d6131d">URLRequestInfo</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#a95ae0d638a82bcd18318ae6340735321">URLRequestInfo</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#a6f52f41f98fa5917addd412417b7d5d4">URLRequestInfo</a> (const <a class="el" href="classpp_1_1_u_r_l_request_info.html">URLRequestInfo</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#a679c2c4a7247e0b0985595c24e61cf9c">SetProperty</a> (PP_URLRequestProperty property, const <a class="el" href="classpp_1_1_var.html">Var</a> &value)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#ab16f2efba1f2ddc434e2fc860dcbe900">AppendDataToBody</a> (const void *data, uint32_t len)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#af19afd7e5849e68497f1e4f4b7400995">AppendFileToBody</a> (const <a class="el" href="classpp_1_1_file_ref.html">FileRef</a> &file_ref, PP_Time expected_last_modified_time=0)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#a1ae72c8ac65a6cd6c174c8df238038fd">AppendFileRangeToBody</a> (const <a class="el" href="classpp_1_1_file_ref.html">FileRef</a> &file_ref, int64_t start_offset, int64_t length, PP_Time expected_last_modified_time=0)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#a97cdeb02a63922704d47c585a4e2baaf">SetURL</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &url_string)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#abf4024d196a5139dbca2e95b9ab9bdb6">SetMethod</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &method_string)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#a7105409f66e2eb5595eec0e0ae07c4f6">SetHeaders</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &headers_string)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#a7bd36cb47bc0bc3579292f81581359b8">SetStreamToFile</a> (bool enable)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#a72dd5d3b335a429af0ffa266e338a110">SetFollowRedirects</a> (bool enable)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#aca69393ce31673c1cc5407d15774e310">SetRecordDownloadProgress</a> (bool enable)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#a52cfef994077173627a809bdf891e01a">SetRecordUploadProgress</a> (bool enable)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#af6232dbb546c37c5438fadbada30353a">SetCustomReferrerURL</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &url)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#a39a5000e734a378d412fbe87e38dabe4">SetAllowCrossOriginRequests</a> (bool enable)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#afa23501e503ee1787c4663d74f00d0c4">SetAllowCredentials</a> (bool enable)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#af25b7f4b3aa00af49140921d28fa09c9">SetCustomContentTransferEncoding</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &content_transfer_encoding)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#aa2c6bb4f07e5372bd4b0ed49f9b67990">SetPrefetchBufferUpperThreshold</a> (int32_t size)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#a498fc64ad75ed2d44e33f2fdb3c0cad3">SetPrefetchBufferLowerThreshold</a> (int32_t size)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html#aaaf79f763cd4d72c8507c2fa19b7fcaf">SetCustomUserAgent</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &user_agent)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="classpp_1_1_u_r_l_request_info.html" title="URLRequestInfo provides an API for creating and manipulating URL requests.">URLRequestInfo</a> provides an API for creating and manipulating URL requests. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="afd2068e004d90104cdc8472756d6131d"></a><!-- doxytag: member="pp::URLRequestInfo::URLRequestInfo" ref="afd2068e004d90104cdc8472756d6131d" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_u_r_l_request_info.html#afd2068e004d90104cdc8472756d6131d">pp::URLRequestInfo::URLRequestInfo</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor. </p>
+<p>This constructor creates an <code>is_null</code> resource. </p>
+</div>
+</div>
+<a class="anchor" id="a95ae0d638a82bcd18318ae6340735321"></a><!-- doxytag: member="pp::URLRequestInfo::URLRequestInfo" ref="a95ae0d638a82bcd18318ae6340735321" args="(const InstanceHandle &instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_u_r_l_request_info.html#afd2068e004d90104cdc8472756d6131d">pp::URLRequestInfo::URLRequestInfo</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used to allocate a new <code><a class="el" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs.">URLLoader</a></code> in the browser. </p>
+<p>The resulting object will be <code>is_null</code> if the allocation failed.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a6f52f41f98fa5917addd412417b7d5d4"></a><!-- doxytag: member="pp::URLRequestInfo::URLRequestInfo" ref="a6f52f41f98fa5917addd412417b7d5d4" args="(const URLRequestInfo &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_u_r_l_request_info.html#afd2068e004d90104cdc8472756d6131d">pp::URLRequestInfo::URLRequestInfo</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_u_r_l_request_info.html">URLRequestInfo</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The copy constructor for <code><a class="el" href="classpp_1_1_u_r_l_request_info.html" title="URLRequestInfo provides an API for creating and manipulating URL requests.">URLRequestInfo</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A <code><a class="el" href="classpp_1_1_u_r_l_request_info.html" title="URLRequestInfo provides an API for creating and manipulating URL requests.">URLRequestInfo</a></code> to be copied. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="ab16f2efba1f2ddc434e2fc860dcbe900"></a><!-- doxytag: member="pp::URLRequestInfo::AppendDataToBody" ref="ab16f2efba1f2ddc434e2fc860dcbe900" args="(const void *data, uint32_t len)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_request_info.html#ab16f2efba1f2ddc434e2fc860dcbe900">pp::URLRequestInfo::AppendDataToBody</a> </td>
+<td>(</td>
+<td class="paramtype">const void * </td>
+<td class="paramname"><em>data</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>len</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_u_r_l_request_info.html#ab16f2efba1f2ddc434e2fc860dcbe900" title="AppendDataToBody() appends data to the request body.">AppendDataToBody()</a> appends data to the request body. </p>
+<p>A content-length request header will be automatically generated.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>A pointer to a buffer holding the data. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>The length, in bytes, of the data.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, false if any of the parameters are invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a1ae72c8ac65a6cd6c174c8df238038fd"></a><!-- doxytag: member="pp::URLRequestInfo::AppendFileRangeToBody" ref="a1ae72c8ac65a6cd6c174c8df238038fd" args="(const FileRef &file_ref, int64_t start_offset, int64_t length, PP_Time expected_last_modified_time=0)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_request_info.html#a1ae72c8ac65a6cd6c174c8df238038fd">pp::URLRequestInfo::AppendFileRangeToBody</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_file_ref.html">FileRef</a> & </td>
+<td class="paramname"><em>file_ref</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int64_t </td>
+<td class="paramname"><em>start_offset</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int64_t </td>
+<td class="paramname"><em>length</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_Time </td>
+<td class="paramname"><em>expected_last_modified_time</em> = <code>0</code> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_u_r_l_request_info.html#a1ae72c8ac65a6cd6c174c8df238038fd" title="AppendFileRangeToBody() is a pointer to a function used to append part or all of a file...">AppendFileRangeToBody()</a> is a pointer to a function used to append part or all of a file, to be uploaded, to the request body. </p>
+<p>A content-length request header will be automatically generated.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_ref</td><td>A <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code> containing the file reference. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">start_offset</td><td>An optional starting point offset within the file. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>An optional number of bytes of the file to be included. If the value is -1, then the sub-range to upload extends to the end of the file. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">expected_last_modified_time</td><td>An optional (non-zero) last modified time stamp used to validate that the file was not modified since the given time before it was uploaded. The upload will fail with an error code of <code>PP_ERROR_FILECHANGED</code> if the file has been modified since the given time. If expected_last_modified_time is 0, then no validation is performed.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, false if any of the parameters are invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="af19afd7e5849e68497f1e4f4b7400995"></a><!-- doxytag: member="pp::URLRequestInfo::AppendFileToBody" ref="af19afd7e5849e68497f1e4f4b7400995" args="(const FileRef &file_ref, PP_Time expected_last_modified_time=0)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_request_info.html#af19afd7e5849e68497f1e4f4b7400995">pp::URLRequestInfo::AppendFileToBody</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_file_ref.html">FileRef</a> & </td>
+<td class="paramname"><em>file_ref</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_Time </td>
+<td class="paramname"><em>expected_last_modified_time</em> = <code>0</code> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_u_r_l_request_info.html#af19afd7e5849e68497f1e4f4b7400995" title="AppendFileToBody() is used to append an entire file, to be uploaded, to the request body...">AppendFileToBody()</a> is used to append an entire file, to be uploaded, to the request body. </p>
+<p>A content-length request header will be automatically generated.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">file_ref</td><td>A <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code> containing the file reference. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">expected_last_modified_time</td><td>An optional (non-zero) last modified time stamp used to validate that the file was not modified since the given time before it was uploaded. The upload will fail with an error code of <code>PP_ERROR_FILECHANGED</code> if the file has been modified since the given time. If expected_last_modified_time is 0, then no validation is performed.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, false if any of the parameters are invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="afa23501e503ee1787c4663d74f00d0c4"></a><!-- doxytag: member="pp::URLRequestInfo::SetAllowCredentials" ref="afa23501e503ee1787c4663d74f00d0c4" args="(bool enable)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_request_info.html#afa23501e503ee1787c4663d74f00d0c4">pp::URLRequestInfo::SetAllowCredentials</a> </td>
+<td>(</td>
+<td class="paramtype">bool </td>
+<td class="paramname"><em>enable</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_u_r_l_request_info.html#afa23501e503ee1787c4663d74f00d0c4" title="SetAllowCredentials() sets the PP_URLREQUESTPROPERTY_ALLOWCREDENTIALS (corresponding to a bool of typ...">SetAllowCredentials()</a> sets the <code>PP_URLREQUESTPROPERTY_ALLOWCREDENTIALS</code> (corresponding to a bool of type <code>PP_VARTYPE_BOOL</code>). </p>
+<p>The default of the property is false. Whether HTTP credentials are sent with cross-origin requests. If false, no credentials are sent with the request and cookies are ignored in the response. If the request is not cross-origin, this property is ignored.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">enable</td><td>A <code>bool</code> containing the property value.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, false if the parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a39a5000e734a378d412fbe87e38dabe4"></a><!-- doxytag: member="pp::URLRequestInfo::SetAllowCrossOriginRequests" ref="a39a5000e734a378d412fbe87e38dabe4" args="(bool enable)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_request_info.html#a39a5000e734a378d412fbe87e38dabe4">pp::URLRequestInfo::SetAllowCrossOriginRequests</a> </td>
+<td>(</td>
+<td class="paramtype">bool </td>
+<td class="paramname"><em>enable</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_u_r_l_request_info.html#a39a5000e734a378d412fbe87e38dabe4" title="SetAllowCrossOriginRequests() sets the PP_URLREQUESTPROPERTY_ALLOWCROSSORIGINREQUESTS (corresponding ...">SetAllowCrossOriginRequests()</a> sets the <code>PP_URLREQUESTPROPERTY_ALLOWCROSSORIGINREQUESTS</code> (corresponding to a bool of type <code>PP_VARTYPE_BOOL</code>). </p>
+<p>The default of the property is false. Whether cross-origin requests are allowed. Cross-origin requests are made using the CORS (Cross-Origin <a class="el" href="classpp_1_1_resource.html" title="A reference counted module resource.">Resource</a> Sharing) algorithm to check whether the request should be allowed. For the complete CORS algorithm, refer to the <a href="http://www.w3.org/TR/access-control">Cross-Origin Resource Sharing</a> documentation.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">enable</td><td>A <code>bool</code> containing the property value.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, false if the parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="af25b7f4b3aa00af49140921d28fa09c9"></a><!-- doxytag: member="pp::URLRequestInfo::SetCustomContentTransferEncoding" ref="af25b7f4b3aa00af49140921d28fa09c9" args="(const Var &content_transfer_encoding)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_request_info.html#af25b7f4b3aa00af49140921d28fa09c9">pp::URLRequestInfo::SetCustomContentTransferEncoding</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>content_transfer_encoding</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_u_r_l_request_info.html#af25b7f4b3aa00af49140921d28fa09c9" title="SetCustomContentTransferEncoding() sets the PP_URLREQUESTPROPERTY_CUSTOMCONTENTTRANSFERENCODING (corr...">SetCustomContentTransferEncoding()</a> sets the <code>PP_URLREQUESTPROPERTY_CUSTOMCONTENTTRANSFERENCODING</code> (corresponding to a string of type <code>PP_VARTYPE_STRING</code> or might be set to undefined as <code>PP_VARTYPE_UNDEFINED</code>). </p>
+<p>Set it to a string to set a custom content-transfer-encoding header (if empty, that header will be omitted), or to undefined to use the default (if any). Only loaders with universal access (only available on trusted implementations) will accept <code><a class="el" href="classpp_1_1_u_r_l_request_info.html" title="URLRequestInfo provides an API for creating and manipulating URL requests.">URLRequestInfo</a></code> objects that try to set a custom content transfer encoding; if given to a loader without universal access, <code>PP_ERROR_BADARGUMENT</code> will result.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">content_transfer_encoding</td><td>A <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing the property value. To use the default content transfer encoding, set <code>content_transfer_encoding</code> to an undefined <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, false if the parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="af6232dbb546c37c5438fadbada30353a"></a><!-- doxytag: member="pp::URLRequestInfo::SetCustomReferrerURL" ref="af6232dbb546c37c5438fadbada30353a" args="(const Var &url)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_request_info.html#af6232dbb546c37c5438fadbada30353a">pp::URLRequestInfo::SetCustomReferrerURL</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>url</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_u_r_l_request_info.html#af6232dbb546c37c5438fadbada30353a" title="SetCustomReferrerURL() sets the PP_URLREQUESTPROPERTY_CUSTOMREFERRERURL (corresponding to a string of...">SetCustomReferrerURL()</a> sets the <code>PP_URLREQUESTPROPERTY_CUSTOMREFERRERURL</code> (corresponding to a string of type <code>PP_VARTYPE_STRING</code> or might be set to undefined as <code>PP_VARTYPE_UNDEFINED</code>). </p>
+<p>Set it to a string to set a custom referrer (if empty, the referrer header will be omitted), or to undefined to use the default referrer. Only loaders with universal access (only available on trusted implementations) will accept <code><a class="el" href="classpp_1_1_u_r_l_request_info.html" title="URLRequestInfo provides an API for creating and manipulating URL requests.">URLRequestInfo</a></code> objects that try to set a custom referrer; if given to a loader without universal access, <code>PP_ERROR_BADARGUMENT</code> will result.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">url</td><td>A <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing the property value.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, false if the parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aaaf79f763cd4d72c8507c2fa19b7fcaf"></a><!-- doxytag: member="pp::URLRequestInfo::SetCustomUserAgent" ref="aaaf79f763cd4d72c8507c2fa19b7fcaf" args="(const Var &user_agent)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_request_info.html#aaaf79f763cd4d72c8507c2fa19b7fcaf">pp::URLRequestInfo::SetCustomUserAgent</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>user_agent</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_u_r_l_request_info.html#aaaf79f763cd4d72c8507c2fa19b7fcaf" title="SetCustomUserAgent() sets the PP_URLREQUESTPROPERTY_CUSTOMUSERAGENT (corresponding to a string of typ...">SetCustomUserAgent()</a> sets the <code>PP_URLREQUESTPROPERTY_CUSTOMUSERAGENT</code> (corresponding to a string of type <code>PP_VARTYPE_STRING</code> or might be set to undefined as <code>PP_VARTYPE_UNDEFINED</code>). </p>
+<p>Set it to a string to set a custom user-agent header (if empty, that header will be omitted), or to undefined to use the default. Only loaders with universal access (only available on trusted implementations) will accept <code><a class="el" href="classpp_1_1_u_r_l_request_info.html" title="URLRequestInfo provides an API for creating and manipulating URL requests.">URLRequestInfo</a></code> objects that try to set a custom user agent; if given to a loader without universal access, <code>PP_ERROR_BADARGUMENT</code> will result.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">user_agent</td><td>A <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing the property value. To use the default user agent, set <code>user_agent</code> to an undefined <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, false if the parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a72dd5d3b335a429af0ffa266e338a110"></a><!-- doxytag: member="pp::URLRequestInfo::SetFollowRedirects" ref="a72dd5d3b335a429af0ffa266e338a110" args="(bool enable)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_request_info.html#a72dd5d3b335a429af0ffa266e338a110">pp::URLRequestInfo::SetFollowRedirects</a> </td>
+<td>(</td>
+<td class="paramtype">bool </td>
+<td class="paramname"><em>enable</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_u_r_l_request_info.html#a72dd5d3b335a429af0ffa266e338a110" title="SetFollowRedirects() sets the PP_URLREQUESTPROPERTY_FOLLOWREDIRECT (corresponding to a bool of type P...">SetFollowRedirects()</a> sets the <code>PP_URLREQUESTPROPERTY_FOLLOWREDIRECT</code> (corresponding to a bool of type <code>PP_VARTYPE_BOOL</code>). </p>
+<p>The default of the property is true. Set this value to false if you want to use URLLoader::FollowRedirects() to follow the redirects only after examining redirect headers.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">enable</td><td>A <code>bool</code> containing the property value.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, false if the parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a7105409f66e2eb5595eec0e0ae07c4f6"></a><!-- doxytag: member="pp::URLRequestInfo::SetHeaders" ref="a7105409f66e2eb5595eec0e0ae07c4f6" args="(const Var &headers_string)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_request_info.html#a7105409f66e2eb5595eec0e0ae07c4f6">pp::URLRequestInfo::SetHeaders</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>headers_string</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_u_r_l_request_info.html#a7105409f66e2eb5595eec0e0ae07c4f6" title="SetHeaders() sets the PP_URLREQUESTPROPERTY_HEADERS (corresponding to a delimited string of type PP...">SetHeaders()</a> sets the <code>PP_URLREQUESTPROPERTY_HEADERS</code> (corresponding to a <code><br />
+</code> delimited string of type <code>PP_VARTYPE_STRING</code>) property for the request. </p>
+<p>Refer to the <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html"Header Field Definitions documentation for further information.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">headers_string</td><td>A <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing the property value.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, false if the parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="abf4024d196a5139dbca2e95b9ab9bdb6"></a><!-- doxytag: member="pp::URLRequestInfo::SetMethod" ref="abf4024d196a5139dbca2e95b9ab9bdb6" args="(const Var &method_string)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_request_info.html#abf4024d196a5139dbca2e95b9ab9bdb6">pp::URLRequestInfo::SetMethod</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>method_string</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_u_r_l_request_info.html#abf4024d196a5139dbca2e95b9ab9bdb6" title="SetMethod() sets the PP_URLREQUESTPROPERTY_METHOD (corresponding to a string of type PP_VARTYPE_STRIN...">SetMethod()</a> sets the <code>PP_URLREQUESTPROPERTY_METHOD</code> (corresponding to a string of type <code>PP_VARTYPE_STRING</code>) property for the request. </p>
+<p>This string is either a POST or GET. Refer to the <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html">HTTP Methods</a> documentation for further information.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">method_string</td><td>A <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing the property value.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, false if the parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a498fc64ad75ed2d44e33f2fdb3c0cad3"></a><!-- doxytag: member="pp::URLRequestInfo::SetPrefetchBufferLowerThreshold" ref="a498fc64ad75ed2d44e33f2fdb3c0cad3" args="(int32_t size)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_request_info.html#a498fc64ad75ed2d44e33f2fdb3c0cad3">pp::URLRequestInfo::SetPrefetchBufferLowerThreshold</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>size</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_u_r_l_request_info.html#a498fc64ad75ed2d44e33f2fdb3c0cad3" title="SetPrefetchBufferLowerThreshold() sets the PP_URLREQUESTPROPERTY_PREFETCHBUFFERLOWERTHRESHOLD (corres...">SetPrefetchBufferLowerThreshold()</a> sets the <code>PP_URLREQUESTPROPERTY_PREFETCHBUFFERLOWERTHRESHOLD</code> (corresponding to a integer of type <code>PP_VARTYPE_INT32</code>). </p>
+<p>The default is not defined and is set by the browser to a value appropriate for the default <code>PP_URLREQUESTPROPERTY_PREFETCHBUFFERUPPERTHRESHOLD</code>. Set it to an integer to set a lower threshold for the prefetched buffer of an asynchronous load. When reached, the browser will resume loading if If <code>PP_URLREQUESTPROPERTY_PREFETCHBUFFERLOWERERTHRESHOLD</code> had previously been reached. When setting this property, <code>PP_URLREQUESTPROPERTY_PREFETCHBUFFERUPPERTHRESHOLD</code> must also be set. Behavior is undefined if the former is >= the latter.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>An int32_t containing the property value.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, false if the parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aa2c6bb4f07e5372bd4b0ed49f9b67990"></a><!-- doxytag: member="pp::URLRequestInfo::SetPrefetchBufferUpperThreshold" ref="aa2c6bb4f07e5372bd4b0ed49f9b67990" args="(int32_t size)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_request_info.html#aa2c6bb4f07e5372bd4b0ed49f9b67990">pp::URLRequestInfo::SetPrefetchBufferUpperThreshold</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>size</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_u_r_l_request_info.html#aa2c6bb4f07e5372bd4b0ed49f9b67990" title="SetPrefetchBufferUpperThreshold() sets the PP_URLREQUESTPROPERTY_PREFETCHBUFFERUPPERTHRESHOLD (corres...">SetPrefetchBufferUpperThreshold()</a> sets the <code>PP_URLREQUESTPROPERTY_PREFETCHBUFFERUPPERTHRESHOLD</code> (corresponding to a integer of type <code>PP_VARTYPE_INT32</code>). </p>
+<p>The default is not defined and is set by the browser possibly depending on system capabilities. Set it to an integer to set an upper threshold for the prefetched buffer of an asynchronous load. When exceeded, the browser will defer loading until <code>PP_URLREQUESTPROPERTY_PREFETCHBUFFERLOWERERTHRESHOLD</code> is hit, at which time it will begin prefetching again. When setting this property, <code>PP_URLREQUESTPROPERTY_PREFETCHBUFFERLOWERERTHRESHOLD</code> must also be set. Behavior is undefined if the former is <= the latter.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>An int32_t containing the property value.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, false if the parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a679c2c4a7247e0b0985595c24e61cf9c"></a><!-- doxytag: member="pp::URLRequestInfo::SetProperty" ref="a679c2c4a7247e0b0985595c24e61cf9c" args="(PP_URLRequestProperty property, const Var &value)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_request_info.html#a679c2c4a7247e0b0985595c24e61cf9c">pp::URLRequestInfo::SetProperty</a> </td>
+<td>(</td>
+<td class="paramtype">PP_URLRequestProperty </td>
+<td class="paramname"><em>property</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>value</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_u_r_l_request_info.html#a679c2c4a7247e0b0985595c24e61cf9c" title="SetProperty() sets a request property.">SetProperty()</a> sets a request property. </p>
+<p>The value of the property must be the correct type according to the property being set.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">property</td><td>A <code>PP_URLRequestProperty</code> identifying the property to set. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>A <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing the property value.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, false if any of the parameters are invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aca69393ce31673c1cc5407d15774e310"></a><!-- doxytag: member="pp::URLRequestInfo::SetRecordDownloadProgress" ref="aca69393ce31673c1cc5407d15774e310" args="(bool enable)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_request_info.html#aca69393ce31673c1cc5407d15774e310">pp::URLRequestInfo::SetRecordDownloadProgress</a> </td>
+<td>(</td>
+<td class="paramtype">bool </td>
+<td class="paramname"><em>enable</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_u_r_l_request_info.html#aca69393ce31673c1cc5407d15774e310" title="SetRecordDownloadProgress() sets the PP_URLREQUESTPROPERTY_RECORDDOWNLOADPROGESS (corresponding to a ...">SetRecordDownloadProgress()</a> sets the <code>PP_URLREQUESTPROPERTY_RECORDDOWNLOADPROGESS</code> (corresponding to a bool of type <code>PP_VARTYPE_BOOL</code>). </p>
+<p>The default of the property is false. Set this value to true if you want to be able to poll the download progress using <a class="el" href="classpp_1_1_u_r_l_loader.html#ada4a1757e7883912626e2ece85ec1c53" title="This function returns the current download progress, which is meaningful after Open() has been called...">URLLoader::GetDownloadProgress()</a>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">enable</td><td>A <code>bool</code> containing the property value.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, false if the parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a52cfef994077173627a809bdf891e01a"></a><!-- doxytag: member="pp::URLRequestInfo::SetRecordUploadProgress" ref="a52cfef994077173627a809bdf891e01a" args="(bool enable)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_request_info.html#a52cfef994077173627a809bdf891e01a">pp::URLRequestInfo::SetRecordUploadProgress</a> </td>
+<td>(</td>
+<td class="paramtype">bool </td>
+<td class="paramname"><em>enable</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_u_r_l_request_info.html#a52cfef994077173627a809bdf891e01a" title="SetRecordUploadProgress() sets the PP_URLREQUESTPROPERTY_RECORDUPLOADPROGRESS (corresponding to a boo...">SetRecordUploadProgress()</a> sets the <code>PP_URLREQUESTPROPERTY_RECORDUPLOADPROGRESS</code> (corresponding to a bool of type <code>PP_VARTYPE_BOOL</code>). </p>
+<p>The default of the property is false. Set this value to true if you want to be able to poll the upload progress using <a class="el" href="classpp_1_1_u_r_l_loader.html#a5e3723f5c5d10394329899f75121faf1" title="This function returns the current upload progress (which is only meaningful after Open() has been cal...">URLLoader::GetUploadProgress()</a>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">enable</td><td>A <code>bool</code> containing the property value.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, false if the parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a7bd36cb47bc0bc3579292f81581359b8"></a><!-- doxytag: member="pp::URLRequestInfo::SetStreamToFile" ref="a7bd36cb47bc0bc3579292f81581359b8" args="(bool enable)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_request_info.html#a7bd36cb47bc0bc3579292f81581359b8">pp::URLRequestInfo::SetStreamToFile</a> </td>
+<td>(</td>
+<td class="paramtype">bool </td>
+<td class="paramname"><em>enable</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_u_r_l_request_info.html#a7bd36cb47bc0bc3579292f81581359b8" title="SetStreamToFile() sets the PP_URLREQUESTPROPERTY_STREAMTOFILE (corresponding to a bool of type PP_VAR...">SetStreamToFile()</a> sets the <code>PP_URLREQUESTPROPERTY_STREAMTOFILE</code> (corresponding to a bool of type <code>PP_VARTYPE_BOOL</code>). </p>
+<p>The default of the property is false. Set this value to true if you want to download the data to a file. Use URL_Loader::FinishStreamingToFile() to complete the download.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">enable</td><td>A <code>bool</code> containing the property value.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, false if the parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a97cdeb02a63922704d47c585a4e2baaf"></a><!-- doxytag: member="pp::URLRequestInfo::SetURL" ref="a97cdeb02a63922704d47c585a4e2baaf" args="(const Var &url_string)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_u_r_l_request_info.html#a97cdeb02a63922704d47c585a4e2baaf">pp::URLRequestInfo::SetURL</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>url_string</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_u_r_l_request_info.html#a97cdeb02a63922704d47c585a4e2baaf" title="SetURL() sets the PP_URLREQUESTPROPERTY_URL property for the request.">SetURL()</a> sets the <code>PP_URLREQUESTPROPERTY_URL</code> property for the request. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">url_string</td><td>A <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing the property value.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if successful, false if the parameter is invalid. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="url__request__info_8h.html">url_request_info.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_u_r_l_request_info__inherit__graph.png b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_u_r_l_request_info__inherit__graph.png
new file mode 100644
index 0000000..d1a4f77e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_u_r_l_request_info__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_u_r_l_response_info-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_u_r_l_response_info-members.html
new file mode 100644
index 0000000..8befbd9b
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_u_r_l_response_info-members.html
@@ -0,0 +1,35 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_u_r_l_response_info.html">pp::URLResponseInfo</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_response_info.html#a77debd316d7b575b6cae43cb1bb14cbc">GetBodyAsFileRef</a>() const </td><td><a class="el" href="classpp_1_1_u_r_l_response_info.html">pp::URLResponseInfo</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_response_info.html#ae1fbc3ec4025534fbbf7e152af8308c7">GetHeaders</a>() const </td><td><a class="el" href="classpp_1_1_u_r_l_response_info.html">pp::URLResponseInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_response_info.html#ac30d83aa38148e6d90f3c22ab01b10dc">GetProperty</a>(PP_URLResponseProperty property) const </td><td><a class="el" href="classpp_1_1_u_r_l_response_info.html">pp::URLResponseInfo</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_response_info.html#a3ae355f52b46a6d2e65fed19bfcec323">GetRedirectMethod</a>() const </td><td><a class="el" href="classpp_1_1_u_r_l_response_info.html">pp::URLResponseInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_response_info.html#a6c25ffe56f7d9da0817fd84346bbaf10">GetRedirectURL</a>() const </td><td><a class="el" href="classpp_1_1_u_r_l_response_info.html">pp::URLResponseInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_response_info.html#aa7d27c0d6af582dc374461c8d0f868b3">GetStatusCode</a>() const </td><td><a class="el" href="classpp_1_1_u_r_l_response_info.html">pp::URLResponseInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_response_info.html#aa6b506dff751344d0b85f596ab1a41a8">GetStatusLine</a>() const </td><td><a class="el" href="classpp_1_1_u_r_l_response_info.html">pp::URLResponseInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_response_info.html#ad53acecc41062e0b60167b78c268a0bb">GetURL</a>() const </td><td><a class="el" href="classpp_1_1_u_r_l_response_info.html">pp::URLResponseInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_response_info.html#a239b1eb1076f2da6c75af416c8f02e6b">URLResponseInfo</a>()</td><td><a class="el" href="classpp_1_1_u_r_l_response_info.html">pp::URLResponseInfo</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_response_info.html#a157bf323368bc4b7e63ce604ecc272c1">URLResponseInfo</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_u_r_l_response_info.html">pp::URLResponseInfo</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_u_r_l_response_info.html#aa2fb382084c248e56dffb09e1191a6f1">URLResponseInfo</a>(const URLResponseInfo &other)</td><td><a class="el" href="classpp_1_1_u_r_l_response_info.html">pp::URLResponseInfo</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_u_r_l_response_info.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_u_r_l_response_info.html
new file mode 100644
index 0000000..a4bae17
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_u_r_l_response_info.html
@@ -0,0 +1,253 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::URLResponseInfo Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::URLResponseInfo" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::URLResponseInfo:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_u_r_l_response_info__inherit__graph.png" border="0" usemap="#pp_1_1_u_r_l_response_info_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_u_r_l_response_info_inherit__map" id="pp_1_1_u_r_l_response_info_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="31,5,135,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_u_r_l_response_info-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_response_info.html#a239b1eb1076f2da6c75af416c8f02e6b">URLResponseInfo</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_response_info.html#a157bf323368bc4b7e63ce604ecc272c1">URLResponseInfo</a> (<a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a>, PP_Resource resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_response_info.html#aa2fb382084c248e56dffb09e1191a6f1">URLResponseInfo</a> (const <a class="el" href="classpp_1_1_u_r_l_response_info.html">URLResponseInfo</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_response_info.html#ac30d83aa38148e6d90f3c22ab01b10dc">GetProperty</a> (PP_URLResponseProperty property) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_file_ref.html">FileRef</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_response_info.html#a77debd316d7b575b6cae43cb1bb14cbc">GetBodyAsFileRef</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_response_info.html#ad53acecc41062e0b60167b78c268a0bb">GetURL</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_response_info.html#a6c25ffe56f7d9da0817fd84346bbaf10">GetRedirectURL</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_response_info.html#a3ae355f52b46a6d2e65fed19bfcec323">GetRedirectMethod</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_response_info.html#aa7d27c0d6af582dc374461c8d0f868b3">GetStatusCode</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_response_info.html#aa6b506dff751344d0b85f596ab1a41a8">GetStatusLine</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_response_info.html#ae1fbc3ec4025534fbbf7e152af8308c7">GetHeaders</a> () const </td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="classpp_1_1_u_r_l_response_info.html" title="URLResponseInfo provides an API for examining URL responses.">URLResponseInfo</a> provides an API for examining URL responses. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a239b1eb1076f2da6c75af416c8f02e6b"></a><!-- doxytag: member="pp::URLResponseInfo::URLResponseInfo" ref="a239b1eb1076f2da6c75af416c8f02e6b" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_u_r_l_response_info.html#a239b1eb1076f2da6c75af416c8f02e6b">pp::URLResponseInfo::URLResponseInfo</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor. </p>
+<p>This constructor creates an <code>is_null</code> resource. </p>
+</div>
+</div>
+<a class="anchor" id="a157bf323368bc4b7e63ce604ecc272c1"></a><!-- doxytag: member="pp::URLResponseInfo::URLResponseInfo" ref="a157bf323368bc4b7e63ce604ecc272c1" args="(PassRef, PP_Resource resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_u_r_l_response_info.html#a239b1eb1076f2da6c75af416c8f02e6b">pp::URLResponseInfo::URLResponseInfo</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a> </td>
+<td class="paramname">, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>resource</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used when you have received a <code>PP_Resource</code> as a return value that has already been reference counted. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a resource. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="aa2fb382084c248e56dffb09e1191a6f1"></a><!-- doxytag: member="pp::URLResponseInfo::URLResponseInfo" ref="aa2fb382084c248e56dffb09e1191a6f1" args="(const URLResponseInfo &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_u_r_l_response_info.html#a239b1eb1076f2da6c75af416c8f02e6b">pp::URLResponseInfo::URLResponseInfo</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_u_r_l_response_info.html">URLResponseInfo</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The copy constructor for <code><a class="el" href="classpp_1_1_u_r_l_response_info.html" title="URLResponseInfo provides an API for examining URL responses.">URLResponseInfo</a></code>. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a77debd316d7b575b6cae43cb1bb14cbc"></a><!-- doxytag: member="pp::URLResponseInfo::GetBodyAsFileRef" ref="a77debd316d7b575b6cae43cb1bb14cbc" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_file_ref.html">FileRef</a> <a class="el" href="classpp_1_1_u_r_l_response_info.html#a77debd316d7b575b6cae43cb1bb14cbc">pp::URLResponseInfo::GetBodyAsFileRef</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function returns a <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code> pointing to the file containing the response body. </p>
+<p>This is only valid if <code>PP_URLREQUESTPROPERTY_STREAMTOFILE</code> was set on the <code><a class="el" href="classpp_1_1_u_r_l_request_info.html" title="URLRequestInfo provides an API for creating and manipulating URL requests.">URLRequestInfo</a></code> used to produce this response. This file remains valid until the <code><a class="el" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs.">URLLoader</a></code> associated with this <code><a class="el" href="classpp_1_1_u_r_l_response_info.html" title="URLResponseInfo provides an API for examining URL responses.">URLResponseInfo</a></code> is closed or destroyed.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code> corresponding to a <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code> if successful, an <code>is_null</code> object if <code>PP_URLREQUESTPROPERTY_STREAMTOFILE</code> was not requested or if the <code><a class="el" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs.">URLLoader</a></code> has not been opened yet. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ae1fbc3ec4025534fbbf7e152af8308c7"></a><!-- doxytag: member="pp::URLResponseInfo::GetHeaders" ref="ae1fbc3ec4025534fbbf7e152af8308c7" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_u_r_l_response_info.html#ae1fbc3ec4025534fbbf7e152af8308c7">pp::URLResponseInfo::GetHeaders</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function gets the <code>PP_URLRESPONSEPROPERTY_HEADERS</code> property for the response. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An <code>is_string <a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing the response property value if successful, <code>is_undefined <a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> if an input parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ac30d83aa38148e6d90f3c22ab01b10dc"></a><!-- doxytag: member="pp::URLResponseInfo::GetProperty" ref="ac30d83aa38148e6d90f3c22ab01b10dc" args="(PP_URLResponseProperty property) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_u_r_l_response_info.html#ac30d83aa38148e6d90f3c22ab01b10dc">pp::URLResponseInfo::GetProperty</a> </td>
+<td>(</td>
+<td class="paramtype">PP_URLResponseProperty </td>
+<td class="paramname"><em>property</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function gets a response property. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">property</td><td>A <code>PP_URLResponseProperty</code> identifying the type of property in the response.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing the response property value if successful, <code>is_undefined <a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> if an input parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a3ae355f52b46a6d2e65fed19bfcec323"></a><!-- doxytag: member="pp::URLResponseInfo::GetRedirectMethod" ref="a3ae355f52b46a6d2e65fed19bfcec323" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_u_r_l_response_info.html#a3ae355f52b46a6d2e65fed19bfcec323">pp::URLResponseInfo::GetRedirectMethod</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function gets the <code>PP_URLRESPONSEPROPERTY_REDIRECTMETHOD</code> property for the response. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An <code>is_string <a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing the response property value if successful, <code>is_undefined <a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> if an input parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a6c25ffe56f7d9da0817fd84346bbaf10"></a><!-- doxytag: member="pp::URLResponseInfo::GetRedirectURL" ref="a6c25ffe56f7d9da0817fd84346bbaf10" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_u_r_l_response_info.html#a6c25ffe56f7d9da0817fd84346bbaf10">pp::URLResponseInfo::GetRedirectURL</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function gets the <code>PP_URLRESPONSEPROPERTY_REDIRECTURL</code> property for the response. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An <code>is_string <a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing the response property value if successful, <code>is_undefined <a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> if an input parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aa7d27c0d6af582dc374461c8d0f868b3"></a><!-- doxytag: member="pp::URLResponseInfo::GetStatusCode" ref="aa7d27c0d6af582dc374461c8d0f868b3" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_u_r_l_response_info.html#aa7d27c0d6af582dc374461c8d0f868b3">pp::URLResponseInfo::GetStatusCode</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function gets the <code>PP_URLRESPONSEPROPERTY_STATUSCODE</code> property for the response. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A int32_t containing the response property value if successful, <code>is_undefined <a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> if an input parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aa6b506dff751344d0b85f596ab1a41a8"></a><!-- doxytag: member="pp::URLResponseInfo::GetStatusLine" ref="aa6b506dff751344d0b85f596ab1a41a8" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_u_r_l_response_info.html#aa6b506dff751344d0b85f596ab1a41a8">pp::URLResponseInfo::GetStatusLine</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function gets the <code>PP_URLRESPONSEPROPERTY_STATUSLINE</code> property for the response. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An <code>is_string <a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing the response property value if successful, <code>is_undefined <a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> if an input parameter is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ad53acecc41062e0b60167b78c268a0bb"></a><!-- doxytag: member="pp::URLResponseInfo::GetURL" ref="ad53acecc41062e0b60167b78c268a0bb" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_u_r_l_response_info.html#ad53acecc41062e0b60167b78c268a0bb">pp::URLResponseInfo::GetURL</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function gets the <code>PP_URLRESPONSEPROPERTY_URL</code> property for the response. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An <code>is_string <a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> containing the response property value if successful, <code>is_undefined <a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> if an input parameter is invalid. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="url__response__info_8h.html">url_response_info.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_u_r_l_response_info__inherit__graph.png b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_u_r_l_response_info__inherit__graph.png
new file mode 100644
index 0000000..512a045c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_u_r_l_response_info__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_var-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_var-members.html
new file mode 100644
index 0000000..f847823e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_var-members.html
@@ -0,0 +1,48 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_var.html">pp::Var</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a07e7a4ea38b990e6c230109823347e70">AsBool</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a8a798b08e197948c161737fc7b745af6">AsDouble</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ad31cdb379b6ceaae967125e358c81d16">AsInt</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a22a1e3b2a0783b949bedcdae49c07c97">AsString</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a835b1e5a601d6e5ceb9a7d1b5fb7a66f">DebugString</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a84a725a42640a63747f7f6bc252b65d4">Detach</a>()</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a7a28894a77f9d69d1a4b0272bf80d657">is_array</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ac0fd1d153203f8fe6c23b88618a5ef65">is_array_buffer</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a83773e6f9e2ac3723e33b6a1586d5c1e">is_bool</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ae061050e5deaac345eb089b9cd8796ea">is_dictionary</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a4a9e093ddf1475542bf0b3231e03d631">is_double</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ae7dd6f7e851c81ee259095f3e826f3fd">is_int</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a94bec264c03634f7ba66fb46ed4fda0b">is_managed_</a></td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#aa4a9d8309d3390aa56a4f2966daf6533">is_null</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ae803a32764804c873dd16c48bd4fdc83">is_number</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a79ed26c49d64b536619a1ee574848a36">is_object</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a8ed51b6cd4e1b6fee46d8fdf27c98ef1">is_resource</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a57ce2eb7f023f383194155b25b53d297">is_string</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#afe677b5834bfb5f1364d212a52f1879e">is_undefined</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a65601024610f1625c9945acb8725d7c4">operator=</a>(const Var &other)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ad689c287e64f984eb951c57af303a444">operator==</a>(const Var &other) const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ad828439641c93930ff188b45b45b4261">pp_var</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">Var</a>()</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a8dc13cf4d873293e06e6d23325ab2544">Var</a>(Null)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a6eba29ce9f635feb4ffbdfba1014ff99">Var</a>(bool b)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a6de6c1f791f105b70d0cf815f63c2304">Var</a>(int32_t i)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a9bbdfd7d1aa2bd6c8d526ff5f6a2c035">Var</a>(double d)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a24ae309e6e0335d2b16aab6039c231fa">Var</a>(const char *utf8_str)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a4b0c8c5ef714c9444cfd8f1dd4a9fb25">Var</a>(const std::string &utf8_str)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a64a857e38d59b1e012a02d7b8f98680f">Var</a>(PassRef, const PP_Var &var)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a52415e7de337c97b08eb70b06e0cda4b">Var</a>(const PP_Var &var)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a2356640f40527226f295cc15ec01f302">Var</a>(DontManage, const PP_Var &var)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#aa87cbd4cc4bc47b6f1f8a749f60aa062">Var</a>(const Var &other)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a7c1225564a0e3ab910823fc20d2611ab">var_</a></td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a148a5009f2f445edfec0a5f83ed94cf4">~Var</a>()</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_var.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_var.html
new file mode 100644
index 0000000..a5fa545b
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_var.html
@@ -0,0 +1,729 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::Var Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::Var" --><div class="dynheader">
+Inheritance diagram for pp::Var:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_var__inherit__graph.png" border="0" usemap="#pp_1_1_var_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_var_inherit__map" id="pp_1_1_var_inherit__map">
+<area shape="rect" id="node3" href="classpp_1_1_var_array.html" title="pp::VarArray" alt="" coords="5,83,107,112"></area><area shape="rect" id="node5" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ..." alt="" coords="131,83,269,112"></area><area shape="rect" id="node7" href="classpp_1_1_var_dictionary.html" title="pp::VarDictionary" alt="" coords="293,83,424,112"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_var-members.html">List of all members.</a></p>
+<h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1_var_1_1_dont_manage.html">DontManage</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1_var_1_1_null.html">Null</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Special value passed to constructor to make <code>NULL</code>. <a href="structpp_1_1_var_1_1_null.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_1_1_out_exception.html">OutException</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This class is used when calling the raw C PPAPI when using the C++ <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> as a possible NULL exception. <a href="classpp_1_1_var_1_1_out_exception.html#details">More...</a><br /></td></tr>
+</table><h2>
+Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">Var</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a8dc13cf4d873293e06e6d23325ab2544">Var</a> (<a class="el" href="structpp_1_1_var_1_1_null.html">Null</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a6eba29ce9f635feb4ffbdfba1014ff99">Var</a> (bool b)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a6de6c1f791f105b70d0cf815f63c2304">Var</a> (int32_t i)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a9bbdfd7d1aa2bd6c8d526ff5f6a2c035">Var</a> (double d)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a24ae309e6e0335d2b16aab6039c231fa">Var</a> (const char *utf8_str)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a4b0c8c5ef714c9444cfd8f1dd4a9fb25">Var</a> (const std::string &utf8_str)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a64a857e38d59b1e012a02d7b8f98680f">Var</a> (<a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a>, const PP_Var &var)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a52415e7de337c97b08eb70b06e0cda4b">Var</a> (const PP_Var &var)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a2356640f40527226f295cc15ec01f302">Var</a> (<a class="el" href="structpp_1_1_var_1_1_dont_manage.html">DontManage</a>, const PP_Var &var)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#aa87cbd4cc4bc47b6f1f8a749f60aa062">Var</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a148a5009f2f445edfec0a5f83ed94cf4">~Var</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classpp_1_1_var.html">Var</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a65601024610f1625c9945acb8725d7c4">operator=</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#ad689c287e64f984eb951c57af303a444">operator==</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &other) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#afe677b5834bfb5f1364d212a52f1879e">is_undefined</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#aa4a9d8309d3390aa56a4f2966daf6533">is_null</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a83773e6f9e2ac3723e33b6a1586d5c1e">is_bool</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a57ce2eb7f023f383194155b25b53d297">is_string</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a79ed26c49d64b536619a1ee574848a36">is_object</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a7a28894a77f9d69d1a4b0272bf80d657">is_array</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#ae061050e5deaac345eb089b9cd8796ea">is_dictionary</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a8ed51b6cd4e1b6fee46d8fdf27c98ef1">is_resource</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#ae7dd6f7e851c81ee259095f3e826f3fd">is_int</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a4a9e093ddf1475542bf0b3231e03d631">is_double</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#ae803a32764804c873dd16c48bd4fdc83">is_number</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#ac0fd1d153203f8fe6c23b88618a5ef65">is_array_buffer</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a07e7a4ea38b990e6c230109823347e70">AsBool</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#ad31cdb379b6ceaae967125e358c81d16">AsInt</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a8a798b08e197948c161737fc7b745af6">AsDouble</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a22a1e3b2a0783b949bedcdae49c07c97">AsString</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const PP_Var & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#ad828439641c93930ff188b45b45b4261">pp_var</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_Var </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a84a725a42640a63747f7f6bc252b65d4">Detach</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a835b1e5a601d6e5ceb9a7d1b5fb7a66f">DebugString</a> () const </td></tr>
+</table><h2>
+Protected Attributes</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">PP_Var </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a7c1225564a0e3ab910823fc20d2611ab">var_</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a94bec264c03634f7ba66fb46ed4fda0b">is_managed_</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>A generic type used for passing data types between the module and the page. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="af571fae55754a20ae95ffd140726d04c"></a><!-- doxytag: member="pp::Var::Var" ref="af571fae55754a20ae95ffd140726d04c" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">pp::Var::Var</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor. </p>
+<p>Creates a <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> of type <code>Undefined</code>. </p>
+</div>
+</div>
+<a class="anchor" id="a8dc13cf4d873293e06e6d23325ab2544"></a><!-- doxytag: member="pp::Var::Var" ref="a8dc13cf4d873293e06e6d23325ab2544" args="(Null)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">pp::Var::Var</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="structpp_1_1_var_1_1_null.html">Null</a> </td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used to create a <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> of type <code><a class="el" href="structpp_1_1_var_1_1_null.html" title="Special value passed to constructor to make NULL.">Null</a></code>. </p>
+</div>
+</div>
+<a class="anchor" id="a6eba29ce9f635feb4ffbdfba1014ff99"></a><!-- doxytag: member="pp::Var::Var" ref="a6eba29ce9f635feb4ffbdfba1014ff99" args="(bool b)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">pp::Var::Var</a> </td>
+<td>(</td>
+<td class="paramtype">bool </td>
+<td class="paramname"><em>b</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used to create a <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> of type <code>Bool</code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>A boolean value. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a6de6c1f791f105b70d0cf815f63c2304"></a><!-- doxytag: member="pp::Var::Var" ref="a6de6c1f791f105b70d0cf815f63c2304" args="(int32_t i)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">pp::Var::Var</a> </td>
+<td>(</td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>i</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used to create a 32 bit integer <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">i</td><td>A 32 bit integer value. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a9bbdfd7d1aa2bd6c8d526ff5f6a2c035"></a><!-- doxytag: member="pp::Var::Var" ref="a9bbdfd7d1aa2bd6c8d526ff5f6a2c035" args="(double d)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">pp::Var::Var</a> </td>
+<td>(</td>
+<td class="paramtype">double </td>
+<td class="paramname"><em>d</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used to create a double value <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">d</td><td>A double value. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a24ae309e6e0335d2b16aab6039c231fa"></a><!-- doxytag: member="pp::Var::Var" ref="a24ae309e6e0335d2b16aab6039c231fa" args="(const char *utf8_str)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">pp::Var::Var</a> </td>
+<td>(</td>
+<td class="paramtype">const char * </td>
+<td class="paramname"><em>utf8_str</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used to create a UTF-8 character <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>. </p>
+</div>
+</div>
+<a class="anchor" id="a4b0c8c5ef714c9444cfd8f1dd4a9fb25"></a><!-- doxytag: member="pp::Var::Var" ref="a4b0c8c5ef714c9444cfd8f1dd4a9fb25" args="(const std::string &utf8_str)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">pp::Var::Var</a> </td>
+<td>(</td>
+<td class="paramtype">const std::string & </td>
+<td class="paramname"><em>utf8_str</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used to create a UTF-8 character <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>. </p>
+</div>
+</div>
+<a class="anchor" id="a64a857e38d59b1e012a02d7b8f98680f"></a><!-- doxytag: member="pp::Var::Var" ref="a64a857e38d59b1e012a02d7b8f98680f" args="(PassRef, const PP_Var &var)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">pp::Var::Var</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a> </td>
+<td class="paramname">, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const PP_Var & </td>
+<td class="paramname"><em>var</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor used when you have received a <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> as a return value that has had its reference count incremented for you. </p>
+<p>You will not normally need to use this constructor because the reference count will not normally be incremented for you. </p>
+</div>
+</div>
+<a class="anchor" id="a52415e7de337c97b08eb70b06e0cda4b"></a><!-- doxytag: member="pp::Var::Var" ref="a52415e7de337c97b08eb70b06e0cda4b" args="(const PP_Var &var)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">pp::Var::Var</a> </td>
+<td>(</td>
+<td class="paramtype">const PP_Var & </td>
+<td class="paramname"><em>var</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor that increments the reference count. </p>
+</div>
+</div>
+<a class="anchor" id="a2356640f40527226f295cc15ec01f302"></a><!-- doxytag: member="pp::Var::Var" ref="a2356640f40527226f295cc15ec01f302" args="(DontManage, const PP_Var &var)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">pp::Var::Var</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="structpp_1_1_var_1_1_dont_manage.html">DontManage</a> </td>
+<td class="paramname">, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const PP_Var & </td>
+<td class="paramname"><em>var</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This constructor is used when we've given a <code>PP_Var</code> as an input argument from somewhere and that reference is managing the reference count for us. </p>
+<p>The object will not have its reference count increased or decreased by this class instance.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">var</td><td>A <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="aa87cbd4cc4bc47b6f1f8a749f60aa062"></a><!-- doxytag: member="pp::Var::Var" ref="aa87cbd4cc4bc47b6f1f8a749f60aa062" args="(const Var &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">pp::Var::Var</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor for copying a <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>. </p>
+</div>
+</div>
+<a class="anchor" id="a148a5009f2f445edfec0a5f83ed94cf4"></a><!-- doxytag: member="pp::Var::~Var" ref="a148a5009f2f445edfec0a5f83ed94cf4" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_var.html#a148a5009f2f445edfec0a5f83ed94cf4">pp::Var::~Var</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Destructor. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a07e7a4ea38b990e6c230109823347e70"></a><!-- doxytag: member="pp::Var::AsBool" ref="a07e7a4ea38b990e6c230109823347e70" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_var.html#a07e7a4ea38b990e6c230109823347e70">pp::Var::AsBool</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_var.html#a07e7a4ea38b990e6c230109823347e70" title="AsBool() converts this Var to a bool.">AsBool()</a> converts this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> to a bool. </p>
+<p>Assumes the internal representation <a class="el" href="classpp_1_1_var.html#a83773e6f9e2ac3723e33b6a1586d5c1e" title="This function determines if this Var is a bool value.">is_bool()</a>. If it's not, it will assert in debug mode, and return false.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A bool version of this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a8a798b08e197948c161737fc7b745af6"></a><!-- doxytag: member="pp::Var::AsDouble" ref="a8a798b08e197948c161737fc7b745af6" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">double <a class="el" href="classpp_1_1_var.html#a8a798b08e197948c161737fc7b745af6">pp::Var::AsDouble</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_var.html#a8a798b08e197948c161737fc7b745af6" title="AsDouble() converts this Var to a double.">AsDouble()</a> converts this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> to a double. </p>
+<p>This function is necessary because JavaScript doesn't have a concept of ints and doubles, only numbers. The distinction between the two is an optimization inside the compiler. Since converting from a double to an int may be lossy, if you care about the distinction, either always work in doubles, or check !is_double() before calling <a class="el" href="classpp_1_1_var.html#ad31cdb379b6ceaae967125e358c81d16" title="AsInt() converts this Var to an int32_t.">AsInt()</a>.</p>
+<p>These functions will assert in debug mode and return 0 if the internal representation is not <a class="el" href="classpp_1_1_var.html#ae803a32764804c873dd16c48bd4fdc83" title="This function determines if this Var is a number.">is_number()</a>.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An double version of this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ad31cdb379b6ceaae967125e358c81d16"></a><!-- doxytag: member="pp::Var::AsInt" ref="ad31cdb379b6ceaae967125e358c81d16" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_var.html#ad31cdb379b6ceaae967125e358c81d16">pp::Var::AsInt</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_var.html#ad31cdb379b6ceaae967125e358c81d16" title="AsInt() converts this Var to an int32_t.">AsInt()</a> converts this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> to an int32_t. </p>
+<p>This function is required because JavaScript doesn't have a concept of ints and doubles, only numbers. The distinction between the two is an optimization inside the compiler. Since converting from a double to an int may be lossy, if you care about the distinction, either always work in doubles, or check !is_double() before calling <a class="el" href="classpp_1_1_var.html#ad31cdb379b6ceaae967125e358c81d16" title="AsInt() converts this Var to an int32_t.">AsInt()</a>.</p>
+<p>These functions will assert in debug mode and return 0 if the internal representation is not <a class="el" href="classpp_1_1_var.html#ae803a32764804c873dd16c48bd4fdc83" title="This function determines if this Var is a number.">is_number()</a>.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t version of this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a22a1e3b2a0783b949bedcdae49c07c97"></a><!-- doxytag: member="pp::Var::AsString" ref="a22a1e3b2a0783b949bedcdae49c07c97" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">std::string <a class="el" href="classpp_1_1_var.html#a22a1e3b2a0783b949bedcdae49c07c97">pp::Var::AsString</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_var.html#a22a1e3b2a0783b949bedcdae49c07c97" title="AsString() converts this Var to a string.">AsString()</a> converts this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> to a string. </p>
+<p>If this object is not a string, it will assert in debug mode, and return an empty string.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A string version of this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a835b1e5a601d6e5ceb9a7d1b5fb7a66f"></a><!-- doxytag: member="pp::Var::DebugString" ref="a835b1e5a601d6e5ceb9a7d1b5fb7a66f" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">std::string <a class="el" href="classpp_1_1_var.html#a835b1e5a601d6e5ceb9a7d1b5fb7a66f">pp::Var::DebugString</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_var.html#a835b1e5a601d6e5ceb9a7d1b5fb7a66f" title='DebugString() returns a short description "Var<X>" that can be used for logging, where "X" is the und...'>DebugString()</a> returns a short description "Var<X>" that can be used for logging, where "X" is the underlying scalar or "UNDEFINED" or "OBJ" as it does not call into the browser to get the object description. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A string displaying the value of this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>. This function is used for debugging. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a84a725a42640a63747f7f6bc252b65d4"></a><!-- doxytag: member="pp::Var::Detach" ref="a84a725a42640a63747f7f6bc252b65d4" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_Var <a class="el" href="classpp_1_1_var.html#a84a725a42640a63747f7f6bc252b65d4">pp::Var::Detach</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_var.html#a84a725a42640a63747f7f6bc252b65d4" title="Detach() detaches from the internal PP_Var of this object, keeping the reference count the same...">Detach()</a> detaches from the internal <code>PP_Var</code> of this object, keeping the reference count the same. </p>
+<p>This is used when returning a <code>PP_Var</code> from an API function where the caller expects the return value to have the reference count incremented for it.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A detached version of this object without affecting the reference count. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a7a28894a77f9d69d1a4b0272bf80d657"></a><!-- doxytag: member="pp::Var::is_array" ref="a7a28894a77f9d69d1a4b0272bf80d657" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_var.html#a7a28894a77f9d69d1a4b0272bf80d657">pp::Var::is_array</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function determines if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is an array. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is an array, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ac0fd1d153203f8fe6c23b88618a5ef65"></a><!-- doxytag: member="pp::Var::is_array_buffer" ref="ac0fd1d153203f8fe6c23b88618a5ef65" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_var.html#ac0fd1d153203f8fe6c23b88618a5ef65">pp::Var::is_array_buffer</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function determines if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is an ArrayBuffer. </p>
+</div>
+</div>
+<a class="anchor" id="a83773e6f9e2ac3723e33b6a1586d5c1e"></a><!-- doxytag: member="pp::Var::is_bool" ref="a83773e6f9e2ac3723e33b6a1586d5c1e" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_var.html#a83773e6f9e2ac3723e33b6a1586d5c1e">pp::Var::is_bool</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function determines if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is a bool value. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is a bool, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ae061050e5deaac345eb089b9cd8796ea"></a><!-- doxytag: member="pp::Var::is_dictionary" ref="ae061050e5deaac345eb089b9cd8796ea" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_var.html#ae061050e5deaac345eb089b9cd8796ea">pp::Var::is_dictionary</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function determines if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is a dictionary. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is a dictionary, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a4a9e093ddf1475542bf0b3231e03d631"></a><!-- doxytag: member="pp::Var::is_double" ref="a4a9e093ddf1475542bf0b3231e03d631" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_var.html#a4a9e093ddf1475542bf0b3231e03d631">pp::Var::is_double</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function determines if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is a double value. </p>
+<p>The <code>is_double</code> function returns the internal representation. The JavaScript runtime may convert between the two as needed, so the distinction may not be relevant in all cases (int is really an optimization inside the runtime). So most of the time, you will want to check <a class="el" href="classpp_1_1_var.html#ae803a32764804c873dd16c48bd4fdc83" title="This function determines if this Var is a number.">is_number()</a>.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is a double, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ae7dd6f7e851c81ee259095f3e826f3fd"></a><!-- doxytag: member="pp::Var::is_int" ref="ae7dd6f7e851c81ee259095f3e826f3fd" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_var.html#ae7dd6f7e851c81ee259095f3e826f3fd">pp::Var::is_int</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function determines if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is an integer value. </p>
+<p>The <code>is_int</code> function returns the internal representation. The JavaScript runtime may convert between the two as needed, so the distinction may not be relevant in all cases (int is really an optimization inside the runtime). So most of the time, you will want to check <a class="el" href="classpp_1_1_var.html#ae803a32764804c873dd16c48bd4fdc83" title="This function determines if this Var is a number.">is_number()</a>.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is an integer, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aa4a9d8309d3390aa56a4f2966daf6533"></a><!-- doxytag: member="pp::Var::is_null" ref="aa4a9d8309d3390aa56a4f2966daf6533" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_var.html#aa4a9d8309d3390aa56a4f2966daf6533">pp::Var::is_null</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function determines if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is a null value. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is null, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ae803a32764804c873dd16c48bd4fdc83"></a><!-- doxytag: member="pp::Var::is_number" ref="ae803a32764804c873dd16c48bd4fdc83" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_var.html#ae803a32764804c873dd16c48bd4fdc83">pp::Var::is_number</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function determines if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is a number. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is an int32 or double number, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a79ed26c49d64b536619a1ee574848a36"></a><!-- doxytag: member="pp::Var::is_object" ref="a79ed26c49d64b536619a1ee574848a36" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_var.html#a79ed26c49d64b536619a1ee574848a36">pp::Var::is_object</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function determines if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is an object. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is an object, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a8ed51b6cd4e1b6fee46d8fdf27c98ef1"></a><!-- doxytag: member="pp::Var::is_resource" ref="a8ed51b6cd4e1b6fee46d8fdf27c98ef1" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_var.html#a8ed51b6cd4e1b6fee46d8fdf27c98ef1">pp::Var::is_resource</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function determines if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is a resource. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is a resource, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a57ce2eb7f023f383194155b25b53d297"></a><!-- doxytag: member="pp::Var::is_string" ref="a57ce2eb7f023f383194155b25b53d297" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_var.html#a57ce2eb7f023f383194155b25b53d297">pp::Var::is_string</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function determines if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is a string value. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is a string, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="afe677b5834bfb5f1364d212a52f1879e"></a><!-- doxytag: member="pp::Var::is_undefined" ref="afe677b5834bfb5f1364d212a52f1879e" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_var.html#afe677b5834bfb5f1364d212a52f1879e">pp::Var::is_undefined</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function determines if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is an undefined value. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is undefined, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a65601024610f1625c9945acb8725d7c4"></a><!-- doxytag: member="pp::Var::operator=" ref="a65601024610f1625c9945acb8725d7c4" args="(const Var &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_var.html">Var</a>& pp::Var::operator= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function assigns one <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> to another <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>The <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> to be assigned.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A resulting <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>. </dd></dl>
+<p>Reimplemented in <a class="el" href="classpp_1_1_var_array_buffer.html#a9cbb8584d8edc5d03875de67dec4086c">pp::VarArrayBuffer</a>, <a class="el" href="classpp_1_1_var_dictionary.html#a689815e0b4e50e2f1e9aaa8b1ef34e00">pp::VarDictionary</a>, and <a class="el" href="classpp_1_1_var_array.html#aeb98c95929dd46d1f64eba13db724154">pp::VarArray</a>.</p>
+</div>
+</div>
+<a class="anchor" id="ad689c287e64f984eb951c57af303a444"></a><!-- doxytag: member="pp::Var::operator==" ref="ad689c287e64f984eb951c57af303a444" args="(const Var &other) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool pp::Var::operator== </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function compares object identity (rather than value identity) for objects, dictionaries, and arrays. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>The <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> to be compared to this <a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the <code>other</code> <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> is the same as this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ad828439641c93930ff188b45b45b4261"></a><!-- doxytag: member="pp::Var::pp_var" ref="ad828439641c93930ff188b45b45b4261" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">const PP_Var& <a class="el" href="classpp_1_1_var.html#ad828439641c93930ff188b45b45b4261">pp::Var::pp_var</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function returns the internal <code>PP_Var</code> managed by this <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> object. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A const reference to a <code>PP_Var</code>. </dd></dl>
+</div>
+</div>
+<hr /><h2>Member Data Documentation</h2>
+<a class="anchor" id="a94bec264c03634f7ba66fb46ed4fda0b"></a><!-- doxytag: member="pp::Var::is_managed_" ref="a94bec264c03634f7ba66fb46ed4fda0b" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_var.html#a94bec264c03634f7ba66fb46ed4fda0b">pp::Var::is_managed_</a><code> [protected]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a7c1225564a0e3ab910823fc20d2611ab"></a><!-- doxytag: member="pp::Var::var_" ref="a7c1225564a0e3ab910823fc20d2611ab" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_Var <a class="el" href="classpp_1_1_var.html#a7c1225564a0e3ab910823fc20d2611ab">pp::Var::var_</a><code> [protected]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="var_8h.html">var.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_var_1_1_out_exception-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_var_1_1_out_exception-members.html
new file mode 100644
index 0000000..accbc6cd
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_var_1_1_out_exception-members.html
@@ -0,0 +1,16 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_var_1_1_out_exception.html">pp::Var::OutException</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_1_1_out_exception.html#ae27bafd88243e3b2fffc3038a1f31971">get</a>()</td><td><a class="el" href="classpp_1_1_var_1_1_out_exception.html">pp::Var::OutException</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_1_1_out_exception.html#afa4be8888c046a7b4f54be2cec82e4e7">OutException</a>(Var *v)</td><td><a class="el" href="classpp_1_1_var_1_1_out_exception.html">pp::Var::OutException</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_1_1_out_exception.html#af2300053414367146b49f6f71c2eb513">~OutException</a>()</td><td><a class="el" href="classpp_1_1_var_1_1_out_exception.html">pp::Var::OutException</a></td><td><code> [inline]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_var_1_1_out_exception.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_var_1_1_out_exception.html
new file mode 100644
index 0000000..a2c13b8
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_var_1_1_out_exception.html
@@ -0,0 +1,89 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::Var::OutException Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::Var::OutException" -->
+<p><a href="classpp_1_1_var_1_1_out_exception-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_1_1_out_exception.html#afa4be8888c046a7b4f54be2cec82e4e7">OutException</a> (<a class="el" href="classpp_1_1_var.html">Var</a> *v)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_1_1_out_exception.html#af2300053414367146b49f6f71c2eb513">~OutException</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_Var * </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_1_1_out_exception.html#ae27bafd88243e3b2fffc3038a1f31971">get</a> ()</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This class is used when calling the raw C PPAPI when using the C++ <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> as a possible NULL exception. </p>
+<p>This class will handle getting the address of the internal value out if it's non-NULL and fixing up the reference count.</p>
+<p><b>Warning:</b> this will only work for things with exception semantics, i.e. that the value will not be changed if it's a non-undefined exception. Otherwise, this class will mess up the refcounting.</p>
+<p>This is a bit subtle:</p>
+<ul>
+<li>If NULL is passed, we return NULL from <a class="el" href="classpp_1_1_var_1_1_out_exception.html#ae27bafd88243e3b2fffc3038a1f31971">get()</a> and do nothing.</li>
+</ul>
+<ul>
+<li>If a undefined value is passed, we return the address of a undefined var from get and have the output value take ownership of that var.</li>
+</ul>
+<ul>
+<li>If a non-undefined value is passed, we return the address of that var from get, and nothing else should change.</li>
+</ul>
+<p>Example: void FooBar(a, b, Var* exception = NULL) { foo_interface->Bar(a, b, Var::OutException(exception).<a class="el" href="classpp_1_1_var_1_1_out_exception.html#ae27bafd88243e3b2fffc3038a1f31971">get()</a>); } </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="afa4be8888c046a7b4f54be2cec82e4e7"></a><!-- doxytag: member="pp::Var::OutException::OutException" ref="afa4be8888c046a7b4f54be2cec82e4e7" args="(Var *v)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var_1_1_out_exception.html#afa4be8888c046a7b4f54be2cec82e4e7">pp::Var::OutException::OutException</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="classpp_1_1_var.html">Var</a> * </td>
+<td class="paramname"><em>v</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor. </p>
+</div>
+</div>
+<a class="anchor" id="af2300053414367146b49f6f71c2eb513"></a><!-- doxytag: member="pp::Var::OutException::~OutException" ref="af2300053414367146b49f6f71c2eb513" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var_1_1_out_exception.html#af2300053414367146b49f6f71c2eb513">pp::Var::OutException::~OutException</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Destructor. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="ae27bafd88243e3b2fffc3038a1f31971"></a><!-- doxytag: member="pp::Var::OutException::get" ref="ae27bafd88243e3b2fffc3038a1f31971" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_Var* <a class="el" href="classpp_1_1_var_1_1_out_exception.html#ae27bafd88243e3b2fffc3038a1f31971">pp::Var::OutException::get</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="var_8h.html">var.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_var__inherit__graph.png b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_var__inherit__graph.png
new file mode 100644
index 0000000..7c8c101d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_var__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_var_array-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_var_array-members.html
new file mode 100644
index 0000000..60533a3
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_var_array-members.html
@@ -0,0 +1,58 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_var_array.html">pp::VarArray</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a07e7a4ea38b990e6c230109823347e70">AsBool</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a8a798b08e197948c161737fc7b745af6">AsDouble</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ad31cdb379b6ceaae967125e358c81d16">AsInt</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a22a1e3b2a0783b949bedcdae49c07c97">AsString</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a835b1e5a601d6e5ceb9a7d1b5fb7a66f">DebugString</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a84a725a42640a63747f7f6bc252b65d4">Detach</a>()</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array.html#a61f3bd9357da964824bc3dfbc7715b12">Get</a>(uint32_t index) const </td><td><a class="el" href="classpp_1_1_var_array.html">pp::VarArray</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array.html#afaa8006ed2c7fa4fb99a6d9d96b91f5a">GetLength</a>() const </td><td><a class="el" href="classpp_1_1_var_array.html">pp::VarArray</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a7a28894a77f9d69d1a4b0272bf80d657">is_array</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ac0fd1d153203f8fe6c23b88618a5ef65">is_array_buffer</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a83773e6f9e2ac3723e33b6a1586d5c1e">is_bool</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ae061050e5deaac345eb089b9cd8796ea">is_dictionary</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a4a9e093ddf1475542bf0b3231e03d631">is_double</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ae7dd6f7e851c81ee259095f3e826f3fd">is_int</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a94bec264c03634f7ba66fb46ed4fda0b">is_managed_</a></td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#aa4a9d8309d3390aa56a4f2966daf6533">is_null</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ae803a32764804c873dd16c48bd4fdc83">is_number</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a79ed26c49d64b536619a1ee574848a36">is_object</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a8ed51b6cd4e1b6fee46d8fdf27c98ef1">is_resource</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a57ce2eb7f023f383194155b25b53d297">is_string</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#afe677b5834bfb5f1364d212a52f1879e">is_undefined</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array.html#a5acb01cba7823e5b4096a3d1c1cf31be">operator=</a>(const VarArray &other)</td><td><a class="el" href="classpp_1_1_var_array.html">pp::VarArray</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array.html#aeb98c95929dd46d1f64eba13db724154">operator=</a>(const Var &other)</td><td><a class="el" href="classpp_1_1_var_array.html">pp::VarArray</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ad689c287e64f984eb951c57af303a444">operator==</a>(const Var &other) const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ad828439641c93930ff188b45b45b4261">pp_var</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array.html#a6769d254d64ca6f0e5a5321ad9158d89">Set</a>(uint32_t index, const Var &value)</td><td><a class="el" href="classpp_1_1_var_array.html">pp::VarArray</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array.html#a6d37da10169a4e9f66152d74231694b9">SetLength</a>(uint32_t length)</td><td><a class="el" href="classpp_1_1_var_array.html">pp::VarArray</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">Var</a>()</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a8dc13cf4d873293e06e6d23325ab2544">Var</a>(Null)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a6eba29ce9f635feb4ffbdfba1014ff99">Var</a>(bool b)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a6de6c1f791f105b70d0cf815f63c2304">Var</a>(int32_t i)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a9bbdfd7d1aa2bd6c8d526ff5f6a2c035">Var</a>(double d)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a24ae309e6e0335d2b16aab6039c231fa">Var</a>(const char *utf8_str)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a4b0c8c5ef714c9444cfd8f1dd4a9fb25">Var</a>(const std::string &utf8_str)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a64a857e38d59b1e012a02d7b8f98680f">Var</a>(PassRef, const PP_Var &var)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a52415e7de337c97b08eb70b06e0cda4b">Var</a>(const PP_Var &var)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a2356640f40527226f295cc15ec01f302">Var</a>(DontManage, const PP_Var &var)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#aa87cbd4cc4bc47b6f1f8a749f60aa062">Var</a>(const Var &other)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a7c1225564a0e3ab910823fc20d2611ab">var_</a></td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array.html#a780daccc2dc02eac8a52b3c6acf245ed">VarArray</a>()</td><td><a class="el" href="classpp_1_1_var_array.html">pp::VarArray</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array.html#a3aabef79f9d8af79a4ef5dda73a09c05">VarArray</a>(const Var &var)</td><td><a class="el" href="classpp_1_1_var_array.html">pp::VarArray</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array.html#abb66ecc726d9aca28bd4a430a391a5d3">VarArray</a>(const PP_Var &var)</td><td><a class="el" href="classpp_1_1_var_array.html">pp::VarArray</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array.html#a839cc2aa7b5a4698f3a11214f76e56c0">VarArray</a>(const VarArray &other)</td><td><a class="el" href="classpp_1_1_var_array.html">pp::VarArray</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a148a5009f2f445edfec0a5f83ed94cf4">~Var</a>()</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array.html#a667aca2cad8fd48469dab1228f479284">~VarArray</a>()</td><td><a class="el" href="classpp_1_1_var_array.html">pp::VarArray</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_var_array.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_var_array.html
new file mode 100644
index 0000000..10bfaa5
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_var_array.html
@@ -0,0 +1,277 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::VarArray Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::VarArray" --><!-- doxytag: inherits="pp::Var" --><div class="dynheader">
+Inheritance diagram for pp::VarArray:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_var_array__inherit__graph.png" border="0" usemap="#pp_1_1_var_array_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_var_array_inherit__map" id="pp_1_1_var_array_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page." alt="" coords="23,5,89,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_var_array-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array.html#a780daccc2dc02eac8a52b3c6acf245ed">VarArray</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array.html#a3aabef79f9d8af79a4ef5dda73a09c05">VarArray</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &var)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array.html#abb66ecc726d9aca28bd4a430a391a5d3">VarArray</a> (const PP_Var &var)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array.html#a839cc2aa7b5a4698f3a11214f76e56c0">VarArray</a> (const <a class="el" href="classpp_1_1_var_array.html">VarArray</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array.html#a667aca2cad8fd48469dab1228f479284">~VarArray</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var_array.html">VarArray</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array.html#a5acb01cba7823e5b4096a3d1c1cf31be">operator=</a> (const <a class="el" href="classpp_1_1_var_array.html">VarArray</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classpp_1_1_var.html">Var</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array.html#aeb98c95929dd46d1f64eba13db724154">operator=</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array.html#a61f3bd9357da964824bc3dfbc7715b12">Get</a> (uint32_t index) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array.html#a6769d254d64ca6f0e5a5321ad9158d89">Set</a> (uint32_t index, const <a class="el" href="classpp_1_1_var.html">Var</a> &value)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array.html#afaa8006ed2c7fa4fb99a6d9d96b91f5a">GetLength</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array.html#a6d37da10169a4e9f66152d74231694b9">SetLength</a> (uint32_t length)</td></tr>
+</table>
+<hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a780daccc2dc02eac8a52b3c6acf245ed"></a><!-- doxytag: member="pp::VarArray::VarArray" ref="a780daccc2dc02eac8a52b3c6acf245ed" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var_array.html#a780daccc2dc02eac8a52b3c6acf245ed">pp::VarArray::VarArray</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs a new array var. </p>
+</div>
+</div>
+<a class="anchor" id="a3aabef79f9d8af79a4ef5dda73a09c05"></a><!-- doxytag: member="pp::VarArray::VarArray" ref="a3aabef79f9d8af79a4ef5dda73a09c05" args="(const Var &var)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var_array.html#a780daccc2dc02eac8a52b3c6acf245ed">pp::VarArray::VarArray</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>var</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs a <code><a class="el" href="classpp_1_1_var_array.html">VarArray</a></code> given a var for which <a class="el" href="classpp_1_1_var.html#a7a28894a77f9d69d1a4b0272bf80d657" title="This function determines if this Var is an array.">is_array()</a> is true. </p>
+<p>This will refer to the same array var, but allow you to access methods specific to arrays.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">var</td><td>An array var. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="abb66ecc726d9aca28bd4a430a391a5d3"></a><!-- doxytag: member="pp::VarArray::VarArray" ref="abb66ecc726d9aca28bd4a430a391a5d3" args="(const PP_Var &var)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var_array.html#a780daccc2dc02eac8a52b3c6acf245ed">pp::VarArray::VarArray</a> </td>
+<td>(</td>
+<td class="paramtype">const PP_Var & </td>
+<td class="paramname"><em>var</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs a <code><a class="el" href="classpp_1_1_var_array.html">VarArray</a></code> given a <code>PP_Var</code> of type PP_VARTYPE_ARRAY. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">var</td><td>A <code>PP_Var</code> of type PP_VARTYPE_ARRAY. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a839cc2aa7b5a4698f3a11214f76e56c0"></a><!-- doxytag: member="pp::VarArray::VarArray" ref="a839cc2aa7b5a4698f3a11214f76e56c0" args="(const VarArray &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var_array.html#a780daccc2dc02eac8a52b3c6acf245ed">pp::VarArray::VarArray</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var_array.html">VarArray</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Copy constructor. </p>
+</div>
+</div>
+<a class="anchor" id="a667aca2cad8fd48469dab1228f479284"></a><!-- doxytag: member="pp::VarArray::~VarArray" ref="a667aca2cad8fd48469dab1228f479284" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_var_array.html#a667aca2cad8fd48469dab1228f479284">pp::VarArray::~VarArray</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a61f3bd9357da964824bc3dfbc7715b12"></a><!-- doxytag: member="pp::VarArray::Get" ref="a61f3bd9357da964824bc3dfbc7715b12" args="(uint32_t index) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_var_array.html#a61f3bd9357da964824bc3dfbc7715b12">pp::VarArray::Get</a> </td>
+<td>(</td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>index</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets an element from the array. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>An index indicating which element to return.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The element at the specified position. If <code>index</code> is larger than or equal to the array length, an undefined var is returned. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="afaa8006ed2c7fa4fb99a6d9d96b91f5a"></a><!-- doxytag: member="pp::VarArray::GetLength" ref="afaa8006ed2c7fa4fb99a6d9d96b91f5a" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="classpp_1_1_var_array.html#afaa8006ed2c7fa4fb99a6d9d96b91f5a">pp::VarArray::GetLength</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the array length. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The array length. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a5acb01cba7823e5b4096a3d1c1cf31be"></a><!-- doxytag: member="pp::VarArray::operator=" ref="a5acb01cba7823e5b4096a3d1c1cf31be" args="(const VarArray &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var_array.html">VarArray</a>& pp::VarArray::operator= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var_array.html">VarArray</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Assignment operator. </p>
+</div>
+</div>
+<a class="anchor" id="aeb98c95929dd46d1f64eba13db724154"></a><!-- doxytag: member="pp::VarArray::operator=" ref="aeb98c95929dd46d1f64eba13db724154" args="(const Var &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_var.html">Var</a>& pp::VarArray::operator= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> assignment operator is overridden here so that we can check for assigning a non-array var to a <code><a class="el" href="classpp_1_1_var_array.html">VarArray</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>The array var to be assigned.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The resulting <code><a class="el" href="classpp_1_1_var_array.html">VarArray</a></code> (as a <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>&). </dd></dl>
+<p>Reimplemented from <a class="el" href="classpp_1_1_var.html#a65601024610f1625c9945acb8725d7c4">pp::Var</a>.</p>
+</div>
+</div>
+<a class="anchor" id="a6769d254d64ca6f0e5a5321ad9158d89"></a><!-- doxytag: member="pp::VarArray::Set" ref="a6769d254d64ca6f0e5a5321ad9158d89" args="(uint32_t index, const Var &value)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_var_array.html#a6769d254d64ca6f0e5a5321ad9158d89">pp::VarArray::Set</a> </td>
+<td>(</td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>index</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>value</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sets the value of an element in the array. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>An index indicating which element to modify. If <code>index</code> is larger than or equal to the array length, the length is updated to be <code>index</code> + 1. Any position in the array that hasn't been set before is set to undefined, i.e., <code>PP_Var</code> of type <code>PP_VARTYPE_UNDEFINED</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The value to set.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>bool</code> indicating whether the operation succeeds. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a6d37da10169a4e9f66152d74231694b9"></a><!-- doxytag: member="pp::VarArray::SetLength" ref="a6d37da10169a4e9f66152d74231694b9" args="(uint32_t length)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_var_array.html#a6d37da10169a4e9f66152d74231694b9">pp::VarArray::SetLength</a> </td>
+<td>(</td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>length</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sets the array length. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>The new array length. If <code>length</code> is smaller than its current value, the array is truncated to the new length; any elements that no longer fit are removed. If <code>length</code> is larger than its current value, undefined vars are appended to increase the array to the specified length.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>bool</code> indicating whether the operation succeeds. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="var__array_8h.html">var_array.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_var_array__inherit__graph.png b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_var_array__inherit__graph.png
new file mode 100644
index 0000000..43343d6b
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_var_array__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_var_array_buffer-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_var_array_buffer-members.html
new file mode 100644
index 0000000..04c6915
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_var_array_buffer-members.html
@@ -0,0 +1,57 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_var_array_buffer.html">pp::VarArrayBuffer</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a07e7a4ea38b990e6c230109823347e70">AsBool</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a8a798b08e197948c161737fc7b745af6">AsDouble</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ad31cdb379b6ceaae967125e358c81d16">AsInt</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a22a1e3b2a0783b949bedcdae49c07c97">AsString</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array_buffer.html#aee1fdb39f8a1ebcd8a78fb5e996e0af2">ByteLength</a>() const </td><td><a class="el" href="classpp_1_1_var_array_buffer.html">pp::VarArrayBuffer</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a835b1e5a601d6e5ceb9a7d1b5fb7a66f">DebugString</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a84a725a42640a63747f7f6bc252b65d4">Detach</a>()</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a7a28894a77f9d69d1a4b0272bf80d657">is_array</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ac0fd1d153203f8fe6c23b88618a5ef65">is_array_buffer</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a83773e6f9e2ac3723e33b6a1586d5c1e">is_bool</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ae061050e5deaac345eb089b9cd8796ea">is_dictionary</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a4a9e093ddf1475542bf0b3231e03d631">is_double</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ae7dd6f7e851c81ee259095f3e826f3fd">is_int</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a94bec264c03634f7ba66fb46ed4fda0b">is_managed_</a></td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#aa4a9d8309d3390aa56a4f2966daf6533">is_null</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ae803a32764804c873dd16c48bd4fdc83">is_number</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a79ed26c49d64b536619a1ee574848a36">is_object</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a8ed51b6cd4e1b6fee46d8fdf27c98ef1">is_resource</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a57ce2eb7f023f383194155b25b53d297">is_string</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#afe677b5834bfb5f1364d212a52f1879e">is_undefined</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array_buffer.html#ab81d9579bcacf5eb927a9638092d2f3b">Map</a>()</td><td><a class="el" href="classpp_1_1_var_array_buffer.html">pp::VarArrayBuffer</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array_buffer.html#afe636bd8a6011c04dce0eaa84af7c1ee">operator=</a>(const VarArrayBuffer &other)</td><td><a class="el" href="classpp_1_1_var_array_buffer.html">pp::VarArrayBuffer</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array_buffer.html#a9cbb8584d8edc5d03875de67dec4086c">operator=</a>(const Var &other)</td><td><a class="el" href="classpp_1_1_var_array_buffer.html">pp::VarArrayBuffer</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ad689c287e64f984eb951c57af303a444">operator==</a>(const Var &other) const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ad828439641c93930ff188b45b45b4261">pp_var</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array_buffer.html#a271e6bb122f313a758b5fce1dc751687">Unmap</a>()</td><td><a class="el" href="classpp_1_1_var_array_buffer.html">pp::VarArrayBuffer</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">Var</a>()</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a8dc13cf4d873293e06e6d23325ab2544">Var</a>(Null)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a6eba29ce9f635feb4ffbdfba1014ff99">Var</a>(bool b)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a6de6c1f791f105b70d0cf815f63c2304">Var</a>(int32_t i)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a9bbdfd7d1aa2bd6c8d526ff5f6a2c035">Var</a>(double d)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a24ae309e6e0335d2b16aab6039c231fa">Var</a>(const char *utf8_str)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a4b0c8c5ef714c9444cfd8f1dd4a9fb25">Var</a>(const std::string &utf8_str)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a64a857e38d59b1e012a02d7b8f98680f">Var</a>(PassRef, const PP_Var &var)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a52415e7de337c97b08eb70b06e0cda4b">Var</a>(const PP_Var &var)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a2356640f40527226f295cc15ec01f302">Var</a>(DontManage, const PP_Var &var)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#aa87cbd4cc4bc47b6f1f8a749f60aa062">Var</a>(const Var &other)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a7c1225564a0e3ab910823fc20d2611ab">var_</a></td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array_buffer.html#a3ce55ddf56dd4fe7bb37cf6cbf10a85a">VarArrayBuffer</a>()</td><td><a class="el" href="classpp_1_1_var_array_buffer.html">pp::VarArrayBuffer</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array_buffer.html#aa933ee36d23a31ae35acacbb10069a6b">VarArrayBuffer</a>(const Var &var)</td><td><a class="el" href="classpp_1_1_var_array_buffer.html">pp::VarArrayBuffer</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array_buffer.html#a7fd29347661fc1539dd474cc3f0e2a72">VarArrayBuffer</a>(uint32_t size_in_bytes)</td><td><a class="el" href="classpp_1_1_var_array_buffer.html">pp::VarArrayBuffer</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array_buffer.html#a9b76b96c7b11a10aa4424c02b4a5511b">VarArrayBuffer</a>(const VarArrayBuffer &buffer)</td><td><a class="el" href="classpp_1_1_var_array_buffer.html">pp::VarArrayBuffer</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a148a5009f2f445edfec0a5f83ed94cf4">~Var</a>()</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_array_buffer.html#afc67644105914d333c2266c056c99190">~VarArrayBuffer</a>()</td><td><a class="el" href="classpp_1_1_var_array_buffer.html">pp::VarArrayBuffer</a></td><td><code> [inline, virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_var_array_buffer.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_var_array_buffer.html
new file mode 100644
index 0000000..6095557
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_var_array_buffer.html
@@ -0,0 +1,245 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::VarArrayBuffer Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::VarArrayBuffer" --><!-- doxytag: inherits="pp::Var" --><div class="dynheader">
+Inheritance diagram for pp::VarArrayBuffer:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_var_array_buffer__inherit__graph.png" border="0" usemap="#pp_1_1_var_array_buffer_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_var_array_buffer_inherit__map" id="pp_1_1_var_array_buffer_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page." alt="" coords="41,5,108,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_var_array_buffer-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array_buffer.html#a3ce55ddf56dd4fe7bb37cf6cbf10a85a">VarArrayBuffer</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array_buffer.html#aa933ee36d23a31ae35acacbb10069a6b">VarArrayBuffer</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &var)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array_buffer.html#a7fd29347661fc1539dd474cc3f0e2a72">VarArrayBuffer</a> (uint32_t size_in_bytes)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array_buffer.html#a9b76b96c7b11a10aa4424c02b4a5511b">VarArrayBuffer</a> (const <a class="el" href="classpp_1_1_var_array_buffer.html">VarArrayBuffer</a> &buffer)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array_buffer.html#afc67644105914d333c2266c056c99190">~VarArrayBuffer</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var_array_buffer.html">VarArrayBuffer</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array_buffer.html#afe636bd8a6011c04dce0eaa84af7c1ee">operator=</a> (const <a class="el" href="classpp_1_1_var_array_buffer.html">VarArrayBuffer</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classpp_1_1_var.html">Var</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array_buffer.html#a9cbb8584d8edc5d03875de67dec4086c">operator=</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array_buffer.html#aee1fdb39f8a1ebcd8a78fb5e996e0af2">ByteLength</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array_buffer.html#ab81d9579bcacf5eb927a9638092d2f3b">Map</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array_buffer.html#a271e6bb122f313a758b5fce1dc751687">Unmap</a> ()</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p><code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code> provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous sequence of bytes. </p>
+<p>Note that these vars are not part of the embedding page's DOM, and can only be shared with JavaScript using the <code>PostMessage</code> and <code>HandleMessage</code> functions of <code><a class="el" href="classpp_1_1_instance.html">Instance</a></code>. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a3ce55ddf56dd4fe7bb37cf6cbf10a85a"></a><!-- doxytag: member="pp::VarArrayBuffer::VarArrayBuffer" ref="a3ce55ddf56dd4fe7bb37cf6cbf10a85a" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var_array_buffer.html#a3ce55ddf56dd4fe7bb37cf6cbf10a85a">pp::VarArrayBuffer::VarArrayBuffer</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The default constructor constructs a <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code> which is 0 byte long. </p>
+</div>
+</div>
+<a class="anchor" id="aa933ee36d23a31ae35acacbb10069a6b"></a><!-- doxytag: member="pp::VarArrayBuffer::VarArrayBuffer" ref="aa933ee36d23a31ae35acacbb10069a6b" args="(const Var &var)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var_array_buffer.html#a3ce55ddf56dd4fe7bb37cf6cbf10a85a">pp::VarArrayBuffer::VarArrayBuffer</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>var</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Construct a <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code> given a var for which <a class="el" href="classpp_1_1_var.html#ac0fd1d153203f8fe6c23b88618a5ef65" title="This function determines if this Var is an ArrayBuffer.">is_array_buffer()</a> is true. </p>
+<p>This will refer to the same <code>ArrayBuffer</code> as var, but allows you to access methods specific to <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">var</td><td>An <code>ArrayBuffer</code> var. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a7fd29347661fc1539dd474cc3f0e2a72"></a><!-- doxytag: member="pp::VarArrayBuffer::VarArrayBuffer" ref="a7fd29347661fc1539dd474cc3f0e2a72" args="(uint32_t size_in_bytes)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var_array_buffer.html#a3ce55ddf56dd4fe7bb37cf6cbf10a85a">pp::VarArrayBuffer::VarArrayBuffer</a> </td>
+<td>(</td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>size_in_bytes</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Construct a new <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code> which is <code>size_in_bytes</code> bytes long and initialized to zero. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">size_in_bytes</td><td>The size of the constructed <code>ArrayBuffer</code> in bytes. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a9b76b96c7b11a10aa4424c02b4a5511b"></a><!-- doxytag: member="pp::VarArrayBuffer::VarArrayBuffer" ref="a9b76b96c7b11a10aa4424c02b4a5511b" args="(const VarArrayBuffer &buffer)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var_array_buffer.html#a3ce55ddf56dd4fe7bb37cf6cbf10a85a">pp::VarArrayBuffer::VarArrayBuffer</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var_array_buffer.html">VarArrayBuffer</a> & </td>
+<td class="paramname"><em>buffer</em></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Copy constructor. </p>
+</div>
+</div>
+<a class="anchor" id="afc67644105914d333c2266c056c99190"></a><!-- doxytag: member="pp::VarArrayBuffer::~VarArrayBuffer" ref="afc67644105914d333c2266c056c99190" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_var_array_buffer.html#afc67644105914d333c2266c056c99190">pp::VarArrayBuffer::~VarArrayBuffer</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline, virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="aee1fdb39f8a1ebcd8a78fb5e996e0af2"></a><!-- doxytag: member="pp::VarArrayBuffer::ByteLength" ref="aee1fdb39f8a1ebcd8a78fb5e996e0af2" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint32_t <a class="el" href="classpp_1_1_var_array_buffer.html#aee1fdb39f8a1ebcd8a78fb5e996e0af2">pp::VarArrayBuffer::ByteLength</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_var_array_buffer.html#aee1fdb39f8a1ebcd8a78fb5e996e0af2" title="ByteLength() retrieves the length of the VarArrayBuffer in bytes.">ByteLength()</a> retrieves the length of the <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code> in bytes. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The length of the <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code> in bytes. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab81d9579bcacf5eb927a9638092d2f3b"></a><!-- doxytag: member="pp::VarArrayBuffer::Map" ref="ab81d9579bcacf5eb927a9638092d2f3b" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void* <a class="el" href="classpp_1_1_var_array_buffer.html#ab81d9579bcacf5eb927a9638092d2f3b">pp::VarArrayBuffer::Map</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_var_array_buffer.html#ab81d9579bcacf5eb927a9638092d2f3b" title="Map() maps the ArrayBuffer in to the module's address space and returns a pointer to the beginning of...">Map()</a> maps the <code>ArrayBuffer</code> in to the module's address space and returns a pointer to the beginning of the internal buffer for this <code>ArrayBuffer</code>. </p>
+<p>ArrayBuffers are copied when transmitted, so changes to the underlying memory are not automatically available to the embedding page.</p>
+<p>Note that calling <a class="el" href="classpp_1_1_var_array_buffer.html#ab81d9579bcacf5eb927a9638092d2f3b" title="Map() maps the ArrayBuffer in to the module's address space and returns a pointer to the beginning of...">Map()</a> can be a relatively expensive operation. Use care when calling it in performance-critical code. For example, you should call it only once when looping over an <code>ArrayBuffer</code>.</p>
+<p><b>Example:</b></p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">char</span>* data = <span class="keyword">static_cast<</span><span class="keywordtype">char</span>*<span class="keyword">></span>(array_buffer_var.Map());
+ uint32_t byte_length = array_buffer_var.ByteLength();
+ <span class="keywordflow">for</span> (uint32_t i = 0; i < byte_length; ++i)
+ data[i] = <span class="charliteral">'A'</span>;
+</pre></div><dl class="return"><dt><b>Returns:</b></dt><dd>A pointer to the internal buffer for this <code>ArrayBuffer</code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="afe636bd8a6011c04dce0eaa84af7c1ee"></a><!-- doxytag: member="pp::VarArrayBuffer::operator=" ref="afe636bd8a6011c04dce0eaa84af7c1ee" args="(const VarArrayBuffer &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var_array_buffer.html">VarArrayBuffer</a>& pp::VarArrayBuffer::operator= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var_array_buffer.html">VarArrayBuffer</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function assigns one <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code> to another <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>The <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code> to be assigned.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The resulting <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a9cbb8584d8edc5d03875de67dec4086c"></a><!-- doxytag: member="pp::VarArrayBuffer::operator=" ref="a9cbb8584d8edc5d03875de67dec4086c" args="(const Var &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_var.html">Var</a>& pp::VarArrayBuffer::operator= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function assigns one <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code> to another <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code>. </p>
+<p>A <a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a>'s assignment operator is overloaded here so that we can check for assigning a non-ArrayBuffer var to a <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>The <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code> to be assigned.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The resulting <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code> (as a <a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a>&). </dd></dl>
+<p>Reimplemented from <a class="el" href="classpp_1_1_var.html#a65601024610f1625c9945acb8725d7c4">pp::Var</a>.</p>
+</div>
+</div>
+<a class="anchor" id="a271e6bb122f313a758b5fce1dc751687"></a><!-- doxytag: member="pp::VarArrayBuffer::Unmap" ref="a271e6bb122f313a758b5fce1dc751687" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_var_array_buffer.html#a271e6bb122f313a758b5fce1dc751687">pp::VarArrayBuffer::Unmap</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_var_array_buffer.html#a271e6bb122f313a758b5fce1dc751687" title="Unmap() unmaps this ArrayBuffer var from the module address space.">Unmap()</a> unmaps this <code>ArrayBuffer</code> var from the module address space. </p>
+<p>Use this if you want to save memory but might want to call <a class="el" href="classpp_1_1_var_array_buffer.html#ab81d9579bcacf5eb927a9638092d2f3b" title="Map() maps the ArrayBuffer in to the module's address space and returns a pointer to the beginning of...">Map()</a> to map the buffer again later. </p>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="var__array__buffer_8h.html">var_array_buffer.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_var_array_buffer__inherit__graph.png b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_var_array_buffer__inherit__graph.png
new file mode 100644
index 0000000..7989af08
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_var_array_buffer__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_var_dictionary-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_var_dictionary-members.html
new file mode 100644
index 0000000..3a501a41
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_var_dictionary-members.html
@@ -0,0 +1,59 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_var_dictionary.html">pp::VarDictionary</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a07e7a4ea38b990e6c230109823347e70">AsBool</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a8a798b08e197948c161737fc7b745af6">AsDouble</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ad31cdb379b6ceaae967125e358c81d16">AsInt</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a22a1e3b2a0783b949bedcdae49c07c97">AsString</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a835b1e5a601d6e5ceb9a7d1b5fb7a66f">DebugString</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_dictionary.html#a1a3c22688159becedcb855fa78619c8c">Delete</a>(const Var &key)</td><td><a class="el" href="classpp_1_1_var_dictionary.html">pp::VarDictionary</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a84a725a42640a63747f7f6bc252b65d4">Detach</a>()</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_dictionary.html#a2221719e6c6f35e4333f426f8366451b">Get</a>(const Var &key) const </td><td><a class="el" href="classpp_1_1_var_dictionary.html">pp::VarDictionary</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_dictionary.html#a90073effa08ca9664e357027ba4c8c48">GetKeys</a>() const </td><td><a class="el" href="classpp_1_1_var_dictionary.html">pp::VarDictionary</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_dictionary.html#a3fd937b874ff4c5361e5b0e21829bd6a">HasKey</a>(const Var &key) const </td><td><a class="el" href="classpp_1_1_var_dictionary.html">pp::VarDictionary</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a7a28894a77f9d69d1a4b0272bf80d657">is_array</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ac0fd1d153203f8fe6c23b88618a5ef65">is_array_buffer</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a83773e6f9e2ac3723e33b6a1586d5c1e">is_bool</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ae061050e5deaac345eb089b9cd8796ea">is_dictionary</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a4a9e093ddf1475542bf0b3231e03d631">is_double</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ae7dd6f7e851c81ee259095f3e826f3fd">is_int</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a94bec264c03634f7ba66fb46ed4fda0b">is_managed_</a></td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#aa4a9d8309d3390aa56a4f2966daf6533">is_null</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ae803a32764804c873dd16c48bd4fdc83">is_number</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a79ed26c49d64b536619a1ee574848a36">is_object</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a8ed51b6cd4e1b6fee46d8fdf27c98ef1">is_resource</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a57ce2eb7f023f383194155b25b53d297">is_string</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#afe677b5834bfb5f1364d212a52f1879e">is_undefined</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_dictionary.html#a0fc59e6a9751d35815e0bfa4a0d06217">operator=</a>(const VarDictionary &other)</td><td><a class="el" href="classpp_1_1_var_dictionary.html">pp::VarDictionary</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_dictionary.html#a689815e0b4e50e2f1e9aaa8b1ef34e00">operator=</a>(const Var &other)</td><td><a class="el" href="classpp_1_1_var_dictionary.html">pp::VarDictionary</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ad689c287e64f984eb951c57af303a444">operator==</a>(const Var &other) const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#ad828439641c93930ff188b45b45b4261">pp_var</a>() const </td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_dictionary.html#a5655feba6620abf7654d008e245971d8">Set</a>(const Var &key, const Var &value)</td><td><a class="el" href="classpp_1_1_var_dictionary.html">pp::VarDictionary</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">Var</a>()</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a8dc13cf4d873293e06e6d23325ab2544">Var</a>(Null)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a6eba29ce9f635feb4ffbdfba1014ff99">Var</a>(bool b)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a6de6c1f791f105b70d0cf815f63c2304">Var</a>(int32_t i)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a9bbdfd7d1aa2bd6c8d526ff5f6a2c035">Var</a>(double d)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a24ae309e6e0335d2b16aab6039c231fa">Var</a>(const char *utf8_str)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a4b0c8c5ef714c9444cfd8f1dd4a9fb25">Var</a>(const std::string &utf8_str)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a64a857e38d59b1e012a02d7b8f98680f">Var</a>(PassRef, const PP_Var &var)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a52415e7de337c97b08eb70b06e0cda4b">Var</a>(const PP_Var &var)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a2356640f40527226f295cc15ec01f302">Var</a>(DontManage, const PP_Var &var)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#aa87cbd4cc4bc47b6f1f8a749f60aa062">Var</a>(const Var &other)</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a7c1225564a0e3ab910823fc20d2611ab">var_</a></td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_dictionary.html#a8687ca12c7d53653e7ea164ca13c86f8">VarDictionary</a>()</td><td><a class="el" href="classpp_1_1_var_dictionary.html">pp::VarDictionary</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_dictionary.html#ae90f19faf752428dce18ab319a421aa7">VarDictionary</a>(const Var &var)</td><td><a class="el" href="classpp_1_1_var_dictionary.html">pp::VarDictionary</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_dictionary.html#aaca1887754d80b56503cd0c329397f74">VarDictionary</a>(const PP_Var &var)</td><td><a class="el" href="classpp_1_1_var_dictionary.html">pp::VarDictionary</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_dictionary.html#a42546bb501a2e5d74f1092e88cf162ac">VarDictionary</a>(const VarDictionary &other)</td><td><a class="el" href="classpp_1_1_var_dictionary.html">pp::VarDictionary</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var.html#a148a5009f2f445edfec0a5f83ed94cf4">~Var</a>()</td><td><a class="el" href="classpp_1_1_var.html">pp::Var</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_var_dictionary.html#adc8bdb1aee0e5deaee3b88a755cbc9ff">~VarDictionary</a>()</td><td><a class="el" href="classpp_1_1_var_dictionary.html">pp::VarDictionary</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_var_dictionary.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_var_dictionary.html
new file mode 100644
index 0000000..a536d5b
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_var_dictionary.html
@@ -0,0 +1,301 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::VarDictionary Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::VarDictionary" --><!-- doxytag: inherits="pp::Var" --><div class="dynheader">
+Inheritance diagram for pp::VarDictionary:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_var_dictionary__inherit__graph.png" border="0" usemap="#pp_1_1_var_dictionary_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_var_dictionary_inherit__map" id="pp_1_1_var_dictionary_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page." alt="" coords="37,5,104,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_var_dictionary-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_dictionary.html#a8687ca12c7d53653e7ea164ca13c86f8">VarDictionary</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_dictionary.html#ae90f19faf752428dce18ab319a421aa7">VarDictionary</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &var)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_dictionary.html#aaca1887754d80b56503cd0c329397f74">VarDictionary</a> (const PP_Var &var)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_dictionary.html#a42546bb501a2e5d74f1092e88cf162ac">VarDictionary</a> (const <a class="el" href="classpp_1_1_var_dictionary.html">VarDictionary</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_dictionary.html#adc8bdb1aee0e5deaee3b88a755cbc9ff">~VarDictionary</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var_dictionary.html">VarDictionary</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_dictionary.html#a0fc59e6a9751d35815e0bfa4a0d06217">operator=</a> (const <a class="el" href="classpp_1_1_var_dictionary.html">VarDictionary</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classpp_1_1_var.html">Var</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_dictionary.html#a689815e0b4e50e2f1e9aaa8b1ef34e00">operator=</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_dictionary.html#a2221719e6c6f35e4333f426f8366451b">Get</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &key) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_dictionary.html#a5655feba6620abf7654d008e245971d8">Set</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &key, const <a class="el" href="classpp_1_1_var.html">Var</a> &value)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_dictionary.html#a1a3c22688159becedcb855fa78619c8c">Delete</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &key)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_dictionary.html#a3fd937b874ff4c5361e5b0e21829bd6a">HasKey</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &key) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var_array.html">VarArray</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_dictionary.html#a90073effa08ca9664e357027ba4c8c48">GetKeys</a> () const </td></tr>
+</table>
+<hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a8687ca12c7d53653e7ea164ca13c86f8"></a><!-- doxytag: member="pp::VarDictionary::VarDictionary" ref="a8687ca12c7d53653e7ea164ca13c86f8" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var_dictionary.html#a8687ca12c7d53653e7ea164ca13c86f8">pp::VarDictionary::VarDictionary</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs a new dictionary var. </p>
+</div>
+</div>
+<a class="anchor" id="ae90f19faf752428dce18ab319a421aa7"></a><!-- doxytag: member="pp::VarDictionary::VarDictionary" ref="ae90f19faf752428dce18ab319a421aa7" args="(const Var &var)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var_dictionary.html#a8687ca12c7d53653e7ea164ca13c86f8">pp::VarDictionary::VarDictionary</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>var</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs a <code><a class="el" href="classpp_1_1_var_dictionary.html">VarDictionary</a></code> given a var for which <a class="el" href="classpp_1_1_var.html#ae061050e5deaac345eb089b9cd8796ea" title="This function determines if this Var is a dictionary.">is_dictionary()</a> is true. </p>
+<p>This will refer to the same dictionary var, but allow you to access methods specific to dictionary.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">var</td><td>A dictionary var. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="aaca1887754d80b56503cd0c329397f74"></a><!-- doxytag: member="pp::VarDictionary::VarDictionary" ref="aaca1887754d80b56503cd0c329397f74" args="(const PP_Var &var)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var_dictionary.html#a8687ca12c7d53653e7ea164ca13c86f8">pp::VarDictionary::VarDictionary</a> </td>
+<td>(</td>
+<td class="paramtype">const PP_Var & </td>
+<td class="paramname"><em>var</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs a <code><a class="el" href="classpp_1_1_var_dictionary.html">VarDictionary</a></code> given a <code>PP_Var</code> of type PP_VARTYPE_DICTIONARY. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">var</td><td>A <code>PP_Var</code> of type PP_VARTYPE_DICTIONARY. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a42546bb501a2e5d74f1092e88cf162ac"></a><!-- doxytag: member="pp::VarDictionary::VarDictionary" ref="a42546bb501a2e5d74f1092e88cf162ac" args="(const VarDictionary &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var_dictionary.html#a8687ca12c7d53653e7ea164ca13c86f8">pp::VarDictionary::VarDictionary</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var_dictionary.html">VarDictionary</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Copy constructor. </p>
+</div>
+</div>
+<a class="anchor" id="adc8bdb1aee0e5deaee3b88a755cbc9ff"></a><!-- doxytag: member="pp::VarDictionary::~VarDictionary" ref="adc8bdb1aee0e5deaee3b88a755cbc9ff" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_var_dictionary.html#adc8bdb1aee0e5deaee3b88a755cbc9ff">pp::VarDictionary::~VarDictionary</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a1a3c22688159becedcb855fa78619c8c"></a><!-- doxytag: member="pp::VarDictionary::Delete" ref="a1a3c22688159becedcb855fa78619c8c" args="(const Var &key)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="classpp_1_1_var_dictionary.html#a1a3c22688159becedcb855fa78619c8c">pp::VarDictionary::Delete</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>key</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Deletes the specified key and its associated value, if the key exists. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>A string var. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a2221719e6c6f35e4333f426f8366451b"></a><!-- doxytag: member="pp::VarDictionary::Get" ref="a2221719e6c6f35e4333f426f8366451b" args="(const Var &key) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_var_dictionary.html#a2221719e6c6f35e4333f426f8366451b">pp::VarDictionary::Get</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>key</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets the value associated with the specified key. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>A string var.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The value that is associated with <code>key</code>. If <code>key</code> is not a string var, or it doesn't exist in the dictionary, an undefined var is returned. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a90073effa08ca9664e357027ba4c8c48"></a><!-- doxytag: member="pp::VarDictionary::GetKeys" ref="a90073effa08ca9664e357027ba4c8c48" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var_array.html">VarArray</a> <a class="el" href="classpp_1_1_var_dictionary.html#a90073effa08ca9664e357027ba4c8c48">pp::VarDictionary::GetKeys</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Gets all the keys in the dictionary. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An array var which contains all the keys of the dictionary. The elements are string vars. Returns an empty array var if failed. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a3fd937b874ff4c5361e5b0e21829bd6a"></a><!-- doxytag: member="pp::VarDictionary::HasKey" ref="a3fd937b874ff4c5361e5b0e21829bd6a" args="(const Var &key) const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_var_dictionary.html#a3fd937b874ff4c5361e5b0e21829bd6a">pp::VarDictionary::HasKey</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>key</em></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Checks whether a key exists. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>A string var.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>bool</code> indicating whether the key exists. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a0fc59e6a9751d35815e0bfa4a0d06217"></a><!-- doxytag: member="pp::VarDictionary::operator=" ref="a0fc59e6a9751d35815e0bfa4a0d06217" args="(const VarDictionary &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var_dictionary.html">VarDictionary</a>& pp::VarDictionary::operator= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var_dictionary.html">VarDictionary</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Assignment operator. </p>
+</div>
+</div>
+<a class="anchor" id="a689815e0b4e50e2f1e9aaa8b1ef34e00"></a><!-- doxytag: member="pp::VarDictionary::operator=" ref="a689815e0b4e50e2f1e9aaa8b1ef34e00" args="(const Var &other)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_var.html">Var</a>& pp::VarDictionary::operator= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>other</em></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> assignment operator is overridden here so that we can check for assigning a non-dictionary var to a <code><a class="el" href="classpp_1_1_var_dictionary.html">VarDictionary</a></code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>The dictionary var to be assigned.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The resulting <code><a class="el" href="classpp_1_1_var_dictionary.html">VarDictionary</a></code> (as a <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>&). </dd></dl>
+<p>Reimplemented from <a class="el" href="classpp_1_1_var.html#a65601024610f1625c9945acb8725d7c4">pp::Var</a>.</p>
+</div>
+</div>
+<a class="anchor" id="a5655feba6620abf7654d008e245971d8"></a><!-- doxytag: member="pp::VarDictionary::Set" ref="a5655feba6620abf7654d008e245971d8" args="(const Var &key, const Var &value)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_var_dictionary.html#a5655feba6620abf7654d008e245971d8">pp::VarDictionary::Set</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>key</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>value</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sets the value associated with the specified key. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>A string var. If this key hasn't existed in the dictionary, it is added and associated with <code>value</code>; otherwise, the previous value is replaced with <code>value</code>. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The value to set.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>bool</code> indicating whether the operation succeeds. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="var__dictionary_8h.html">var_dictionary.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_var_dictionary__inherit__graph.png b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_var_dictionary__inherit__graph.png
new file mode 100644
index 0000000..da6715e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_var_dictionary__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_view-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_view-members.html
new file mode 100644
index 0000000..798b615
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_view-members.html
@@ -0,0 +1,33 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_view.html">pp::View</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_view.html#aff9a53367325d9138ab7d9cd39e40ce2">GetClipRect</a>() const </td><td><a class="el" href="classpp_1_1_view.html">pp::View</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_view.html#a42d5b4ab4ffed3f020d3fd303a14a9dd">GetCSSScale</a>() const </td><td><a class="el" href="classpp_1_1_view.html">pp::View</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_view.html#a52759c57da28a6c06a5da23d28519287">GetDeviceScale</a>() const </td><td><a class="el" href="classpp_1_1_view.html">pp::View</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_view.html#a37996c51fa6cc2dc25783461ecde0bb9">GetRect</a>() const </td><td><a class="el" href="classpp_1_1_view.html">pp::View</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_view.html#a2ae3a19ade644199982a2d09c6dd5c11">IsFullscreen</a>() const </td><td><a class="el" href="classpp_1_1_view.html">pp::View</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_view.html#a30a0919ba5e4209ef52207375c5fc5f6">IsPageVisible</a>() const </td><td><a class="el" href="classpp_1_1_view.html">pp::View</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_view.html#aff1f9900e594167a276a624e52e5ac4c">IsVisible</a>() const </td><td><a class="el" href="classpp_1_1_view.html">pp::View</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_view.html#aebcd4ab8818a6e1dfe68e2c435823ad9">View</a>()</td><td><a class="el" href="classpp_1_1_view.html">pp::View</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_view.html#a89cc79b6731f0e67d0821fe83b3e64fb">View</a>(PP_Resource view_resource)</td><td><a class="el" href="classpp_1_1_view.html">pp::View</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_view.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_view.html
new file mode 100644
index 0000000..4cf4d7f
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_view.html
@@ -0,0 +1,208 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::View Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::View" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::View:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_view__inherit__graph.png" border="0" usemap="#pp_1_1_view_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_view_inherit__map" id="pp_1_1_view_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="5,5,109,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_view-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_view.html#aebcd4ab8818a6e1dfe68e2c435823ad9">View</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_view.html#a89cc79b6731f0e67d0821fe83b3e64fb">View</a> (PP_Resource view_resource)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_rect.html">Rect</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_view.html#a37996c51fa6cc2dc25783461ecde0bb9">GetRect</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_view.html#a2ae3a19ade644199982a2d09c6dd5c11">IsFullscreen</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_view.html#aff1f9900e594167a276a624e52e5ac4c">IsVisible</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_view.html#a30a0919ba5e4209ef52207375c5fc5f6">IsPageVisible</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_rect.html">Rect</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_view.html#aff9a53367325d9138ab7d9cd39e40ce2">GetClipRect</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_view.html#a52759c57da28a6c06a5da23d28519287">GetDeviceScale</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_view.html#a42d5b4ab4ffed3f020d3fd303a14a9dd">GetCSSScale</a> () const </td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This class represents the state of the view for an instance and contains functions for retrieving the current state of that view. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="aebcd4ab8818a6e1dfe68e2c435823ad9"></a><!-- doxytag: member="pp::View::View" ref="aebcd4ab8818a6e1dfe68e2c435823ad9" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_view.html#aebcd4ab8818a6e1dfe68e2c435823ad9">pp::View::View</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Default constructor for creating an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> <code><a class="el" href="classpp_1_1_view.html" title="This class represents the state of the view for an instance and contains functions for retrieving the...">View</a></code> object. </p>
+</div>
+</div>
+<a class="anchor" id="a89cc79b6731f0e67d0821fe83b3e64fb"></a><!-- doxytag: member="pp::View::View" ref="a89cc79b6731f0e67d0821fe83b3e64fb" args="(PP_Resource view_resource)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_view.html#aebcd4ab8818a6e1dfe68e2c435823ad9">pp::View::View</a> </td>
+<td>(</td>
+<td class="paramtype">PP_Resource </td>
+<td class="paramname"><em>view_resource</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Creates a <a class="el" href="classpp_1_1_view.html" title="This class represents the state of the view for an instance and contains functions for retrieving the...">View</a> resource, taking and holding an additional reference to the given resource handle. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="aff9a53367325d9138ab7d9cd39e40ce2"></a><!-- doxytag: member="pp::View::GetClipRect" ref="aff9a53367325d9138ab7d9cd39e40ce2" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_rect.html">Rect</a> <a class="el" href="classpp_1_1_view.html#aff9a53367325d9138ab7d9cd39e40ce2">pp::View::GetClipRect</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_view.html#aff9a53367325d9138ab7d9cd39e40ce2" title="GetClipRect() returns the clip rectangle relative to the upper-left corner of the module instance...">GetClipRect()</a> returns the clip rectangle relative to the upper-left corner of the module instance. </p>
+<p>This rectangle indicates the portions of the module instance that are scrolled into view.</p>
+<p>If the module instance is scrolled off the view, the return value will be (0, 0, 0, 0). This clip rectangle does <em>not</em> take into account page visibility. Therefore, if the module instance is scrolled into view, but the page itself is on a tab that is not visible, the return rectangle will contain the visible rectangle as though the page were visible. Refer to <a class="el" href="classpp_1_1_view.html#a30a0919ba5e4209ef52207375c5fc5f6" title="IsPageVisible() determines if the page that contains the module instance is visible.">IsPageVisible()</a> and <a class="el" href="classpp_1_1_view.html#aff1f9900e594167a276a624e52e5ac4c" title="IsVisible() determines whether the module instance might be visible to the user.">IsVisible()</a> if you want to account for page visibility.</p>
+<p>Most applications will not need to worry about the clip rectangle. The recommended behavior is to do full updates if the module instance is visible, as determined by <a class="el" href="classpp_1_1_view.html#aff1f9900e594167a276a624e52e5ac4c" title="IsVisible() determines whether the module instance might be visible to the user.">IsVisible()</a>, and do no updates if it is not visible.</p>
+<p>However, if the cost for computing pixels is very high for your application, or the pages you're targeting frequently have very large module instances with small visible portions, you may wish to optimize further. In this case, the clip rectangle will tell you which parts of the module to update.</p>
+<p>Note that painting of the page and sending of view changed updates happens asynchronously. This means when the user scrolls, for example, it is likely that the previous backing store of the module instance will be used for the first paint, and will be updated later when your application generates new content with the new clip. This may cause flickering at the boundaries when scrolling. If you do choose to do partial updates, you may want to think about what color the invisible portions of your backing store contain (be it transparent or some background color) or to paint a certain region outside the clip to reduce the visual distraction when this happens.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The rectangle representing the visible part of the module instance. If the resource is invalid, the empty rectangle is returned. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a42d5b4ab4ffed3f020d3fd303a14a9dd"></a><!-- doxytag: member="pp::View::GetCSSScale" ref="a42d5b4ab4ffed3f020d3fd303a14a9dd" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="classpp_1_1_view.html#a42d5b4ab4ffed3f020d3fd303a14a9dd">pp::View::GetCSSScale</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>GetCSSScale returns the scale factor between DIPs and CSS pixels. </p>
+<p>This allows proper scaling between DIPs - as sent via the Pepper API - and CSS pixel coordinates used for Web content.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>float</code> value representing the number of DIPs per CSS pixel. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a52759c57da28a6c06a5da23d28519287"></a><!-- doxytag: member="pp::View::GetDeviceScale" ref="a52759c57da28a6c06a5da23d28519287" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">float <a class="el" href="classpp_1_1_view.html#a52759c57da28a6c06a5da23d28519287">pp::View::GetDeviceScale</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>GetDeviceScale returns the scale factor between device pixels and DIPs (also known as logical pixels or UI pixels on some platforms). </p>
+<p>This allows the developer to render their contents at device resolution, even as coordinates / sizes are given in DIPs through the API.</p>
+<p>Note that the coordinate system for Pepper APIs is DIPs. Also note that one DIP might not equal one CSS pixel - when page scale/zoom is in effect.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>float</code> value representing the number of device pixels per DIP. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a37996c51fa6cc2dc25783461ecde0bb9"></a><!-- doxytag: member="pp::View::GetRect" ref="a37996c51fa6cc2dc25783461ecde0bb9" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_rect.html">Rect</a> <a class="el" href="classpp_1_1_view.html#a37996c51fa6cc2dc25783461ecde0bb9">pp::View::GetRect</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_view.html#a37996c51fa6cc2dc25783461ecde0bb9" title="GetRect() retrieves the rectangle of the module instance associated with a view changed notification ...">GetRect()</a> retrieves the rectangle of the module instance associated with a view changed notification relative to the upper-left of the browser viewport. </p>
+<p>This position changes when the page is scrolled.</p>
+<p>The returned rectangle may not be inside the visible portion of the viewport if the module instance is scrolled off the page. Therefore, the position may be negative or larger than the size of the page. The size will always reflect the size of the module were it to be scrolled entirely into view.</p>
+<p>In general, most modules will not need to worry about the position of the module instance in the viewport, and only need to use the size.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The rectangle of the instance. The default return value for an invalid <a class="el" href="classpp_1_1_view.html" title="This class represents the state of the view for an instance and contains functions for retrieving the...">View</a> is the empty rectangle. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a2ae3a19ade644199982a2d09c6dd5c11"></a><!-- doxytag: member="pp::View::IsFullscreen" ref="a2ae3a19ade644199982a2d09c6dd5c11" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_view.html#a2ae3a19ade644199982a2d09c6dd5c11">pp::View::IsFullscreen</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_view.html#a2ae3a19ade644199982a2d09c6dd5c11" title="IsFullscreen() returns whether the instance is currently displaying in fullscreen mode...">IsFullscreen()</a> returns whether the instance is currently displaying in fullscreen mode. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if the instance is in full screen mode, or <code>false</code> if it's not or the resource is invalid. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a30a0919ba5e4209ef52207375c5fc5f6"></a><!-- doxytag: member="pp::View::IsPageVisible" ref="a30a0919ba5e4209ef52207375c5fc5f6" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_view.html#a30a0919ba5e4209ef52207375c5fc5f6">pp::View::IsPageVisible</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_view.html#a30a0919ba5e4209ef52207375c5fc5f6" title="IsPageVisible() determines if the page that contains the module instance is visible.">IsPageVisible()</a> determines if the page that contains the module instance is visible. </p>
+<p>The most common cause of invisible pages is that the page is in a background tab in the browser.</p>
+<p>Most applications should use <a class="el" href="classpp_1_1_view.html#aff1f9900e594167a276a624e52e5ac4c" title="IsVisible() determines whether the module instance might be visible to the user.">IsVisible()</a> instead of this function since the module instance could be scrolled off of a visible page, and this function will still return true. However, depending on how your module interacts with the page, there may be certain updates that you may want to perform when the page is visible even if your specific module instance is not visible.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if the instance might be visible to the user, <code>false</code> if it is definitely not visible. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aff1f9900e594167a276a624e52e5ac4c"></a><!-- doxytag: member="pp::View::IsVisible" ref="aff1f9900e594167a276a624e52e5ac4c" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_view.html#aff1f9900e594167a276a624e52e5ac4c">pp::View::IsVisible</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_view.html#aff1f9900e594167a276a624e52e5ac4c" title="IsVisible() determines whether the module instance might be visible to the user.">IsVisible()</a> determines whether the module instance might be visible to the user. </p>
+<p>For example, the Chrome window could be minimized or another window could be over it. In both of these cases, the module instance would not be visible to the user, but <a class="el" href="classpp_1_1_view.html#aff1f9900e594167a276a624e52e5ac4c" title="IsVisible() determines whether the module instance might be visible to the user.">IsVisible()</a> will return true.</p>
+<p>Use the result to speed up or stop updates for invisible module instances.</p>
+<p>This function performs the duties of <a class="el" href="classpp_1_1_view.html#a37996c51fa6cc2dc25783461ecde0bb9" title="GetRect() retrieves the rectangle of the module instance associated with a view changed notification ...">GetRect()</a> (determining whether the module instance is scrolled into view and the clip rectangle is nonempty) and <a class="el" href="classpp_1_1_view.html#a30a0919ba5e4209ef52207375c5fc5f6" title="IsPageVisible() determines if the page that contains the module instance is visible.">IsPageVisible()</a> (whether the page is visible to the user).</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if the instance might be visible to the user, <code>false</code> if it is definitely not visible. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="view_8h.html">view.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_view__inherit__graph.png b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_view__inherit__graph.png
new file mode 100644
index 0000000..671ba11
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_view__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_web_socket-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_web_socket-members.html
new file mode 100644
index 0000000..8f817321
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_web_socket-members.html
@@ -0,0 +1,38 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_web_socket.html">pp::WebSocket</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_web_socket.html#ae7913ea4019cc2a10c9a0390c5959071">Close</a>(uint16_t code, const Var &reason, const CompletionCallback &callback)</td><td><a class="el" href="classpp_1_1_web_socket.html">pp::WebSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_web_socket.html#ad8471399bfca7df23b87ded733d53141">Connect</a>(const Var &url, const Var protocols[], uint32_t protocol_count, const CompletionCallback &callback)</td><td><a class="el" href="classpp_1_1_web_socket.html">pp::WebSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_web_socket.html#aee920e33ef266c51ffdaeba8d6924e19">GetBufferedAmount</a>()</td><td><a class="el" href="classpp_1_1_web_socket.html">pp::WebSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_web_socket.html#ab1bb565b7800fd3c147177e4e3a3466f">GetCloseCode</a>()</td><td><a class="el" href="classpp_1_1_web_socket.html">pp::WebSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_web_socket.html#a27c9cf6d130706fcc5e6fe2f9ed51a7b">GetCloseReason</a>()</td><td><a class="el" href="classpp_1_1_web_socket.html">pp::WebSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_web_socket.html#a092b63f716b3e02fc8ec0696ac58df84">GetCloseWasClean</a>()</td><td><a class="el" href="classpp_1_1_web_socket.html">pp::WebSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_web_socket.html#ab22093b22b7ceea6957047e1cb5967d2">GetExtensions</a>()</td><td><a class="el" href="classpp_1_1_web_socket.html">pp::WebSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_web_socket.html#a1c4b81bb05d30fdef67a07ac904abf0f">GetProtocol</a>()</td><td><a class="el" href="classpp_1_1_web_socket.html">pp::WebSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_web_socket.html#afa09ce5acb5f7f168f17b8b3f5939317">GetReadyState</a>()</td><td><a class="el" href="classpp_1_1_web_socket.html">pp::WebSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_web_socket.html#ab76ccebfe20facff03464e71f4af7719">GetURL</a>()</td><td><a class="el" href="classpp_1_1_web_socket.html">pp::WebSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_web_socket.html#a1eb972115700589ebf6998db4f411c56">ReceiveMessage</a>(Var *message, const CompletionCallback &callback)</td><td><a class="el" href="classpp_1_1_web_socket.html">pp::WebSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_web_socket.html#a276b1aae76ba9d899475aaf9c2cd4f28">SendMessage</a>(const Var &message)</td><td><a class="el" href="classpp_1_1_web_socket.html">pp::WebSocket</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_web_socket.html#aeaac3a412a9015a9378beec9f42d5809">WebSocket</a>(const InstanceHandle &instance)</td><td><a class="el" href="classpp_1_1_web_socket.html">pp::WebSocket</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_web_socket.html#aa4810e4b945c1fc92493dc206eb35c09">~WebSocket</a>()</td><td><a class="el" href="classpp_1_1_web_socket.html">pp::WebSocket</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_web_socket.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_web_socket.html
new file mode 100644
index 0000000..688917eb
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_web_socket.html
@@ -0,0 +1,372 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::WebSocket Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::WebSocket" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
+Inheritance diagram for pp::WebSocket:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_web_socket__inherit__graph.png" border="0" usemap="#pp_1_1_web_socket_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_web_socket_inherit__map" id="pp_1_1_web_socket_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="11,5,115,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_web_socket-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_web_socket.html#aeaac3a412a9015a9378beec9f42d5809">WebSocket</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_web_socket.html#aa4810e4b945c1fc92493dc206eb35c09">~WebSocket</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_web_socket.html#ad8471399bfca7df23b87ded733d53141">Connect</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &url, const <a class="el" href="classpp_1_1_var.html">Var</a> protocols[], uint32_t protocol_count, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_web_socket.html#ae7913ea4019cc2a10c9a0390c5959071">Close</a> (uint16_t code, const <a class="el" href="classpp_1_1_var.html">Var</a> &reason, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_web_socket.html#a1eb972115700589ebf6998db4f411c56">ReceiveMessage</a> (<a class="el" href="classpp_1_1_var.html">Var</a> *message, const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_web_socket.html#a276b1aae76ba9d899475aaf9c2cd4f28">SendMessage</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &message)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_web_socket.html#aee920e33ef266c51ffdaeba8d6924e19">GetBufferedAmount</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_web_socket.html#ab1bb565b7800fd3c147177e4e3a3466f">GetCloseCode</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_web_socket.html#a27c9cf6d130706fcc5e6fe2f9ed51a7b">GetCloseReason</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_web_socket.html#a092b63f716b3e02fc8ec0696ac58df84">GetCloseWasClean</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_web_socket.html#ab22093b22b7ceea6957047e1cb5967d2">GetExtensions</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_web_socket.html#a1c4b81bb05d30fdef67a07ac904abf0f">GetProtocol</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PP_WebSocketReadyState </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_web_socket.html#afa09ce5acb5f7f168f17b8b3f5939317">GetReadyState</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_web_socket.html#ab76ccebfe20facff03464e71f4af7719">GetURL</a> ()</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The <code><a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a></code> class providing bi-directional, full-duplex, communications over a single TCP socket. </p>
+</div><hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="aeaac3a412a9015a9378beec9f42d5809"></a><!-- doxytag: member="pp::WebSocket::WebSocket" ref="aeaac3a412a9015a9378beec9f42d5809" args="(const InstanceHandle &instance)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_web_socket.html#aeaac3a412a9015a9378beec9f42d5809">pp::WebSocket::WebSocket</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs a <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> object. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="aa4810e4b945c1fc92493dc206eb35c09"></a><!-- doxytag: member="pp::WebSocket::~WebSocket" ref="aa4810e4b945c1fc92493dc206eb35c09" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1_web_socket.html#aa4810e4b945c1fc92493dc206eb35c09">pp::WebSocket::~WebSocket</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Destructs a <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> object. </p>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="ae7913ea4019cc2a10c9a0390c5959071"></a><!-- doxytag: member="pp::WebSocket::Close" ref="ae7913ea4019cc2a10c9a0390c5959071" args="(uint16_t code, const Var &reason, const CompletionCallback &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_web_socket.html#ae7913ea4019cc2a10c9a0390c5959071">pp::WebSocket::Close</a> </td>
+<td>(</td>
+<td class="paramtype">uint16_t </td>
+<td class="paramname"><em>code</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>reason</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>callback</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_web_socket.html#ae7913ea4019cc2a10c9a0390c5959071" title="Close() closes the specified WebSocket connection by specifying code and reason.">Close()</a> closes the specified <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> connection by specifying <code>code</code> and <code>reason</code>. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">code</td><td>The <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> close code. This is ignored if it is 0. <code>PP_WEBSOCKETSTATUSCODE_NORMAL_CLOSURE</code> must be used for the usual case. To indicate some specific error cases, codes in the range <code>PP_WEBSOCKETSTATUSCODE_USER_REGISTERED_MIN</code> to <code>PP_WEBSOCKETSTATUSCODE_USER_REGISTERED_MAX</code>, and in the range <code>PP_WEBSOCKETSTATUSCODE_USER_PRIVATE_MIN</code> to <code>PP_WEBSOCKETSTATUSCODE_USER_PRIVATE_MAX</code> are available.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">reason</td><td>A <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> of string type representing the close reason. This is ignored if it is an undefined type.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> called when the connection is closed or an error occurs in closing the connection.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. Returns <code>PP_ERROR_BADARGUMENT</code> if <code>reason</code> contains an invalid character as a UTF-8 string, or is longer than 123 bytes. <code>PP_ERROR_BADARGUMENT</code> corresponds to a JavaScript SyntaxError in the <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> API specification. Returns <code>PP_ERROR_NOACCESS</code> if the code is not an integer equal to 1000 or in the range 3000 to 4999. <code>PP_ERROR_NOACCESS</code> corresponds to an InvalidAccessError in the <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> API specification. Returns <code>PP_ERROR_INPROGRESS</code> if a previous call to <a class="el" href="classpp_1_1_web_socket.html#ae7913ea4019cc2a10c9a0390c5959071" title="Close() closes the specified WebSocket connection by specifying code and reason.">Close()</a> is not finished. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ad8471399bfca7df23b87ded733d53141"></a><!-- doxytag: member="pp::WebSocket::Connect" ref="ad8471399bfca7df23b87ded733d53141" args="(const Var &url, const Var protocols[], uint32_t protocol_count, const CompletionCallback &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_web_socket.html#ad8471399bfca7df23b87ded733d53141">pp::WebSocket::Connect</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>url</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> </td>
+<td class="paramname"><em>protocols</em>[], </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>protocol_count</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>callback</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_web_socket.html#ad8471399bfca7df23b87ded733d53141" title="Connect() connects to the specified WebSocket server.">Connect()</a> connects to the specified <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> server. </p>
+<p>You can call this function once for an object.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">url</td><td>A <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> of string type representing a <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> server URL.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">protocols</td><td>A pointer to an array of <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> of string type specifying sub-protocols. Each <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> represents one sub-protocol. This argument can be null only if <code>protocol_count</code> is 0.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">protocol_count</td><td>The number of sub-protocols in <code>protocols</code>.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> called when a connection is established or an error occurs in establishing connection.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. Returns <code>PP_ERROR_BADARGUMENT</code> if specified <code>url</code>, or <code>protocols</code> contains invalid string as defined in the <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> API specification. <code>PP_ERROR_BADARGUMENT</code> corresponds to a SyntaxError in the <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> API specification. Returns <code>PP_ERROR_NOACCESS</code> if the protocol specified in the <code>url</code> is not a secure protocol, but the origin of the caller has a secure scheme. Also returns <code>PP_ERROR_NOACCESS</code> if the port specified in the <code>url</code> is a port that the user agent is configured to block access to because it is a well-known port like SMTP. <code>PP_ERROR_NOACCESS</code> corresponds to a SecurityError of the specification. Returns <code>PP_ERROR_INPROGRESS</code> if this is not the first call to <a class="el" href="classpp_1_1_web_socket.html#ad8471399bfca7df23b87ded733d53141" title="Connect() connects to the specified WebSocket server.">Connect()</a>. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="aee920e33ef266c51ffdaeba8d6924e19"></a><!-- doxytag: member="pp::WebSocket::GetBufferedAmount" ref="aee920e33ef266c51ffdaeba8d6924e19" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint64_t <a class="el" href="classpp_1_1_web_socket.html#aee920e33ef266c51ffdaeba8d6924e19">pp::WebSocket::GetBufferedAmount</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_web_socket.html#aee920e33ef266c51ffdaeba8d6924e19" title="GetBufferedAmount() returns the number of bytes of text and binary messages that have been queued for...">GetBufferedAmount()</a> returns the number of bytes of text and binary messages that have been queued for the <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> connection to send, but have not been transmitted to the network yet. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the number of bytes. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab1bb565b7800fd3c147177e4e3a3466f"></a><!-- doxytag: member="pp::WebSocket::GetCloseCode" ref="ab1bb565b7800fd3c147177e4e3a3466f" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">uint16_t <a class="el" href="classpp_1_1_web_socket.html#ab1bb565b7800fd3c147177e4e3a3466f">pp::WebSocket::GetCloseCode</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_web_socket.html#ab1bb565b7800fd3c147177e4e3a3466f" title="GetCloseCode() returns the connection close code for the WebSocket connection.">GetCloseCode()</a> returns the connection close code for the <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> connection. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns 0 if called before the close code is set. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a27c9cf6d130706fcc5e6fe2f9ed51a7b"></a><!-- doxytag: member="pp::WebSocket::GetCloseReason" ref="a27c9cf6d130706fcc5e6fe2f9ed51a7b" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_web_socket.html#a27c9cf6d130706fcc5e6fe2f9ed51a7b">pp::WebSocket::GetCloseReason</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_web_socket.html#a27c9cf6d130706fcc5e6fe2f9ed51a7b" title="GetCloseReason() returns the connection close reason for the WebSocket connection.">GetCloseReason()</a> returns the connection close reason for the <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> connection. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns a <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> of string type. If called before the close reason is set, the return value contains an empty string. Returns a <code>PP_VARTYPE_UNDEFINED</code> if called on an invalid resource. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a092b63f716b3e02fc8ec0696ac58df84"></a><!-- doxytag: member="pp::WebSocket::GetCloseWasClean" ref="a092b63f716b3e02fc8ec0696ac58df84" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_web_socket.html#a092b63f716b3e02fc8ec0696ac58df84">pp::WebSocket::GetCloseWasClean</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_web_socket.html#a092b63f716b3e02fc8ec0696ac58df84" title="GetCloseWasClean() returns if the connection was closed cleanly for the specified WebSocket connectio...">GetCloseWasClean()</a> returns if the connection was closed cleanly for the specified <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> connection. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>false</code> if called before the connection is closed, called on an invalid resource, or closed for abnormal reasons. Otherwise, returns <code>true</code> if the connection was closed cleanly. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab22093b22b7ceea6957047e1cb5967d2"></a><!-- doxytag: member="pp::WebSocket::GetExtensions" ref="ab22093b22b7ceea6957047e1cb5967d2" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_web_socket.html#ab22093b22b7ceea6957047e1cb5967d2">pp::WebSocket::GetExtensions</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_web_socket.html#ab22093b22b7ceea6957047e1cb5967d2" title="GetExtensions() returns the extensions selected by the server for the specified WebSocket connection...">GetExtensions()</a> returns the extensions selected by the server for the specified <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> connection. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns a <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> of string type. If called before the connection is established, the <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>'s data is an empty string. Returns a <code>PP_VARTYPE_UNDEFINED</code> if called on an invalid resource. Currently the <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code>'s data for valid resources are always an empty string. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a1c4b81bb05d30fdef67a07ac904abf0f"></a><!-- doxytag: member="pp::WebSocket::GetProtocol" ref="a1c4b81bb05d30fdef67a07ac904abf0f" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_web_socket.html#a1c4b81bb05d30fdef67a07ac904abf0f">pp::WebSocket::GetProtocol</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_web_socket.html#a1c4b81bb05d30fdef67a07ac904abf0f" title="GetProtocol() returns the sub-protocol chosen by the server for the specified WebSocket connection...">GetProtocol()</a> returns the sub-protocol chosen by the server for the specified <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> connection. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns a <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> of string type. If called before the connection is established, the <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> contains the empty string. Returns a code>PP_VARTYPE_UNDEFINED if called on an invalid resource. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="afa09ce5acb5f7f168f17b8b3f5939317"></a><!-- doxytag: member="pp::WebSocket::GetReadyState" ref="afa09ce5acb5f7f168f17b8b3f5939317" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">PP_WebSocketReadyState <a class="el" href="classpp_1_1_web_socket.html#afa09ce5acb5f7f168f17b8b3f5939317">pp::WebSocket::GetReadyState</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_web_socket.html#afa09ce5acb5f7f168f17b8b3f5939317" title="GetReadyState() returns the ready state of the specified WebSocket connection.">GetReadyState()</a> returns the ready state of the specified <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> connection. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>PP_WEBSOCKETREADYSTATE_INVALID</code> if called before <a class="el" href="classpp_1_1_web_socket.html#ad8471399bfca7df23b87ded733d53141" title="Connect() connects to the specified WebSocket server.">Connect()</a> is called, or if this function is called on an invalid resource. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ab76ccebfe20facff03464e71f4af7719"></a><!-- doxytag: member="pp::WebSocket::GetURL" ref="ab76ccebfe20facff03464e71f4af7719" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_web_socket.html#ab76ccebfe20facff03464e71f4af7719">pp::WebSocket::GetURL</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_web_socket.html#ab76ccebfe20facff03464e71f4af7719" title="GetURL() returns the URL associated with specified WebSocket connection.">GetURL()</a> returns the URL associated with specified <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> connection. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns a <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> of string type. If called before the connection is established, the <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> contains the empty string. Returns a <code>PP_VARTYPE_UNDEFINED</code> if this function is called on an invalid resource. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a1eb972115700589ebf6998db4f411c56"></a><!-- doxytag: member="pp::WebSocket::ReceiveMessage" ref="a1eb972115700589ebf6998db4f411c56" args="(Var *message, const CompletionCallback &callback)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_web_socket.html#a1eb972115700589ebf6998db4f411c56">pp::WebSocket::ReceiveMessage</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="classpp_1_1_var.html">Var</a> * </td>
+<td class="paramname"><em>message</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> & </td>
+<td class="paramname"><em>callback</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_web_socket.html#a1eb972115700589ebf6998db4f411c56" title="ReceiveMessage() receives a message from the WebSocket server.">ReceiveMessage()</a> receives a message from the <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> server. </p>
+<p>This interface only returns a single message. That is, this interface must be called at least N times to receive N messages, no matter the size of each message.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[out]</td><td class="paramname">message</td><td>The received message is copied to provided <code>message</code>. The <code>message</code> must remain valid until <a class="el" href="classpp_1_1_web_socket.html#a1eb972115700589ebf6998db4f411c56" title="ReceiveMessage() receives a message from the WebSocket server.">ReceiveMessage()</a> completes. Its received <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> will be of string or ArrayBuffer type.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> called when <a class="el" href="classpp_1_1_web_socket.html#a1eb972115700589ebf6998db4f411c56" title="ReceiveMessage() receives a message from the WebSocket server.">ReceiveMessage()</a> completes. This callback is ignored if <a class="el" href="classpp_1_1_web_socket.html#a1eb972115700589ebf6998db4f411c56" title="ReceiveMessage() receives a message from the WebSocket server.">ReceiveMessage()</a> completes synchronously and returns <code>PP_OK</code>.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. If an error is detected or connection is closed, <a class="el" href="classpp_1_1_web_socket.html#a1eb972115700589ebf6998db4f411c56" title="ReceiveMessage() receives a message from the WebSocket server.">ReceiveMessage()</a> returns <code>PP_ERROR_FAILED</code> after all buffered messages are received. Until buffered message become empty, <a class="el" href="classpp_1_1_web_socket.html#a1eb972115700589ebf6998db4f411c56" title="ReceiveMessage() receives a message from the WebSocket server.">ReceiveMessage()</a> continues to return <code>PP_OK</code> as if connection is still established without errors. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a276b1aae76ba9d899475aaf9c2cd4f28"></a><!-- doxytag: member="pp::WebSocket::SendMessage" ref="a276b1aae76ba9d899475aaf9c2cd4f28" args="(const Var &message)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">int32_t <a class="el" href="classpp_1_1_web_socket.html#a276b1aae76ba9d899475aaf9c2cd4f28">pp::WebSocket::SendMessage</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> & </td>
+<td class="paramname"><em>message</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_web_socket.html#a276b1aae76ba9d899475aaf9c2cd4f28" title="SendMessage() sends a message to the WebSocket server.">SendMessage()</a> sends a message to the <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> server. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">message</td><td>A message to send. The message is copied to an internal buffer, so the caller can free <code>message</code> safely after returning from the function. This <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> must be of string or ArrayBuffer types.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. Returns <code>PP_ERROR_FAILED</code> if the ReadyState is <code>PP_WEBSOCKETREADYSTATE_CONNECTING</code>. <code>PP_ERROR_FAILED</code> corresponds to a JavaScript InvalidStateError in the <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> API specification. Returns <code>PP_ERROR_BADARGUMENT</code> if the provided <code>message</code> contains an invalid character as a UTF-8 string. <code>PP_ERROR_BADARGUMENT</code> corresponds to a JavaScript SyntaxError in the <a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a> API specification. Otherwise, returns <code>PP_OK</code>, but it doesn't necessarily mean that the server received the message. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="websocket_8h.html">websocket.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_web_socket__inherit__graph.png b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_web_socket__inherit__graph.png
new file mode 100644
index 0000000..9ab88e75
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_web_socket__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_wheel_input_event-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_wheel_input_event-members.html
new file mode 100644
index 0000000..7c263d40
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_wheel_input_event-members.html
@@ -0,0 +1,36 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1_wheel_input_event.html">pp::WheelInputEvent</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ad4016f37d3022863ca0188acb26ac9c4">Clear</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a81b9246381bdddacca3ac25f6ded2bfd">detach</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_wheel_input_event.html#ac9cfe394244f9ea55a842a0cd5ee7ab8">GetDelta</a>() const </td><td><a class="el" href="classpp_1_1_wheel_input_event.html">pp::WheelInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a6f94a5cd8453f1b69e55aadde73354e7">GetModifiers</a>() const </td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_wheel_input_event.html#a8082fa4d12d5b66aa0364825d1549ca6">GetScrollByPage</a>() const </td><td><a class="el" href="classpp_1_1_wheel_input_event.html">pp::WheelInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_wheel_input_event.html#a6c841300d5c71d9cf83eec7da8bbf084">GetTicks</a>() const </td><td><a class="el" href="classpp_1_1_wheel_input_event.html">pp::WheelInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#acc79ecdcf19f5b8a8a7268fc8ff51531">GetTimeStamp</a>() const </td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a73ca79c06ff9a39304e3b390090f03dc">GetType</a>() const </td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#ac7581e4321abe8de6f3b48d70f4aa65d">InputEvent</a>()</td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a1d4f7d3fb88de3cccc60ab26b92ccf23">InputEvent</a>(PP_Resource input_event_resource)</td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9">is_null</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#aaf808a98bdaa7998d82e19514aa87423">operator=</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a3eda014529127a818df8d5bb5ec2fdf0">PassRefFromConstructor</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a46a6123de0b007ad3fcb6f666534ccb4">pp_resource</a>() const </td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a56679e93a58101c8dce5dc510811a094">Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#ab0f664099ca06367180f220ea7e0b831">Resource</a>(const Resource &other)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a555de93fdf4793f7db1183bf71d20580">Resource</a>(PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [explicit, protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a907d3d6b7e292587c8cb9ff30d0a418d">Resource</a>(PassRef, PP_Resource resource)</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_wheel_input_event.html#a85e0f60e68512da2339d61158371fa59">WheelInputEvent</a>()</td><td><a class="el" href="classpp_1_1_wheel_input_event.html">pp::WheelInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_wheel_input_event.html#ab933e1f6aac0f96cdb2d84153bf957ca">WheelInputEvent</a>(const InputEvent &event)</td><td><a class="el" href="classpp_1_1_wheel_input_event.html">pp::WheelInputEvent</a></td><td><code> [explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_wheel_input_event.html#a5b9fc5bc86d59a7a5f7703511e41fb33">WheelInputEvent</a>(const InstanceHandle &instance, PP_TimeTicks time_stamp, uint32_t modifiers, const FloatPoint &wheel_delta, const FloatPoint &wheel_ticks, bool scroll_by_page)</td><td><a class="el" href="classpp_1_1_wheel_input_event.html">pp::WheelInputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_input_event.html#a2492183af4fecec44a423a5b7eae6faf">~InputEvent</a>()</td><td><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_resource.html#a081165265e2bd8217eaa2be2aeeb3aa3">~Resource</a>()</td><td><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_wheel_input_event.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_wheel_input_event.html
new file mode 100644
index 0000000..3ea00c80
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_wheel_input_event.html
@@ -0,0 +1,193 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::WheelInputEvent Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::WheelInputEvent" --><!-- doxytag: inherits="pp::InputEvent" --><div class="dynheader">
+Inheritance diagram for pp::WheelInputEvent:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1_wheel_input_event__inherit__graph.png" border="0" usemap="#pp_1_1_wheel_input_event_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1_wheel_input_event_inherit__map" id="pp_1_1_wheel_input_event_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_input_event.html" title="This class represents an input event resource." alt="" coords="24,83,139,112"></area><area shape="rect" id="node4" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="29,5,133,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1_wheel_input_event-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_wheel_input_event.html#a85e0f60e68512da2339d61158371fa59">WheelInputEvent</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_wheel_input_event.html#ab933e1f6aac0f96cdb2d84153bf957ca">WheelInputEvent</a> (const <a class="el" href="classpp_1_1_input_event.html">InputEvent</a> &event)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_wheel_input_event.html#a5b9fc5bc86d59a7a5f7703511e41fb33">WheelInputEvent</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, PP_TimeTicks time_stamp, uint32_t modifiers, const <a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> &wheel_delta, const <a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> &wheel_ticks, bool scroll_by_page)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_wheel_input_event.html#ac9cfe394244f9ea55a842a0cd5ee7ab8">GetDelta</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_wheel_input_event.html#a6c841300d5c71d9cf83eec7da8bbf084">GetTicks</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_wheel_input_event.html#a8082fa4d12d5b66aa0364825d1549ca6">GetScrollByPage</a> () const </td></tr>
+</table>
+<hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a85e0f60e68512da2339d61158371fa59"></a><!-- doxytag: member="pp::WheelInputEvent::WheelInputEvent" ref="a85e0f60e68512da2339d61158371fa59" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_wheel_input_event.html#a85e0f60e68512da2339d61158371fa59">pp::WheelInputEvent::WheelInputEvent</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> wheel input event object. </p>
+</div>
+</div>
+<a class="anchor" id="ab933e1f6aac0f96cdb2d84153bf957ca"></a><!-- doxytag: member="pp::WheelInputEvent::WheelInputEvent" ref="ab933e1f6aac0f96cdb2d84153bf957ca" args="(const InputEvent &event)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_wheel_input_event.html#a85e0f60e68512da2339d61158371fa59">pp::WheelInputEvent::WheelInputEvent</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_input_event.html">InputEvent</a> & </td>
+<td class="paramname"><em>event</em></td><td>)</td>
+<td><code> [explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This constructor constructs a wheel input event object from the provided generic input event. </p>
+<p>If the given event is itself <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> or is not a wheel input event, the wheel object will be <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a>.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">event</td><td>A generic input event. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a5b9fc5bc86d59a7a5f7703511e41fb33"></a><!-- doxytag: member="pp::WheelInputEvent::WheelInputEvent" ref="a5b9fc5bc86d59a7a5f7703511e41fb33" args="(const InstanceHandle &instance, PP_TimeTicks time_stamp, uint32_t modifiers, const FloatPoint &wheel_delta, const FloatPoint &wheel_ticks, bool scroll_by_page)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_wheel_input_event.html#a85e0f60e68512da2339d61158371fa59">pp::WheelInputEvent::WheelInputEvent</a> </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td>
+<td class="paramname"><em>instance</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">PP_TimeTicks </td>
+<td class="paramname"><em>time_stamp</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">uint32_t </td>
+<td class="paramname"><em>modifiers</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> & </td>
+<td class="paramname"><em>wheel_delta</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> & </td>
+<td class="paramname"><em>wheel_ticks</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">bool </td>
+<td class="paramname"><em>scroll_by_page</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Constructs a wheel input even from the given parameters. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance for which this event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">time_stamp</td><td>A <code>PP_TimeTicks</code> indicating the time when the event occurred.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">modifiers</td><td>A bit field combination of the <code>PP_InputEvent_Modifier</code> flags.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">wheel_delta</td><td>The scroll wheel's horizontal and vertical scroll amounts.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">wheel_ticks</td><td>The number of "clicks" of the scroll wheel that have produced the event.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">scroll_by_page</td><td>When true, the user is requesting to scroll by pages. When false, the user is requesting to scroll by lines. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="ac9cfe394244f9ea55a842a0cd5ee7ab8"></a><!-- doxytag: member="pp::WheelInputEvent::GetDelta" ref="ac9cfe394244f9ea55a842a0cd5ee7ab8" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> <a class="el" href="classpp_1_1_wheel_input_event.html#ac9cfe394244f9ea55a842a0cd5ee7ab8">pp::WheelInputEvent::GetDelta</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_wheel_input_event.html#ac9cfe394244f9ea55a842a0cd5ee7ab8" title="GetDelta() returns the amount vertically and horizontally the user has requested to scroll by with th...">GetDelta()</a> returns the amount vertically and horizontally the user has requested to scroll by with their mouse wheel. </p>
+<p>A scroll down or to the right (where the content moves up or left) is represented as positive values, and a scroll up or to the left (where the content moves down or right) is represented as negative values.</p>
+<p>This amount is system dependent and will take into account the user's preferred scroll sensitivity and potentially also nonlinear acceleration based on the speed of the scrolling.</p>
+<p>Devices will be of varying resolution. Some mice with large detents will only generate integer scroll amounts. But fractional values are also possible, for example, on some trackpads and newer mice that don't have "clicks".</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The vertical and horizontal scroll values. The units are either in pixels (when scroll_by_page is false) or pages (when scroll_by_page is true). For example, y = -3 means scroll up 3 pixels when scroll_by_page is false, and scroll up 3 pages when scroll_by_page is true. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a8082fa4d12d5b66aa0364825d1549ca6"></a><!-- doxytag: member="pp::WheelInputEvent::GetScrollByPage" ref="a8082fa4d12d5b66aa0364825d1549ca6" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool <a class="el" href="classpp_1_1_wheel_input_event.html#a8082fa4d12d5b66aa0364825d1549ca6">pp::WheelInputEvent::GetScrollByPage</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_wheel_input_event.html#a8082fa4d12d5b66aa0364825d1549ca6" title="GetScrollByPage() indicates if the scroll delta x/y indicates pages or lines to scroll by...">GetScrollByPage()</a> indicates if the scroll delta x/y indicates pages or lines to scroll by. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the event is a wheel event and the user is scrolling by pages, false if not or if the resource is not a wheel event. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a6c841300d5c71d9cf83eec7da8bbf084"></a><!-- doxytag: member="pp::WheelInputEvent::GetTicks" ref="a6c841300d5c71d9cf83eec7da8bbf084" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_float_point.html">FloatPoint</a> <a class="el" href="classpp_1_1_wheel_input_event.html#a6c841300d5c71d9cf83eec7da8bbf084">pp::WheelInputEvent::GetTicks</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classpp_1_1_wheel_input_event.html#a6c841300d5c71d9cf83eec7da8bbf084" title='GetTicks() returns the number of "clicks" of the scroll wheel that have produced the event...'>GetTicks()</a> returns the number of "clicks" of the scroll wheel that have produced the event. </p>
+<p>The value may have system-specific acceleration applied to it, depending on the device. The positive and negative meanings are the same as for <a class="el" href="classpp_1_1_wheel_input_event.html#ac9cfe394244f9ea55a842a0cd5ee7ab8" title="GetDelta() returns the amount vertically and horizontally the user has requested to scroll by with th...">GetDelta()</a>.</p>
+<p>If you are scrolling, you probably want to use the delta values. These tick events can be useful if you aren't doing actual scrolling and don't want or pixel values. An example may be cycling between different items in a game.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The number of "clicks" of the scroll wheel. You may receive fractional values for the wheel ticks if the mouse wheel is high resolution or doesn't have "clicks". If your program wants discrete events (as in the "picking items" example) you should accumulate fractional click values from multiple messages until the total value reaches positive or negative one. This should represent a similar amount of scrolling as for a mouse that has a discrete mouse wheel. </dd></dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="input__event_8h.html">input_event.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_wheel_input_event__inherit__graph.png b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_wheel_input_event__inherit__graph.png
new file mode 100644
index 0000000..7585736
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1_wheel_input_event__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1ext_1_1_ext_completion_callback_with_output-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1ext_1_1_ext_completion_callback_with_output-members.html
new file mode 100644
index 0000000..58be4144
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1ext_1_1_ext_completion_callback_with_output-members.html
@@ -0,0 +1,35 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">pp::ext::ExtCompletionCallbackWithOutput< T ></a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a90888e6422225fb8e3d310c6ee51ac04">APIArgType</a> typedef</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, internal::ExtCallbackOutputTraits< T > ></a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html#a481b5fb925f7e78ebe1d4d45e8c2680e">BaseType</a> typedef</td><td><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">pp::ext::ExtCompletionCallbackWithOutput< T ></a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#af071c756ff3eb007dfbea3f50df74111">cc_</a></td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a2dae27f9f015c3b9342a4a65f05bd356">CompletionCallback</a>()</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#afe88416d324795a748d5112e197b0131">CompletionCallback</a>(PP_CompletionCallback_Func func, void *user_data)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a14fd9478ff007a91a3cdfa397c8e6e56">CompletionCallback</a>(PP_CompletionCallback_Func func, void *user_data, int32_t flags)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a12536d4027ba401e4009404eeeaeeb97">CompletionCallbackWithOutputBase</a>(OutputStorageType *output)</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, internal::ExtCallbackOutputTraits< T > ></a></td><td><code> [inline, explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a00d091474d398b2b3a14c2dbe05b74a2">CompletionCallbackWithOutputBase</a>(PP_CompletionCallback_Func func, void *user_data, OutputStorageType *output)</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, internal::ExtCallbackOutputTraits< T > ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a19a3960c8990f8000a34062cc4534098">CompletionCallbackWithOutputBase</a>(PP_CompletionCallback_Func func, void *user_data, int32_t flags, OutputStorageType *output)</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, internal::ExtCallbackOutputTraits< T > ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html#aa87c7b22e765a86493282ae962d70808">ExtCompletionCallbackWithOutput</a>(typename BaseType::OutputStorageType *output)</td><td><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">pp::ext::ExtCompletionCallbackWithOutput< T ></a></td><td><code> [inline, explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html#abb7a1ffe2592a4fe66941a6c9cb3113d">ExtCompletionCallbackWithOutput</a>(PP_CompletionCallback_Func func, void *user_data, typename BaseType::OutputStorageType *output)</td><td><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">pp::ext::ExtCompletionCallbackWithOutput< T ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html#a8e28a5fbcd848df3e34178ac29d1ae60">ExtCompletionCallbackWithOutput</a>(PP_CompletionCallback_Func func, void *user_data, int32_t flags, typename BaseType::OutputStorageType *output)</td><td><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">pp::ext::ExtCompletionCallbackWithOutput< T ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a60e466572fe7de362969dd41179c971f">flags</a>() const </td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a6ce66ec2655c9157cab494f248551b5f">IsOptional</a>() const </td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a24d1648d1a92a5c36894ce081457e603">MayForce</a>(int32_t result) const </td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a23ceea58754e1d1b6570a268f6b669b8">output</a>() const</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, internal::ExtCallbackOutputTraits< T > ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">OutputStorageType</a> typedef</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, internal::ExtCallbackOutputTraits< T > ></a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#ada943a747c94eebb1e32dbd6914c2526">pp_completion_callback</a>() const </td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a7795404cc15a4f96523c28db21d364c4">Run</a>(int32_t result)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a2996ca2f2b640c7da6da9016a5b0cd16">RunAndClear</a>(int32_t result)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a89fb884e8af572e9bf38fb880e132438">set_flags</a>(int32_t flags)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6dea62f34b316631f576d61959693775">TraitsType</a> typedef</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, internal::ExtCallbackOutputTraits< T > ></a></td><td></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1ext_1_1_ext_completion_callback_with_output.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1ext_1_1_ext_completion_callback_with_output.html
new file mode 100644
index 0000000..6ffd8d53
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1ext_1_1_ext_completion_callback_with_output.html
@@ -0,0 +1,177 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::ext::ExtCompletionCallbackWithOutput< T > Class Template Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::ext::ExtCompletionCallbackWithOutput" --><!-- doxytag: inherits="CompletionCallbackWithOutputBase< T, internal::ExtCallbackOutputTraits< T > >" --><div class="dynheader">
+Inheritance diagram for pp::ext::ExtCompletionCallbackWithOutput< T >:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1ext_1_1_ext_completion_callback_with_output__inherit__graph.png" border="0" usemap="#pp_1_1ext_1_1_ext_completion_callback_with_output_3_01_t_01_4_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1ext_1_1_ext_completion_callback_with_output_3_01_t_01_4_inherit__map" id="pp_1_1ext_1_1_ext_completion_callback_with_output_3_01_t_01_4_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html" title="pp::internal::CompletionCallbackWithOutputBase\< T, internal::ExtCallbackOutputTraits\< T \> \>" alt="" coords="227,5,845,35"></area><area shape="rect" id="node4" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl..." alt="" coords="7,5,177,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1ext_1_1_ext_completion_callback_with_output-members.html">List of all members.</a></p>
+<h2>
+Public Types</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">typedef <br class="typebreak" />
+::<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase</a><br class="typebreak" />
+< T, <br class="typebreak" />
+internal::ExtCallbackOutputTraits<br class="typebreak" />
+< T > > </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html#a481b5fb925f7e78ebe1d4d45e8c2680e">BaseType</a></td></tr>
+</table><h2>
+Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html#aa87c7b22e765a86493282ae962d70808">ExtCompletionCallbackWithOutput</a> (typename <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">BaseType::OutputStorageType</a> *<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a23ceea58754e1d1b6570a268f6b669b8">output</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html#abb7a1ffe2592a4fe66941a6c9cb3113d">ExtCompletionCallbackWithOutput</a> (PP_CompletionCallback_Func func, void *user_data, typename <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">BaseType::OutputStorageType</a> *<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a23ceea58754e1d1b6570a268f6b669b8">output</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html#a8e28a5fbcd848df3e34178ac29d1ae60">ExtCompletionCallbackWithOutput</a> (PP_CompletionCallback_Func func, void *user_data, int32_t <a class="el" href="classpp_1_1_completion_callback.html#a60e466572fe7de362969dd41179c971f">flags</a>, typename <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">BaseType::OutputStorageType</a> *<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a23ceea58754e1d1b6570a268f6b669b8">output</a>)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><h3>template<typename T><br />
+class pp::ext::ExtCompletionCallbackWithOutput< T ></h3>
+<p><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html" title="ExtCompletionCallbackWithOutput is similar to CompletionCallbackWithOutput, but used by APIs within t...">ExtCompletionCallbackWithOutput</a> is similar to <a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a>, but used by APIs within the <a class="el" href="namespacepp_1_1ext.html">pp::ext</a> namespace. </p>
+<p>Usually it is used with the <a class="el" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe...">CompletionCallbackFactory</a>'s NewExtCallbackWithOutput. </p>
+</div><hr /><h2>Member Typedef Documentation</h2>
+<a class="anchor" id="a481b5fb925f7e78ebe1d4d45e8c2680e"></a><!-- doxytag: member="pp::ext::ExtCompletionCallbackWithOutput::BaseType" ref="a481b5fb925f7e78ebe1d4d45e8c2680e" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T > </div>
+<table class="memname">
+<tr>
+<td class="memname">typedef ::<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase</a>< T, internal::ExtCallbackOutputTraits<T> > <a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">pp::ext::ExtCompletionCallbackWithOutput</a>< T >::<a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html#a481b5fb925f7e78ebe1d4d45e8c2680e">BaseType</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="aa87c7b22e765a86493282ae962d70808"></a><!-- doxytag: member="pp::ext::ExtCompletionCallbackWithOutput::ExtCompletionCallbackWithOutput" ref="aa87c7b22e765a86493282ae962d70808" args="(typename BaseType::OutputStorageType *output)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">pp::ext::ExtCompletionCallbackWithOutput</a>< T >::<a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">ExtCompletionCallbackWithOutput</a> </td>
+<td>(</td>
+<td class="paramtype">typename <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">BaseType::OutputStorageType</a> * </td>
+<td class="paramname"><em>output</em></td><td>)</td>
+<td><code> [inline, explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>The default constructor will create a blocking <code><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html" title="ExtCompletionCallbackWithOutput is similar to CompletionCallbackWithOutput, but used by APIs within t...">ExtCompletionCallbackWithOutput</a></code> that references the given output data. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">output</td><td>A pointer to the data associated with the callback. The caller must ensure that this pointer outlives the completion callback. <code>OutputStorageType</code> is either <code>ext::internal::ArrayVarOutputAdapterWithStorage<U></code> (if the template parameter T is of the form std::vector<U>) or <code>ext::internal::VarOutputAdapterWithStorage<T></code> (otherwise).</td></tr>
+</table>
+</dd>
+</dl>
+<p><b>Note:</b> Blocking completion callbacks are only allowed from background threads. </p>
+</div>
+</div>
+<a class="anchor" id="abb7a1ffe2592a4fe66941a6c9cb3113d"></a><!-- doxytag: member="pp::ext::ExtCompletionCallbackWithOutput::ExtCompletionCallbackWithOutput" ref="abb7a1ffe2592a4fe66941a6c9cb3113d" args="(PP_CompletionCallback_Func func, void *user_data, typename BaseType::OutputStorageType *output)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">pp::ext::ExtCompletionCallbackWithOutput</a>< T >::<a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">ExtCompletionCallbackWithOutput</a> </td>
+<td>(</td>
+<td class="paramtype">PP_CompletionCallback_Func </td>
+<td class="paramname"><em>func</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">void * </td>
+<td class="paramname"><em>user_data</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">typename <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">BaseType::OutputStorageType</a> * </td>
+<td class="paramname"><em>output</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor for creating an <code><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html" title="ExtCompletionCallbackWithOutput is similar to CompletionCallbackWithOutput, but used by APIs within t...">ExtCompletionCallbackWithOutput</a></code> that references the given output data. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">func</td><td>The function to be called on completion. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">user_data</td><td>The user data to be passed to the callback function. This is optional and is typically used to help track state in case of multiple pending callbacks. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">output</td><td>A pointer to the data associated with the callback. The caller must ensure that this pointer outlives the completion callback. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a8e28a5fbcd848df3e34178ac29d1ae60"></a><!-- doxytag: member="pp::ext::ExtCompletionCallbackWithOutput::ExtCompletionCallbackWithOutput" ref="a8e28a5fbcd848df3e34178ac29d1ae60" args="(PP_CompletionCallback_Func func, void *user_data, int32_t flags, typename BaseType::OutputStorageType *output)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T > </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">pp::ext::ExtCompletionCallbackWithOutput</a>< T >::<a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">ExtCompletionCallbackWithOutput</a> </td>
+<td>(</td>
+<td class="paramtype">PP_CompletionCallback_Func </td>
+<td class="paramname"><em>func</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">void * </td>
+<td class="paramname"><em>user_data</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>flags</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">typename <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">BaseType::OutputStorageType</a> * </td>
+<td class="paramname"><em>output</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>A constructor for creating an <code><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html" title="ExtCompletionCallbackWithOutput is similar to CompletionCallbackWithOutput, but used by APIs within t...">ExtCompletionCallbackWithOutput</a></code> that references the given output data. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">func</td><td>The function to be called on completion.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">user_data</td><td>The user data to be passed to the callback function. This is optional and is typically used to help track state in case of multiple pending callbacks.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>Bit field combination of <code>PP_CompletionCallback_Flag</code> flags used to control how non-NULL callbacks are scheduled by asynchronous methods.</td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">output</td><td>A pointer to the data associated with the callback. The caller must ensure that this pointer outlives the completion callback. </td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="completion__callback_8h.html">completion_callback.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1ext_1_1_ext_completion_callback_with_output__inherit__graph.png b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1ext_1_1_ext_completion_callback_with_output__inherit__graph.png
new file mode 100644
index 0000000..a8fcf5d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1ext_1_1_ext_completion_callback_with_output__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1internal_1_1_completion_callback_with_output_base-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1internal_1_1_completion_callback_with_output_base-members.html
new file mode 100644
index 0000000..2da28d6
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1internal_1_1_completion_callback_with_output_base-members.html
@@ -0,0 +1,31 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, Traits ></a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a90888e6422225fb8e3d310c6ee51ac04">APIArgType</a> typedef</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, Traits ></a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#af071c756ff3eb007dfbea3f50df74111">cc_</a></td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [protected]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a2dae27f9f015c3b9342a4a65f05bd356">CompletionCallback</a>()</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#afe88416d324795a748d5112e197b0131">CompletionCallback</a>(PP_CompletionCallback_Func func, void *user_data)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a14fd9478ff007a91a3cdfa397c8e6e56">CompletionCallback</a>(PP_CompletionCallback_Func func, void *user_data, int32_t flags)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a12536d4027ba401e4009404eeeaeeb97">CompletionCallbackWithOutputBase</a>(OutputStorageType *output)</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, Traits ></a></td><td><code> [inline, explicit]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a00d091474d398b2b3a14c2dbe05b74a2">CompletionCallbackWithOutputBase</a>(PP_CompletionCallback_Func func, void *user_data, OutputStorageType *output)</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, Traits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a19a3960c8990f8000a34062cc4534098">CompletionCallbackWithOutputBase</a>(PP_CompletionCallback_Func func, void *user_data, int32_t flags, OutputStorageType *output)</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, Traits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a60e466572fe7de362969dd41179c971f">flags</a>() const </td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a6ce66ec2655c9157cab494f248551b5f">IsOptional</a>() const </td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a24d1648d1a92a5c36894ce081457e603">MayForce</a>(int32_t result) const </td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a23ceea58754e1d1b6570a268f6b669b8">output</a>() const </td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, Traits ></a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">OutputStorageType</a> typedef</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, Traits ></a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#ada943a747c94eebb1e32dbd6914c2526">pp_completion_callback</a>() const </td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a7795404cc15a4f96523c28db21d364c4">Run</a>(int32_t result)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a2996ca2f2b640c7da6da9016a5b0cd16">RunAndClear</a>(int32_t result)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1_completion_callback.html#a89fb884e8af572e9bf38fb880e132438">set_flags</a>(int32_t flags)</td><td><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td><td><code> [inline]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6dea62f34b316631f576d61959693775">TraitsType</a> typedef</td><td><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, Traits ></a></td><td></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1internal_1_1_completion_callback_with_output_base.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1internal_1_1_completion_callback_with_output_base.html
new file mode 100644
index 0000000..931ede60
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1internal_1_1_completion_callback_with_output_base.html
@@ -0,0 +1,195 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::internal::CompletionCallbackWithOutputBase< T, Traits > Class Template Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::internal::CompletionCallbackWithOutputBase" --><!-- doxytag: inherits="pp::CompletionCallback" --><div class="dynheader">
+Inheritance diagram for pp::internal::CompletionCallbackWithOutputBase< T, Traits >:</div>
+<div class="dyncontent">
+<div class="center"><img src="classpp_1_1internal_1_1_completion_callback_with_output_base__inherit__graph.png" border="0" usemap="#pp_1_1internal_1_1_completion_callback_with_output_base_3_01_t_00_01_traits_01_4_inherit__map" alt="Inheritance graph" /></div>
+<map name="pp_1_1internal_1_1_completion_callback_with_output_base_3_01_t_00_01_traits_01_4_inherit__map" id="pp_1_1internal_1_1_completion_callback_with_output_base_3_01_t_00_01_traits_01_4_inherit__map">
+<area shape="rect" id="node2" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl..." alt="" coords="124,5,295,35"></area></map>
+<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
+<p><a href="classpp_1_1internal_1_1_completion_callback_with_output_base-members.html">List of all members.</a></p>
+<h2>
+Public Types</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">typedef Traits::StorageType </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">OutputStorageType</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef Traits::APIArgType </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a90888e6422225fb8e3d310c6ee51ac04">APIArgType</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef Traits </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6dea62f34b316631f576d61959693775">TraitsType</a></td></tr>
+</table><h2>
+Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a12536d4027ba401e4009404eeeaeeb97">CompletionCallbackWithOutputBase</a> (<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">OutputStorageType</a> *<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a23ceea58754e1d1b6570a268f6b669b8">output</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a00d091474d398b2b3a14c2dbe05b74a2">CompletionCallbackWithOutputBase</a> (PP_CompletionCallback_Func func, void *user_data, <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">OutputStorageType</a> *<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a23ceea58754e1d1b6570a268f6b669b8">output</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a19a3960c8990f8000a34062cc4534098">CompletionCallbackWithOutputBase</a> (PP_CompletionCallback_Func func, void *user_data, int32_t <a class="el" href="classpp_1_1_completion_callback.html#a60e466572fe7de362969dd41179c971f">flags</a>, <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">OutputStorageType</a> *<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a23ceea58754e1d1b6570a268f6b669b8">output</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a90888e6422225fb8e3d310c6ee51ac04">APIArgType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a23ceea58754e1d1b6570a268f6b669b8">output</a> () const </td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><h3>template<typename T, typename Traits><br />
+class pp::internal::CompletionCallbackWithOutputBase< T, Traits ></h3>
+<p>The base class of [Ext]<a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a>. </p>
+<p>The template parameter Traits determines the storage type (OutputStorageType), the output parameter type used by the browser (APIArgType), and how to map OutputStorageType to APIArgType. </p>
+</div><hr /><h2>Member Typedef Documentation</h2>
+<a class="anchor" id="a90888e6422225fb8e3d310c6ee51ac04"></a><!-- doxytag: member="pp::internal::CompletionCallbackWithOutputBase::APIArgType" ref="a90888e6422225fb8e3d310c6ee51ac04" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T, typename Traits> </div>
+<table class="memname">
+<tr>
+<td class="memname">typedef Traits::APIArgType <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase</a>< T, Traits >::<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a90888e6422225fb8e3d310c6ee51ac04">APIArgType</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a6b6f033dd376edc4507951d82bd1ea18"></a><!-- doxytag: member="pp::internal::CompletionCallbackWithOutputBase::OutputStorageType" ref="a6b6f033dd376edc4507951d82bd1ea18" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T, typename Traits> </div>
+<table class="memname">
+<tr>
+<td class="memname">typedef Traits::StorageType <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase</a>< T, Traits >::<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">OutputStorageType</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a6dea62f34b316631f576d61959693775"></a><!-- doxytag: member="pp::internal::CompletionCallbackWithOutputBase::TraitsType" ref="a6dea62f34b316631f576d61959693775" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T, typename Traits> </div>
+<table class="memname">
+<tr>
+<td class="memname">typedef Traits <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase</a>< T, Traits >::<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6dea62f34b316631f576d61959693775">TraitsType</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a12536d4027ba401e4009404eeeaeeb97"></a><!-- doxytag: member="pp::internal::CompletionCallbackWithOutputBase::CompletionCallbackWithOutputBase" ref="a12536d4027ba401e4009404eeeaeeb97" args="(OutputStorageType *output)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T, typename Traits> </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase</a>< T, Traits >::<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">CompletionCallbackWithOutputBase</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">OutputStorageType</a> * </td>
+<td class="paramname"><em>output</em></td><td>)</td>
+<td><code> [inline, explicit]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a00d091474d398b2b3a14c2dbe05b74a2"></a><!-- doxytag: member="pp::internal::CompletionCallbackWithOutputBase::CompletionCallbackWithOutputBase" ref="a00d091474d398b2b3a14c2dbe05b74a2" args="(PP_CompletionCallback_Func func, void *user_data, OutputStorageType *output)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T, typename Traits> </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase</a>< T, Traits >::<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">CompletionCallbackWithOutputBase</a> </td>
+<td>(</td>
+<td class="paramtype">PP_CompletionCallback_Func </td>
+<td class="paramname"><em>func</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">void * </td>
+<td class="paramname"><em>user_data</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype"><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">OutputStorageType</a> * </td>
+<td class="paramname"><em>output</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a19a3960c8990f8000a34062cc4534098"></a><!-- doxytag: member="pp::internal::CompletionCallbackWithOutputBase::CompletionCallbackWithOutputBase" ref="a19a3960c8990f8000a34062cc4534098" args="(PP_CompletionCallback_Func func, void *user_data, int32_t flags, OutputStorageType *output)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T, typename Traits> </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase</a>< T, Traits >::<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">CompletionCallbackWithOutputBase</a> </td>
+<td>(</td>
+<td class="paramtype">PP_CompletionCallback_Func </td>
+<td class="paramname"><em>func</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">void * </td>
+<td class="paramname"><em>user_data</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">int32_t </td>
+<td class="paramname"><em>flags</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype"><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">OutputStorageType</a> * </td>
+<td class="paramname"><em>output</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="a23ceea58754e1d1b6570a268f6b669b8"></a><!-- doxytag: member="pp::internal::CompletionCallbackWithOutputBase::output" ref="a23ceea58754e1d1b6570a268f6b669b8" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T, typename Traits> </div>
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a90888e6422225fb8e3d310c6ee51ac04">APIArgType</a> <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase</a>< T, Traits >::<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a23ceea58754e1d1b6570a268f6b669b8">output</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td> const<code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="completion__callback_8h.html">completion_callback.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1internal_1_1_completion_callback_with_output_base__inherit__graph.png b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1internal_1_1_completion_callback_with_output_base__inherit__graph.png
new file mode 100644
index 0000000..35a94e3
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1internal_1_1_completion_callback_with_output_base__inherit__graph.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage-members.html
new file mode 100644
index 0000000..121763e7
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage-members.html
@@ -0,0 +1,16 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html">pp::internal::DirectoryEntryArrayOutputAdapterWithStorage</a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html#a731d90a8b1511d95720095234bc85519">DirectoryEntryArrayOutputAdapterWithStorage</a>()</td><td><a class="el" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html">pp::internal::DirectoryEntryArrayOutputAdapterWithStorage</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html#ad178a94b0ffee2dcc7e5ad2525f2863e">output</a>()</td><td><a class="el" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html">pp::internal::DirectoryEntryArrayOutputAdapterWithStorage</a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html#a7ba11c106f03fc7c42048775acc0e2e3">~DirectoryEntryArrayOutputAdapterWithStorage</a>()</td><td><a class="el" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html">pp::internal::DirectoryEntryArrayOutputAdapterWithStorage</a></td><td><code> [virtual]</code></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html
new file mode 100644
index 0000000..abfa329
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html
@@ -0,0 +1,71 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::internal::DirectoryEntryArrayOutputAdapterWithStorage Class Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::internal::DirectoryEntryArrayOutputAdapterWithStorage" -->
+<p><a href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage-members.html">List of all members.</a></p>
+<h2>
+Public Member Functions</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html#a731d90a8b1511d95720095234bc85519">DirectoryEntryArrayOutputAdapterWithStorage</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html#a7ba11c106f03fc7c42048775acc0e2e3">~DirectoryEntryArrayOutputAdapterWithStorage</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">std::vector< <a class="el" href="classpp_1_1_directory_entry.html">DirectoryEntry</a> > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html#ad178a94b0ffee2dcc7e5ad2525f2863e">output</a> ()</td></tr>
+</table>
+<hr /><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a731d90a8b1511d95720095234bc85519"></a><!-- doxytag: member="pp::internal::DirectoryEntryArrayOutputAdapterWithStorage::DirectoryEntryArrayOutputAdapterWithStorage" ref="a731d90a8b1511d95720095234bc85519" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html#a731d90a8b1511d95720095234bc85519">pp::internal::DirectoryEntryArrayOutputAdapterWithStorage::DirectoryEntryArrayOutputAdapterWithStorage</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a7ba11c106f03fc7c42048775acc0e2e3"></a><!-- doxytag: member="pp::internal::DirectoryEntryArrayOutputAdapterWithStorage::~DirectoryEntryArrayOutputAdapterWithStorage" ref="a7ba11c106f03fc7c42048775acc0e2e3" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">virtual <a class="el" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html#a7ba11c106f03fc7c42048775acc0e2e3">pp::internal::DirectoryEntryArrayOutputAdapterWithStorage::~DirectoryEntryArrayOutputAdapterWithStorage</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [virtual]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="ad178a94b0ffee2dcc7e5ad2525f2863e"></a><!-- doxytag: member="pp::internal::DirectoryEntryArrayOutputAdapterWithStorage::output" ref="ad178a94b0ffee2dcc7e5ad2525f2863e" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">std::vector<<a class="el" href="classpp_1_1_directory_entry.html">DirectoryEntry</a>>& <a class="el" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html#ad178a94b0ffee2dcc7e5ad2525f2863e">pp::internal::DirectoryEntryArrayOutputAdapterWithStorage::output</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr />The documentation for this class was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="directory__entry_8h.html">directory_entry.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/completion__callback_8h.html b/native_client_sdk/doc_generated/pepper_stable/cpp/completion__callback_8h.html
new file mode 100644
index 0000000..2e6d0b7
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/completion__callback_8h.html
@@ -0,0 +1,40 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/cpp/completion_callback.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for completion_callback.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="completion__callback_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2completion__callback_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2completion__callback_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2completion__callback_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback.html">pp::CompletionCallback</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This API enables you to implement and receive callbacks when Pepper operations complete asynchronously. <a href="classpp_1_1_completion_callback.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase< T, Traits ></a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The base class of [Ext]<a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a>. <a href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_with_output.html">pp::CompletionCallbackWithOutput< T ></a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A <a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a> defines a completion callback that additionally stores a pointer to some output data. <a href="classpp_1_1_completion_callback_with_output.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">pp::ext::ExtCompletionCallbackWithOutput< T ></a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html" title="ExtCompletionCallbackWithOutput is similar to CompletionCallbackWithOutput, but used by APIs within t...">ExtCompletionCallbackWithOutput</a> is similar to <a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a>, but used by APIs within the <a class="el" href="namespacepp_1_1ext.html">pp::ext</a> namespace. <a href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp_1_1internal.html">pp::internal</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp_1_1ext.html">pp::ext</a></td></tr>
+</table><h2>
+Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">CompletionCallback </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html#a720b2df07621eabf59bdbae84ab80f47">pp::BlockUntilComplete</a> ()</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API to create and run a callback. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/completion__callback_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/cpp/completion__callback_8h__incl.png
new file mode 100644
index 0000000..5ca1b62
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/completion__callback_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/completion__callback__factory_8h.html b/native_client_sdk/doc_generated/pepper_stable/cpp/completion__callback__factory_8h.html
new file mode 100644
index 0000000..344f5aefd
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/completion__callback__factory_8h.html
@@ -0,0 +1,43 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/utility/completion_callback_factory.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for completion_callback_factory.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="completion__callback__factory_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2utility_2completion__callback__factory_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2utility_2completion__callback__factory_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2utility_2completion__callback__factory_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">pp::internal::TypeUnwrapper< T ></a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1internal_1_1_type_unwrapper_3_01_t_01_6_01_4.html">pp::internal::TypeUnwrapper< T & ></a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1internal_1_1_type_unwrapper_3_01const_01_t_01_6_01_4.html">pp::internal::TypeUnwrapper< const T & ></a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html">pp::CompletionCallbackFactory< T, ThreadTraits ></a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">CompletionCallbackFactory<T> may be used to create <a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a> objects that are bound to member functions. <a href="classpp_1_1_completion_callback_factory.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>pp::CompletionCallbackFactory< T, ThreadTraits >::BackPointer</b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>pp::CompletionCallbackFactory< T, ThreadTraits >::CallbackData< Dispatcher ></b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>pp::CompletionCallbackFactory< T, ThreadTraits >::Dispatcher0< Method ></b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>pp::CompletionCallbackFactory< T, ThreadTraits >::DispatcherWithOutput0< Traits, Output, Method ></b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>pp::CompletionCallbackFactory< T, ThreadTraits >::Dispatcher1< Method, A ></b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>pp::CompletionCallbackFactory< T, ThreadTraits >::DispatcherWithOutput1< Traits, Output, Method, A ></b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>pp::CompletionCallbackFactory< T, ThreadTraits >::Dispatcher2< Method, A, B ></b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>pp::CompletionCallbackFactory< T, ThreadTraits >::DispatcherWithOutput2< Traits, Output, Method, A, B ></b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>pp::CompletionCallbackFactory< T, ThreadTraits >::Dispatcher3< Method, A, B, C ></b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>pp::CompletionCallbackFactory< T, ThreadTraits >::DispatcherWithOutput3< Traits, Output, Method, A, B, C ></b></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp_1_1internal.html">pp::internal</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API to create CompletionCallback objects that are bound to member functions. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/completion__callback__factory_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/cpp/completion__callback__factory_8h__incl.png
new file mode 100644
index 0000000..70f9a68
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/completion__callback__factory_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/core_8h.html b/native_client_sdk/doc_generated/pepper_stable/cpp/core_8h.html
new file mode 100644
index 0000000..8324e348
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/core_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/cpp/core.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for core.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="core_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2core_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2core_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2core_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_core.html">pp::Core</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">APIs related to memory management, time, and threads. <a href="classpp_1_1_core.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines APIs related to memory management, time, and threads. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/core_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/cpp/core_8h__incl.png
new file mode 100644
index 0000000..4740d8421
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/core_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/directory__entry_8h.html b/native_client_sdk/doc_generated/pepper_stable/cpp/directory__entry_8h.html
new file mode 100644
index 0000000..81f045c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/directory__entry_8h.html
@@ -0,0 +1,32 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/cpp/directory_entry.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for directory_entry.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="directory__entry_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2directory__entry_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2directory__entry_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2directory__entry_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_directory_entry.html">pp::DirectoryEntry</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry.">DirectoryEntry</a></code> class represents information about a directory entry. <a href="classpp_1_1_directory_entry.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html">pp::internal::DirectoryEntryArrayOutputAdapterWithStorage</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html">pp::internal::CallbackOutputTraits< std::vector< DirectoryEntry > ></a></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp_1_1internal.html">pp::internal</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API used to handle a directory entry. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/directory__entry_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/cpp/directory__entry_8h__incl.png
new file mode 100644
index 0000000..1181ffa
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/directory__entry_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/file__io_8h.html b/native_client_sdk/doc_generated/pepper_stable/cpp/file__io_8h.html
new file mode 100644
index 0000000..0a86e13
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/file__io_8h.html
@@ -0,0 +1,30 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/cpp/file_io.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for file_io.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="file__io_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2file__io_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2file__io_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2file__io_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_i_o.html">pp::FileIO</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a></code> class represents a regular file. <a href="classpp_1_1_file_i_o.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><b>pp::FileIO::CallbackData1_0</b></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API to create a file i/o object. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/file__io_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/cpp/file__io_8h__incl.png
new file mode 100644
index 0000000..39ff311
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/file__io_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/file__ref_8h.html b/native_client_sdk/doc_generated/pepper_stable/cpp/file__ref_8h.html
new file mode 100644
index 0000000..eb63655
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/file__ref_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/cpp/file_ref.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for file_ref.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="file__ref_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2file__ref_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2file__ref_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2file__ref_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_ref.html">pp::FileRef</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code> class represents a "weak pointer" to a file in a file system. <a href="classpp_1_1_file_ref.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API to create a file reference or "weak pointer" to a file in a file system. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/file__ref_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/cpp/file__ref_8h__incl.png
new file mode 100644
index 0000000..cfeca80
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/file__ref_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/file__system_8h.html b/native_client_sdk/doc_generated/pepper_stable/cpp/file__system_8h.html
new file mode 100644
index 0000000..78b8cc59
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/file__system_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/cpp/file_system.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for file_system.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="file__system_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2file__system_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2file__system_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2file__system_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_system.html">pp::FileSystem</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_file_system.html" title="The FileSystem class identifies the file system type associated with a file.">FileSystem</a></code> class identifies the file system type associated with a file. <a href="classpp_1_1_file_system.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API to create a file system associated with a file. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/file__system_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/cpp/file__system_8h__incl.png
new file mode 100644
index 0000000..0d7e47b
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/file__system_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/fullscreen_8h.html b/native_client_sdk/doc_generated/pepper_stable/cpp/fullscreen_8h.html
new file mode 100644
index 0000000..6a778f8a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/fullscreen_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/cpp/fullscreen.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for fullscreen.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="fullscreen_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2fullscreen_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2fullscreen_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2fullscreen_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_fullscreen.html">pp::Fullscreen</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="classpp_1_1_fullscreen.html" title="The Fullscreen class allowing you to check and toggle fullscreen mode.">Fullscreen</a> class allowing you to check and toggle fullscreen mode. <a href="classpp_1_1_fullscreen.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API for handling transitions of a module instance to and from fullscreen mode. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/fullscreen_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/cpp/fullscreen_8h__incl.png
new file mode 100644
index 0000000..1a879c2
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/fullscreen_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/globals_defs.html b/native_client_sdk/doc_generated/pepper_stable/cpp/globals_defs.html
new file mode 100644
index 0000000..84074e4
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/globals_defs.html
@@ -0,0 +1,19 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>File Members</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<div class="contents">
+ <ul>
+<li>PP_DCHECK
+: <a class="el" href="logging_8h.html#a5cb259e0fd1a8c0c64fbc891bc273417">logging.h</a>
+</li>
+<li>PP_NOTREACHED
+: <a class="el" href="logging_8h.html#a1c536418e751c9bda850cd2bc919e0ca">logging.h</a>
+</li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/graphics__2d_8h.html b/native_client_sdk/doc_generated/pepper_stable/cpp/graphics__2d_8h.html
new file mode 100644
index 0000000..0ed931fc
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/graphics__2d_8h.html
@@ -0,0 +1,28 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/cpp/graphics_2d.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for graphics_2d.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="graphics__2d_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2graphics__2d_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2graphics__2d_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2graphics__2d_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics2_d.html">pp::Graphics2D</a></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API to create a 2D graphics context in the browser. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/graphics__2d_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/cpp/graphics__2d_8h__incl.png
new file mode 100644
index 0000000..f723e769
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/graphics__2d_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/graphics__3d_8h.html b/native_client_sdk/doc_generated/pepper_stable/cpp/graphics__3d_8h.html
new file mode 100644
index 0000000..94ab220
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/graphics__3d_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/cpp/graphics_3d.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for graphics_3d.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="graphics__3d_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2graphics__3d_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2graphics__3d_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2graphics__3d_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics3_d.html">pp::Graphics3D</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This class represents a 3D rendering context in the browser. <a href="classpp_1_1_graphics3_d.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API to create a 3D rendering context in the browser. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/graphics__3d_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/cpp/graphics__3d_8h__incl.png
new file mode 100644
index 0000000..4ff807d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/graphics__3d_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/graphics__3d__client_8h.html b/native_client_sdk/doc_generated/pepper_stable/cpp/graphics__3d__client_8h.html
new file mode 100644
index 0000000..63a2d9c7
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/graphics__3d__client_8h.html
@@ -0,0 +1,28 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/cpp/graphics_3d_client.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for graphics_3d_client.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="graphics__3d__client_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2graphics__3d__client_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2graphics__3d__client_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2graphics__3d__client_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics3_d_client.html">pp::Graphics3DClient</a></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API for callbacks related to 3D. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/graphics__3d__client_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/cpp/graphics__3d__client_8h__incl.png
new file mode 100644
index 0000000..8b1318c7
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/graphics__3d__client_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/host__resolver_8h.html b/native_client_sdk/doc_generated/pepper_stable/cpp/host__resolver_8h.html
new file mode 100644
index 0000000..f883b0fba
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/host__resolver_8h.html
@@ -0,0 +1,27 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/cpp/host_resolver.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for host_resolver.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="host__resolver_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2host__resolver_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2host__resolver_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2host__resolver_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_host_resolver.html">pp::HostResolver</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_host_resolver.html" title="The HostResolver class supports host name resolution.">HostResolver</a></code> class supports host name resolution. <a href="classpp_1_1_host_resolver.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/host__resolver_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/cpp/host__resolver_8h__incl.png
new file mode 100644
index 0000000..b6d650b3
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/host__resolver_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/image__data_8h.html b/native_client_sdk/doc_generated/pepper_stable/cpp/image__data_8h.html
new file mode 100644
index 0000000..fc78b9a4
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/image__data_8h.html
@@ -0,0 +1,28 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/cpp/image_data.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for image_data.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="image__data_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2image__data_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2image__data_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2image__data_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_image_data.html">pp::ImageData</a></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the APIs for determining how a browser handles image data. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/image__data_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/cpp/image__data_8h__incl.png
new file mode 100644
index 0000000..efe534d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/image__data_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/index.html b/native_client_sdk/doc_generated/pepper_stable/cpp/index.html
new file mode 100644
index 0000000..47c496c8
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/index.html
@@ -0,0 +1,122 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<span class="target" id="pepper-stable-cpp-index"></span><section id="pepper-c-api-reference-stable">
+<h1 id="pepper-c-api-reference-stable">Pepper C++ API Reference (Stable)</h1>
+<p>This page lists the C++ API for Pepper 32. Apps that use this API can
+run in Chrome 32 or higher.</p>
+<section id="id1">
+<h2 id="id1"><a class="reference external" href="inherits.html">Classes</a></h2>
+<blockquote>
+<div><ul class="small-gap">
+<li><a class="reference external" href="classpp_1_1_audio.html">Audio</a></li>
+<li><a class="reference external" href="classpp_1_1_audio_config.html">AudioConfig</a></li>
+<li><a class="reference external" href="classpp_1_1_completion_callback.html">CompletionCallback</a></li>
+<li><a class="reference external" href="classpp_1_1_completion_callback_factory.html">CompletionCallbackFactory</a></li>
+<li><a class="reference external" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a></li>
+<li><a class="reference external" href="classpp_1_1_core.html">Core</a></li>
+<li><a class="reference external" href="classpp_1_1_directory_entry.html">DirectoryEntry</a></li>
+<li><a class="reference external" href="classpp_1_1_file_i_o.html">FileIO</a></li>
+<li><a class="reference external" href="classpp_1_1_file_ref.html">FileRef</a></li>
+<li><a class="reference external" href="classpp_1_1_file_system.html">FileSystem</a></li>
+<li><a class="reference external" href="classpp_1_1_float_point.html">FloatPoint</a></li>
+<li><a class="reference external" href="classpp_1_1_fullscreen.html">Fullscreen</a></li>
+<li><a class="reference external" href="classpp_1_1_graphics2_d.html">Graphics2D</a></li>
+<li><a class="reference external" href="classpp_1_1_graphics3_d.html">Graphics3D</a></li>
+<li><a class="reference external" href="classpp_1_1_graphics3_d_client.html">Graphics3DClient</a></li>
+<li><a class="reference external" href="classpp_1_1_host_resolver.html">HostResolver</a></li>
+<li><a class="reference external" href="classpp_1_1_i_m_e_input_event.html">IMEInputEvent</a></li>
+<li><a class="reference external" href="classpp_1_1_image_data.html">ImageData</a></li>
+<li><a class="reference external" href="classpp_1_1_input_event.html">InputEvent</a></li>
+<li><a class="reference external" href="classpp_1_1_instance.html">Instance</a></li>
+<li><a class="reference external" href="classpp_1_1_instance_handle.html">InstanceHandle</a></li>
+<li><a class="reference external" href="classpp_1_1_keyboard_input_event.html">KeyboardInputEvent</a></li>
+<li><a class="reference external" href="classpp_1_1_message_loop.html">MessageLoop</a></li>
+<li><a class="reference external" href="classpp_1_1_module.html">Module</a></li>
+<li><a class="reference external" href="classpp_1_1_mouse_cursor.html">MouseCursor</a></li>
+<li><a class="reference external" href="classpp_1_1_mouse_input_event.html">MouseInputEvent</a></li>
+<li><a class="reference external" href="classpp_1_1_mouse_lock.html">MouseLock</a></li>
+<li><a class="reference external" href="classpp_1_1_net_address.html">NetAddress</a></li>
+<li><a class="reference external" href="classpp_1_1_network_list.html">NetworkList</a></li>
+<li><a class="reference external" href="classpp_1_1_network_monitor.html">NetworkMonitor</a></li>
+<li><a class="reference external" href="classpp_1_1_network_proxy.html">NetworkProxy</a></li>
+<li><a class="reference external" href="classpp_1_1_point.html">Point</a></li>
+<li><a class="reference external" href="classpp_1_1_rect.html">Rect</a></li>
+<li><a class="reference external" href="classpp_1_1_resource.html">Resource</a></li>
+<li><a class="reference external" href="classpp_1_1_size.html">Size</a></li>
+<li><a class="reference external" href="classpp_1_1_t_c_p_socket.html">TCPSocket</a></li>
+<li><a class="reference external" href="classpp_1_1_text_input_controller.html">TextInputController</a></li>
+<li><a class="reference external" href="classpp_1_1_touch_input_event.html">TouchInputEvent</a></li>
+<li><a class="reference external" href="classpp_1_1_touch_point.html">TouchPoint</a></li>
+<li><a class="reference external" href="classpp_1_1_u_d_p_socket.html">UDPSocket</a></li>
+<li><a class="reference external" href="classpp_1_1_u_r_l_loader.html">URLLoader</a></li>
+<li><a class="reference external" href="classpp_1_1_u_r_l_request_info.html">URLRequestInfo</a></li>
+<li><a class="reference external" href="classpp_1_1_u_r_l_response_info.html">URLResponseInfo</a></li>
+<li><a class="reference external" href="classpp_1_1_var.html">Var</a></li>
+<li><a class="reference external" href="classpp_1_1_var_1_1_out_exception.html">Var11OutException</a></li>
+<li><a class="reference external" href="classpp_1_1_var_array.html">VarArray</a></li>
+<li><a class="reference external" href="classpp_1_1_var_array_buffer.html">VarArrayBuffer</a></li>
+<li><a class="reference external" href="classpp_1_1_var_dictionary.html">VarDictionary</a></li>
+<li><a class="reference external" href="classpp_1_1_view.html">View</a></li>
+<li><a class="reference external" href="classpp_1_1_web_socket.html">WebSocket</a></li>
+<li><a class="reference external" href="classpp_1_1_wheel_input_event.html">WheelInputEvent</a></li>
+<li><a class="reference external" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">Ext::ExtCompletionCallbackWithOutput</a></li>
+<li><a class="reference external" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">Internal::CompletionCallbackWithOutputBase</a></li>
+<li><a class="reference external" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html">Internal::DirectoryEntryArrayOutputAdapterWithStorage</a></li>
+</ul>
+</div></blockquote>
+</section><section id="files">
+<h2 id="files">Files</h2>
+<blockquote>
+<div><ul class="small-gap">
+<li><a class="reference external" href="audio_8h.html">audio.h</a></li>
+<li><a class="reference external" href="audio__config_8h.html">audio_config.h</a></li>
+<li><a class="reference external" href="completion__callback_8h.html">completion_callback.h</a></li>
+<li><a class="reference external" href="completion__callback__factory_8h.html">completion_callback_factory.h</a></li>
+<li><a class="reference external" href="core_8h.html">core.h</a></li>
+<li><a class="reference external" href="directory__entry_8h.html">directory_entry.h</a></li>
+<li><a class="reference external" href="file__io_8h.html">file_io.h</a></li>
+<li><a class="reference external" href="file__ref_8h.html">file_ref.h</a></li>
+<li><a class="reference external" href="file__system_8h.html">file_system.h</a></li>
+<li><a class="reference external" href="fullscreen_8h.html">fullscreen.h</a></li>
+<li><a class="reference external" href="graphics__2d_8h.html">graphics_2d.h</a></li>
+<li><a class="reference external" href="graphics__3d_8h.html">graphics_3d.h</a></li>
+<li><a class="reference external" href="graphics__3d__client_8h.html">graphics_3d_client.h</a></li>
+<li><a class="reference external" href="host__resolver_8h.html">host_resolver.h</a></li>
+<li><a class="reference external" href="image__data_8h.html">image_data.h</a></li>
+<li><a class="reference external" href="input__event_8h.html">input_event.h</a></li>
+<li><a class="reference external" href="instance_8h.html">instance.h</a></li>
+<li><a class="reference external" href="instance__handle_8h.html">instance_handle.h</a></li>
+<li><a class="reference external" href="logging_8h.html">logging.h</a></li>
+<li><a class="reference external" href="message__loop_8h.html">message_loop.h</a></li>
+<li><a class="reference external" href="module_8h.html">module.h</a></li>
+<li><a class="reference external" href="module__embedder_8h.html">module_embedder.h</a></li>
+<li><a class="reference external" href="module__impl_8h.html">module_impl.h</a></li>
+<li><a class="reference external" href="mouse__cursor_8h.html">mouse_cursor.h</a></li>
+<li><a class="reference external" href="mouse__lock_8h.html">mouse_lock.h</a></li>
+<li><a class="reference external" href="net__address_8h.html">net_address.h</a></li>
+<li><a class="reference external" href="network__list_8h.html">network_list.h</a></li>
+<li><a class="reference external" href="network__monitor_8h.html">network_monitor.h</a></li>
+<li><a class="reference external" href="network__proxy_8h.html">network_proxy.h</a></li>
+<li><a class="reference external" href="pass__ref_8h.html">pass_ref.h</a></li>
+<li><a class="reference external" href="point_8h.html">point.h</a></li>
+<li><a class="reference external" href="rect_8h.html">rect.h</a></li>
+<li><a class="reference external" href="resource_8h.html">resource.h</a></li>
+<li><a class="reference external" href="size_8h.html">size.h</a></li>
+<li><a class="reference external" href="tcp__socket_8h.html">tcp_socket.h</a></li>
+<li><a class="reference external" href="text__input__controller_8h.html">text_input_controller.h</a></li>
+<li><a class="reference external" href="touch__point_8h.html">touch_point.h</a></li>
+<li><a class="reference external" href="udp__socket_8h.html">udp_socket.h</a></li>
+<li><a class="reference external" href="url__loader_8h.html">url_loader.h</a></li>
+<li><a class="reference external" href="url__request__info_8h.html">url_request_info.h</a></li>
+<li><a class="reference external" href="url__response__info_8h.html">url_response_info.h</a></li>
+<li><a class="reference external" href="var_8h.html">var.h</a></li>
+<li><a class="reference external" href="var__array_8h.html">var_array.h</a></li>
+<li><a class="reference external" href="var__array__buffer_8h.html">var_array_buffer.h</a></li>
+<li><a class="reference external" href="var__dictionary_8h.html">var_dictionary.h</a></li>
+<li><a class="reference external" href="view_8h.html">view.h</a></li>
+<li><a class="reference external" href="websocket_8h.html">websocket.h</a></li>
+</ul>
+</div></blockquote>
+</section></section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/index.rst b/native_client_sdk/doc_generated/pepper_stable/cpp/index.rst
new file mode 100644
index 0000000..dec5b62
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/index.rst
@@ -0,0 +1,218 @@
+.. _pepper_stable_cpp_index:
+
+.. DO NOT EDIT! This document is auto-generated by doxygen/rst_index.py.
+
+############################################
+Pepper C++ API Reference (Stable)
+############################################
+
+This page lists the C++ API for Pepper 32. Apps that use this API can
+run in Chrome 32 or higher.
+
+`Classes <inherits.html>`_
+==========================
+ * `Audio <classpp_1_1_audio.html>`_
+
+ * `AudioConfig <classpp_1_1_audio_config.html>`_
+
+ * `CompletionCallback <classpp_1_1_completion_callback.html>`_
+
+ * `CompletionCallbackFactory <classpp_1_1_completion_callback_factory.html>`_
+
+ * `CompletionCallbackWithOutput <classpp_1_1_completion_callback_with_output.html>`_
+
+ * `Core <classpp_1_1_core.html>`_
+
+ * `DirectoryEntry <classpp_1_1_directory_entry.html>`_
+
+ * `FileIO <classpp_1_1_file_i_o.html>`_
+
+ * `FileRef <classpp_1_1_file_ref.html>`_
+
+ * `FileSystem <classpp_1_1_file_system.html>`_
+
+ * `FloatPoint <classpp_1_1_float_point.html>`_
+
+ * `Fullscreen <classpp_1_1_fullscreen.html>`_
+
+ * `Graphics2D <classpp_1_1_graphics2_d.html>`_
+
+ * `Graphics3D <classpp_1_1_graphics3_d.html>`_
+
+ * `Graphics3DClient <classpp_1_1_graphics3_d_client.html>`_
+
+ * `HostResolver <classpp_1_1_host_resolver.html>`_
+
+ * `IMEInputEvent <classpp_1_1_i_m_e_input_event.html>`_
+
+ * `ImageData <classpp_1_1_image_data.html>`_
+
+ * `InputEvent <classpp_1_1_input_event.html>`_
+
+ * `Instance <classpp_1_1_instance.html>`_
+
+ * `InstanceHandle <classpp_1_1_instance_handle.html>`_
+
+ * `KeyboardInputEvent <classpp_1_1_keyboard_input_event.html>`_
+
+ * `MessageLoop <classpp_1_1_message_loop.html>`_
+
+ * `Module <classpp_1_1_module.html>`_
+
+ * `MouseCursor <classpp_1_1_mouse_cursor.html>`_
+
+ * `MouseInputEvent <classpp_1_1_mouse_input_event.html>`_
+
+ * `MouseLock <classpp_1_1_mouse_lock.html>`_
+
+ * `NetAddress <classpp_1_1_net_address.html>`_
+
+ * `NetworkList <classpp_1_1_network_list.html>`_
+
+ * `NetworkMonitor <classpp_1_1_network_monitor.html>`_
+
+ * `NetworkProxy <classpp_1_1_network_proxy.html>`_
+
+ * `Point <classpp_1_1_point.html>`_
+
+ * `Rect <classpp_1_1_rect.html>`_
+
+ * `Resource <classpp_1_1_resource.html>`_
+
+ * `Size <classpp_1_1_size.html>`_
+
+ * `TCPSocket <classpp_1_1_t_c_p_socket.html>`_
+
+ * `TextInputController <classpp_1_1_text_input_controller.html>`_
+
+ * `TouchInputEvent <classpp_1_1_touch_input_event.html>`_
+
+ * `TouchPoint <classpp_1_1_touch_point.html>`_
+
+ * `UDPSocket <classpp_1_1_u_d_p_socket.html>`_
+
+ * `URLLoader <classpp_1_1_u_r_l_loader.html>`_
+
+ * `URLRequestInfo <classpp_1_1_u_r_l_request_info.html>`_
+
+ * `URLResponseInfo <classpp_1_1_u_r_l_response_info.html>`_
+
+ * `Var <classpp_1_1_var.html>`_
+
+ * `Var11OutException <classpp_1_1_var_1_1_out_exception.html>`_
+
+ * `VarArray <classpp_1_1_var_array.html>`_
+
+ * `VarArrayBuffer <classpp_1_1_var_array_buffer.html>`_
+
+ * `VarDictionary <classpp_1_1_var_dictionary.html>`_
+
+ * `View <classpp_1_1_view.html>`_
+
+ * `WebSocket <classpp_1_1_web_socket.html>`_
+
+ * `WheelInputEvent <classpp_1_1_wheel_input_event.html>`_
+
+ * `Ext::ExtCompletionCallbackWithOutput <classpp_1_1ext_1_1_ext_completion_callback_with_output.html>`_
+
+ * `Internal::CompletionCallbackWithOutputBase <classpp_1_1internal_1_1_completion_callback_with_output_base.html>`_
+
+ * `Internal::DirectoryEntryArrayOutputAdapterWithStorage <classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html>`_
+
+
+Files
+=====
+ * `audio.h <audio_8h.html>`_
+
+ * `audio_config.h <audio__config_8h.html>`_
+
+ * `completion_callback.h <completion__callback_8h.html>`_
+
+ * `completion_callback_factory.h <completion__callback__factory_8h.html>`_
+
+ * `core.h <core_8h.html>`_
+
+ * `directory_entry.h <directory__entry_8h.html>`_
+
+ * `file_io.h <file__io_8h.html>`_
+
+ * `file_ref.h <file__ref_8h.html>`_
+
+ * `file_system.h <file__system_8h.html>`_
+
+ * `fullscreen.h <fullscreen_8h.html>`_
+
+ * `graphics_2d.h <graphics__2d_8h.html>`_
+
+ * `graphics_3d.h <graphics__3d_8h.html>`_
+
+ * `graphics_3d_client.h <graphics__3d__client_8h.html>`_
+
+ * `host_resolver.h <host__resolver_8h.html>`_
+
+ * `image_data.h <image__data_8h.html>`_
+
+ * `input_event.h <input__event_8h.html>`_
+
+ * `instance.h <instance_8h.html>`_
+
+ * `instance_handle.h <instance__handle_8h.html>`_
+
+ * `logging.h <logging_8h.html>`_
+
+ * `message_loop.h <message__loop_8h.html>`_
+
+ * `module.h <module_8h.html>`_
+
+ * `module_embedder.h <module__embedder_8h.html>`_
+
+ * `module_impl.h <module__impl_8h.html>`_
+
+ * `mouse_cursor.h <mouse__cursor_8h.html>`_
+
+ * `mouse_lock.h <mouse__lock_8h.html>`_
+
+ * `net_address.h <net__address_8h.html>`_
+
+ * `network_list.h <network__list_8h.html>`_
+
+ * `network_monitor.h <network__monitor_8h.html>`_
+
+ * `network_proxy.h <network__proxy_8h.html>`_
+
+ * `pass_ref.h <pass__ref_8h.html>`_
+
+ * `point.h <point_8h.html>`_
+
+ * `rect.h <rect_8h.html>`_
+
+ * `resource.h <resource_8h.html>`_
+
+ * `size.h <size_8h.html>`_
+
+ * `tcp_socket.h <tcp__socket_8h.html>`_
+
+ * `text_input_controller.h <text__input__controller_8h.html>`_
+
+ * `touch_point.h <touch__point_8h.html>`_
+
+ * `udp_socket.h <udp__socket_8h.html>`_
+
+ * `url_loader.h <url__loader_8h.html>`_
+
+ * `url_request_info.h <url__request__info_8h.html>`_
+
+ * `url_response_info.h <url__response__info_8h.html>`_
+
+ * `var.h <var_8h.html>`_
+
+ * `var_array.h <var__array_8h.html>`_
+
+ * `var_array_buffer.h <var__array__buffer_8h.html>`_
+
+ * `var_dictionary.h <var__dictionary_8h.html>`_
+
+ * `view.h <view_8h.html>`_
+
+ * `websocket.h <websocket_8h.html>`_
+
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_0.png b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_0.png
new file mode 100644
index 0000000..2c3545f
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_0.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_1.png b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_1.png
new file mode 100644
index 0000000..a157216
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_1.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_10.png b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_10.png
new file mode 100644
index 0000000..a76eddc
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_10.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_11.png b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_11.png
new file mode 100644
index 0000000..e0c37da
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_11.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_12.png b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_12.png
new file mode 100644
index 0000000..8658b03
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_12.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_13.png b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_13.png
new file mode 100644
index 0000000..8f845f1
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_13.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_14.png b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_14.png
new file mode 100644
index 0000000..ba6fa6d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_14.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_15.png b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_15.png
new file mode 100644
index 0000000..7afdabe
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_15.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_16.png b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_16.png
new file mode 100644
index 0000000..d377c23
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_16.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_17.png b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_17.png
new file mode 100644
index 0000000..f7a0f5c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_17.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_18.png b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_18.png
new file mode 100644
index 0000000..66f9b78
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_18.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_19.png b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_19.png
new file mode 100644
index 0000000..88c6b738
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_19.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_2.png b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_2.png
new file mode 100644
index 0000000..25c2e8c2
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_2.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_20.png b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_20.png
new file mode 100644
index 0000000..b938c43
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_20.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_21.png b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_21.png
new file mode 100644
index 0000000..d9dfea6
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_21.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_22.png b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_22.png
new file mode 100644
index 0000000..0f3ba07
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_22.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_23.png b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_23.png
new file mode 100644
index 0000000..c3fe82e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_23.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_24.png b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_24.png
new file mode 100644
index 0000000..ddcb427
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_24.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_25.png b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_25.png
new file mode 100644
index 0000000..6b6b59a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_25.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_26.png b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_26.png
new file mode 100644
index 0000000..cdb693a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_26.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_27.png b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_27.png
new file mode 100644
index 0000000..97e4d07
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_27.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_3.png b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_3.png
new file mode 100644
index 0000000..df1d2ef
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_3.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_4.png b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_4.png
new file mode 100644
index 0000000..b44b0179
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_4.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_5.png b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_5.png
new file mode 100644
index 0000000..4a102be
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_5.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_6.png b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_6.png
new file mode 100644
index 0000000..10ae4be3
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_6.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_7.png b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_7.png
new file mode 100644
index 0000000..aab8abf
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_7.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_8.png b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_8.png
new file mode 100644
index 0000000..24695ea
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_8.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_9.png b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_9.png
new file mode 100644
index 0000000..af41aa5
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/inherit_graph_9.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/inherits.html b/native_client_sdk/doc_generated/pepper_stable/cpp/inherits.html
new file mode 100644
index 0000000..884bce5
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/inherits.html
@@ -0,0 +1,127 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Class Hierarchy</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock">
+<p><a href="hierarchy.html">Go to the textual class hierarchy</a></p>
+</div><table border="0" cellspacing="10" cellpadding="0">
+<tr><td><img src="inherit_graph_0.png" border="0" alt="" usemap="#pp_1_1_completion_callback" />
+<map name="pp_1_1_completion_callback" id="pp_1_1_completion_callback">
+<area shape="rect" id="node1" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl..." alt="" coords="7,59,177,88"></area><area shape="rect" id="node3" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html" title="pp::internal::CompletionCallbackWithOutputBase\< T, internal::CallbackOutputTraits\< T \> \>" alt="" coords="237,5,835,35"></area><area shape="rect" id="node7" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html" title="pp::internal::CompletionCallbackWithOutputBase\< T, internal::ExtCallbackOutputTraits\< T \> \>" alt="" coords="227,59,845,88"></area><area shape="rect" id="node11" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html" title="The base class of [Ext]CompletionCallbackWithOutput." alt="" coords="332,112,740,141"></area><area shape="rect" id="node5" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so..." alt="" coords="917,5,1197,35"></area><area shape="rect" id="node9" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html" title="ExtCompletionCallbackWithOutput is similar to CompletionCallbackWithOutput, but used by APIs within t..." alt="" coords="893,59,1221,88"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_1.png" border="0" alt="" usemap="#pp_1_1_completion_callback_factory_3_01_t_00_01_thread_traits_01_4" />
+<map name="pp_1_1_completion_callback_factory_3_01_t_00_01_thread_traits_01_4" id="pp_1_1_completion_callback_factory_3_01_t_00_01_thread_traits_01_4">
+<area shape="rect" id="node1" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe..." alt="" coords="7,5,345,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_2.png" border="0" alt="" usemap="#pp_1_1_core" />
+<map name="pp_1_1_core" id="pp_1_1_core">
+<area shape="rect" id="node1" href="classpp_1_1_core.html" title="APIs related to memory management, time, and threads." alt="" coords="7,5,81,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_3.png" border="0" alt="" usemap="#pp_1_1_directory_entry" />
+<map name="pp_1_1_directory_entry" id="pp_1_1_directory_entry">
+<area shape="rect" id="node1" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry." alt="" coords="7,5,143,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_4.png" border="0" alt="" usemap="#pp_1_1_float_point" />
+<map name="pp_1_1_float_point" id="pp_1_1_float_point">
+<area shape="rect" id="node1" href="classpp_1_1_float_point.html" title="A 2 dimensional floating-point point with 0,0 being the upper-left starting coordinate." alt="" coords="5,5,115,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_5.png" border="0" alt="" usemap="#pp_1_1_fullscreen" />
+<map name="pp_1_1_fullscreen" id="pp_1_1_fullscreen">
+<area shape="rect" id="node1" href="classpp_1_1_fullscreen.html" title="The Fullscreen class allowing you to check and toggle fullscreen mode." alt="" coords="5,5,115,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_6.png" border="0" alt="" usemap="#pp_1_1_graphics3_d_client" />
+<map name="pp_1_1_graphics3_d_client" id="pp_1_1_graphics3_d_client">
+<area shape="rect" id="node1" href="classpp_1_1_graphics3_d_client.html" title="pp::Graphics3DClient" alt="" coords="7,5,161,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_7.png" border="0" alt="" usemap="#pp_1_1_instance" />
+<map name="pp_1_1_instance" id="pp_1_1_instance">
+<area shape="rect" id="node1" href="classpp_1_1_instance.html" title="pp::Instance" alt="" coords="7,5,105,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_8.png" border="0" alt="" usemap="#pp_1_1_instance_handle" />
+<map name="pp_1_1_instance_handle" id="pp_1_1_instance_handle">
+<area shape="rect" id="node1" href="classpp_1_1_instance_handle.html" title="An instance handle identifies an instance in a constructor for a resource." alt="" coords="7,5,151,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_9.png" border="0" alt="" usemap="#pp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4" />
+<map name="pp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4" id="pp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4">
+<area shape="rect" id="node1" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html" title="pp::internal::CallbackOutputTraits\< std::vector\< DirectoryEntry \> \>" alt="" coords="5,5,456,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_10.png" border="0" alt="" usemap="#pp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage" />
+<map name="pp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage" id="pp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage">
+<area shape="rect" id="node1" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html" title="pp::internal::DirectoryEntryArrayOutputAdapterWithStorage" alt="" coords="5,5,405,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_11.png" border="0" alt="" usemap="#pp_1_1internal_1_1_type_unwrapper_3_01const_01_t_01_6_01_4" />
+<map name="pp_1_1internal_1_1_type_unwrapper_3_01const_01_t_01_6_01_4" id="pp_1_1internal_1_1_type_unwrapper_3_01const_01_t_01_6_01_4">
+<area shape="rect" id="node1" href="structpp_1_1internal_1_1_type_unwrapper_3_01const_01_t_01_6_01_4.html" title="pp::internal::TypeUnwrapper\< const T & \>" alt="" coords="5,5,296,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_12.png" border="0" alt="" usemap="#pp_1_1internal_1_1_type_unwrapper_3_01_t_01_6_01_4" />
+<map name="pp_1_1internal_1_1_type_unwrapper_3_01_t_01_6_01_4" id="pp_1_1internal_1_1_type_unwrapper_3_01_t_01_6_01_4">
+<area shape="rect" id="node1" href="structpp_1_1internal_1_1_type_unwrapper_3_01_t_01_6_01_4.html" title="pp::internal::TypeUnwrapper\< T & \>" alt="" coords="5,5,256,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_13.png" border="0" alt="" usemap="#pp_1_1internal_1_1_type_unwrapper_3_01_t_01_4" />
+<map name="pp_1_1internal_1_1_type_unwrapper_3_01_t_01_4" id="pp_1_1internal_1_1_type_unwrapper_3_01_t_01_4">
+<area shape="rect" id="node1" href="structpp_1_1internal_1_1_type_unwrapper.html" title="pp::internal::TypeUnwrapper\< T \>" alt="" coords="7,5,241,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_14.png" border="0" alt="" usemap="#pp_1_1_module" />
+<map name="pp_1_1_module" id="pp_1_1_module">
+<area shape="rect" id="node1" href="classpp_1_1_module.html" title="The Module class." alt="" coords="7,5,97,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_15.png" border="0" alt="" usemap="#pp_1_1_mouse_cursor" />
+<map name="pp_1_1_mouse_cursor" id="pp_1_1_mouse_cursor">
+<area shape="rect" id="node1" href="classpp_1_1_mouse_cursor.html" title="pp::MouseCursor" alt="" coords="5,5,136,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_16.png" border="0" alt="" usemap="#pp_1_1_mouse_lock" />
+<map name="pp_1_1_mouse_lock" id="pp_1_1_mouse_lock">
+<area shape="rect" id="node1" href="classpp_1_1_mouse_lock.html" title="This class allows you to associate the PPP_MouseLock and PPB_MouseLock C-based interfaces with an obj..." alt="" coords="5,5,123,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_17.png" border="0" alt="" usemap="#pp_1_1_network_proxy" />
+<map name="pp_1_1_network_proxy" id="pp_1_1_network_proxy">
+<area shape="rect" id="node1" href="classpp_1_1_network_proxy.html" title="This class provides a way to determine the appropriate proxy settings for for a given URL..." alt="" coords="5,5,139,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_18.png" border="0" alt="" usemap="#pp_1_1_point" />
+<map name="pp_1_1_point" id="pp_1_1_point">
+<area shape="rect" id="node1" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate." alt="" coords="7,5,84,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_19.png" border="0" alt="" usemap="#pp_1_1_rect" />
+<map name="pp_1_1_rect" id="pp_1_1_rect">
+<area shape="rect" id="node1" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle." alt="" coords="7,5,79,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_20.png" border="0" alt="" usemap="#pp_1_1_resource" />
+<map name="pp_1_1_resource" id="pp_1_1_resource">
+<area shape="rect" id="node1" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="5,539,109,568"></area><area shape="rect" id="node3" href="classpp_1_1_audio.html" title="An audio resource." alt="" coords="193,5,276,35"></area><area shape="rect" id="node5" href="classpp_1_1_audio_config.html" title="A 16 bit stereo AudioConfig resource." alt="" coords="173,59,296,88"></area><area shape="rect" id="node7" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file." alt="" coords="196,112,273,141"></area><area shape="rect" id="node9" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.' alt="" coords="192,165,277,195"></area><area shape="rect" id="node11" href="classpp_1_1_file_system.html" title="The FileSystem class identifies the file system type associated with a file." alt="" coords="177,219,292,248"></area><area shape="rect" id="node13" href="classpp_1_1_graphics2_d.html" title="pp::Graphics2D" alt="" coords="175,272,295,301"></area><area shape="rect" id="node15" href="classpp_1_1_graphics3_d.html" title="This class represents a 3D rendering context in the browser." alt="" coords="175,325,295,355"></area><area shape="rect" id="node17" href="classpp_1_1_host_resolver.html" title="The HostResolver class supports host name resolution." alt="" coords="171,379,299,408"></area><area shape="rect" id="node19" href="classpp_1_1_image_data.html" title="pp::ImageData" alt="" coords="176,432,293,461"></area><area shape="rect" id="node21" href="classpp_1_1_input_event.html" title="This class represents an input event resource." alt="" coords="177,485,292,515"></area><area shape="rect" id="node33" href="classpp_1_1_message_loop.html" title="A message loop allows PPAPI calls to be issued on a thread." alt="" coords="168,539,301,568"></area><area shape="rect" id="node35" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address." alt="" coords="175,592,295,621"></area><area shape="rect" id="node37" href="classpp_1_1_network_list.html" title="pp::NetworkList" alt="" coords="175,645,295,675"></area><area shape="rect" id="node39" href="classpp_1_1_network_monitor.html" title="pp::NetworkMonitor" alt="" coords="161,699,308,728"></area><area shape="rect" id="node41" href="classpp_1_1_t_c_p_socket.html" title="The TCPSocket class provides TCP socket operations." alt="" coords="179,752,291,781"></area><area shape="rect" id="node43" href="classpp_1_1_u_d_p_socket.html" title="The UDPSocket class provides UDP socket operations." alt="" coords="176,805,293,835"></area><area shape="rect" id="node45" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs." alt="" coords="177,859,292,888"></area><area shape="rect" id="node47" href="classpp_1_1_u_r_l_request_info.html" title="URLRequestInfo provides an API for creating and manipulating URL requests." alt="" coords="163,912,307,941"></area><area shape="rect" id="node49" href="classpp_1_1_u_r_l_response_info.html" title="URLResponseInfo provides an API for examining URL responses." alt="" coords="157,965,312,995"></area><area shape="rect" id="node51" href="classpp_1_1_view.html" title="This class represents the state of the view for an instance and contains functions for retrieving the..." alt="" coords="197,1019,272,1048"></area><area shape="rect" id="node53" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket..." alt="" coords="177,1072,292,1101"></area><area shape="rect" id="node23" href="classpp_1_1_i_m_e_input_event.html" title="pp::IMEInputEvent" alt="" coords="379,379,515,408"></area><area shape="rect" id="node25" href="classpp_1_1_keyboard_input_event.html" title="pp::KeyboardInputEvent" alt="" coords="360,432,533,461"></area><area shape="rect" id="node27" href="classpp_1_1_mouse_input_event.html" title="This class handles mouse events." alt="" coords="369,485,524,515"></area><area shape="rect" id="node29" href="classpp_1_1_touch_input_event.html" title="pp::TouchInputEvent" alt="" coords="372,539,521,568"></area><area shape="rect" id="node31" href="classpp_1_1_wheel_input_event.html" title="pp::WheelInputEvent" alt="" coords="371,592,523,621"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_21.png" border="0" alt="" usemap="#pp_1_1_size" />
+<map name="pp_1_1_size" id="pp_1_1_size">
+<area shape="rect" id="node1" href="classpp_1_1_size.html" title="A size of an object based on width and height." alt="" coords="7,5,79,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_22.png" border="0" alt="" usemap="#pp_1_1_text_input_controller" />
+<map name="pp_1_1_text_input_controller" id="pp_1_1_text_input_controller">
+<area shape="rect" id="node1" href="classpp_1_1_text_input_controller.html" title="This class can be used for giving hints to the browser about the text input status of plugins..." alt="" coords="5,5,171,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_23.png" border="0" alt="" usemap="#pp_1_1_touch_point" />
+<map name="pp_1_1_touch_point" id="pp_1_1_touch_point">
+<area shape="rect" id="node1" href="classpp_1_1_touch_point.html" title="Wrapper class for PP_TouchPoint." alt="" coords="5,5,120,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_24.png" border="0" alt="" usemap="#pp_1_1_var" />
+<map name="pp_1_1_var" id="pp_1_1_var">
+<area shape="rect" id="node1" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page." alt="" coords="5,59,72,88"></area><area shape="rect" id="node3" href="classpp_1_1_var_array.html" title="pp::VarArray" alt="" coords="139,5,240,35"></area><area shape="rect" id="node5" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ..." alt="" coords="120,59,259,88"></area><area shape="rect" id="node7" href="classpp_1_1_var_dictionary.html" title="pp::VarDictionary" alt="" coords="124,112,255,141"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_25.png" border="0" alt="" usemap="#pp_1_1_var_1_1_dont_manage" />
+<map name="pp_1_1_var_1_1_dont_manage" id="pp_1_1_var_1_1_dont_manage">
+<area shape="rect" id="node1" href="structpp_1_1_var_1_1_dont_manage.html" title="pp::Var::DontManage" alt="" coords="5,5,163,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_26.png" border="0" alt="" usemap="#pp_1_1_var_1_1_null" />
+<map name="pp_1_1_var_1_1_null" id="pp_1_1_var_1_1_null">
+<area shape="rect" id="node1" href="structpp_1_1_var_1_1_null.html" title="Special value passed to constructor to make NULL." alt="" coords="5,5,104,35"></area></map>
+</td></tr>
+<tr><td><img src="inherit_graph_27.png" border="0" alt="" usemap="#pp_1_1_var_1_1_out_exception" />
+<map name="pp_1_1_var_1_1_out_exception" id="pp_1_1_var_1_1_out_exception">
+<area shape="rect" id="node1" href="classpp_1_1_var_1_1_out_exception.html" title="This class is used when calling the raw C PPAPI when using the C++ Var as a possible NULL exception..." alt="" coords="5,5,165,35"></area></map>
+</td></tr>
+</table>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/input__event_8h.html b/native_client_sdk/doc_generated/pepper_stable/cpp/input__event_8h.html
new file mode 100644
index 0000000..2c7ec64
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/input__event_8h.html
@@ -0,0 +1,35 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/cpp/input_event.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for input_event.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="input__event_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2input__event_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2input__event_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2input__event_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_input_event.html">pp::InputEvent</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This class represents an input event resource. <a href="classpp_1_1_input_event.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_input_event.html">pp::MouseInputEvent</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This class handles mouse events. <a href="classpp_1_1_mouse_input_event.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_wheel_input_event.html">pp::WheelInputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_keyboard_input_event.html">pp::KeyboardInputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_touch_input_event.html">pp::TouchInputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_i_m_e_input_event.html">pp::IMEInputEvent</a></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API used to handle mouse and keyboard input events. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/input__event_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/cpp/input__event_8h__incl.png
new file mode 100644
index 0000000..8195ff4
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/input__event_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/instance_8h.html b/native_client_sdk/doc_generated/pepper_stable/cpp/instance_8h.html
new file mode 100644
index 0000000..3dc1828
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/instance_8h.html
@@ -0,0 +1,28 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/cpp/instance.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for instance.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="instance_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2instance_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2instance_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2instance_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html">pp::Instance</a></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the C++ wrapper for an instance. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/instance_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/cpp/instance_8h__incl.png
new file mode 100644
index 0000000..e191370
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/instance_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/instance__handle_8h.html b/native_client_sdk/doc_generated/pepper_stable/cpp/instance__handle_8h.html
new file mode 100644
index 0000000..daa0eeb3
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/instance__handle_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/cpp/instance_handle.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for instance_handle.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="instance__handle_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2instance__handle_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2instance__handle_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2instance__handle_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance_handle.html">pp::InstanceHandle</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">An instance handle identifies an instance in a constructor for a resource. <a href="classpp_1_1_instance_handle.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines an instance handle used to identify an instance in a constructor for a resource. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/instance__handle_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/cpp/instance__handle_8h__incl.png
new file mode 100644
index 0000000..2f6f42b4
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/instance__handle_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/logging_8h.html b/native_client_sdk/doc_generated/pepper_stable/cpp/logging_8h.html
new file mode 100644
index 0000000..57850ae
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/logging_8h.html
@@ -0,0 +1,71 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/cpp/logging.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for logging.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="logging_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2logging_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2logging_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2logging_8h">
+</map>
+</div>
+</div><h2>
+Defines</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="logging_8h.html#a5cb259e0fd1a8c0c64fbc891bc273417">PP_DCHECK</a>(a)   assert(a)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="logging_8h.html#a1c536418e751c9bda850cd2bc919e0ca">PP_NOTREACHED</a>()   assert(false)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines two macro asserts. </p>
+</div><hr /><h2>Define Documentation</h2>
+<a class="anchor" id="a5cb259e0fd1a8c0c64fbc891bc273417"></a><!-- doxytag: member="logging.h::PP_DCHECK" ref="a5cb259e0fd1a8c0c64fbc891bc273417" args="(a)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="logging_8h.html#a5cb259e0fd1a8c0c64fbc891bc273417">PP_DCHECK</a></td>
+<td>(</td>
+<td class="paramtype"> </td>
+<td class="paramname">a</td><td>)</td>
+<td>   assert(a)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This macro asserts that 'a' evaluates to true. </p>
+<p>In debug mode, this macro will crash the program if the assertion evaluates to false. It (typically) has no effect in release mode. </p>
+</div>
+</div>
+<a class="anchor" id="a1c536418e751c9bda850cd2bc919e0ca"></a><!-- doxytag: member="logging.h::PP_NOTREACHED" ref="a1c536418e751c9bda850cd2bc919e0ca" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">#define <a class="el" href="logging_8h.html#a1c536418e751c9bda850cd2bc919e0ca">PP_NOTREACHED</a></td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td>   assert(false)</td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This macro asserts false in debug builds. </p>
+<p>It's used in code paths that you don't expect to execute.</p>
+<p><b>Example:</b></p>
+<div class="fragment"><pre class="fragment"> <span class="keywordflow">if</span> (!pointer) {
+ <span class="comment">// Pointer wasn't valid! This shouldn't happen.</span>
+ <a class="code" href="logging_8h.html#a1c536418e751c9bda850cd2bc919e0ca" title="This macro asserts false in debug builds.">PP_NOTREACHED</a>();
+ <span class="keywordflow">return</span>;
+ }
+ <span class="comment">// Do stuff to the pointer, since you know it's valid.</span>
+ pointer->DoSomething();
+</pre></div>
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/logging_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/cpp/logging_8h__incl.png
new file mode 100644
index 0000000..6f9b2b4
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/logging_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/message__loop_8h.html b/native_client_sdk/doc_generated/pepper_stable/cpp/message__loop_8h.html
new file mode 100644
index 0000000..0efe2b8
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/message__loop_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/cpp/message_loop.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for message_loop.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="message__loop_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2message__loop_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2message__loop_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2message__loop_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_message_loop.html">pp::MessageLoop</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A message loop allows PPAPI calls to be issued on a thread. <a href="classpp_1_1_message_loop.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the PPB_MessageLoop API. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/message__loop_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/cpp/message__loop_8h__incl.png
new file mode 100644
index 0000000..d211cf0
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/message__loop_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/module_8h.html b/native_client_sdk/doc_generated/pepper_stable/cpp/module_8h.html
new file mode 100644
index 0000000..0c7c0b91
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/module_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/cpp/module.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for module.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="module_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2module_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2module_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2module_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html">pp::Module</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="classpp_1_1_module.html" title="The Module class.">Module</a> class. <a href="classpp_1_1_module.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines a Module class. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/module_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/cpp/module_8h__incl.png
new file mode 100644
index 0000000..9134562e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/module_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/module__embedder_8h.html b/native_client_sdk/doc_generated/pepper_stable/cpp/module__embedder_8h.html
new file mode 100644
index 0000000..26d3101
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/module__embedder_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/cpp/module_embedder.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for module_embedder.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="module__embedder_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2module__embedder_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2module__embedder_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2module__embedder_8h">
+</map>
+</div>
+</div><h2>
+Namespaces</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table><h2>
+Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_module.html">pp::Module</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html#ac861e0e00515a40d07a40e0dcc0fd728">pp::CreateModule</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html#a819119da5e9818961e9ab5306f3655d7">pp::SetBrokerGetInterfaceFunc</a> (PP_GetInterface_Func broker_get_interface)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the APIs for creating a Module object. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/module__embedder_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/cpp/module__embedder_8h__incl.png
new file mode 100644
index 0000000..50d9f12
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/module__embedder_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/module__impl_8h.html b/native_client_sdk/doc_generated/pepper_stable/cpp/module__impl_8h.html
new file mode 100644
index 0000000..ebc463f9
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/module__impl_8h.html
@@ -0,0 +1,25 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/cpp/module_impl.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for module_impl.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="module__impl_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2module__impl_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2module__impl_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2module__impl_8h">
+</map>
+</div>
+</div><h2>
+Namespaces</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines some simple function templates that help the C++ wrappers (and are not for external developers to use). </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/module__impl_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/cpp/module__impl_8h__incl.png
new file mode 100644
index 0000000..b1b0a90
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/module__impl_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/mouse__cursor_8h.html b/native_client_sdk/doc_generated/pepper_stable/cpp/mouse__cursor_8h.html
new file mode 100644
index 0000000..ab044c7
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/mouse__cursor_8h.html
@@ -0,0 +1,26 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/cpp/mouse_cursor.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for mouse_cursor.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="mouse__cursor_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2mouse__cursor_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2mouse__cursor_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2mouse__cursor_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_cursor.html">pp::MouseCursor</a></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/mouse__cursor_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/cpp/mouse__cursor_8h__incl.png
new file mode 100644
index 0000000..79f5c48
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/mouse__cursor_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/mouse__lock_8h.html b/native_client_sdk/doc_generated/pepper_stable/cpp/mouse__lock_8h.html
new file mode 100644
index 0000000..4570b626
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/mouse__lock_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/cpp/mouse_lock.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for mouse_lock.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="mouse__lock_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2mouse__lock_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2mouse__lock_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2mouse__lock_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_lock.html">pp::MouseLock</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This class allows you to associate the <code>PPP_MouseLock</code> and <code>PPB_MouseLock</code> C-based interfaces with an object. <a href="classpp_1_1_mouse_lock.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API for locking the target of mouse events to a specific module instance. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/mouse__lock_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/cpp/mouse__lock_8h__incl.png
new file mode 100644
index 0000000..d7415bb
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/mouse__lock_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/namespacemembers_enum.html b/native_client_sdk/doc_generated/pepper_stable/cpp/namespacemembers_enum.html
new file mode 100644
index 0000000..6546fda
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/namespacemembers_enum.html
@@ -0,0 +1,16 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Namespace Members</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<div class="contents">
+ <ul>
+<li>PassRef
+: <a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">pp</a>
+</li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/namespacemembers_eval.html b/native_client_sdk/doc_generated/pepper_stable/cpp/namespacemembers_eval.html
new file mode 100644
index 0000000..76787d9
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/namespacemembers_eval.html
@@ -0,0 +1,16 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Namespace Members</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<div class="contents">
+ <ul>
+<li>PASS_REF
+: <a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5a82ae1b20e3ad488539b9dbc6ab4dd585">pp</a>
+</li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/namespacepp.html b/native_client_sdk/doc_generated/pepper_stable/cpp/namespacepp.html
new file mode 100644
index 0000000..4cc8968
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/namespacepp.html
@@ -0,0 +1,193 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp Namespace Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<h2>
+Namespaces</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp_1_1ext.html">ext</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp_1_1internal.html">internal</a></td></tr>
+</table><h2>
+Classes</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio.html">Audio</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">An audio resource. <a href="classpp_1_1_audio.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_audio_config.html">AudioConfig</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A 16 bit stereo <a class="el" href="classpp_1_1_audio_config.html" title="A 16 bit stereo AudioConfig resource.">AudioConfig</a> resource. <a href="classpp_1_1_audio_config.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This API enables you to implement and receive callbacks when Pepper operations complete asynchronously. <a href="classpp_1_1_completion_callback.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A <a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a> defines a completion callback that additionally stores a pointer to some output data. <a href="classpp_1_1_completion_callback_with_output.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_core.html">Core</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">APIs related to memory management, time, and threads. <a href="classpp_1_1_core.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_directory_entry.html">DirectoryEntry</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_directory_entry.html" title="The DirectoryEntry class represents information about a directory entry.">DirectoryEntry</a></code> class represents information about a directory entry. <a href="classpp_1_1_directory_entry.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_i_o.html">FileIO</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_file_i_o.html" title="The FileIO class represents a regular file.">FileIO</a></code> class represents a regular file. <a href="classpp_1_1_file_i_o.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_ref.html">FileRef</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_file_ref.html" title='The FileRef class represents a "weak pointer" to a file in a file system.'>FileRef</a></code> class represents a "weak pointer" to a file in a file system. <a href="classpp_1_1_file_ref.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_file_system.html">FileSystem</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_file_system.html" title="The FileSystem class identifies the file system type associated with a file.">FileSystem</a></code> class identifies the file system type associated with a file. <a href="classpp_1_1_file_system.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_fullscreen.html">Fullscreen</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="classpp_1_1_fullscreen.html" title="The Fullscreen class allowing you to check and toggle fullscreen mode.">Fullscreen</a> class allowing you to check and toggle fullscreen mode. <a href="classpp_1_1_fullscreen.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics2_d.html">Graphics2D</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics3_d.html">Graphics3D</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This class represents a 3D rendering context in the browser. <a href="classpp_1_1_graphics3_d.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_graphics3_d_client.html">Graphics3DClient</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_host_resolver.html">HostResolver</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_host_resolver.html" title="The HostResolver class supports host name resolution.">HostResolver</a></code> class supports host name resolution. <a href="classpp_1_1_host_resolver.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_image_data.html">ImageData</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_input_event.html">InputEvent</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This class represents an input event resource. <a href="classpp_1_1_input_event.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_input_event.html">MouseInputEvent</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This class handles mouse events. <a href="classpp_1_1_mouse_input_event.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_wheel_input_event.html">WheelInputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_keyboard_input_event.html">KeyboardInputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_touch_input_event.html">TouchInputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_i_m_e_input_event.html">IMEInputEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance.html">Instance</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">An instance handle identifies an instance in a constructor for a resource. <a href="classpp_1_1_instance_handle.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_message_loop.html">MessageLoop</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A message loop allows PPAPI calls to be issued on a thread. <a href="classpp_1_1_message_loop.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_module.html">Module</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="classpp_1_1_module.html" title="The Module class.">Module</a> class. <a href="classpp_1_1_module.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_cursor.html">MouseCursor</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_lock.html">MouseLock</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This class allows you to associate the <code>PPP_MouseLock</code> and <code>PPB_MouseLock</code> C-based interfaces with an object. <a href="classpp_1_1_mouse_lock.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_net_address.html">NetAddress</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code> class represents a network address. <a href="classpp_1_1_net_address.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_list.html">NetworkList</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_monitor.html">NetworkMonitor</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_proxy.html">NetworkProxy</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This class provides a way to determine the appropriate proxy settings for for a given URL. <a href="classpp_1_1_network_proxy.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_point.html">Point</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A 2 dimensional point with 0,0 being the upper-left starting coordinate. <a href="classpp_1_1_point.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_float_point.html">FloatPoint</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A 2 dimensional floating-point point with 0,0 being the upper-left starting coordinate. <a href="classpp_1_1_float_point.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html">Rect</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A 2 dimensional rectangle. <a href="classpp_1_1_rect.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_resource.html">Resource</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A reference counted module resource. <a href="classpp_1_1_resource.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_size.html">Size</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A size of an object based on width and height. <a href="classpp_1_1_size.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html">TCPSocket</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_t_c_p_socket.html" title="The TCPSocket class provides TCP socket operations.">TCPSocket</a></code> class provides TCP socket operations. <a href="classpp_1_1_t_c_p_socket.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_text_input_controller.html">TextInputController</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This class can be used for giving hints to the browser about the text input status of plugins. <a href="classpp_1_1_text_input_controller.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_touch_point.html">TouchPoint</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Wrapper class for PP_TouchPoint. <a href="classpp_1_1_touch_point.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_d_p_socket.html">UDPSocket</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_u_d_p_socket.html" title="The UDPSocket class provides UDP socket operations.">UDPSocket</a></code> class provides UDP socket operations. <a href="classpp_1_1_u_d_p_socket.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_loader.html">URLLoader</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs.">URLLoader</a> provides an API for loading URLs. <a href="classpp_1_1_u_r_l_loader.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html">URLRequestInfo</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classpp_1_1_u_r_l_request_info.html" title="URLRequestInfo provides an API for creating and manipulating URL requests.">URLRequestInfo</a> provides an API for creating and manipulating URL requests. <a href="classpp_1_1_u_r_l_request_info.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_response_info.html">URLResponseInfo</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classpp_1_1_u_r_l_response_info.html" title="URLResponseInfo provides an API for examining URL responses.">URLResponseInfo</a> provides an API for examining URL responses. <a href="classpp_1_1_u_r_l_response_info.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html">Var</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A generic type used for passing data types between the module and the page. <a href="classpp_1_1_var.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array.html">VarArray</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array_buffer.html">VarArrayBuffer</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code> provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous sequence of bytes. <a href="classpp_1_1_var_array_buffer.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_dictionary.html">VarDictionary</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_view.html">View</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This class represents the state of the view for an instance and contains functions for retrieving the current state of that view. <a href="classpp_1_1_view.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_web_socket.html">WebSocket</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a></code> class providing bi-directional, full-duplex, communications over a single TCP socket. <a href="classpp_1_1_web_socket.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_completion_callback_factory.html">CompletionCallbackFactory</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">CompletionCallbackFactory<T> may be used to create <a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a> objects that are bound to member functions. <a href="classpp_1_1_completion_callback_factory.html#details">More...</a><br /></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a> { <a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5a82ae1b20e3ad488539b9dbc6ab4dd585">PASS_REF</a>
+ }</td></tr>
+</table><h2>
+Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html#a720b2df07621eabf59bdbae84ab80f47">BlockUntilComplete</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_module.html">pp::Module</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html#ac861e0e00515a40d07a40e0dcc0fd728">CreateModule</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html#a819119da5e9818961e9ab5306f3655d7">SetBrokerGetInterfaceFunc</a> (PP_GetInterface_Func broker_get_interface)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The C++ interface to the Pepper API. </p>
+</div><hr /><h2>Enumeration Type Documentation</h2>
+<a class="anchor" id="a339083c1beec620267bf8b3c55decaa5"></a><!-- doxytag: member="pp::PassRef" ref="a339083c1beec620267bf8b3c55decaa5" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">enum <a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">pp::PassRef</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>An annotation for constructors and other functions that take ownership of a pointer. </p>
+<p>For example, a resource constructor that takes ownership of a provided <code>PP_Resource</code> ref count would take this enumeration to differentiate from the more typical use case of taking its own reference. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="a339083c1beec620267bf8b3c55decaa5a82ae1b20e3ad488539b9dbc6ab4dd585"></a><!-- doxytag: member="PASS_REF" ref="a339083c1beec620267bf8b3c55decaa5a82ae1b20e3ad488539b9dbc6ab4dd585" args="" -->PASS_REF</em> </td><td>
+</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+</div>
+<hr /><h2>Function Documentation</h2>
+<a class="anchor" id="a720b2df07621eabf59bdbae84ab80f47"></a><!-- doxytag: member="pp::BlockUntilComplete" ref="a720b2df07621eabf59bdbae84ab80f47" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> <a class="el" href="namespacepp.html#a720b2df07621eabf59bdbae84ab80f47">pp::BlockUntilComplete</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="namespacepp.html#a720b2df07621eabf59bdbae84ab80f47" title="BlockUntilComplete() is used in place of an actual completion callback to request blocking behavior...">BlockUntilComplete()</a> is used in place of an actual completion callback to request blocking behavior. </p>
+<p>If specified, the calling thread will block until the function completes. Blocking completion callbacks are only allowed from background threads.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> corresponding to a NULL callback. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ac861e0e00515a40d07a40e0dcc0fd728"></a><!-- doxytag: member="pp::CreateModule" ref="ac861e0e00515a40d07a40e0dcc0fd728" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname"><a class="el" href="classpp_1_1_module.html">pp::Module</a>* <a class="el" href="namespacepp.html#ac861e0e00515a40d07a40e0dcc0fd728">pp::CreateModule</a> </td>
+<td>(</td>
+<td class="paramname"></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function creates the <code><a class="el" href="classpp_1_1_module.html" title="The Module class.">pp::Module</a></code> object associated with this module. </p>
+<p><b>Note: </b>NaCl module developers must implement this function.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the module if it was successfully created, or NULL on failure. Upon failure, the module will be unloaded. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a819119da5e9818961e9ab5306f3655d7"></a><!-- doxytag: member="pp::SetBrokerGetInterfaceFunc" ref="a819119da5e9818961e9ab5306f3655d7" args="(PP_GetInterface_Func broker_get_interface)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">void <a class="el" href="namespacepp.html#a819119da5e9818961e9ab5306f3655d7">pp::SetBrokerGetInterfaceFunc</a> </td>
+<td>(</td>
+<td class="paramtype">PP_GetInterface_Func </td>
+<td class="paramname"><em>broker_get_interface</em></td><td>)</td>
+<td></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Sets the get interface function in the broker process. </p>
+<p>This function is only relevant when you're using the PPB_Broker interface in a trusted native plugin. In this case, you may need to implement PPP_GetInterface when the plugin is loaded in the unsandboxed process. Normally the C++ wrappers implement PPP_GetInterface for you but this doesn't work in the context of the broker process. So if you need to implement PPP_* interfaces in the broker process, call this function in your PPP_InitializeBroker implementation which will set up the given function as implementing PPP_GetInterface. </p>
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/namespacepp_1_1ext.html b/native_client_sdk/doc_generated/pepper_stable/cpp/namespacepp_1_1ext.html
new file mode 100644
index 0000000..79854ca
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/namespacepp_1_1ext.html
@@ -0,0 +1,18 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::ext Namespace Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">ExtCompletionCallbackWithOutput</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html" title="ExtCompletionCallbackWithOutput is similar to CompletionCallbackWithOutput, but used by APIs within t...">ExtCompletionCallbackWithOutput</a> is similar to <a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a>, but used by APIs within the <a class="el" href="namespacepp_1_1ext.html">pp::ext</a> namespace. <a href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html#details">More...</a><br /></td></tr>
+</table>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/namespacepp_1_1internal.html b/native_client_sdk/doc_generated/pepper_stable/cpp/namespacepp_1_1internal.html
new file mode 100644
index 0000000..b34cadd
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/namespacepp_1_1internal.html
@@ -0,0 +1,23 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::internal Namespace Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">CompletionCallbackWithOutputBase</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The base class of [Ext]<a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a>. <a href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html">DirectoryEntryArrayOutputAdapterWithStorage</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html">CallbackOutputTraits< std::vector< DirectoryEntry > ></a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">TypeUnwrapper</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1internal_1_1_type_unwrapper_3_01_t_01_6_01_4.html">TypeUnwrapper< T & ></a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1internal_1_1_type_unwrapper_3_01const_01_t_01_6_01_4.html">TypeUnwrapper< const T & ></a></td></tr>
+</table>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/net__address_8h.html b/native_client_sdk/doc_generated/pepper_stable/cpp/net__address_8h.html
new file mode 100644
index 0000000..4744e2a
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/net__address_8h.html
@@ -0,0 +1,27 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/cpp/net_address.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for net_address.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="net__address_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2net__address_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2net__address_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2net__address_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_net_address.html">pp::NetAddress</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code> class represents a network address. <a href="classpp_1_1_net_address.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/net__address_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/cpp/net__address_8h__incl.png
new file mode 100644
index 0000000..5ab58b7
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/net__address_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/network__list_8h.html b/native_client_sdk/doc_generated/pepper_stable/cpp/network__list_8h.html
new file mode 100644
index 0000000..f401fc3d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/network__list_8h.html
@@ -0,0 +1,26 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/cpp/network_list.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for network_list.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="network__list_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2network__list_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2network__list_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2network__list_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_list.html">pp::NetworkList</a></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/network__list_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/cpp/network__list_8h__incl.png
new file mode 100644
index 0000000..f2244787
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/network__list_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/network__monitor_8h.html b/native_client_sdk/doc_generated/pepper_stable/cpp/network__monitor_8h.html
new file mode 100644
index 0000000..676f4e98
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/network__monitor_8h.html
@@ -0,0 +1,26 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/cpp/network_monitor.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for network_monitor.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="network__monitor_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2network__monitor_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2network__monitor_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2network__monitor_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_monitor.html">pp::NetworkMonitor</a></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/network__monitor_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/cpp/network__monitor_8h__incl.png
new file mode 100644
index 0000000..c4fc2e6
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/network__monitor_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/network__proxy_8h.html b/native_client_sdk/doc_generated/pepper_stable/cpp/network__proxy_8h.html
new file mode 100644
index 0000000..f053144
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/network__proxy_8h.html
@@ -0,0 +1,27 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/cpp/network_proxy.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for network_proxy.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="network__proxy_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2network__proxy_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2network__proxy_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2network__proxy_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_network_proxy.html">pp::NetworkProxy</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This class provides a way to determine the appropriate proxy settings for for a given URL. <a href="classpp_1_1_network_proxy.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/network__proxy_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/cpp/network__proxy_8h__incl.png
new file mode 100644
index 0000000..e7b0d25c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/network__proxy_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/pass__ref_8h.html b/native_client_sdk/doc_generated/pepper_stable/cpp/pass__ref_8h.html
new file mode 100644
index 0000000..352281f
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/pass__ref_8h.html
@@ -0,0 +1,22 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/cpp/pass_ref.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<h2>
+Namespaces</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table><h2>
+Enumerations</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">pp::PassRef</a> { <a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5a82ae1b20e3ad488539b9dbc6ab4dd585">pp::PASS_REF</a>
+ }</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines an annotation for constructors and other functions that take ownership of a pointer. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/point_8h.html b/native_client_sdk/doc_generated/pepper_stable/cpp/point_8h.html
new file mode 100644
index 0000000..55653499
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/point_8h.html
@@ -0,0 +1,178 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/cpp/point.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for point.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="point_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2point_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2point_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2point_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_point.html">pp::Point</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A 2 dimensional point with 0,0 being the upper-left starting coordinate. <a href="classpp_1_1_point.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A 2 dimensional floating-point point with 0,0 being the upper-left starting coordinate. <a href="classpp_1_1_float_point.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table><h2>
+Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="point_8h.html#acdca90fb96f299839dcea8d836d6f92f">operator==</a> (const <a class="el" href="classpp_1_1_point.html">pp::Point</a> &lhs, const <a class="el" href="classpp_1_1_point.html">pp::Point</a> &rhs)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="point_8h.html#a49089c373eeebff274a723f7545b7680">operator!=</a> (const <a class="el" href="classpp_1_1_point.html">pp::Point</a> &lhs, const <a class="el" href="classpp_1_1_point.html">pp::Point</a> &rhs)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="point_8h.html#a59d82ac98ce35697fae48edd66a7fdba">operator==</a> (const <a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a> &lhs, const <a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a> &rhs)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="point_8h.html#a429594ae059c2956f538876c3c4e68c2">operator!=</a> (const <a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a> &lhs, const <a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a> &rhs)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API to create a 2 dimensional point. </p>
+</div><hr /><h2>Function Documentation</h2>
+<a class="anchor" id="a49089c373eeebff274a723f7545b7680"></a><!-- doxytag: member="point.h::operator!=" ref="a49089c373eeebff274a723f7545b7680" args="(const pp::Point &lhs, const pp::Point &rhs)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool operator!= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">pp::Point</a> & </td>
+<td class="paramname"><em>lhs</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">pp::Point</a> & </td>
+<td class="paramname"><em>rhs</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Determines whether two Points have different coordinates. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">lhs</td><td>The Point on the left-hand side of the equation. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">rhs</td><td>The Point on the right-hand side of the equation.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the coordinates of lhs are equal to the coordinates of rhs, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a429594ae059c2956f538876c3c4e68c2"></a><!-- doxytag: member="point.h::operator!=" ref="a429594ae059c2956f538876c3c4e68c2" args="(const pp::FloatPoint &lhs, const pp::FloatPoint &rhs)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool operator!= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a> & </td>
+<td class="paramname"><em>lhs</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a> & </td>
+<td class="paramname"><em>rhs</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Determines whether two Points have different coordinates. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">lhs</td><td>The Point on the left-hand side of the equation. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">rhs</td><td>The Point on the right-hand side of the equation.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the coordinates of lhs are equal to the coordinates of rhs, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="acdca90fb96f299839dcea8d836d6f92f"></a><!-- doxytag: member="point.h::operator==" ref="acdca90fb96f299839dcea8d836d6f92f" args="(const pp::Point &lhs, const pp::Point &rhs)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool operator== </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">pp::Point</a> & </td>
+<td class="paramname"><em>lhs</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_point.html">pp::Point</a> & </td>
+<td class="paramname"><em>rhs</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Determines whether the x and y values of two Points are equal. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">lhs</td><td>The Point on the left-hand side of the equation. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">rhs</td><td>The Point on the right-hand side of the equation.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if they are equal, false if unequal. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a59d82ac98ce35697fae48edd66a7fdba"></a><!-- doxytag: member="point.h::operator==" ref="a59d82ac98ce35697fae48edd66a7fdba" args="(const pp::FloatPoint &lhs, const pp::FloatPoint &rhs)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool operator== </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a> & </td>
+<td class="paramname"><em>lhs</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_float_point.html">pp::FloatPoint</a> & </td>
+<td class="paramname"><em>rhs</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>Determines whether the x and y values of two FloatPoints are equal. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">lhs</td><td>The Point on the left-hand side of the equation. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">rhs</td><td>The Point on the right-hand side of the equation.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if they are equal, false if unequal. </dd></dl>
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/point_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/cpp/point_8h__incl.png
new file mode 100644
index 0000000..c04f5b8
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/point_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/rect_8h.html b/native_client_sdk/doc_generated/pepper_stable/cpp/rect_8h.html
new file mode 100644
index 0000000..aba779f
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/rect_8h.html
@@ -0,0 +1,104 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/cpp/rect.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for rect.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="rect_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2rect_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2rect_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2rect_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html">pp::Rect</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A 2 dimensional rectangle. <a href="classpp_1_1_rect.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table><h2>
+Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="rect_8h.html#a79b9bc57ea3e03a0e56b7975b4ffd401">operator==</a> (const <a class="el" href="classpp_1_1_rect.html">pp::Rect</a> &lhs, const <a class="el" href="classpp_1_1_rect.html">pp::Rect</a> &rhs)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="rect_8h.html#a29f92b097dbed35ecf5f5ab1932a644e">operator!=</a> (const <a class="el" href="classpp_1_1_rect.html">pp::Rect</a> &lhs, const <a class="el" href="classpp_1_1_rect.html">pp::Rect</a> &rhs)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the APIs for creating a 2 dimensional rectangle. </p>
+</div><hr /><h2>Function Documentation</h2>
+<a class="anchor" id="a29f92b097dbed35ecf5f5ab1932a644e"></a><!-- doxytag: member="rect.h::operator!=" ref="a29f92b097dbed35ecf5f5ab1932a644e" args="(const pp::Rect &lhs, const pp::Rect &rhs)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool operator!= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">pp::Rect</a> & </td>
+<td class="paramname"><em>lhs</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">pp::Rect</a> & </td>
+<td class="paramname"><em>rhs</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function determines whether two Rects are not equal. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">lhs</td><td>The <code>Rect</code> on the left-hand side of the equation. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">rhs</td><td>The <code>Rect</code> on the right-hand side of the equation.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the given Rects are equal, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a79b9bc57ea3e03a0e56b7975b4ffd401"></a><!-- doxytag: member="rect.h::operator==" ref="a79b9bc57ea3e03a0e56b7975b4ffd401" args="(const pp::Rect &lhs, const pp::Rect &rhs)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool operator== </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">pp::Rect</a> & </td>
+<td class="paramname"><em>lhs</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">pp::Rect</a> & </td>
+<td class="paramname"><em>rhs</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function determines whether the x, y, width, and height values of two rectangles and are equal. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">lhs</td><td>The <code>Rect</code> on the left-hand side of the equation. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">rhs</td><td>The <code>Rect</code> on the right-hand side of the equation.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if they are equal, false if unequal. </dd></dl>
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/rect_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/cpp/rect_8h__incl.png
new file mode 100644
index 0000000..a0c4988
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/rect_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/resource_8h.html b/native_client_sdk/doc_generated/pepper_stable/cpp/resource_8h.html
new file mode 100644
index 0000000..dcd1206
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/resource_8h.html
@@ -0,0 +1,86 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/cpp/resource.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for resource.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="resource_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2resource_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2resource_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2resource_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_resource.html">pp::Resource</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A reference counted module resource. <a href="classpp_1_1_resource.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table><h2>
+Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="resource_8h.html#a879d95bb0967cf6cb6b916283d68f900">operator==</a> (const <a class="el" href="classpp_1_1_resource.html">pp::Resource</a> &lhs, const <a class="el" href="classpp_1_1_resource.html">pp::Resource</a> &rhs)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="resource_8h.html#ac908e756e088d693e4a78fca460971ba">operator!=</a> (const <a class="el" href="classpp_1_1_resource.html">pp::Resource</a> &lhs, const <a class="el" href="classpp_1_1_resource.html">pp::Resource</a> &rhs)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines a <code>Resource</code> type representing data associated with the module. </p>
+</div><hr /><h2>Function Documentation</h2>
+<a class="anchor" id="ac908e756e088d693e4a78fca460971ba"></a><!-- doxytag: member="resource.h::operator!=" ref="ac908e756e088d693e4a78fca460971ba" args="(const pp::Resource &lhs, const pp::Resource &rhs)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool operator!= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_resource.html">pp::Resource</a> & </td>
+<td class="paramname"><em>lhs</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_resource.html">pp::Resource</a> & </td>
+<td class="paramname"><em>rhs</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a879d95bb0967cf6cb6b916283d68f900"></a><!-- doxytag: member="resource.h::operator==" ref="a879d95bb0967cf6cb6b916283d68f900" args="(const pp::Resource &lhs, const pp::Resource &rhs)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool operator== </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_resource.html">pp::Resource</a> & </td>
+<td class="paramname"><em>lhs</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_resource.html">pp::Resource</a> & </td>
+<td class="paramname"><em>rhs</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/resource_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/cpp/resource_8h__incl.png
new file mode 100644
index 0000000..afd86735
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/resource_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/size_8h.html b/native_client_sdk/doc_generated/pepper_stable/cpp/size_8h.html
new file mode 100644
index 0000000..0a33d33
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/size_8h.html
@@ -0,0 +1,104 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/cpp/size.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for size.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="size_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2size_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2size_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2size_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_size.html">pp::Size</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A size of an object based on width and height. <a href="classpp_1_1_size.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table><h2>
+Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="size_8h.html#ad3d13cbe3886f37d082352f261892564">operator==</a> (const <a class="el" href="classpp_1_1_size.html">pp::Size</a> &lhs, const <a class="el" href="classpp_1_1_size.html">pp::Size</a> &rhs)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="size_8h.html#a915ab1f503e22dc6662ad56caa1eb7c3">operator!=</a> (const <a class="el" href="classpp_1_1_size.html">pp::Size</a> &lhs, const <a class="el" href="classpp_1_1_size.html">pp::Size</a> &rhs)</td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API to create a size based on width and height. </p>
+</div><hr /><h2>Function Documentation</h2>
+<a class="anchor" id="a915ab1f503e22dc6662ad56caa1eb7c3"></a><!-- doxytag: member="size.h::operator!=" ref="a915ab1f503e22dc6662ad56caa1eb7c3" args="(const pp::Size &lhs, const pp::Size &rhs)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool operator!= </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_size.html">pp::Size</a> & </td>
+<td class="paramname"><em>lhs</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_size.html">pp::Size</a> & </td>
+<td class="paramname"><em>rhs</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function determines whether two <code>Sizes</code> are not equal. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">lhs</td><td>The <code>Size</code> on the left-hand side of the equation. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">rhs</td><td>The <code>Size</code> on the right-hand side of the equation.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the <code>Size</code> of lhs are equal to the <code>Size</code> of rhs, otherwise false. </dd></dl>
+</div>
+</div>
+<a class="anchor" id="ad3d13cbe3886f37d082352f261892564"></a><!-- doxytag: member="size.h::operator==" ref="ad3d13cbe3886f37d082352f261892564" args="(const pp::Size &lhs, const pp::Size &rhs)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">bool operator== </td>
+<td>(</td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_size.html">pp::Size</a> & </td>
+<td class="paramname"><em>lhs</em>, </td>
+</tr>
+<tr>
+<td class="paramkey"></td>
+<td></td>
+<td class="paramtype">const <a class="el" href="classpp_1_1_size.html">pp::Size</a> & </td>
+<td class="paramname"><em>rhs</em> </td>
+</tr>
+<tr>
+<td></td>
+<td>)</td>
+<td></td><td><code> [inline]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+<p>This function determines whether the width and height values of two sizes are equal. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+<table class="params">
+<tr><td class="paramdir">[in]</td><td class="paramname">lhs</td><td>The <code>Size</code> on the left-hand side of the equation. </td></tr>
+<tr><td class="paramdir">[in]</td><td class="paramname">rhs</td><td>The <code>Size</code> on the right-hand side of the equation.</td></tr>
+</table>
+</dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if they are equal, false if unequal. </dd></dl>
+</div>
+</div>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/size_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/cpp/size_8h__incl.png
new file mode 100644
index 0000000..b259a71
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/size_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/structpp_1_1_var_1_1_dont_manage.html b/native_client_sdk/doc_generated/pepper_stable/cpp/structpp_1_1_var_1_1_dont_manage.html
new file mode 100644
index 0000000..292cbc7
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/structpp_1_1_var_1_1_dont_manage.html
@@ -0,0 +1,15 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::Var::DontManage Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::Var::DontManage" --><hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="var_8h.html">var.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/structpp_1_1_var_1_1_null.html b/native_client_sdk/doc_generated/pepper_stable/cpp/structpp_1_1_var_1_1_null.html
new file mode 100644
index 0000000..f11f73e4
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/structpp_1_1_var_1_1_null.html
@@ -0,0 +1,17 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::Var::Null Struct Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::Var::Null" --><hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Special value passed to constructor to make <code>NULL</code>. </p>
+</div><hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="var_8h.html">var.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4-members.html
new file mode 100644
index 0000000..dcb009f
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4-members.html
@@ -0,0 +1,18 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html">pp::internal::CallbackOutputTraits< std::vector< DirectoryEntry > ></a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a91af145a82c147adbeaed69c3e6c3ab3">APIArgType</a> typedef</td><td><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html">pp::internal::CallbackOutputTraits< std::vector< DirectoryEntry > ></a></td><td></td></tr>
+<tr class="memlist"><td><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#ae5cefe7c63f50e354c27085ecf2b1355">Initialize</a>(StorageType *)</td><td><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html">pp::internal::CallbackOutputTraits< std::vector< DirectoryEntry > ></a></td><td><code> [inline, static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a57c9b5014e6ab62dcd28da5bb017aa48">StorageToAPIArg</a>(StorageType &t)</td><td><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html">pp::internal::CallbackOutputTraits< std::vector< DirectoryEntry > ></a></td><td><code> [inline, static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a1363bd4ed9b123454c6e9e7a5a062e69">StorageToPluginArg</a>(StorageType &t)</td><td><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html">pp::internal::CallbackOutputTraits< std::vector< DirectoryEntry > ></a></td><td><code> [inline, static]</code></td></tr>
+<tr class="memlist"><td><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a5c78dd88ade2f1f6282605f9a3f2949d">StorageType</a> typedef</td><td><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html">pp::internal::CallbackOutputTraits< std::vector< DirectoryEntry > ></a></td><td></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html b/native_client_sdk/doc_generated/pepper_stable/cpp/structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html
new file mode 100644
index 0000000..6d9242c26
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html
@@ -0,0 +1,106 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::internal::CallbackOutputTraits< std::vector< DirectoryEntry > > Struct Template Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::internal::CallbackOutputTraits< std::vector< DirectoryEntry > >" -->
+<p><a href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4-members.html">List of all members.</a></p>
+<h2>
+Public Types</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">typedef PP_ArrayOutput </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a91af145a82c147adbeaed69c3e6c3ab3">APIArgType</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef <br class="typebreak" />
+<a class="el" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html">DirectoryEntryArrayOutputAdapterWithStorage</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a5c78dd88ade2f1f6282605f9a3f2949d">StorageType</a></td></tr>
+</table><h2>
+Static Public Member Functions</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a91af145a82c147adbeaed69c3e6c3ab3">APIArgType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a57c9b5014e6ab62dcd28da5bb017aa48">StorageToAPIArg</a> (<a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a5c78dd88ade2f1f6282605f9a3f2949d">StorageType</a> &t)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static std::vector<br class="typebreak" />
+< <a class="el" href="classpp_1_1_directory_entry.html">DirectoryEntry</a> > & </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a1363bd4ed9b123454c6e9e7a5a062e69">StorageToPluginArg</a> (<a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a5c78dd88ade2f1f6282605f9a3f2949d">StorageType</a> &t)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#ae5cefe7c63f50e354c27085ecf2b1355">Initialize</a> (<a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a5c78dd88ade2f1f6282605f9a3f2949d">StorageType</a> *)</td></tr>
+</table>
+<h3>template<><br />
+ struct pp::internal::CallbackOutputTraits< std::vector< DirectoryEntry > ></h3>
+<hr /><h2>Member Typedef Documentation</h2>
+<a class="anchor" id="a91af145a82c147adbeaed69c3e6c3ab3"></a><!-- doxytag: member="pp::internal::CallbackOutputTraits< std::vector< DirectoryEntry > >::APIArgType" ref="a91af145a82c147adbeaed69c3e6c3ab3" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef PP_ArrayOutput pp::internal::CallbackOutputTraits< std::vector< <a class="el" href="classpp_1_1_directory_entry.html">DirectoryEntry</a> > >::<a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a91af145a82c147adbeaed69c3e6c3ab3">APIArgType</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a5c78dd88ade2f1f6282605f9a3f2949d"></a><!-- doxytag: member="pp::internal::CallbackOutputTraits< std::vector< DirectoryEntry > >::StorageType" ref="a5c78dd88ade2f1f6282605f9a3f2949d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">typedef <a class="el" href="classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html">DirectoryEntryArrayOutputAdapterWithStorage</a> pp::internal::CallbackOutputTraits< std::vector< <a class="el" href="classpp_1_1_directory_entry.html">DirectoryEntry</a> > >::<a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a5c78dd88ade2f1f6282605f9a3f2949d">StorageType</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr /><h2>Member Function Documentation</h2>
+<a class="anchor" id="ae5cefe7c63f50e354c27085ecf2b1355"></a><!-- doxytag: member="pp::internal::CallbackOutputTraits< std::vector< DirectoryEntry > >::Initialize" ref="ae5cefe7c63f50e354c27085ecf2b1355" args="(StorageType *)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static void pp::internal::CallbackOutputTraits< std::vector< <a class="el" href="classpp_1_1_directory_entry.html">DirectoryEntry</a> > >::<a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#ae5cefe7c63f50e354c27085ecf2b1355">Initialize</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a5c78dd88ade2f1f6282605f9a3f2949d">StorageType</a> * </td>
+<td class="paramname"></td><td>)</td>
+<td><code> [inline, static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a57c9b5014e6ab62dcd28da5bb017aa48"></a><!-- doxytag: member="pp::internal::CallbackOutputTraits< std::vector< DirectoryEntry > >::StorageToAPIArg" ref="a57c9b5014e6ab62dcd28da5bb017aa48" args="(StorageType &t)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static <a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a91af145a82c147adbeaed69c3e6c3ab3">APIArgType</a> pp::internal::CallbackOutputTraits< std::vector< <a class="el" href="classpp_1_1_directory_entry.html">DirectoryEntry</a> > >::<a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a57c9b5014e6ab62dcd28da5bb017aa48">StorageToAPIArg</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a5c78dd88ade2f1f6282605f9a3f2949d">StorageType</a> & </td>
+<td class="paramname"><em>t</em></td><td>)</td>
+<td><code> [inline, static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a1363bd4ed9b123454c6e9e7a5a062e69"></a><!-- doxytag: member="pp::internal::CallbackOutputTraits< std::vector< DirectoryEntry > >::StorageToPluginArg" ref="a1363bd4ed9b123454c6e9e7a5a062e69" args="(StorageType &t)" -->
+<div class="memitem">
+<div class="memproto">
+<table class="memname">
+<tr>
+<td class="memname">static std::vector<<a class="el" href="classpp_1_1_directory_entry.html">DirectoryEntry</a>>& pp::internal::CallbackOutputTraits< std::vector< <a class="el" href="classpp_1_1_directory_entry.html">DirectoryEntry</a> > >::<a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a1363bd4ed9b123454c6e9e7a5a062e69">StorageToPluginArg</a> </td>
+<td>(</td>
+<td class="paramtype"><a class="el" href="structpp_1_1internal_1_1_callback_output_traits_3_01std_1_1vector_3_01_directory_entry_01_4_01_4.html#a5c78dd88ade2f1f6282605f9a3f2949d">StorageType</a> & </td>
+<td class="paramname"><em>t</em></td><td>)</td>
+<td><code> [inline, static]</code></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/cpp/<a class="el" href="directory__entry_8h.html">directory_entry.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/structpp_1_1internal_1_1_type_unwrapper-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/structpp_1_1internal_1_1_type_unwrapper-members.html
new file mode 100644
index 0000000..9b8d480
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/structpp_1_1internal_1_1_type_unwrapper-members.html
@@ -0,0 +1,14 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">pp::internal::TypeUnwrapper< T ></a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html#a9ee845648d1361a028a2c34a53306808">StorageType</a> typedef</td><td><a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">pp::internal::TypeUnwrapper< T ></a></td><td></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/structpp_1_1internal_1_1_type_unwrapper.html b/native_client_sdk/doc_generated/pepper_stable/cpp/structpp_1_1internal_1_1_type_unwrapper.html
new file mode 100644
index 0000000..9e1e8ad7
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/structpp_1_1internal_1_1_type_unwrapper.html
@@ -0,0 +1,39 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::internal::TypeUnwrapper< T > Struct Template Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::internal::TypeUnwrapper" -->
+<p><a href="structpp_1_1internal_1_1_type_unwrapper-members.html">List of all members.</a></p>
+<h2>
+Public Types</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">typedef T </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html#a9ee845648d1361a028a2c34a53306808">StorageType</a></td></tr>
+</table>
+<h3>template<typename T><br />
+ struct pp::internal::TypeUnwrapper< T ></h3>
+<hr /><h2>Member Typedef Documentation</h2>
+<a class="anchor" id="a9ee845648d1361a028a2c34a53306808"></a><!-- doxytag: member="pp::internal::TypeUnwrapper::StorageType" ref="a9ee845648d1361a028a2c34a53306808" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T > </div>
+<table class="memname">
+<tr>
+<td class="memname">typedef T <a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">pp::internal::TypeUnwrapper</a>< T >::<a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html#a9ee845648d1361a028a2c34a53306808">StorageType</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/utility/<a class="el" href="completion__callback__factory_8h.html">completion_callback_factory.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/structpp_1_1internal_1_1_type_unwrapper_3_01_t_01_6_01_4-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/structpp_1_1internal_1_1_type_unwrapper_3_01_t_01_6_01_4-members.html
new file mode 100644
index 0000000..d387937
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/structpp_1_1internal_1_1_type_unwrapper_3_01_t_01_6_01_4-members.html
@@ -0,0 +1,14 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="structpp_1_1internal_1_1_type_unwrapper_3_01_t_01_6_01_4.html">pp::internal::TypeUnwrapper< T & ></a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="structpp_1_1internal_1_1_type_unwrapper_3_01_t_01_6_01_4.html#ac2e1763baf3d5f5ef63f6b14de038d79">StorageType</a> typedef</td><td><a class="el" href="structpp_1_1internal_1_1_type_unwrapper_3_01_t_01_6_01_4.html">pp::internal::TypeUnwrapper< T & ></a></td><td></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/structpp_1_1internal_1_1_type_unwrapper_3_01_t_01_6_01_4.html b/native_client_sdk/doc_generated/pepper_stable/cpp/structpp_1_1internal_1_1_type_unwrapper_3_01_t_01_6_01_4.html
new file mode 100644
index 0000000..c1aa629e
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/structpp_1_1internal_1_1_type_unwrapper_3_01_t_01_6_01_4.html
@@ -0,0 +1,39 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::internal::TypeUnwrapper< T & > Struct Template Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::internal::TypeUnwrapper< T & >" -->
+<p><a href="structpp_1_1internal_1_1_type_unwrapper_3_01_t_01_6_01_4-members.html">List of all members.</a></p>
+<h2>
+Public Types</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">typedef T </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1internal_1_1_type_unwrapper_3_01_t_01_6_01_4.html#ac2e1763baf3d5f5ef63f6b14de038d79">StorageType</a></td></tr>
+</table>
+<h3>template<typename T><br />
+ struct pp::internal::TypeUnwrapper< T & ></h3>
+<hr /><h2>Member Typedef Documentation</h2>
+<a class="anchor" id="ac2e1763baf3d5f5ef63f6b14de038d79"></a><!-- doxytag: member="pp::internal::TypeUnwrapper< T & >::StorageType" ref="ac2e1763baf3d5f5ef63f6b14de038d79" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T > </div>
+<table class="memname">
+<tr>
+<td class="memname">typedef T <a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">pp::internal::TypeUnwrapper</a>< T & >::<a class="el" href="structpp_1_1internal_1_1_type_unwrapper_3_01_t_01_6_01_4.html#ac2e1763baf3d5f5ef63f6b14de038d79">StorageType</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/utility/<a class="el" href="completion__callback__factory_8h.html">completion_callback_factory.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/structpp_1_1internal_1_1_type_unwrapper_3_01const_01_t_01_6_01_4-members.html b/native_client_sdk/doc_generated/pepper_stable/cpp/structpp_1_1internal_1_1_type_unwrapper_3_01const_01_t_01_6_01_4-members.html
new file mode 100644
index 0000000..e8a41b8
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/structpp_1_1internal_1_1_type_unwrapper_3_01const_01_t_01_6_01_4-members.html
@@ -0,0 +1,14 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>Member List</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+This is the complete list of members for <a class="el" href="structpp_1_1internal_1_1_type_unwrapper_3_01const_01_t_01_6_01_4.html">pp::internal::TypeUnwrapper< const T & ></a>, including all inherited members.<table>
+<tr class="memlist"><td><a class="el" href="structpp_1_1internal_1_1_type_unwrapper_3_01const_01_t_01_6_01_4.html#a355ba0f4966cc7d09de85a5e94cf80bc">StorageType</a> typedef</td><td><a class="el" href="structpp_1_1internal_1_1_type_unwrapper_3_01const_01_t_01_6_01_4.html">pp::internal::TypeUnwrapper< const T & ></a></td><td></td></tr>
+</table></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/structpp_1_1internal_1_1_type_unwrapper_3_01const_01_t_01_6_01_4.html b/native_client_sdk/doc_generated/pepper_stable/cpp/structpp_1_1internal_1_1_type_unwrapper_3_01const_01_t_01_6_01_4.html
new file mode 100644
index 0000000..9377a2f
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/structpp_1_1internal_1_1_type_unwrapper_3_01const_01_t_01_6_01_4.html
@@ -0,0 +1,39 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>pp::internal::TypeUnwrapper< const T & > Struct Template Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+
+</div>
+<!--header-->
+<div class="contents">
+<!-- doxytag: class="pp::internal::TypeUnwrapper< const T & >" -->
+<p><a href="structpp_1_1internal_1_1_type_unwrapper_3_01const_01_t_01_6_01_4-members.html">List of all members.</a></p>
+<h2>
+Public Types</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">typedef T </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1internal_1_1_type_unwrapper_3_01const_01_t_01_6_01_4.html#a355ba0f4966cc7d09de85a5e94cf80bc">StorageType</a></td></tr>
+</table>
+<h3>template<typename T><br />
+ struct pp::internal::TypeUnwrapper< const T & ></h3>
+<hr /><h2>Member Typedef Documentation</h2>
+<a class="anchor" id="a355ba0f4966cc7d09de85a5e94cf80bc"></a><!-- doxytag: member="pp::internal::TypeUnwrapper< const T & >::StorageType" ref="a355ba0f4966cc7d09de85a5e94cf80bc" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T > </div>
+<table class="memname">
+<tr>
+<td class="memname">typedef T <a class="el" href="structpp_1_1internal_1_1_type_unwrapper.html">pp::internal::TypeUnwrapper</a>< const T & >::<a class="el" href="structpp_1_1internal_1_1_type_unwrapper_3_01const_01_t_01_6_01_4.html#a355ba0f4966cc7d09de85a5e94cf80bc">StorageType</a></td>
+</tr>
+</table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<hr />The documentation for this struct was generated from the following file:<ul>
+<li>/tmp/pepper_stableCRVo5D/utility/<a class="el" href="completion__callback__factory_8h.html">completion_callback_factory.h</a></li>
+</ul>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/tcp__socket_8h.html b/native_client_sdk/doc_generated/pepper_stable/cpp/tcp__socket_8h.html
new file mode 100644
index 0000000..e6310ef
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/tcp__socket_8h.html
@@ -0,0 +1,27 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/cpp/tcp_socket.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for tcp_socket.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="tcp__socket_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2tcp__socket_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2tcp__socket_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2tcp__socket_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_t_c_p_socket.html">pp::TCPSocket</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_t_c_p_socket.html" title="The TCPSocket class provides TCP socket operations.">TCPSocket</a></code> class provides TCP socket operations. <a href="classpp_1_1_t_c_p_socket.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/tcp__socket_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/cpp/tcp__socket_8h__incl.png
new file mode 100644
index 0000000..0032498
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/tcp__socket_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/text__input__controller_8h.html b/native_client_sdk/doc_generated/pepper_stable/cpp/text__input__controller_8h.html
new file mode 100644
index 0000000..d83504f
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/text__input__controller_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/cpp/text_input_controller.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for text_input_controller.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="text__input__controller_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2text__input__controller_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2text__input__controller_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2text__input__controller_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_text_input_controller.html">pp::TextInputController</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This class can be used for giving hints to the browser about the text input status of plugins. <a href="classpp_1_1_text_input_controller.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the APIs for text input handling. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/text__input__controller_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/cpp/text__input__controller_8h__incl.png
new file mode 100644
index 0000000..51e23e3
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/text__input__controller_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/touch__point_8h.html b/native_client_sdk/doc_generated/pepper_stable/cpp/touch__point_8h.html
new file mode 100644
index 0000000..ed6f9b7
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/touch__point_8h.html
@@ -0,0 +1,27 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/cpp/touch_point.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for touch_point.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="touch__point_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2touch__point_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2touch__point_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2touch__point_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_touch_point.html">pp::TouchPoint</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Wrapper class for PP_TouchPoint. <a href="classpp_1_1_touch_point.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/touch__point_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/cpp/touch__point_8h__incl.png
new file mode 100644
index 0000000..586e40dd
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/touch__point_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/udp__socket_8h.html b/native_client_sdk/doc_generated/pepper_stable/cpp/udp__socket_8h.html
new file mode 100644
index 0000000..7436058
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/udp__socket_8h.html
@@ -0,0 +1,27 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/cpp/udp_socket.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for udp_socket.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="udp__socket_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2udp__socket_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2udp__socket_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2udp__socket_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_d_p_socket.html">pp::UDPSocket</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_u_d_p_socket.html" title="The UDPSocket class provides UDP socket operations.">UDPSocket</a></code> class provides UDP socket operations. <a href="classpp_1_1_u_d_p_socket.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+</div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/udp__socket_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/cpp/udp__socket_8h__incl.png
new file mode 100644
index 0000000..7cd54879
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/udp__socket_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/url__loader_8h.html b/native_client_sdk/doc_generated/pepper_stable/cpp/url__loader_8h.html
new file mode 100644
index 0000000..7f8c4a9
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/url__loader_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/cpp/url_loader.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for url_loader.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="url__loader_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2url__loader_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2url__loader_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2url__loader_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_loader.html">pp::URLLoader</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classpp_1_1_u_r_l_loader.html" title="URLLoader provides an API for loading URLs.">URLLoader</a> provides an API for loading URLs. <a href="classpp_1_1_u_r_l_loader.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API for loading URLs. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/url__loader_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/cpp/url__loader_8h__incl.png
new file mode 100644
index 0000000..38e89aa
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/url__loader_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/url__request__info_8h.html b/native_client_sdk/doc_generated/pepper_stable/cpp/url__request__info_8h.html
new file mode 100644
index 0000000..5ee7bcf1
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/url__request__info_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/cpp/url_request_info.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for url_request_info.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="url__request__info_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2url__request__info_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2url__request__info_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2url__request__info_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_request_info.html">pp::URLRequestInfo</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classpp_1_1_u_r_l_request_info.html" title="URLRequestInfo provides an API for creating and manipulating URL requests.">URLRequestInfo</a> provides an API for creating and manipulating URL requests. <a href="classpp_1_1_u_r_l_request_info.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API for creating and manipulating URL requests. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/url__request__info_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/cpp/url__request__info_8h__incl.png
new file mode 100644
index 0000000..d5b5525c
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/url__request__info_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/url__response__info_8h.html b/native_client_sdk/doc_generated/pepper_stable/cpp/url__response__info_8h.html
new file mode 100644
index 0000000..c6ac7691
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/url__response__info_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/cpp/url_response_info.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for url_response_info.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="url__response__info_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2url__response__info_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2url__response__info_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2url__response__info_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_u_r_l_response_info.html">pp::URLResponseInfo</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classpp_1_1_u_r_l_response_info.html" title="URLResponseInfo provides an API for examining URL responses.">URLResponseInfo</a> provides an API for examining URL responses. <a href="classpp_1_1_u_r_l_response_info.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API for examining URL responses. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/url__response__info_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/cpp/url__response__info_8h__incl.png
new file mode 100644
index 0000000..e832fc9
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/url__response__info_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/var_8h.html b/native_client_sdk/doc_generated/pepper_stable/cpp/var_8h.html
new file mode 100644
index 0000000..d6c4457
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/var_8h.html
@@ -0,0 +1,34 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/cpp/var.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for var.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="var_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2var_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2var_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2var_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html">pp::Var</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A generic type used for passing data types between the module and the page. <a href="classpp_1_1_var.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1_var_1_1_null.html">pp::Var::Null</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Special value passed to constructor to make <code>NULL</code>. <a href="structpp_1_1_var_1_1_null.html#details">More...</a><br /></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1_var_1_1_dont_manage.html">pp::Var::DontManage</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_1_1_out_exception.html">pp::Var::OutException</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This class is used when calling the raw C PPAPI when using the C++ <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> as a possible NULL exception. <a href="classpp_1_1_var_1_1_out_exception.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API for handling the passing of data types between your module and the page. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/var_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/cpp/var_8h__incl.png
new file mode 100644
index 0000000..9dd2e524
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/var_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/var__array_8h.html b/native_client_sdk/doc_generated/pepper_stable/cpp/var__array_8h.html
new file mode 100644
index 0000000..8cc7e57
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/var__array_8h.html
@@ -0,0 +1,28 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/cpp/var_array.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for var_array.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="var__array_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2var__array_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2var__array_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2var__array_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array.html">pp::VarArray</a></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API for interacting with array vars. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/var__array_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/cpp/var__array_8h__incl.png
new file mode 100644
index 0000000..653f624
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/var__array_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/var__array__buffer_8h.html b/native_client_sdk/doc_generated/pepper_stable/cpp/var__array__buffer_8h.html
new file mode 100644
index 0000000..33b5732
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/var__array__buffer_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/cpp/var_array_buffer.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for var_array_buffer.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="var__array__buffer_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2var__array__buffer_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2var__array__buffer_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2var__array__buffer_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array_buffer.html">pp::VarArrayBuffer</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code> provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous sequence of bytes. <a href="classpp_1_1_var_array_buffer.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API for interacting with a JavaScript ArrayBuffer. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/var__array__buffer_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/cpp/var__array__buffer_8h__incl.png
new file mode 100644
index 0000000..cd71519
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/var__array__buffer_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/var__dictionary_8h.html b/native_client_sdk/doc_generated/pepper_stable/cpp/var__dictionary_8h.html
new file mode 100644
index 0000000..1a4b1c8
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/var__dictionary_8h.html
@@ -0,0 +1,28 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/cpp/var_dictionary.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for var_dictionary.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="var__dictionary_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2var__dictionary_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2var__dictionary_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2var__dictionary_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_dictionary.html">pp::VarDictionary</a></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API for interacting with dictionary vars. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/var__dictionary_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/cpp/var__dictionary_8h__incl.png
new file mode 100644
index 0000000..8797691
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/var__dictionary_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/view_8h.html b/native_client_sdk/doc_generated/pepper_stable/cpp/view_8h.html
new file mode 100644
index 0000000..258a7052
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/view_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/cpp/view.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for view.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="view_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2view_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2view_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2view_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_view.html">pp::View</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This class represents the state of the view for an instance and contains functions for retrieving the current state of that view. <a href="classpp_1_1_view.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the API for getting the state of a the view for an instance. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/view_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/cpp/view_8h__incl.png
new file mode 100644
index 0000000..a3c726f
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/view_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/websocket_8h.html b/native_client_sdk/doc_generated/pepper_stable/cpp/websocket_8h.html
new file mode 100644
index 0000000..b35545b
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/websocket_8h.html
@@ -0,0 +1,29 @@
+{{+bindTo:partials.standard_nacl_article}}
+<h1>/tmp/pepper_stableCRVo5D/cpp/websocket.h File Reference</h1>
+<div>
+<!-- Generated by Doxygen 1.7.6.1 -->
+
+
+</div>
+<!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for websocket.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="websocket_8h__incl.png" border="0" usemap="#_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2websocket_8h" alt="" /></div>
+<map name="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2websocket_8h" id="_2tmp_2pepper__stable_c_r_vo5_d_2cpp_2websocket_8h">
+</map>
+</div>
+</div><h2>
+Classes</h2><table class="memberdecls">
+
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_web_socket.html">pp::WebSocket</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classpp_1_1_web_socket.html" title="The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket...">WebSocket</a></code> class providing bi-directional, full-duplex, communications over a single TCP socket. <a href="classpp_1_1_web_socket.html#details">More...</a><br /></td></tr>
+</table><h2>
+Namespaces</h2><table class="memberdecls">
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepp.html">pp</a></td></tr>
+</table>
+<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file defines the WebSocket interface providing bi-directional, full-duplex, communications over a single TCP socket. </p>
+</div></div><!-- contents -->
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/pepper_stable/cpp/websocket_8h__incl.png b/native_client_sdk/doc_generated/pepper_stable/cpp/websocket_8h__incl.png
new file mode 100644
index 0000000..2416a31
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/cpp/websocket_8h__incl.png
Binary files differ
diff --git a/native_client_sdk/doc_generated/pepper_stable/index.html b/native_client_sdk/doc_generated/pepper_stable/index.html
new file mode 100644
index 0000000..2dd3b0d
--- /dev/null
+++ b/native_client_sdk/doc_generated/pepper_stable/index.html
@@ -0,0 +1,13 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<section id="pepper-api-reference-stable">
+<h1 id="pepper-api-reference-stable">Pepper API Reference (Stable)</h1>
+<p>This page lists the API for Pepper 32. Apps that use this API can
+run in Chrome 32 or higher.</p>
+<section id="pepper-c-api-reference">
+<h2 id="pepper-c-api-reference"><a class="reference internal" href="/native-client/pepper_stable/c/index.html#pepper-stable-c-index"><em>Pepper C API Reference</em></a></h2>
+</section><section id="id1">
+<h2 id="id1"><a class="reference internal" href="/native-client/pepper_stable/cpp/index.html#pepper-stable-cpp-index"><em>Pepper C++ API Reference</em></a></h2>
+</section></section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/publications-and-presentations.html b/native_client_sdk/doc_generated/publications-and-presentations.html
new file mode 100644
index 0000000..b8c0858
--- /dev/null
+++ b/native_client_sdk/doc_generated/publications-and-presentations.html
@@ -0,0 +1,141 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<section id="publications-and-presentations">
+<span id="id1"></span><h1 id="publications-and-presentations"><span id="id1"></span>Publications and Presentations</h1>
+<p>This page lists Native Client and Portable Native Client talks, demos,
+and publications from various conferences and academic symposiums.</p>
+<section id="recent-talks-and-demos">
+<h2 id="recent-talks-and-demos">Recent talks and demos</h2>
+<table border="1" class="docutils">
+<colgroup>
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Date</th>
+<th class="head">Event</th>
+<th class="head">Talk</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>2013/05/16</td>
+<td><a class="reference external" href="https://developers.google.com/events/io/2013">Google I/O 2013</a></td>
+<td><a class="reference external" href="https://www.youtube.com/watch?v=5RFjOec-TI0">Introduction to Portable Native Client</a></td>
+</tr>
+<tr class="row-odd"><td>2012/12/11</td>
+<td><a class="reference external" href="https://developers.google.com/live/">Google Developers Live</a></td>
+<td><a class="reference external" href="https://developers.google.com/live/shows/7320022-5002/">Native Client Acceleration Modules</a> Learn
+how to use Native Client to deliver performance where it counts
+(<a class="reference external" href="https://github.com/johnmccutchan/NaClAMBase/">source code</a>)</td>
+</tr>
+<tr class="row-even"><td>2012/07/26</td>
+<td><a class="reference external" href="http://casualconnect.org/seattle/content.html">Casual Connect Seattle 2012</a></td>
+<td><a class="reference external" href="https://www.youtube.com/watch?v=RV7SMC3IJNo">Take your C++ To the Web with Native Client</a> Includes an
+overview of Native Client technology, porting legacy applications
+from the Windows desktop, and current third-party use of Native
+Client in middleware and games</td>
+</tr>
+<tr class="row-odd"><td>2012/06/28</td>
+<td><a class="reference external" href="https://developers.google.com/events/io/2012">Google I/O 2012</a></td>
+<td><a class="reference external" href="https://www.youtube.com/watch?v=1zvhs5FR0X8">Native Client Live</a> Demonstrates how
+to port an existing C application to Native Client using a Visual
+Studio add-in that lets developers debug their code as a trusted
+Chrome plugin</td>
+</tr>
+<tr class="row-even"><td>2012/06/28</td>
+<td><a class="reference external" href="https://developers.google.com/events/io/2012">Google I/O 2012</a></td>
+<td><a class="reference external" href="https://www.youtube.com/watch?v=KOsJIhmeXoc">The Life of a Native Client Instruction</a> (<a class="reference external" href="https://nacl-instruction-io12.appspot.com">slides</a>)</td>
+</tr>
+<tr class="row-odd"><td>2012/03/05</td>
+<td><a class="reference external" href="http://www.gdcvault.com/free/gdc-12">GDC 2012</a></td>
+<td><a class="reference external" href="https://www.youtube.com/watch?v=R281PhQufHo">Get Your Port On</a>
+Porting Your C++ Game to Native Client</td>
+</tr>
+<tr class="row-even"><td>2011/08/12</td>
+<td>—</td>
+<td><a class="reference external" href="https://www.youtube.com/watch?v=g3aBfkFbPWk">Native Client Update and Showcase</a></td>
+</tr>
+<tr class="row-odd"><td>2011/05/11</td>
+<td><a class="reference external" href="https://www.google.com/events/io/2011/index-live.html">Google I/O 2011</a></td>
+<td><a class="reference external" href="https://www.google.com/events/io/2011/sessions/beyond-javascript-programming-the-web-with-native-client.html">Beyond JavaScript: Programming the Web with Native Client</a></td>
+</tr>
+<tr class="row-even"><td>2010/11/04</td>
+<td><a class="reference external" href="http://llvm.org/devmtg/2010-11/">2010 LLVM Developers’ Meeting</a></td>
+<td><a class="reference external" href="http://llvm.org/devmtg/2010-11/videos/Sehr_NativeClient-desktop.mp4">Portable Native Client</a></td>
+</tr>
+</tbody>
+</table>
+</section><section id="publications">
+<h2 id="publications">Publications</h2>
+<table border="1" class="docutils">
+<colgroup>
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Title</th>
+<th class="head">Authors</th>
+<th class="head">Published in</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td><a class="reference external" href="http://research.google.com/pubs/archive/37204.pdf">Language-Independent Sandboxing of Just-In-Time Compilation and
+Self-Modifying Code</a></td>
+<td>Jason Ansel, Petr Marchenko, <a class="reference external" href="http://research.google.com/pubs/ulfar.html">Úlfar Erlingsson</a>, Elijah Taylor,
+<a class="reference external" href="http://research.google.com/pubs/author37895.html">Brad Chen</a>,
+Derek Schuff, David Sehr, <a class="reference external" href="http://research.google.com/pubs/author38542.html">Cliff L. Biffle</a>, Bennet
+S. Yee</td>
+<td>ACM SIGPLAN Conference on Programming Language Design and
+Implementation (PLDI), 2011</td>
+</tr>
+<tr class="row-odd"><td><a class="reference external" href="http://research.google.com/pubs/pub35649.html">Adapting Software Fault Isolation to Contemporary CPU
+Architectures</a></td>
+<td>David Sehr, Robert Muth, <a class="reference external" href="http://research.google.com/pubs/author38542.html">Cliff L. Biffle</a>, Victor
+Khimenko, Egor Pasko, Bennet S. Yee, Karl Schimpf, <a class="reference external" href="http://research.google.com/pubs/author37895.html">Brad Chen</a></td>
+<td>19th USENIX Security Symposium, 2010, pp. 1-11</td>
+</tr>
+<tr class="row-even"><td><a class="reference external" href="http://research.google.com/pubs/pub34913.html">Native Client: A Sandbox for Portable, Untrusted x86 Native Code</a></td>
+<td>Bennet S. Yee, David Sehr, Greg Dardyk, <a class="reference external" href="http://research.google.com/pubs/author37895.html">Brad Chen</a>, Robert
+Muth, Tavis Ormandy, Shiki Okasaka, Neha Narula, Nicholas
+Fullagar</td>
+<td>IEEE Symposium on Security and Privacy (Oakland ‘09), 2009</td>
+</tr>
+<tr class="row-odd"><td><a class="reference external" href="http://nativeclient.googlecode.com/svn/data/site/pnacl.pdf">PNaCl: Portable Native Client Executables</a></td>
+<td>Alan Donovan, Robert Muth, Brad Chen, David Sehr</td>
+<td>February 2010</td>
+</tr>
+</tbody>
+</table>
+</section><section id="external-publications">
+<h2 id="external-publications">External Publications</h2>
+<p>In these articles outside developers and Google engineers describe their
+experience porting libraries and applications to Native Client and
+Portable Native Client. They share their insights and provide some tips
+and instructions for how to port your own code.</p>
+<section id="porting-nebula3-to-portable-native-client">
+<h3 id="porting-nebula3-to-portable-native-client">Porting Nebula3 to Portable Native Client</h3>
+<p>Andre Weissflog ported his Nebula3 engine to Portable Native Client (see
+<a class="reference external" href="http://www.flohofwoe.net/demos.html">his demos</a>). He discusses
+<a class="reference external" href="http://flohofwoe.blogspot.de/2013/08/emscripten-and-pnacl-build-systems.html">build systems</a>
+and <a class="reference external" href="http://flohofwoe.blogspot.de/2013/09/emscripten-and-pnacl-app-entry-in-pnacl.html">app entry</a>.</p>
+</section><section id="porting-go-home-dinosaurs">
+<h3 id="porting-go-home-dinosaurs">Porting Go Home Dinosaurs</h3>
+<p><a class="reference external" href="http://firehosegames.com">Fire Hose Games</a> developed a new webgame
+<a class="reference external" href="https://chrome.google.com/webstore/detail/icefnknicgejiphafapflechfoeelbeo">Go Home Dinosaurs</a>.
+It features tower defense, dinosaurs, and good old fashioned BBQ. This
+article explains their experiences developing for Native Client
+including useful lessons learned to help you get started.</p>
+<p><a class="reference external" href="http://www.gamasutra.com/view/feature/175210/the_ins_and_outs_of_native_client.php">Read more</a></p>
+</section><section id="porting-zombie-track-meat">
+<h3 id="porting-zombie-track-meat">Porting Zombie Track Meat</h3>
+<p><a class="reference external" href="http://www.fuzzycubesoftware.com">Fuzzycube Software</a>, traditionally
+a mobile game development studio, talks about their adventure into the
+web, porting the undead decathlon <a class="reference external" href="https://chrome.google.com/webstore/detail/jmfhnfnjfdoplkgbkmibfkdjolnemfdk/reviews">Zombie Track Meat</a>
+from Objective C to Native Client.</p>
+<p><a class="reference external" href="http://fuzzycube.blogspot.com/2012/04/zombie-track-meat-post-mortem.html">Read more</a></p>
+</section><section id="porting-airmech">
+<h3 id="porting-airmech">Porting AirMech</h3>
+<p><a class="reference external" href="http://carbongames.com/">Carbon Games</a> chose Native Client as a
+solution for cross-platform delivery of their PC game <a class="reference external" href="https://chrome.google.com/webstore/detail/hdahlabpinmfcemhcbcfoijcpoalfgdn">AirMech</a>
+to Linux and Macintosh in lieu of native ports. They describe the
+porting process on their blog.</p>
+<p><a class="reference external" href="http://carbongames.com/2012/01/Native-Client">Read more</a></p>
+</section></section></section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/quick-start.html b/native_client_sdk/doc_generated/quick-start.html
new file mode 100644
index 0000000..2757a78
--- /dev/null
+++ b/native_client_sdk/doc_generated/quick-start.html
@@ -0,0 +1,24 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<section id="quick-start">
+<span id="id1"></span><h1 id="quick-start"><span id="id1"></span>Quick-start</h1>
+<p>To get started with Native Client:</p>
+<ol class="arabic simple">
+<li>Read the <a class="reference internal" href="/native-client/overview.html"><em>Technical Overview</em></a> to understand what Native
+Client is, how a Native Client application is structured and to get a feel
+for what you need to do to port existing code.</li>
+<li>Play with some of the applications in the <a class="reference internal" href="/native-client/community/application-gallery.html"><em>Application Gallery</em></a> to see what others have done so far.</li>
+<li>Go through the <a class="reference internal" href="/native-client/devguide/tutorial/index.html"><em>Getting Started Tutorial</em></a>. The
+tutorial walks you through how to get Native Client set up for the first
+time and check for browser version compatibility.</li>
+<li>Download the <a class="reference internal" href="/native-client/sdk/download.html"><em>Native Client SDK</em></a> and take a look at some
+of the examples. You can learn how to build and run the example applications
+on the <a class="reference internal" href="/native-client/sdk/examples.html"><em>Running the SDK Examples</em></a> page.</li>
+<li>Browse through the <a class="reference internal" href="/native-client/devguide/index.html"><em>Developer’s Guide</em></a> and the
+<a class="reference internal" href="/native-client/pepper_stable/index.html"><em>Pepper API</em></a> reference documentation. The
+<a class="reference internal" href="/native-client/glossary.html"><em>Glossary</em></a> defines some terms and names commonly used
+throughout the documentation.</li>
+</ol>
+</section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/reference/index.html b/native_client_sdk/doc_generated/reference/index.html
new file mode 100644
index 0000000..9c1ba8b
--- /dev/null
+++ b/native_client_sdk/doc_generated/reference/index.html
@@ -0,0 +1,12 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<section id="reference">
+<h1 id="reference">Reference</h1>
+<p>The reference section includes more in-depth details about some aspects of
+developing with Native Client, such as the NaCl manifest file format. In
+addition, it contains information that’s mainly of interest to developers who
+want to have a better understanding of how NaCl and PNaCl work under the hood;
+for example, the PNaCl stable bitcode reference.</p>
+</section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/reference/nacl-manifest-format.html b/native_client_sdk/doc_generated/reference/nacl-manifest-format.html
new file mode 100644
index 0000000..109e86c
--- /dev/null
+++ b/native_client_sdk/doc_generated/reference/nacl-manifest-format.html
@@ -0,0 +1,237 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<section id="native-client-manifest-nmf-format">
+<h1 id="native-client-manifest-nmf-format">Native Client Manifest (nmf) Format</h1>
+<div class="contents local topic" id="contents">
+<ul class="small-gap">
+<li><a class="reference internal" href="#overview" id="id1">Overview</a></li>
+<li><a class="reference internal" href="#field-summary" id="id2">Field summary</a></li>
+<li><p class="first"><a class="reference internal" href="#field-details" id="id3">Field details</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#program" id="id4">program</a></li>
+<li><a class="reference internal" href="#files" id="id5">files</a></li>
+</ul>
+</li>
+<li><p class="first"><a class="reference internal" href="#semantics" id="id6">Semantics</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#schema-validation" id="id7">Schema validation</a></li>
+<li><a class="reference internal" href="#nexe-matching" id="id8">Nexe matching</a></li>
+<li><a class="reference internal" href="#file-matching" id="id9">File matching</a></li>
+<li><a class="reference internal" href="#url-of-the-nmf-file-from-embed-src-and-data-uri" id="id10">URL of the nmf file, from <code><embed></code> src, and data URI</a></li>
+<li><a class="reference internal" href="#url-resolution" id="id11">URL resolution</a></li>
+</ul>
+</li>
+</ul>
+</div>
+<section id="overview">
+<h2 id="overview">Overview</h2>
+<p>Every Native Client application has a <a class="reference external" href="http://www.json.org/">JSON-formatted</a>
+NaCl Manifest File (<code>nmf</code>). The <code>nmf</code> tells the browser where to
+download and load your Native Client application files and libraries.
+The file can also contain configuration options.</p>
+</section><section id="field-summary">
+<h2 id="field-summary">Field summary</h2>
+<p>The following shows the supported top-level manifest fields. There is one
+section that discusses each field in detail. The only field that is required
+is the <code>program</code> field.</p>
+<pre class="prettyprint">
+{
+ // Required
+ "program": { ... }
+
+ // Only required for glibc
+ "files": { ... }
+}
+</pre>
+</section><section id="field-details">
+<h2 id="field-details">Field details</h2>
+<section id="program">
+<h3 id="program">program</h3>
+<p>The <code>program</code> field specifies the main program that will be loaded
+in the Native Client runtime environment. For a Portable Native Client
+application, this is a URL for the statically linked bitcode <code>pexe</code> file.
+For architecture-specific Native Client applications, this is a list
+of URLs, one URL for each supported architecture (currently the choices
+are “arm”, “x86-32”, and “x86-64”). For a dynamically linked executable,
+<code>program</code> is the dynamic loader used to load the dynamic executable
+and its dynamic libraries. See the <a class="reference internal" href="#nmf-url-resolution"><em>semantics</em></a>
+section for the rules on URL resolution.</p>
+<section id="example-of-a-program-for-portable-native-client">
+<h4 id="example-of-a-program-for-portable-native-client">Example of a <code>program</code> for Portable Native Client:</h4>
+<pre class="prettyprint">
+{
+ "program": {
+ "pnacl-translate": {
+ // url is required
+ "url": "url_to_my_pexe"
+
+ // optlevel is optional
+ "optlevel": 0
+ }
+ }
+}
+</pre>
+<p>Portable Native Client applications can also specify an <code>optlevel</code> field.
+The <code>optlevel</code> field is an optimization level <em>hint</em>, which is a number
+(zero and higher). Higher numbers indicate more optimization effort.
+Setting a higher optimization level will improve the application’s
+performance, but it will also slow down the first load experience.
+The default is <code>optlevel</code> is currently <code>2</code>, and values higher
+than 2 are no different than 2. If compute speed is not as important
+as first load speed, an application could specify an <code>optlevel</code>
+of <code>0</code>. Note that <code>optlevel</code> is only a <em>hint</em>. In the future, the
+Portable Native Client translator and runtime may <em>automatically</em> choose
+an <code>optlevel</code> to best balance load time and application performance.</p>
+</section><section id="example-of-a-program-for-statically-linked-native-client-executables">
+<h4 id="example-of-a-program-for-statically-linked-native-client-executables">Example of a <code>program</code> for statically linked Native Client executables</h4>
+<pre class="prettyprint">
+{
+ "program": {
+ // Required: at least one entry
+ // Add one of these for each architecture supported by the application.
+ "arm": { "url": "url_to_arm_nexe" },
+ "x86-32": { "url": "url_to_x86_32_nexe" },
+ "x86-64": { "url": "url_to_x86_64_nexe" }
+ }
+}
+</pre>
+</section><section id="example-of-a-program-for-dynamically-linked-native-client-executables">
+<h4 id="example-of-a-program-for-dynamically-linked-native-client-executables">Example of a <code>program</code> for dynamically linked Native Client executables</h4>
+<pre class="prettyprint">
+{
+ "program": {
+ // Required: at least one entry
+ // Add one of these for each architecture supported by the application.
+ "x86-32": { "url": "lib32/runnable-ld.so" },
+ "x86-64": { "url": "lib64/runnable-ld.so" }
+ },
+ // discussed in next section
+ "files": {
+ "main.nexe": {
+ "x86-32": { "url": "url_to_x86_32_nexe" },
+ "x86-64": { "url": "url_to_x86_64_nexe" }
+ },
+ // ...
+ }
+}
+</pre>
+</section></section><section id="files">
+<h3 id="files">files</h3>
+<p>The <code>files</code> field specifies a dictionary of file resources to be
+used by a Native Client application. This is not supported and
+not needed by Portable Native Client applications (use the PPAPI
+<a class="reference external" href="https://developers.google.com/native-client/peppercpp/classpp_1_1_u_r_l_loader">URL Loader interfaces</a>
+to load resources instead). However, the <code>files</code> manifest field
+is important for dynamically linked executables, which must
+load files before PPAPI is initialized. The <code>files</code> dictionary
+should include the main dynamic program and its dynamic libraries.
+There should be one file entry that corresponds to each a
+dynamic library. Each file entry is a dictionary of supported architectures
+and the URLs where the appropriate Native Client shared object
+(<code>.so</code>) for that architecture may be found.</p>
+<p>Since <code>program</code> is used to refer to the dynamic linker that comes
+with the NaCl port of glibc, the main program is specified in the
+<code>files</code> dictionary. The main program is specified under the
+<code>"main.nexe"</code> field of the <code>files</code> dictionary.</p>
+<pre class="prettyprint">
+{
+ "program": {
+ "x86-64": {"url": "lib64/runnable-ld.so"},
+ "x86-32": {"url": "lib32/runnable-ld.so"}
+ },
+ "files": {
+ "main.nexe" : {
+ "x86-64": {"url": "pi_generator_x86_64.nexe"},
+ "x86-32": {"url": "pi_generator_x86_32.nexe"}
+ },
+ "libpthread.so.5055067a" : {
+ "x86-64": {"url": "lib64/libpthread.so.5055067a"},
+ "x86-32": {"url": "lib32/libpthread.so.5055067a"}
+ },
+ "libppapi_cpp.so" : {
+ "x86-64": {"url": "lib64/libppapi_cpp.so"},
+ "x86-32": {"url": "lib32/libppapi_cpp.so"}
+ },
+ "libstdc++.so.6" : {
+ "x86-64": {"url": "lib64/libstdc++.so.6"},
+ "x86-32": {"url": "lib32/libstdc++.so.6"}
+ },
+ "libm.so.5055067a" : {
+ "x86-64": {"url": "lib64/libm.so.5055067a"},
+ "x86-32": {"url": "lib32/libm.so.5055067a"}
+ },
+ "libgcc_s.so.1" : {
+ "x86-64": {"url": "lib64/libgcc_s.so.1"},
+ "x86-32": {"url": "lib32/libgcc_s.so.1"}
+ },
+ "libc.so.5055067a" : {
+ "x86-64": {"url": "lib64/libc.so.5055067a"},
+ "x86-32": {"url": "lib32/libc.so.5055067a"}
+ }
+ }
+}
+</pre>
+<p>Dynamic libraries that the dynamic program depends upon and links in at program
+startup must be listed in the <code>files</code> dictionary. Library files that are
+loaded after startup using <code>dlopen()</code> should either be listed in the <code>files</code>
+dictionary, or should be made accessible by the <code>nacl_io</code> library. The
+<code>nacl_io</code> library provides various file system <em>mounts</em> such as HTTP-based
+file systems and memory-based file systems. The Native Client SDK includes
+helpful tools for determining library dependencies and generating NaCl manifest
+files for programs that that use dynamic linking. See
+<a class="reference internal" href="/native-client/devguide/devcycle/dynamic-loading.html#dynamic-loading-manifest"><em>Generating a Native Client manifest file for a dynamically linked application</em></a>.</p>
+</section></section><section id="semantics">
+<h2 id="semantics">Semantics</h2>
+<section id="schema-validation">
+<h3 id="schema-validation">Schema validation</h3>
+<p>Manifests are validated before the program files are downloaded.
+Schema validation checks the following properties:</p>
+<ul class="small-gap">
+<li>The schema must be valid JSON.</li>
+<li>The schema must conform to the grammar given above.</li>
+<li>If the program is not a PNaCl program, then the manifest
+must contain at least one applicable match for the current ISA
+in “program” and in every entry within “files”.</li>
+</ul>
+<p>If the manifest contains a field that is not in the official
+set of supported fields, it is ignored. This allows the grammar to be
+extended without breaking compatibility with older browsers.</p>
+</section><section id="nexe-matching">
+<h3 id="nexe-matching">Nexe matching</h3>
+<p>For Portable Native Client, there are no architecture variations, so
+matching is simple.</p>
+<p>For Native Client, the main nexe for the application is determined by
+looking up the browser’s current architecture in the <code>"program"</code>
+dictionary. Failure to provide an entry for the browser’s architecture
+will result in a load error.</p>
+</section><section id="file-matching">
+<h3 id="file-matching">File matching</h3>
+<p>All files (shared objects and other assets, typically) are looked up
+by a UTF8 string that is the file name. To load a library with a certain
+file name, the browser searches the <code>"files"</code> dictionary for an entry
+corresponding to that file name. Failure to find that name in the
+<code>"files"</code> dictionary is a run-time error. The architecture matching
+rule for all files is from most to least specific. That is, if there
+is an exact match for the current architecture (e.g., “x86-32”) it is
+used in preference to more general “portable”. This is useful for
+non-architecture-specific asset files. Note that <code>"files"</code> is only
+useful for files that must be loaded early in application startup
+(before PPAPI interfaces are initialized to provide the standard
+file loading mechanisms).</p>
+</section><section id="url-of-the-nmf-file-from-embed-src-and-data-uri">
+<h3 id="url-of-the-nmf-file-from-embed-src-and-data-uri">URL of the nmf file, from <code><embed></code> src, and data URI</h3>
+<p>The URL for the manifest file should be specified by the <code>src</code> attribute
+of the <code><embed></code> tag for a Native Client module instance. The URL for
+a manifest file can refer to an actual file, or it can be a
+<a class="reference external" href="http://en.wikipedia.org/wiki/Data_URI_scheme">data URI</a>
+representing the contents of the file. Specifying the <code>nmf</code> contents
+inline with a data URI can help reduce the amount of network traffic
+required to load the Native Client application.</p>
+</section><section id="url-resolution">
+<span id="nmf-url-resolution"></span><h3 id="url-resolution"><span id="nmf-url-resolution"></span>URL resolution</h3>
+<p>All URLs contained in a manifest are resolved relative to the URL of
+the manifest. If the manifest was specified as a data URI, the URLs must
+all be absolute.</p>
+</section></section></section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/reference/pnacl-bitcode-abi.html b/native_client_sdk/doc_generated/reference/pnacl-bitcode-abi.html
new file mode 100644
index 0000000..4c5a714
--- /dev/null
+++ b/native_client_sdk/doc_generated/reference/pnacl-bitcode-abi.html
@@ -0,0 +1,438 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<section id="pnacl-bitcode-reference-manual">
+<h1 id="pnacl-bitcode-reference-manual">PNaCl Bitcode Reference Manual</h1>
+<div class="contents local topic" id="contents">
+<ul class="small-gap">
+<li><a class="reference internal" href="#introduction" id="id1">Introduction</a></li>
+<li><p class="first"><a class="reference internal" href="#high-level-structure" id="id2">High Level Structure</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#data-model" id="id3">Data Model</a></li>
+<li><a class="reference internal" href="#linkage-types" id="id4">Linkage Types</a></li>
+<li><a class="reference internal" href="#calling-conventions" id="id5">Calling Conventions</a></li>
+<li><a class="reference internal" href="#visibility-styles" id="id6">Visibility Styles</a></li>
+<li><a class="reference internal" href="#global-variables" id="id7">Global Variables</a></li>
+<li><a class="reference internal" href="#functions" id="id8">Functions</a></li>
+<li><a class="reference internal" href="#aliases" id="id9">Aliases</a></li>
+<li><a class="reference internal" href="#named-metadata" id="id10">Named Metadata</a></li>
+<li><a class="reference internal" href="#module-level-inline-assembly" id="id11">Module-Level Inline Assembly</a></li>
+<li><a class="reference internal" href="#volatile-memory-accesses" id="id12">Volatile Memory Accesses</a></li>
+<li><a class="reference internal" href="#memory-model-for-concurrent-operations" id="id13">Memory Model for Concurrent Operations</a></li>
+<li><a class="reference internal" href="#fast-math-flags" id="id14">Fast-Math Flags</a></li>
+</ul>
+</li>
+<li><p class="first"><a class="reference internal" href="#type-system" id="id15">Type System</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#scalar-types" id="id16">Scalar types</a></li>
+<li><a class="reference internal" href="#array-and-struct-types" id="id17">Array and struct types</a></li>
+<li><a class="reference internal" href="#pointer-types" id="id18">Pointer types</a></li>
+<li><a class="reference internal" href="#undefined-values" id="id19">Undefined Values</a></li>
+<li><a class="reference internal" href="#constant-expressions" id="id20">Constant Expressions</a></li>
+</ul>
+</li>
+<li><p class="first"><a class="reference internal" href="#other-values" id="id21">Other Values</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#metadata-nodes-and-metadata-strings" id="id22">Metadata Nodes and Metadata Strings</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#intrinsic-global-variables" id="id23">Intrinsic Global Variables</a></li>
+<li><p class="first"><a class="reference internal" href="#instruction-reference" id="id24">Instruction Reference</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#list-of-allowed-instructions" id="id25">List of allowed instructions</a></li>
+<li><a class="reference internal" href="#alloca" id="id26"><code>alloca</code></a></li>
+</ul>
+</li>
+<li><p class="first"><a class="reference internal" href="#intrinsic-functions" id="id27">Intrinsic Functions</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#list-of-allowed-intrinsics" id="id28">List of allowed intrinsics</a></li>
+<li><a class="reference internal" href="#thread-pointer-related-intrinsics" id="id29">Thread pointer related intrinsics</a></li>
+<li><a class="reference internal" href="#setjmp-and-longjmp" id="id30">Setjmp and Longjmp</a></li>
+<li><a class="reference internal" href="#atomic-intrinsics" id="id31">Atomic intrinsics</a></li>
+</ul>
+</li>
+</ul>
+</div>
+<section id="introduction">
+<h2 id="introduction">Introduction</h2>
+<p>This document is a reference manual for the PNaCl bitcode format. It describes
+the bitcode on a <em>semantic</em> level; the physical encoding level will be described
+elsewhere. For the purpose of this document, the textual form of LLVM IR is
+used to describe instructions and other bitcode constructs.</p>
+<p>Since the PNaCl bitcode is based to a large extent on LLVM IR, many sections
+in this document point to a relevant section of the LLVM language reference
+manual. Only the changes, restrictions and variations specific to PNaCl are
+described—full semantic descriptions are not duplicated from the LLVM
+reference manual.</p>
+</section><section id="high-level-structure">
+<h2 id="high-level-structure">High Level Structure</h2>
+<p>A PNaCl portable executable (<strong>pexe</strong> in short) is a single LLVM IR module.</p>
+<section id="data-model">
+<h3 id="data-model">Data Model</h3>
+<p>The data model for PNaCl bitcode is fixed at little-endian ILP32: pointers are
+32 bits in size. 64-bit integer types are also supported natively via the i64
+type (for example, a front-end can generate these from the C/C++ type
+<code>long long</code>).</p>
+<p>Floating point support is fixed at IEEE 754 32-bit and 64-bit values (f32 and
+f64, respectively).</p>
+</section><section id="linkage-types">
+<span id="bitcode-linkagetypes"></span><h3 id="linkage-types"><span id="bitcode-linkagetypes"></span>Linkage Types</h3>
+<p><a class="reference external" href="http://llvm.org/releases/3.3/docs/LangRef.html#linkage">LLVM LangRef: Linkage Types</a></p>
+<p>The linkage types supported by PNaCl bitcode are <code>internal</code> and <code>external</code>.
+A single function in the pexe, named <code>_start</code>, has the linkage type
+<code>external</code>. All the other functions and globals have the linkage type
+<code>internal</code>.</p>
+</section><section id="calling-conventions">
+<h3 id="calling-conventions">Calling Conventions</h3>
+<p><a class="reference external" href="http://llvm.org/releases/3.3/docs/LangRef.html#callingconv">LLVM LangRef: Calling Conventions</a></p>
+<p>The only calling convention supported by PNaCl bitcode is <code>ccc</code> - the C
+calling convention.</p>
+</section><section id="visibility-styles">
+<h3 id="visibility-styles">Visibility Styles</h3>
+<p><a class="reference external" href="http://llvm.org/releases/3.3/docs/LangRef.html#visibility-styles">LLVM LangRef: Visibility Styles</a></p>
+<p>PNaCl bitcode does not support visibility styles.</p>
+</section><section id="global-variables">
+<span id="bitcode-globalvariables"></span><h3 id="global-variables"><span id="bitcode-globalvariables"></span>Global Variables</h3>
+<p><a class="reference external" href="http://llvm.org/releases/3.3/docs/LangRef.html#globalvars">LLVM LangRef: Global Variables</a></p>
+<p>Restrictions on global variables:</p>
+<ul class="small-gap">
+<li>PNaCl bitcode does not support LLVM IR TLS models. See
+<a class="reference internal" href="/native-client/reference/pnacl-c-cpp-language-support.html#language-support-threading"><em>Threading</em></a> for more details.</li>
+<li>Restrictions on <a class="reference internal" href="#bitcode-linkagetypes"><em>linkage types</em></a>.</li>
+<li>The <code>addrspace</code>, <code>section</code>, <code>unnamed_addr</code> and
+<code>externally_initialized</code> attributes are not supported.</li>
+</ul>
+<p>Every global variable must have an initializer. Each initializer must be
+either a <em>SimpleElement</em> or a <em>CompoundElement</em>, defined as follows.</p>
+<p>A <em>SimpleElement</em> is one of the following:</p>
+<ol class="arabic simple">
+<li>An i8 array literal or <code>zeroinitializer</code>:</li>
+</ol>
+<pre>
+ [SIZE x i8] c"DATA"
+ [SIZE x i8] zeroinitializer
+</pre>
+<ol class="arabic simple" start="2">
+<li>A reference to a <em>GlobalValue</em> (a function or global variable) with an
+optional 32-bit byte offset added to it (the addend, which may be
+negative):</li>
+</ol>
+<pre>
+ ptrtoint (TYPE* @GLOBAL to i32)
+ add (i32 ptrtoint (TYPE* @GLOBAL to i32), i32 ADDEND)
+</pre>
+<p>A <em>CompoundElement</em> is a unnamed, packed struct containing more than one
+<em>SimpleElement</em>.</p>
+</section><section id="functions">
+<h3 id="functions">Functions</h3>
+<p><a class="reference external" href="http://llvm.org/releases/3.3/docs/LangRef.html#functionstructure">LLVM LangRef: Functions</a></p>
+<p>The restrictions on <a class="reference internal" href="#bitcode-linkagetypes"><em>linkage types</em></a>, calling
+conventions and visibility styles apply to functions. In addition, the following
+are not supported for functions:</p>
+<ul class="small-gap">
+<li>Function attributes (either for the the function itself, its parameters or its
+return type).</li>
+<li>Garbage collector name (<code>gc</code>).</li>
+<li>Functions with a variable number of arguments (<em>vararg</em>).</li>
+<li>Alignment (<code>align</code>).</li>
+</ul>
+</section><section id="aliases">
+<h3 id="aliases">Aliases</h3>
+<p><a class="reference external" href="http://llvm.org/releases/3.3/docs/LangRef.html#aliases">LLVM LangRef: Aliases</a></p>
+<p>PNaCl bitcode does not support aliases.</p>
+</section><section id="named-metadata">
+<h3 id="named-metadata">Named Metadata</h3>
+<p><a class="reference external" href="http://llvm.org/releases/3.3/docs/LangRef.html#namedmetadatastructure">LLVM LangRef: Named Metadata</a></p>
+<p>While PNaCl bitcode has provisions for debugging metadata, it is not considered
+part of the stable ABI. It exists for tool support and should not appear in
+distributed pexes.</p>
+<p>Other kinds of LLVM metadata are not supported.</p>
+</section><section id="module-level-inline-assembly">
+<h3 id="module-level-inline-assembly">Module-Level Inline Assembly</h3>
+<p><a class="reference external" href="http://llvm.org/releases/3.3/docs/LangRef.html#moduleasm">LLVM LangRef: Module-Level Inline Assembly</a></p>
+<p>PNaCl bitcode does not support inline assembly.</p>
+</section><section id="volatile-memory-accesses">
+<h3 id="volatile-memory-accesses">Volatile Memory Accesses</h3>
+<p><a class="reference external" href="http://llvm.org/releases/3.3/docs/LangRef.html#volatile">LLVM LangRef: Volatile Memory Accesses</a></p>
+<p>PNaCl bitcode does not support volatile memory accesses. The
+<code>volatile</code> attribute on loads and stores is not supported. See the
+<a class="reference internal" href="/native-client/reference/pnacl-c-cpp-language-support.html"><em>PNaCl C/C++ Language Support</em></a> for more details.</p>
+</section><section id="memory-model-for-concurrent-operations">
+<h3 id="memory-model-for-concurrent-operations">Memory Model for Concurrent Operations</h3>
+<p><a class="reference external" href="http://llvm.org/releases/3.3/docs/LangRef.html#memmodel">LLVM LangRef: Memory Model for Concurrent Operations</a></p>
+<p>See the <a class="reference external" href="PNaClDeveloperGuide.html">PNaCl Developer’s Guide</a> for more
+details.</p>
+</section><section id="fast-math-flags">
+<h3 id="fast-math-flags">Fast-Math Flags</h3>
+<p><a class="reference external" href="http://llvm.org/releases/3.3/docs/LangRef.html#fastmath">LLVM LangRef: Fast-Math Flags</a></p>
+<p>Fast-math mode is not currently supported by the PNaCl bitcode.</p>
+</section></section><section id="type-system">
+<h2 id="type-system">Type System</h2>
+<p><a class="reference external" href="http://llvm.org/releases/3.3/docs/LangRef.html#typesystem">LLVM LangRef: Type System</a></p>
+<p>The LLVM types allowed in PNaCl bitcode are restricted, as follows:</p>
+<section id="scalar-types">
+<h3 id="scalar-types">Scalar types</h3>
+<ul class="small-gap">
+<li><p class="first">The only scalar types allowed are integer, float (32-bit floating point),
+double (64-bit floating point) and void.</p>
+<ul class="small-gap">
+<li>The only integer sizes allowed are i1, i8, i16, i32 and i64.</li>
+<li>The only integer sizes allowed for function arguments and function return
+values are i32 and i64.</li>
+</ul>
+</li>
+</ul>
+</section><section id="array-and-struct-types">
+<h3 id="array-and-struct-types">Array and struct types</h3>
+<p>Array and struct types are only allowed in
+<a class="reference internal" href="#bitcode-globalvariables"><em>global variable initializers</em></a>.</p>
+</section><section id="pointer-types">
+<span id="bitcode-pointertypes"></span><h3 id="pointer-types"><span id="bitcode-pointertypes"></span>Pointer types</h3>
+<p>Only the following pointer types are allowed:</p>
+<ul class="small-gap">
+<li>Pointers to valid PNaCl bitcode scalar types, as specified above.</li>
+<li>Pointers to functions.</li>
+</ul>
+<p>In addition, the address space for all pointers must be 0.</p>
+<p>A pointer is <em>inherent</em> when it represents the return value of an <code>alloca</code>
+instruction, or is an address of a global value.</p>
+<p>A pointer is <em>normalized</em> if it’s either:</p>
+<ul class="small-gap">
+<li><em>inherent</em></li>
+<li>Is the return value of a <code>bitcast</code> instruction.</li>
+<li>Is the return value of a <code>inttoptr</code> instruction.</li>
+</ul>
+</section><section id="undefined-values">
+<h3 id="undefined-values">Undefined Values</h3>
+<p><a class="reference external" href="http://llvm.org/releases/3.3/docs/LangRef.html#undefvalues">LLVM LangRef: Undefined Values</a></p>
+<p><code>undef</code> is only allowed within functions, not in global variable initializers.</p>
+</section><section id="constant-expressions">
+<h3 id="constant-expressions">Constant Expressions</h3>
+<p><a class="reference external" href="http://llvm.org/releases/3.3/docs/LangRef.html#constant-expressions">LLVM LangRef: Constant Expressions</a></p>
+<p>Constant expressions are only allowed in
+<a class="reference internal" href="#bitcode-globalvariables"><em>global variable initializers</em></a>.</p>
+</section></section><section id="other-values">
+<h2 id="other-values">Other Values</h2>
+<section id="metadata-nodes-and-metadata-strings">
+<h3 id="metadata-nodes-and-metadata-strings">Metadata Nodes and Metadata Strings</h3>
+<p><a class="reference external" href="http://llvm.org/releases/3.3/docs/LangRef.html#metadata">LLVM LangRef: Metadata Nodes and Metadata Strings</a></p>
+<p>While PNaCl bitcode has provisions for debugging metadata, it is not considered
+part of the stable ABI. It exists for tool support and should not appear in
+distributed pexes.</p>
+<p>Other kinds of LLVM metadata are not supported.</p>
+</section></section><section id="intrinsic-global-variables">
+<h2 id="intrinsic-global-variables">Intrinsic Global Variables</h2>
+<p><a class="reference external" href="http://llvm.org/releases/3.3/docs/LangRef.html#intrinsic-global-variables">LLVM LangRef: Intrinsic Global Variables</a></p>
+<p>PNaCl bitcode does not support intrinsic global variables.</p>
+</section><section id="instruction-reference">
+<h2 id="instruction-reference">Instruction Reference</h2>
+<section id="list-of-allowed-instructions">
+<h3 id="list-of-allowed-instructions">List of allowed instructions</h3>
+<p>This is a list of LLVM instructions supported by PNaCl bitcode. Where
+applicable, PNaCl-specific restrictions are provided.</p>
+<p>The following attributes are disallowed for all instructions:</p>
+<ul class="small-gap">
+<li><code>nsw</code> and <code>nuw</code></li>
+<li><code>exact</code></li>
+</ul>
+<p>Only the LLVM instructions listed here are supported by PNaCl bitcode.</p>
+<ul class="small-gap">
+<li><code>ret</code></li>
+<li><code>br</code></li>
+<li><p class="first"><code>switch</code></p>
+<p>i1 values are disallowed for <code>switch</code>.</p>
+</li>
+<li><p class="first"><code>add</code>, <code>sub</code>, <code>mul</code>, <code>shl</code>, <code>udiv</code>, <code>sdiv</code>, <code>urem</code>, <code>srem</code>,
+<code>lshr</code>, <code>ashr</code></p>
+<p>These arithmetic operations are disallowed on values of type <code>i1</code>.</p>
+<p>Integer division (<code>udiv</code>, <code>sdiv</code>, <code>urem</code>, <code>srem</code>) by zero is
+guaranteed to trap in PNaCl bitcode.</p>
+</li>
+<li><code>and</code></li>
+<li><code>or</code></li>
+<li><code>xor</code></li>
+<li><code>fadd</code></li>
+<li><code>fsub</code></li>
+<li><code>fmul</code></li>
+<li><code>fdiv</code></li>
+<li><code>frem</code></li>
+<li><p class="first"><code>alloca</code></p>
+<p>See <a class="reference internal" href="#bitcode-allocainst"><em>alloca instructions</em></a>.</p>
+</li>
+<li><p class="first"><code>load</code>, <code>store</code></p>
+<p>The pointer argument of these instructions must be a <em>normalized</em> pointer (see
+<a class="reference internal" href="#bitcode-pointertypes"><em>pointer types</em></a>). The <code>volatile</code> and <code>atomic</code>
+attributes are not supported. Loads and stores of the type <code>i1</code> are not
+supported.</p>
+<p>These instructions must use <code>align 1</code> on integer memory accesses, <code>align 4</code>
+for <code>float</code> accesses and <code>align 8</code> for <code>double</code> accesses.</p>
+</li>
+<li><code>trunc</code></li>
+<li><code>zext</code></li>
+<li><code>sext</code></li>
+<li><code>fptrunc</code></li>
+<li><code>fpext</code></li>
+<li><code>fptoui</code></li>
+<li><code>fptosi</code></li>
+<li><code>uitofp</code></li>
+<li><code>sitofp</code></li>
+<li><p class="first"><code>ptrtoint</code></p>
+<p>The pointer argument of a <code>ptrtoint</code> instruction must be a <em>normalized</em>
+pointer (see <a class="reference internal" href="#bitcode-pointertypes"><em>pointer types</em></a>) and the integer
+argument must be an i32.</p>
+</li>
+<li><p class="first"><code>inttoptr</code></p>
+<p>The integer argument of a <code>inttoptr</code> instruction must be an i32.</p>
+</li>
+<li><p class="first"><code>bitcast</code></p>
+<p>The pointer argument of a <code>bitcast</code> instruction must be a <em>inherent</em> pointer
+(see <a class="reference internal" href="#bitcode-pointertypes"><em>pointer types</em></a>).</p>
+</li>
+<li><code>icmp</code></li>
+<li><code>fcmp</code></li>
+<li><code>phi</code></li>
+<li><code>select</code></li>
+<li><code>call</code></li>
+</ul>
+</section><section id="alloca">
+<span id="bitcode-allocainst"></span><h3 id="alloca"><span id="bitcode-allocainst"></span><code>alloca</code></h3>
+<p>The only allowed type for <code>alloca</code> instructions in PNaCl bitcode is i8. The
+size argument must be an i32. For example:</p>
+<pre>
+ %buf = alloca i8, i32 8, align 4
+</pre>
+</section></section><section id="intrinsic-functions">
+<h2 id="intrinsic-functions">Intrinsic Functions</h2>
+<p><a class="reference external" href="http://llvm.org/releases/3.3/docs/LangRef.html#intrinsics">LLVM LangRef: Intrinsic Functions</a></p>
+<section id="list-of-allowed-intrinsics">
+<h3 id="list-of-allowed-intrinsics">List of allowed intrinsics</h3>
+<p>The only intrinsics supported by PNaCl bitcode are the following.</p>
+<ul class="small-gap">
+<li><code>llvm.memcpy</code></li>
+<li><code>llvm.memmove</code></li>
+<li><p class="first"><code>llvm.memset</code></p>
+<p>These intrinsics are only supported with an i32 <code>len</code> argument.</p>
+</li>
+<li><p class="first"><code>llvm.bswap</code></p>
+<p>The overloaded <code>llvm.bswap</code> intrinsic is only supported with the following
+argument types: i16, i32, i64 (the types supported by C-style GCC builtins).</p>
+</li>
+<li><code>llvm.ctlz</code></li>
+<li><code>llvm.cttz</code></li>
+<li><p class="first"><code>llvm.ctpop</code></p>
+<p>The overloaded llvm.ctlz, llvm.cttz, and llvm.ctpop intrinsics are only
+supported with the i32 and i64 argument types (the types supported by
+C-style GCC builtins).</p>
+</li>
+<li><p class="first"><code>llvm.sqrt</code></p>
+<p>The overloaded <code>llvm.sqrt</code> intrinsic is only supported for float
+and double arguments types. Unlike the standard LLVM intrinsic,
+PNaCl guarantees that llvm.sqrt returns a QNaN for values less than -0.0.</p>
+</li>
+<li><code>llvm.stacksave</code></li>
+<li><p class="first"><code>llvm.stackrestore</code></p>
+<p>These intrinsics are used to implement language features like scoped automatic
+variable sized arrays in C99. <code>llvm.stacksave</code> returns a value that
+represents the current state of the stack. This value may only be used as the
+argument to <code>llvm.stackrestore</code>, which restores the stack to the given
+state.</p>
+</li>
+<li><p class="first"><code>llvm.trap</code></p>
+<p>This intrinsic is lowered to a target dependent trap instruction, which aborts
+execution.</p>
+</li>
+<li><p class="first"><code>llvm.nacl.read.tp</code></p>
+<p>See <a class="reference internal" href="#bitcode-threadpointerintrinsics"><em>thread pointer related intrinsics</em></a>.</p>
+</li>
+<li><code>llvm.nacl.longjmp</code></li>
+<li><p class="first"><code>llvm.nacl.setjmp</code></p>
+<p>See <a class="reference internal" href="#bitcode-setjmplongjmp"><em>Setjmp and Longjmp</em></a>.</p>
+</li>
+<li><code>llvm.nacl.atomic.store</code></li>
+<li><code>llvm.nacl.atomic.load</code></li>
+<li><code>llvm.nacl.atomic.rmw</code></li>
+<li><code>llvm.nacl.atomic.cmpxchg</code></li>
+<li><code>llvm.nacl.atomic.fence</code></li>
+<li><code>llvm.nacl.atomic.fence.all</code></li>
+<li><p class="first"><code>llvm.nacl.atomic.is.lock.free</code></p>
+<p>See <a class="reference internal" href="#bitcode-atomicintrinsics"><em>atomic intrinsics</em></a>.</p>
+</li>
+</ul>
+</section><section id="thread-pointer-related-intrinsics">
+<span id="bitcode-threadpointerintrinsics"></span><h3 id="thread-pointer-related-intrinsics"><span id="bitcode-threadpointerintrinsics"></span>Thread pointer related intrinsics</h3>
+<pre>
+ declare i8* @llvm.nacl.read.tp()
+</pre>
+<p>Returns a read-only thread pointer. The value is controlled by the embedding
+sandbox’s runtime.</p>
+</section><section id="setjmp-and-longjmp">
+<span id="bitcode-setjmplongjmp"></span><h3 id="setjmp-and-longjmp"><span id="bitcode-setjmplongjmp"></span>Setjmp and Longjmp</h3>
+<pre>
+ declare void @llvm.nacl.longjmp(i8* %jmpbuf, i32)
+ declare i32 @llvm.nacl.setjmp(i8* %jmpbuf)
+</pre>
+<p>These intrinsics implement the semantics of C11 <code>setjmp</code> and <code>longjmp</code>. The
+<code>jmpbuf</code> pointer must be 64-bit aligned and point to at least 1024 bytes of
+allocated memory.</p>
+</section><section id="atomic-intrinsics">
+<span id="bitcode-atomicintrinsics"></span><h3 id="atomic-intrinsics"><span id="bitcode-atomicintrinsics"></span>Atomic intrinsics</h3>
+<pre>
+ declare iN @llvm.nacl.atomic.load.<size>(
+ iN* <source>, i32 <memory_order>)
+ declare void @llvm.nacl.atomic.store.<size>(
+ iN <operand>, iN* <destination>, i32 <memory_order>)
+ declare iN @llvm.nacl.atomic.rmw.<size>(
+ i32 <computation>, iN* <object>, iN <operand>, i32 <memory_order>)
+ declare iN @llvm.nacl.atomic.cmpxchg.<size>(
+ iN* <object>, iN <expected>, iN <desired>,
+ i32 <memory_order_success>, i32 <memory_order_failure>)
+ declare void @llvm.nacl.atomic.fence(i32 <memory_order>)
+ declare void @llvm.nacl.atomic.fence.all()
+</pre>
+<p>Each of these intrinsics is overloaded on the <code>iN</code> argument, which is
+reflected through <code><size></code> in the overload’s name. Integral types of
+8, 16, 32 and 64-bit width are supported for these arguments.</p>
+<p>The <code>@llvm.nacl.atomic.rmw</code> intrinsic implements the following
+read-modify-write operations, from the general and arithmetic sections
+of the C11/C++11 standards:</p>
+<blockquote>
+<div><ul class="small-gap">
+<li><code>add</code></li>
+<li><code>sub</code></li>
+<li><code>or</code></li>
+<li><code>and</code></li>
+<li><code>xor</code></li>
+<li><code>exchange</code></li>
+</ul>
+</div></blockquote>
+<p>For all of these read-modify-write operations, the returned value is
+that at <code>object</code> before the computation. The <code>computation</code> argument
+must be a compile-time constant.</p>
+<p>All atomic intrinsics also support C11/C++11 memory orderings, which
+must be compile-time constants.</p>
+<p>Integer values for these computations and memory orderings are defined
+in <code>"llvm/IR/NaClAtomicIntrinsics.h"</code>.</p>
+<p>The <code>@llvm.nacl.atomic.fence.all</code> intrinsic is equivalent to the
+<code>@llvm.nacl.atomic.fence</code> intrinsic with sequentially consistent
+ordering and compiler barriers preventing most non-atomic memory
+accesses from reordering around it.</p>
+<aside class="note">
+<blockquote>
+<div>These intrinsics allow PNaCl to support C11/C++11 style atomic
+operations as well as some legacy GCC-style <code>__sync_*</code> builtins
+while remaining stable as the LLVM codebase changes. The user isn’t
+expected to use these intrinsics directly.</div></blockquote>
+
+</aside>
+<pre>
+ declare i1 @llvm.nacl.atomic.is.lock.free(i32 <byte_size>, i8* <address>)
+</pre>
+<p>The <code>llvm.nacl.atomic.is.lock.free</code> intrinsic is designed to
+determine at translation time whether atomic operations of a certain
+<code>byte_size</code> (a compile-time constant), at a particular <code>address</code>,
+are lock-free or not. This reflects the C11 <code>atomic_is_lock_free</code>
+function from header <code><stdatomic.h></code> and the C++11 <code>is_lock_free</code>
+member function in header <code><atomic></code>. It can be used through the
+<code>__nacl_atomic_is_lock_free</code> builtin.</p>
+</section></section></section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/reference/pnacl-c-cpp-language-support.html b/native_client_sdk/doc_generated/reference/pnacl-c-cpp-language-support.html
new file mode 100644
index 0000000..4179c94
--- /dev/null
+++ b/native_client_sdk/doc_generated/reference/pnacl-c-cpp-language-support.html
@@ -0,0 +1,216 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<section id="pnacl-c-c-language-support">
+<h1 id="pnacl-c-c-language-support">PNaCl C/C++ Language Support</h1>
+<div class="contents local topic" id="contents">
+<ul class="small-gap">
+<li><p class="first"><a class="reference internal" href="#source-language-support" id="id2">Source language support</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#preprocessor-definitions" id="id3">Preprocessor definitions</a></li>
+</ul>
+</li>
+<li><p class="first"><a class="reference internal" href="#memory-model-and-atomics" id="id4">Memory Model and Atomics</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#memory-model-for-concurrent-operations" id="id5">Memory Model for Concurrent Operations</a></li>
+<li><a class="reference internal" href="#atomic-memory-ordering-constraints" id="id6">Atomic Memory Ordering Constraints</a></li>
+<li><a class="reference internal" href="#volatile-memory-accesses" id="id7">Volatile Memory Accesses</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#threading" id="id8">Threading</a></li>
+<li><a class="reference internal" href="#setjmp-and-longjmp" id="id9"><code>setjmp</code> and <code>longjmp</code></a></li>
+<li><a class="reference internal" href="#c-exception-handling" id="id10">C++ Exception Handling</a></li>
+<li><a class="reference internal" href="#inline-assembly" id="id11">Inline Assembly</a></li>
+<li><p class="first"><a class="reference internal" href="#future-directions" id="id12">Future Directions</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#simd" id="id13">SIMD</a></li>
+<li><a class="reference internal" href="#inter-process-communication" id="id14">Inter-Process Communication</a></li>
+<li><a class="reference internal" href="#posix-style-signal-handling" id="id15">POSIX-style Signal Handling</a></li>
+<li><a class="reference internal" href="#computed-goto" id="id16">Computed <code>goto</code></a></li>
+</ul>
+</li>
+</ul>
+</div>
+<section id="source-language-support">
+<h2 id="source-language-support">Source language support</h2>
+<p>The currently supported languages are C and C++. The PNaCl toolchain is
+based on Clang 3.3, which fully supports C++11 and most of C11. A
+detailed status of the language support is available <a class="reference external" href="http://clang.llvm.org/cxx_status.html">here</a>.</p>
+<p>For information on using languages other than C/C++, see the <a class="reference internal" href="/native-client/faq.html#other-languages"><em>FAQ
+section on other languages</em></a>.</p>
+<p>As for the standard libraries, the PNaCl toolchain is currently based on
+<code>libc++</code>, and the <code>newlib</code> standard C library (version is available
+through the macro <code>NEWLIB_VERSION</code>). <code>libstdc++</code> is also supported
+but its use is discouraged; see <a class="reference internal" href="/native-client/devguide/devcycle/building.html#building-cpp-libraries"><em>C++ standard libraries</em></a> for more
+details.</p>
+<section id="preprocessor-definitions">
+<h3 id="preprocessor-definitions">Preprocessor definitions</h3>
+<p>When compiling C/C++ code, the PNaCl toolchain defines the <code>__pnacl__</code>
+macro. In addition, <code>__native_client__</code> is defined for compatibility
+with other NaCl toolchains.</p>
+</section></section><section id="memory-model-and-atomics">
+<span id="id1"></span><h2 id="memory-model-and-atomics"><span id="id1"></span>Memory Model and Atomics</h2>
+<section id="memory-model-for-concurrent-operations">
+<h3 id="memory-model-for-concurrent-operations">Memory Model for Concurrent Operations</h3>
+<p>The memory model offered by PNaCl relies on the same coding guidelines
+as the C11/C++11 one: concurrent accesses must always occur through
+atomic primitives (offered by <a class="reference external" href="PNaClLangRef.html#atomicintrinsics">atomic intrinsics</a>), and these accesses must always
+occur with the same size for the same memory location. Visibility of
+stores is provided on a happens-before basis that relates memory
+locations to each other as the C11/C++11 standards do.</p>
+<p>Non-atomic memory accesses may be reordered, separated, elided or fused
+according to C and C++’s memory model before the pexe is created as well
+as after its creation.</p>
+<p>As in C11/C++11 some atomic accesses may be implemented with locks on
+certain platforms. The <code>ATOMIC_*_LOCK_FREE</code> macros will always be
+<code>1</code>, signifying that all types are sometimes lock-free. The
+<code>is_lock_free</code> methods and <code>atomic_is_lock_free</code> will return the
+current platform’s implementation at translation time. These macros,
+methods and functions are in the C11 header <code><stdatomic.h></code> and the
+C++11 header <code><atomic></code>.</p>
+<p>The PNaCl toolchain supports concurrent memory accesses through legacy
+GCC-style <code>__sync_*</code> builtins, as well as through C11/C++11 atomic
+primitives and the underlying <a class="reference external" href="http://gcc.gnu.org/wiki/Atomic/GCCMM">GCCMM</a> <code>__atomic_*</code>
+primitives. <code>volatile</code> memory accesses can also be used, though these
+are discouraged. See <a class="reference internal" href="#volatile-memory-accesses">Volatile Memory Accesses</a>.</p>
+<p>PNaCl supports concurrency and parallelism with some restrictions:</p>
+<ul class="small-gap">
+<li>Threading is explicitly supported and has no restrictions over what
+prevalent implementations offer. See <a class="reference internal" href="#threading">Threading</a>.</li>
+<li><code>volatile</code> and atomic operations are address-free (operations on the
+same memory location via two different addresses work atomically), as
+intended by the C11/C++11 standards. This is critical in supporting
+synchronous “external modifications” such as mapping underlying memory
+at multiple locations.</li>
+<li>Inter-process communication through shared memory is currently not
+supported. See <a class="reference internal" href="#future-directions">Future Directions</a>.</li>
+<li>Signal handling isn’t supported, PNaCl therefore promotes all
+primitives to cross-thread (instead of single-thread). This may change
+at a later date. Note that using atomic operations which aren’t
+lock-free may lead to deadlocks when handling asynchronous
+signals. See <a class="reference internal" href="#future-directions">Future Directions</a>.</li>
+<li>Direct interaction with device memory isn’t supported, and there is no
+intent to support it. The embedding sandbox’s runtime can offer APIs
+to indirectly access devices.</li>
+</ul>
+<p>Setting up the above mechanisms requires assistance from the embedding
+sandbox’s runtime (e.g. NaCl’s Pepper APIs), but using them once setup
+can be done through regular C/C++ code.</p>
+</section><section id="atomic-memory-ordering-constraints">
+<h3 id="atomic-memory-ordering-constraints">Atomic Memory Ordering Constraints</h3>
+<p>Atomics follow the same ordering constraints as in regular C11/C++11,
+but all accesses are promoted to sequential consistency (the strongest
+memory ordering) at pexe creation time. We plan to support more of the
+C11/C++11 memory orderings in the future.</p>
+<p>Some additional restrictions, following the C11/C++11 standards:</p>
+<ul class="small-gap">
+<li>Atomic accesses must at least be naturally aligned.</li>
+<li>Some accesses may not actually be atomic on certain platforms,
+requiring an implementation that uses global locks.</li>
+<li>An atomic memory location must always be accessed with atomic
+primitives, and these primitives must always be of the same bit size
+for that location.</li>
+<li>Not all memory orderings are valid for all atomic operations.</li>
+</ul>
+</section><section id="volatile-memory-accesses">
+<h3 id="volatile-memory-accesses">Volatile Memory Accesses</h3>
+<p>The C11/C++11 standards mandate that <code>volatile</code> accesses execute in
+program order (but are not fences, so other memory operations can
+reorder around them), are not necessarily atomic, and can’t be
+elided. They can be separated into smaller width accesses.</p>
+<p>Before any optimizations occur, the PNaCl toolchain transforms
+<code>volatile</code> loads and stores into sequentially consistent <code>volatile</code>
+atomic loads and stores, and applies regular compiler optimizations
+along the above guidelines. This orders <code>volatiles</code> according to the
+atomic rules, and means that fences (including <code>__sync_synchronize</code>)
+act in a better-defined manner. Regular memory accesses still do not
+have ordering guarantees with <code>volatile</code> and atomic accesses, though
+the internal representation of <code>__sync_synchronize</code> attempts to
+prevent reordering of memory accesses to objects which may escape.</p>
+<p>Relaxed ordering could be used instead, but for the first release it is
+more conservative to apply sequential consistency. Future releases may
+change what happens at compile-time, but already-released pexes will
+continue using sequential consistency.</p>
+<p>The PNaCl toolchain also requires that <code>volatile</code> accesses be at least
+naturally aligned, and tries to guarantee this alignment.</p>
+<p>The above guarantees ease the support of legacy (i.e. non-C11/C++11)
+code, and combined with builtin fences these programs can do meaningful
+cross-thread communication without changing code. They also better
+reflect the original code’s intent and guarantee better portability.</p>
+</section></section><section id="threading">
+<span id="language-support-threading"></span><h2 id="threading"><span id="language-support-threading"></span>Threading</h2>
+<p>Threading is explicitly supported through C11/C++11’s threading
+libraries as well as POSIX threads.</p>
+<p>Communication between threads should use atomic primitives as described
+in <a class="reference internal" href="#id1">Memory Model and Atomics</a>.</p>
+</section><section id="setjmp-and-longjmp">
+<h2 id="setjmp-and-longjmp"><code>setjmp</code> and <code>longjmp</code></h2>
+<p>PNaCl and NaCl support <code>setjmp</code> and <code>longjmp</code> without any
+restrictions beyond C’s.</p>
+</section><section id="c-exception-handling">
+<h2 id="c-exception-handling">C++ Exception Handling</h2>
+<p>PNaCl currently supports C++ exception handling through <code>setjmp()</code> and
+<code>longjmp()</code>, which can be enabled with the <code>--pnacl-exceptions=sjlj</code>
+linker flag. Exceptions are disabled by default so that faster and
+smaller code is generated, and <code>throw</code> statements are replaced with
+calls to <code>abort()</code>. The usual <code>-fno-exceptions</code> flag is also
+supported. PNaCl will support full zero-cost exception handling in the
+future.</p>
+<p>NaCl supports full zero-cost C++ exception handling.</p>
+</section><section id="inline-assembly">
+<h2 id="inline-assembly">Inline Assembly</h2>
+<p>Inline assembly isn’t supported by PNaCl because it isn’t portable. The
+one current exception is the common compiler barrier idiom
+<code>asm("":::"memory")</code>, which gets transformed to a sequentially
+consistent memory barrier (equivalent to <code>__sync_synchronize()</code>). In
+PNaCl this barrier is only guaranteed to order <code>volatile</code> and atomic
+memory accesses, though in practice the implementation attempts to also
+prevent reordering of memory accesses to objects which may escape.</p>
+<p>NaCl supports a fairly wide subset of inline assembly through GCC’s
+inline assembly syntax, with the restriction that the sandboxing model
+for the target architecture has to be respected.</p>
+</section><section id="future-directions">
+<h2 id="future-directions">Future Directions</h2>
+<section id="simd">
+<h3 id="simd">SIMD</h3>
+<p>PNaCl currently doesn’t support SIMD. We plan to add SIMD support in the
+very near future.</p>
+<p>NaCl supports SIMD.</p>
+</section><section id="inter-process-communication">
+<h3 id="inter-process-communication">Inter-Process Communication</h3>
+<p>Inter-process communication through shared memory is currently not
+supported by PNaCl/NaCl. When implemented, it may be limited to
+operations which are lock-free on the current platform (<code>is_lock_free</code>
+methods). It will rely on the address-free properly discussed in <a class="reference internal" href="#memory-model-for-concurrent-operations">Memory
+Model for Concurrent Operations</a>.</p>
+</section><section id="posix-style-signal-handling">
+<h3 id="posix-style-signal-handling">POSIX-style Signal Handling</h3>
+<p>POSIX-style signal handling really consists of two different features:</p>
+<ul class="small-gap">
+<li><p class="first"><strong>Hardware exception handling</strong> (synchronous signals): The ability
+to catch hardware exceptions (such as memory access faults and
+division by zero) using a signal handler.</p>
+<p>PNaCl currently doesn’t support hardware exception handling.</p>
+<p>NaCl supports hardware exception handling via the
+<code><nacl/nacl_exception.h></code> interface.</p>
+</li>
+<li><p class="first"><strong>Asynchronous interruption of threads</strong> (asynchronous signals): The
+ability to asynchronously interrupt the execution of a thread,
+forcing the thread to run a signal handler.</p>
+<p>A similar feature is <strong>thread suspension</strong>: The ability to
+asynchronously suspend and resume a thread and inspect or modify its
+execution state (such as register state).</p>
+<p>Neither PNaCl nor NaCl currently support asynchronous interruption
+or suspension of threads.</p>
+</li>
+</ul>
+<p>If PNaCl were to support either of these, the interaction of
+<code>volatile</code> and atomics with same-thread signal handling would need
+to be carefully detailed.</p>
+</section><section id="computed-goto">
+<h3 id="computed-goto">Computed <code>goto</code></h3>
+<p>PNaCl currently doesn’t support computed <code>goto</code>, a non-standard
+extension to C used by some interpreters.</p>
+<p>NaCl supports computed <code>goto</code>.</p>
+</section></section></section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/rest-devsite-examples.html b/native_client_sdk/doc_generated/rest-devsite-examples.html
new file mode 100644
index 0000000..ee86706
--- /dev/null
+++ b/native_client_sdk/doc_generated/rest-devsite-examples.html
@@ -0,0 +1,254 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<section id="examples-of-rest-markup-for-devsite-document-title">
+<h1 id="examples-of-rest-markup-for-devsite-document-title">Examples of ReST markup for devsite (Document title)</h1>
+<p>This is an auto-generated table of contents for this document. <code>:local:</code> and
+<code>:backlinks: none</code> are required to make the devsite look consistent;
+<code>:depth:</code> level can be controlled.</p>
+<div class="contents local topic" id="contents">
+<ul class="small-gap">
+<li><a class="reference internal" href="#document-structure" id="id1">Document structure</a></li>
+<li><p class="first"><a class="reference internal" href="#basic-markup" id="id2">Basic markup</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#unicode-samples" id="id3">Unicode samples</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#images" id="id4">Images</a></li>
+<li><p class="first"><a class="reference internal" href="#links" id="id5">Links</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#to-other-documents-within-the-tree" id="id6">To other documents within the tree</a></li>
+<li><a class="reference internal" href="#to-sections-inside-documents" id="id7">To sections inside documents</a></li>
+<li><a class="reference internal" href="#to-external-locations" id="id8">To external locations</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#definition-lists" id="id9">Definition lists</a></li>
+<li><a class="reference internal" href="#notes-and-admonitions" id="id10">Notes and Admonitions</a></li>
+<li><a class="reference internal" href="#source-code" id="id11">Source code</a></li>
+<li><p class="first"><a class="reference internal" href="#section-heading" id="id12">Section heading</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#subsection-heading" id="id13">Subsection heading</a></li>
+</ul>
+</li>
+<li><p class="first"><a class="reference internal" href="#expandable-sections" id="id14">Expandable sections</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#expandable-section" id="id15">Expandable Section</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#lists" id="id16">Lists</a></li>
+<li><a class="reference internal" href="#tables" id="id17">Tables</a></li>
+</ul>
+</div>
+<section id="document-structure">
+<h2 id="document-structure">Document structure</h2>
+<p>A document starts with a Sphinx target which serves as the document name
+throughout the tree. It can serve as a link target in other documents that want
+to link to this one (see the Links section below).</p>
+<p>It follows with the document title (which doesn’t get generated to the HTML body
+in production mode, but is picked up by the devsite from <code><head><title></code>.</p>
+</section><section id="basic-markup">
+<h2 id="basic-markup">Basic markup</h2>
+<p>In general, follow the rules from <a class="reference external" href="http://sphinx-doc.org/rest.html">http://sphinx-doc.org/rest.html</a></p>
+<p>Some <strong>bold text</strong> and <em>italic text</em> and <code>fixed-font text</code>. Non marked-up text
+can follow these immediately by using a backslash: <strong>pexe</strong>s.</p>
+<p>For pleasant collaborative editing, please use the accepted coding guidelines:
+wrap at 80 columns, no tabs, etc.</p>
+<p>Quotes (<code><blockquote></code>) are created by indenting the paragraph:</p>
+<blockquote>
+<div>Most good programmers do programming not because they expect to get paid or
+get adulation by the public, but because it is fun to program.
+– Linus Torvalds</div></blockquote>
+<p>Here’s an en-dash – and an m-dash — too.</p>
+<section id="unicode-samples">
+<h3 id="unicode-samples">Unicode samples</h3>
+<p>Copyright sign ©, and uacute Ú.</p>
+</section></section><section id="images">
+<h2 id="images">Images</h2>
+<p>Please use absolute paths (starting with <code>/</code>) for images:</p>
+<img alt="/native-client/images/NaclBlock.png" src="/native-client/images/NaclBlock.png" />
+</section><section id="links">
+<h2 id="links">Links</h2>
+<section id="to-other-documents-within-the-tree">
+<h3 id="to-other-documents-within-the-tree">To other documents within the tree</h3>
+<p>Internal links to other documents are created <a class="reference internal" href="/native-client/overview.html"><em>like this</em></a>. The
+document name within the angle brackets is relative to the root dir of the
+devsite doc tree and does not have an extension.</p>
+<p>Here’s a link to a document in a subdirectory: <a class="reference internal" href="/native-client/devguide/tutorial/tutorial-part1.html"><em>the tutorial</em></a>. And a link to a subdirectory index page
+<a class="reference internal" href="/native-client/devguide/index.html"><em>devguide index</em></a>.</p>
+</section><section id="to-sections-inside-documents">
+<h3 id="to-sections-inside-documents">To sections inside documents</h3>
+<p>To internal locations within documents, labels are used. For example, this link
+goes to the label explicitly placed in this document -
+<a class="reference internal" href="#link-for-section-heading"><em>Section heading</em></a>. This works across documents as well. Label
+names must be unique in the tree, and can refer to anything (like images).</p>
+<p>It’s also possible to give such cross-references custom names: <a class="reference internal" href="#link-for-section-heading"><em>Same
+Section Heading</em></a>.</p>
+</section><section id="to-external-locations">
+<h3 id="to-external-locations">To external locations</h3>
+<p>Plain links can be placed like this: <a class="reference external" href="http://google.com">http://google.com</a> and also <a class="reference external" href="http://google.com">like this</a>.</p>
+</section></section><section id="definition-lists">
+<h2 id="definition-lists">Definition lists</h2>
+<p>Can be used to define a group of related terms. Internal formatting is supported
+within the definition. No special formatting needs to be done for the definition
+name/title - it’s handled by the devsite.</p>
+<dl class="docutils">
+<dt>Apple</dt>
+<dd>The apple is the pomaceous fruit of the apple tree, species Malus domestica in
+the rose family (<strong>Rosaceae</strong>).</dd>
+<dt>Fig</dt>
+<dd>The common fig (<strong>Ficus carica</strong>) is a species of flowering plant in the genus
+Ficus, from the family Moraceae, known as the common fig (or just the fig),
+anjeer (Iran, Pakistan), and dumur (Bengali).</dd>
+<dt>Pear</dt>
+<dd>The pear is any of several tree and shrub species of genus Pyrus, in the
+family Rosaceae.</dd>
+</dl>
+</section><section id="notes-and-admonitions">
+<h2 id="notes-and-admonitions">Notes and Admonitions</h2>
+<p>The devsite supports special “notes” that are indented and have a background
+color. We’ll generate them with the <code>Note</code> directive, providing the class
+explicitly. The class is one of <code>note</code>, <code>caution</code>, <code>warning</code>,
+<code>special</code>.</p>
+<aside class="note">
+<p>This is a note.</p>
+<p>Foo bar.</p>
+
+</aside>
+<p>Also:</p>
+<aside class="caution">
+Caution – you have been warned.
+</aside>
+</section><section id="source-code">
+<h2 id="source-code">Source code</h2>
+<p>Here’s source code that will be pretty-printed on the devsite. Outside
+production mode, it’s just a plain <code><pre></code> that presents pre-formatted code
+without coloring:</p>
+<pre class="prettyprint">
+#include <iostream>
+
+int main() {
+ char c = 'x';
+ std::cout << "Hello world\n";
+ return 0;
+}
+</pre>
+<p>For some code (like shell samples), we want to disable pretty-printing:</p>
+<pre>
+$ ls | wc
+$ echo "hello world"
+</pre>
+<p>By default <code>:prettyprint:</code> is <code>1</code>.</p>
+<p>For short inline code, use fixed-formatting like <code>int x = 2;</code>. Note that this
+won’t get syntax-highlighted and may be line-wrapped, so keep it very short.</p>
+</section><section id="section-heading">
+<span id="link-for-section-heading"></span><h2 id="section-heading"><span id="link-for-section-heading"></span>Section heading</h2>
+<p>Here’s a demonstration of heading nesting levels. This is a top-level section in
+the document. The document title is the first header and it’s delimited by hash
+signes (<code>#</code>) from above and below.</p>
+<section id="subsection-heading">
+<h3 id="subsection-heading">Subsection heading</h3>
+<p>Subsection.</p>
+<section id="sub-subsection-heading">
+<h4 id="sub-subsection-heading">Sub-subsection heading</h4>
+<p>That’s pretty deep...</p>
+<section id="sub-sub-subsection-heading">
+<h5 id="sub-sub-subsection-heading">Sub-sub-subsection heading</h5>
+<p>It’s probably not the best idea to go this far (renders to <code><h5></code>).</p>
+</section></section></section></section><section id="expandable-sections">
+<h2 id="expandable-sections">Expandable sections</h2>
+<p>The devsite can render expandable sections when a special <code>class</code> is applied.
+This can be achieved by specifying the <code>rst-class</code> immediately before a
+section (or any other element), as follows:</p>
+<section class="expandable" id="expandable-section">
+<h3 id="expandable-section">Expandable Section</h3>
+<p>Look, ma! I’m expandable!</p>
+</section></section><section id="lists">
+<h2 id="lists">Lists</h2>
+<p>Auto-numbered ordered lists:</p>
+<ol class="arabic simple">
+<li>One</li>
+<li>Two</li>
+<li>Three</li>
+</ol>
+<p>Manually numbered ordered lists:</p>
+<ol class="arabic simple">
+<li>One</li>
+<li>Two</li>
+<li>Three</li>
+</ol>
+<p>Unordered (bullet) lists:</p>
+<ul class="small-gap">
+<li>One</li>
+<li>Two</li>
+<li>Three</li>
+</ul>
+<p>Lists can be nested and mixed too:</p>
+<ul class="small-gap">
+<li><p class="first">Toplevel</p>
+<ol class="arabic simple">
+<li>One</li>
+<li>Two</li>
+</ol>
+</li>
+<li>Back to top level</li>
+</ul>
+</section><section id="tables">
+<h2 id="tables">Tables</h2>
+<p>The full scoop on tables is <a class="reference external" href="http://sphinx-doc.org/rest.html#tables">http://sphinx-doc.org/rest.html#tables</a> and the
+Docutils pages linked from it.</p>
+<p>“Simple tables” require less markup but are limited:</p>
+<table border="1" class="docutils">
+<colgroup>
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">A</th>
+<th class="head">B</th>
+<th class="head">A and B</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>False</td>
+<td>False</td>
+<td>False</td>
+</tr>
+<tr class="row-odd"><td>True</td>
+<td>False</td>
+<td>False</td>
+</tr>
+<tr class="row-even"><td>False</td>
+<td>True</td>
+<td>False</td>
+</tr>
+<tr class="row-odd"><td>True</td>
+<td>True</td>
+<td>True</td>
+</tr>
+</tbody>
+</table>
+<p>“Grid tables” are versatile but require more markup:</p>
+<table border="1" class="docutils">
+<colgroup>
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Header row, column 1
+(header rows optional)</th>
+<th class="head">Header 2</th>
+<th class="head">Header 3</th>
+<th class="head">Header 4</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>body row 1, column 1</td>
+<td>column 2</td>
+<td>column 3</td>
+<td>column 4</td>
+</tr>
+<tr class="row-odd"><td>body row 2</td>
+<td>...</td>
+<td>...</td>
+<td> </td>
+</tr>
+</tbody>
+</table>
+</section></section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/sdk/download.html b/native_client_sdk/doc_generated/sdk/download.html
new file mode 100644
index 0000000..3fc3dee
--- /dev/null
+++ b/native_client_sdk/doc_generated/sdk/download.html
@@ -0,0 +1,278 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<section id="download-the-native-client-sdk">
+<span id="download"></span><h1 id="download-the-native-client-sdk"><span id="download"></span>Download the Native Client SDK</h1>
+<p>To build Native Client modules, you must download and install the Native
+Client Software Development Kit (SDK). This page provides an overview
+of the Native Client SDK, and instructions for how to download and
+install the SDK.</p>
+<section id="overview">
+<h2 id="overview">Overview</h2>
+<p>The Native Client SDK includes the following:</p>
+<dl class="docutils">
+<dt>support for multiple Pepper versions</dt>
+<dd>The SDK contains <strong>bundles</strong> that let you compile Native Client modules
+using different versions of the
+<a class="reference internal" href="/native-client/overview.html#link-pepper"><em>Pepper Plugin API</em></a> (e.g., Pepper 31 or Pepper Canary). Review the
+<a class="reference internal" href="/native-client/sdk/release-notes.html"><em>Release Notes</em></a> for a description of the new features
+included in each Pepper version to help you decide which bundle to
+use to develop your application. In general, Native Client modules
+compiled using a particular Pepper version will work in
+corresponding versions of Chrome and higher. For example, a module
+compiled using the Pepper 31 bundle will work in Chrome 31 and
+higher.</dd>
+<dt>update utility</dt>
+<dd>The <code>naclsdk</code> utility (<code>naclsdk.bat</code> on Windows) lets you download new
+bundles that are available, as well as new versions of existing bundles.</dd>
+<dt>toolchains</dt>
+<dd>Each platform includes three toolchains: one for compiling
+Portable Native Client (PNaCl) applications, one for compiling
+architecture-specific Native Client applications with newlib, and
+one for compiling architecture-specific Native Client applications with glibc.
+Newlib and glibc are two different implementations
+of the C standard library. All three toolchains contain
+Native Client-compatible versions of standard compilers, linkers,
+and other tools. See <a class="reference internal" href="/native-client/nacl-and-pnacl.html"><em>NaCl and PNaCl</em></a> to help
+you choose the right toolchain.</dd>
+<dt>examples</dt>
+<dd>Each example in the SDK includes C or C++ source files and header files
+illustrating how to use NaCl and Pepper, along with a Makefile to build
+the example using each of the toolchains.</dd>
+<dt>tools</dt>
+<dd>The SDK includes a number of additional tools that you can use for
+tasks such as validating Native Client modules and running modules
+from the command line.</dd>
+</dl>
+<p>Follow the steps below to download and install the Native Client SDK.</p>
+</section><section id="prerequisites">
+<h2 id="prerequisites">Prerequisites</h2>
+<ul class="small-gap">
+<li><p class="first"><strong>Python:</strong> Make sure you have Python 2.6 or 2.7 installed, and that the
+Python executable is in your path.</p>
+<ul class="small-gap">
+<li>On Mac/Linux, Python is likely preinstalled. Run the command <code>"python
+-V</code>” in a terminal window, and make sure that the version of Python you
+have is 2.6.x or 2.7.x (if it’s not, upgrade to one of those versions).</li>
+<li>On Windows, you may need to install Python. Go to
+<a class="reference external" href="http://www.python.org/download/">http://www.python.org/download/</a> and
+select the latest 2.x version. In addition, be sure to add the Python
+directory (for example, <code>C:\python27</code>) to the PATH <a class="reference external" href="http://en.wikipedia.org/wiki/Environment_variable">environment
+variable</a>. After
+you’ve installed Python, run the command <code>"python -V</code>” in a Command
+Prompt window and verify that the version of Python you have is 2.6.x or
+2.7.x.</li>
+<li>Note that Python 3.x is not yet supported.</li>
+</ul>
+</li>
+<li><strong>Make:</strong> On the Mac, you need to install the <code>make</code> command on your system
+before you can build and run the examples in the SDK. One easy way to get
+<code>make</code>, along with several other useful tools, is to install
+<a class="reference external" href="https://developer.apple.com/technologies/tools/">Xcode Developer Tools</a>.
+After installing Xcode, go to the Preferences menu, select
+Downloads and Components, and verify that Command Line Tools are installed.
+If you’d rather not install Xcode, you can download and build an
+<a class="reference external" href="http://mac.softpedia.com/dyn-postdownload.php?p=44632&t=4&i=1">open source version</a> of
+<code>make</code>. In order to build the command you may also need to download and
+install a copy of <a class="reference external" href="https://github.com/kennethreitz/osx-gcc-installer">gcc</a>.</li>
+</ul>
+</section><section id="download-and-install-the-sdk">
+<h2 id="download-and-install-the-sdk">Download and install the SDK</h2>
+<ol class="arabic">
+<li><p class="first">Download the SDK update utility: <a class="reference external" href="http://storage.googleapis.com/nativeclient-mirror/nacl/nacl_sdk/nacl_sdk.zip">nacl_sdk.zip</a>.</p>
+</li>
+<li><p class="first">Unzip the SDK update utility:</p>
+<ul class="small-gap">
+<li><p class="first">On Mac/Linux, run the command “<code>unzip nacl_sdk.zip</code>” in a terminal
+window.</p>
+</li>
+<li><p class="first">On Windows, right-click on the .zip file and select “Extract All...”. A
+dialog box will open; enter a location and click “Extract”.</p>
+</li>
+</ul>
+<p>Unzipping the SDK update utility creates a directory called <code>nacl_sdk</code> with
+the following files and directories:</p>
+<ul class="small-gap">
+<li><p class="first"><code>naclsdk</code> (and <code>naclsdk.bat</code> for Windows) — the front end of the update
+utility, i.e., the command you run to download the latest bundles</p>
+</li>
+<li><p class="first"><code>sdk_cache</code> — a directory with a manifest file that lists the bundles
+you have already downloaded</p>
+</li>
+<li><p class="first"><code>sdk_tools</code> — the back end of the update utility, also known as the
+“sdk_tools” bundle</p>
+</li>
+</ul>
+</li>
+<li><p class="first">To see the SDK bundles that are available for download, go to the <code>nacl_sdk</code>
+directory and run <code>naclsdk</code> with the <code>"list"</code> command.
+The SDK includes a separate bundle for each version of Chrome/Pepper.</p>
+<p>On Mac/Linux:</p>
+<pre class="prettyprint">
+$ cd nacl_sdk
+$ ./naclsdk list
+</pre>
+<p>On Windows:</p>
+<pre class="prettyprint">
+> cd nacl_sdk
+> naclsdk list
+</pre>
+<p>You should see output similar to this:</p>
+<pre class="prettyprint">
+Bundles:
+ I: installed
+ *: update available
+
+ I sdk_tools (stable)
+ vs_addin (dev)
+ pepper_27 (post_stable)
+ pepper_28 (post_stable)
+ pepper_29 (post_stable)
+ pepper_30 (post_stable)
+ pepper_31 (stable)
+ pepper_32 (beta)
+ pepper_canary (canary)
+</pre>
+<p>The sample output above shows that there are a number of bundles available
+for download, and that you have already installed the latest revision of the
+<code>sdk_tools</code> bundle (it was included in the zip file you downloaded).
+Each bundle is labeled post-stable, stable, beta, dev, or canary.
+These labels usually correspond to the current versions of
+Chrome. (In the example above, Chrome 31 is stable, Chrome 32 is beta, etc.).
+We generally recommend that you download and use a “stable” bundle,
+as applications developed with “stable” bundles can be used by all current
+Chrome users. This is because Native Client is designed to be
+backward-compatible (for example, applications developed with the
+<code>pepper_31</code> bundle can run in Chrome 31, Chrome 32, etc.).
+Thus in the example above, <code>pepper_31</code> is the recommended bundle to use.</p>
+</li>
+<li><p class="first">Run <code>naclsdk</code> with the “update” command to download recommended bundles.</p>
+<p>On Mac/Linux:</p>
+<pre class="prettyprint">
+$ ./naclsdk update
+</pre>
+<p>On Windows:</p>
+<pre class="prettyprint">
+> naclsdk update
+</pre>
+<p>By default, <code>naclsdk</code> only downloads bundles that are
+recommended—generally those that are “stable.” Continuing with the earlier example, the
+“update” command would only download the <code>pepper_31</code>
+bundle, since the bundles <code>pepper_32</code> and greater are not yet stable.
+If you want the <code>pepper_32</code> bundle, you must ask for it explicitly:</p>
+<pre class="prettyprint">
+$ ./naclsdk update pepper_32
+</pre>
+<p>Note that you never need to update the <code>sdk_tools</code> bundle—it is
+updated automatically (if necessary) whenever you run <code>naclsdk</code>.</p>
+</li>
+</ol>
+<aside class="note">
+The minimum SDK bundle that supports PNaCl is <code>pepper_31</code>.
+</aside>
+</section><section id="staying-up-to-date-and-getting-new-versions-of-bundles">
+<h2 id="staying-up-to-date-and-getting-new-versions-of-bundles">Staying up-to-date and getting new versions of bundles</h2>
+<ol class="arabic">
+<li><p class="first">Run <code>naclsdk</code> with the “list” command again; this will show you the list of
+available bundles and verify which bundles you have installed.</p>
+<p>On Mac/Linux:</p>
+<pre class="prettyprint">
+$ ./naclsdk list
+</pre>
+<p>On Windows:</p>
+<pre class="prettyprint">
+> naclsdk list
+</pre>
+<p>Continuing with the earlier example, if you previously downloaded the
+<code>pepper_31</code> bundle, you should see output similar to this:</p>
+<pre class="prettyprint">
+Bundles:
+ I: installed
+ *: update available
+
+ I sdk_tools (stable)
+ vs_addin (dev)
+ pepper_27 (post_stable)
+ pepper_28 (post_stable)
+ pepper_29 (post_stable)
+ pepper_30 (post_stable)
+ I pepper_31 (stable)
+ pepper_32 (beta)
+ pepper_canary (canary)
+</pre>
+</li>
+<li><p class="first">Running <code>naclsdk</code> with the “update” command again will verify that your
+bundles are up-to-date, or warn if you there are new versions of previously
+installed bundles.</p>
+<p>On Mac/Linux:</p>
+<pre class="prettyprint">
+$ ./naclsdk update
+</pre>
+<p>On Windows:</p>
+<pre class="prettyprint">
+> naclsdk update
+</pre>
+<p>Continuing with the earlier example, you should see output similar to this:</p>
+<pre class="prettyprint">
+pepper_31 is already up-to-date.
+</pre>
+</li>
+<li><p class="first">To check if there is a new version of a previously installed bundle, you can
+run the “list” command again:</p>
+<pre class="prettyprint">
+Bundles:
+ I: installed
+ *: update available
+
+ I sdk_tools (stable)
+ vs_addin (dev)
+ pepper_27 (post_stable)
+ pepper_28 (post_stable)
+ pepper_29 (post_stable)
+ pepper_30 (post_stable)
+ I* pepper_31 (stable)
+ pepper_32 (beta)
+ pepper_canary (canary)
+</pre>
+<p>An asterisk next to a bundle indicates that there is an update
+available for that bundle. If you run the “update” command now,
+<code>naclsdk</code> will warn you with a message similar to this:</p>
+<pre class="prettyprint">
+WARNING: pepper_31 already exists, but has an update available.
+Run update with the --force option to overwrite the existing directory.
+Warning: This will overwrite any modifications you have made within this directory.
+</pre>
+<p>To dowload the new version of a bundle and overwrite the existing directory
+for that bundle, run <code>naclsdk</code> with the <code>--force</code> option.</p>
+<p>On Mac/Linux:</p>
+<pre class="prettyprint">
+$ ./naclsdk update --force
+</pre>
+<p>On Windows:</p>
+<pre class="prettyprint">
+> naclsdk update --force
+</pre>
+</li>
+<li><p class="first">For more information about the <code>naclsdk</code> utility, run:</p>
+<p>On Mac/Linux:</p>
+<pre class="prettyprint">
+$ ./naclsdk help
+</pre>
+<p>On Windows:</p>
+<pre class="prettyprint">
+> naclsdk help
+</pre>
+</li>
+</ol>
+<p>Next steps:</p>
+<ul class="small-gap">
+<li>Browse through the <a class="reference internal" href="/native-client/sdk/release-notes.html"><em>Release Notes</em></a> for important
+information about the SDK and new bundles.</li>
+<li>If you’re just getting started with Native Client, we recommend reading
+the <a class="reference internal" href="/native-client/overview.html"><em>Technical Overview</em></a> and walking through the
+<a class="reference internal" href="/native-client/devguide/tutorial/tutorial-part1.html"><em>Getting Started Tutorial</em></a>.</li>
+<li>If you’d rather dive into information about the toolchains, see
+<a class="reference internal" href="/native-client/devguide/devcycle/building.html"><em>Building Native Client Modules</em></a>.</li>
+</ul>
+</section></section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/sdk/examples.html b/native_client_sdk/doc_generated/sdk/examples.html
new file mode 100644
index 0000000..4111fc00
--- /dev/null
+++ b/native_client_sdk/doc_generated/sdk/examples.html
@@ -0,0 +1,254 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<section id="running-the-sdk-examples">
+<span id="sdk-examples-2"></span><h1 id="running-the-sdk-examples"><span id="sdk-examples-2"></span>Running the SDK Examples</h1>
+<p>Every Native Client SDK bundle comes with a folder of example applications.
+Each example demonstrates one or two key Native Client programming concepts.
+After you’ve <a class="reference internal" href="/native-client/sdk/download.html"><em>downloaded the SDK</em></a>, follow the instructions
+on this page to build and run the examples.</p>
+<section id="configure-the-google-chrome-browser">
+<h2 id="configure-the-google-chrome-browser">Configure the Google Chrome Browser</h2>
+<ol class="arabic">
+<li><p class="first">Your version of Chrome must be equal to or greater than the version of
+your SDK bundle. For example, if you’re developing with the <code>pepper_31</code>
+bundle, you must use Google Chrome version 31 or greater. To find out what
+version of Chrome you’re using, type <code>about:chrome</code> or <code>about:version</code>
+in the Chrome address bar.</p>
+</li>
+<li><p class="first">For Portable Native Client, no extra Chrome flags are needed as of
+Chrome version 31.</p>
+<p>For other Native Client applications, or to <strong>debug</strong> Portable Native
+Client applications by translating the <strong>pexe</strong> to a <strong>nexe</strong> ahead of
+time, enable the Native Client flag. Native Client is enabled by default
+only for applications distributed through the Chrome Web Store. To run
+Native Client applications that are not distributed through the Chrome
+Web Store, like the SDK examples, you must specifically enable the Native
+Client flag in Chrome:</p>
+<ul class="small-gap">
+<li><p class="first">Type <code>about:flags</code> in the Chrome address bar and scroll down to
+“Native Client”.</p>
+</li>
+<li><p class="first">If the link below “Native Client” says “Disable”, then Native Client is
+already enabled and you don’t need to do anything else.</p>
+</li>
+<li><p class="first">If the link below “Native Client” says “Enable”, click the “Enable”
+link, scroll down to the bottom of the page, and click the “Relaunch
+Now” button. All browser windows will restart when you relaunch Chrome.</p>
+</li>
+</ul>
+</li>
+<li><p class="first">Disable the Chrome cache. Chrome caches resources aggressively; when you
+are building a Native Client application you should disable the cache to
+make sure that Chrome loads the latest version:</p>
+<ul class="small-gap">
+<li><p class="first">Open Chrome’s developer tools by clicking the menu icon <img alt="menu-icon" src="/native-client/images/menu-icon.png" /> and
+choosing Tools > Developer tools.</p>
+</li>
+<li><p class="first">Click the gear icon <img alt="gear-icon" src="/native-client/images/gear-icon.png" /> in the bottom right corner of the
+Chrome window.</p>
+</li>
+<li><p class="first">Under the “General” settings, check the box next to “Disable cache”.</p>
+</li>
+</ul>
+</li>
+</ol>
+</section><section id="build-the-sdk-examples">
+<h2 id="build-the-sdk-examples">Build the SDK examples</h2>
+<p>Starting with the <code>pepper_24</code> bundle, the Makefile scripts for the SDK
+examples build multiple versions of the examples using all three SDK
+toolchains (newlib, glibc, and PNaCl) and in both release and debug
+configurations. (Note that some examples build only with the particular
+toolchains).</p>
+<p>To build all the examples, go to the examples directory in a specific SDK
+bundle and run <code>make</code>:</p>
+<pre class="prettyprint">
+$ cd pepper_31/examples
+$ make
+make -C api all
+make[1]: Entering directory `pepper_31/examples/api'
+make -C audio all
+make[2]: Entering directory `pepper_31/examples/api/audio'
+ CXX newlib/Debug/audio_x86_32.o
+ LINK newlib/Debug/audio_x86_32.nexe
+ CXX newlib/Debug/audio_x86_64.o
+ LINK newlib/Debug/audio_x86_64.nexe
+ CXX newlib/Debug/audio_arm.o
+ LINK newlib/Debug/audio_arm.nexe
+ CREATE_NMF newlib/Debug/audio.nmf
+make[2]: Leaving directory `pepper_31/examples/api/audio'
+make -C url_loader all
+make[2]: Entering directory `pepper_31/examples/api/url_loader'
+ CXX newlib/Debug/url_loader_x86_32.o
+...
+</pre>
+<p>Calling <code>make</code> from inside a particular example’s directory will build only
+that example:</p>
+<pre class="prettyprint">
+$ cd pepper_31/examples/api/core
+$ make
+ CXX newlib/Debug/core_x86_32.o
+ LINK newlib/Debug/core_x86_32.nexe
+ CXX newlib/Debug/core_x86_64.o
+ LINK newlib/Debug/core_x86_64.nexe
+ CXX newlib/Debug/core_arm.o
+ LINK newlib/Debug/core_arm.nexe
+ CREATE_NMF newlib/Debug/core.nmf
+</pre>
+<p>You can call <code>make</code> with the <code>TOOLCHAIN</code> and <code>CONFIG</code> parameters to
+override the defaults:</p>
+<pre class="prettyprint">
+$ make TOOLCHAIN=pnacl CONFIG=Release
+ CXX pnacl/Release/core_pnacl.o
+ LINK pnacl/Release/core.bc
+ FINALIZE pnacl/Release/core.pexe
+ CREATE_NMF pnacl/Release/core.nmf
+</pre>
+<p>You can also set <code>TOOLCHAIN</code> to “all” to build one or more examples with
+all available toolchains:</p>
+<pre class="prettyprint">
+$ make TOOLCHAIN=all
+make TOOLCHAIN=newlib
+make[1]: Entering directory `pepper_31/examples/api/core'
+ CXX newlib/Debug/core_x86_32.o
+ LINK newlib/Debug/core_x86_32.nexe
+ CXX newlib/Debug/core_x86_64.o
+ LINK newlib/Debug/core_x86_64.nexe
+ CXX newlib/Debug/core_arm.o
+ LINK newlib/Debug/core_arm.nexe
+ CREATE_NMF newlib/Debug/core.nmf
+make[1]: Leaving directory `pepper_31/examples/api/core'
+make TOOLCHAIN=glibc
+make[1]: Entering directory `pepper_31/examples/api/core'
+ CXX glibc/Debug/core_x86_32.o
+ LINK glibc/Debug/core_x86_32.nexe
+ CXX glibc/Debug/core_x86_64.o
+ LINK glibc/Debug/core_x86_64.nexe
+ CREATE_NMF glibc/Debug/core.nmf
+make[1]: Leaving directory `pepper_31/examples/api/core'
+make TOOLCHAIN=pnacl
+make[1]: Entering directory `pepper_31/examples/api/core'
+ CXX pnacl/Debug/core_pnacl.o
+ LINK pnacl/Debug/core.bc
+ FINALIZE pnacl/Debug/core.pexe
+ TRANSLATE pnacl/Debug/core_x86_32.nexe
+ TRANSLATE pnacl/Debug/core_x86_64.nexe
+ TRANSLATE pnacl/Debug/core_arm.nexe
+ CREATE_NMF pnacl/Debug/core.nmf
+make[1]: Leaving directory `pepper_31/examples/api/core'
+make TOOLCHAIN=linux
+make[1]: Entering directory `pepper_31/examples/api/core'
+ CXX linux/Debug/core.o
+ LINK linux/Debug/core.so
+make[1]: Leaving directory `pepper_31/examples/api/core'
+</pre>
+<p>After running <code>make</code>, each example directory will contain one or more of
+the following subdirectories:</p>
+<ul class="small-gap">
+<li>a <code>newlib</code> directory with subdirectories <code>Debug</code> and <code>Release</code>;</li>
+<li>a <code>glibc</code> directory with subdirectories <code>Debug</code> and <code>Release</code>;</li>
+<li>a <code>pnacl</code> directory with subdirectories <code>Debug</code> and <code>Release</code>;</li>
+</ul>
+<p>For the newlib and glibc toolchains the Debug and Release subdirectories
+contain .nexe files for all target architectures. For the PNaCl toolchain
+they contain a single .pexe file. PNaCl debug also produces pre-translated
+.nexe files, for ease of debugging. All Debug and Release directories contain
+a manifest (.nmf) file that references the associated .nexe or .pexe files.
+For information about Native Client manifest files, see the <a class="reference internal" href="/native-client/overview.html"><em>Technical
+Overview</em></a>.</p>
+<p>For details on how to use <code>make</code>, see the <a class="reference external" href="http://www.gnu.org/software/make/manual/make.html">GNU ‘make’ Manual</a>. For details on how to
+use the SDK toolchain itself, see <a class="reference internal" href="/native-client/devguide/devcycle/building.html"><em>Building Native Client Modules</em></a>.</p>
+</section><section id="run-the-sdk-examples">
+<span id="id1"></span><h2 id="run-the-sdk-examples"><span id="id1"></span>Run the SDK examples</h2>
+<p>To run the SDK examples, you can use the <code>make run</code> command:</p>
+<pre class="prettyprint">
+$ cd pepper_31/examples/api/core
+$ make run
+</pre>
+<p>This will launch a local HTTP server which will serve the data for the
+example. It then launches Chrome with the address of this server, usually
+<a class="reference external" href="http://localhost:5103">http://localhost:5103</a>. After you close Chrome, the local HTTP server is
+automatically shutdown.</p>
+<p>This command will try to find an executable named <code>google-chrome</code> in your
+<code>PATH</code> environment variable. If it can’t, you’ll get an error message like
+this:</p>
+<pre class="prettyprint">
+pepper_31/tools/common.mk:415: No valid Chrome found at CHROME_PATH=
+pepper_31/tools/common.mk:415: *** Set CHROME_PATH via an environment variable, or command-line.. Stop.
+</pre>
+<p>Set the CHROME_PATH environment variable to the location of your Chrome
+executable.</p>
+<ul class="small-gap">
+<li><p class="first">On Windows:</p>
+<p>The default install location of Chrome is
+<code>C:\Program Files (x86)\Google\Chrome\Application\chrome.exe</code> for Chrome
+stable and
+<code>C:\Users\<username>\AppData\Local\Google\Chrome SxS\Application\chrome.exe</code>
+for Chrome Canary; try looking in those directories first:</p>
+<pre class="prettyprint">
+> set CHROME_PATH=<Path to chrome.exe>
+</pre>
+</li>
+<li><p class="first">On Linux:</p>
+<pre class="prettyprint">
+$ export CHROME_PATH=<Path to google-chrome>
+</pre>
+</li>
+<li><p class="first">On Mac:</p>
+<p>The default install location of Chrome is
+<code>/Applications/Google Chrome.app/Contents/MacOS/Google Chrome</code> for
+Chrome Stable and
+<code>Applications/Google Chrome Canary.app/Contents/MacOS/Google Chrome Canary</code>
+for Chrome Canary. Note that you have to reference the executable inside the
+application bundle, not the top-level <code>.app</code> directory:</p>
+<pre class="prettyprint">
+$ export CHROME_PATH=<Path to Google Chrome>
+</pre>
+</li>
+</ul>
+<p>You can run via a different toolchain or configuration by using the
+<code>TOOLCHAIN</code> and <code>CONFIG</code> parameters to make:</p>
+<pre class="prettyprint">
+$ make run TOOLCHAIN=pnacl CONFIG=Debug
+</pre>
+</section><section id="run-the-sdk-examples-as-packaged-apps">
+<span id="run-sdk-examples-as-packaged"></span><h2 id="run-the-sdk-examples-as-packaged-apps"><span id="run-sdk-examples-as-packaged"></span>Run the SDK examples as packaged apps</h2>
+<p>Each example can also be launched as a packaged app. For more information about
+using Native Client for packaged apps, see <a class="reference internal" href="/native-client/devguide/distributing.html#distributing-packaged"><em>Packaged appliction</em></a>. For general information about packaged apps, see the
+<a class="reference external" href="http://developer.chrome.com/apps/about_apps.html">Chrome apps documentation</a>.</p>
+<p>Some Pepper features, such as TCP/UDP socket access, are only allowed in
+packaged apps. The examples that use these features must be run as packaged
+apps, by using the <code>make run_package</code> command:</p>
+<pre class="prettyprint">
+$ make run_package
+</pre>
+<p>You can use <code>TOOLCHAIN</code> and <code>CONFIG</code> parameters as above to run with a
+different toolchain or configuration.</p>
+</section><section id="debugging-the-sdk-examples">
+<span id="id2"></span><h2 id="debugging-the-sdk-examples"><span id="id2"></span>Debugging the SDK examples</h2>
+<p>The NaCl SDK uses <a class="reference external" href="https://www.gnu.org/software/gdb/">GDB</a> to debug Native
+Client code. The SDK includes a prebuilt version of GDB that is compatible with
+NaCl code. To use it, run the <code>make debug</code> command from an example directory:</p>
+<pre class="prettyprint">
+$ make debug
+</pre>
+<p>This will launch Chrome with the <code>--enable-nacl-debug</code> flag set. This flag
+will cause Chrome to pause when a NaCl module is first loaded, waiting for a
+connection from gdb. The <code>make debug</code> command also simultaneously launches
+GDB and loads the symbols for that NEXE. To connect GDB to Chrome, in the GDB
+console, type:</p>
+<pre class="prettyprint">
+(gdb) target remote :4014
+</pre>
+<p>This tells GDB to connect to a TCP port on localhost:4014–the port that
+Chrome is listening on. GDB will respond:</p>
+<pre class="prettyprint">
+Remote debugging using :4014
+0x000000000fa00080 in ?? ()
+</pre>
+<p>At this point, you can use the standard GDB commands to debug your NaCl module.
+The most common commands you will use to debug are <code>continue</code>, <code>step</code>,
+<code>next</code>, <code>break</code> and <code>backtrace</code>. See <a class="reference internal" href="/native-client/devguide/devcycle/debugging.html"><em>Debugging</em></a> for more information about debugging a Native Client
+application.</p>
+</section></section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/sdk/release-notes.html b/native_client_sdk/doc_generated/sdk/release-notes.html
new file mode 100644
index 0000000..28fe1b1f
--- /dev/null
+++ b/native_client_sdk/doc_generated/sdk/release-notes.html
@@ -0,0 +1,526 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<section id="release-notes">
+<span id="sdk-release-notes"></span><h1 id="release-notes"><span id="sdk-release-notes"></span>Release Notes</h1>
+<section id="chrome-pepper-33-branched-on-16-december-2013">
+<h2 id="chrome-pepper-33-branched-on-16-december-2013">Chrome/Pepper 33 (branched on 16 December 2013)</h2>
+<section id="portable-native-client">
+<h3 id="portable-native-client">Portable Native Client</h3>
+<ul class="small-gap">
+<li>PNaCl’s default C++ standard library is now LLVM’s own libc++, based on
+LLVM 3.3. This library now supports optional <code>setjmp</code>/<code>longjmp</code> exception
+handling (see <a class="reference external" href="https://groups.google.com/forum/#!topic/native-client-discuss/0spfg6O04FM">announcement</a>
+for details).</li>
+</ul>
+</section><section id="sdk">
+<h3 id="sdk">SDK</h3>
+<ul class="small-gap">
+<li>The <code>nacl_io</code> library now includes a FUSE mount.</li>
+<li>In the SDK examples, <code>common.js</code> now loads the Release version of the
+nexes/pexes that are built (by default).</li>
+<li>“<code>make debug</code>” and “<code>make run</code>” have been fixed on Mac.</li>
+</ul>
+</section></section><section id="pnacl-enabled-by-default-in-chrome-31-12-nov-2013">
+<h2 id="pnacl-enabled-by-default-in-chrome-31-12-nov-2013">PNaCl enabled by default in Chrome 31 (12 Nov 2013)</h2>
+<ul class="small-gap">
+<li>Portable Native Client (PNaCl) is enabled by default in Chrome 31. See
+<a class="reference internal" href="/native-client/nacl-and-pnacl.html"><em>NaCl and PNaCl</em></a> for details on the differences between
+NaCl and PNaCl.</li>
+<li>The PNaCl ABI has changed from the preview release in Chrome 30.
+Pexe modules built with the <code>pepper_30</code> bundle in the SDK must be recompiled
+with the <code>pepper_31</code> bundle or later.
+As a general rule, we always recommended building applications with the latest
+stable bundle in the Native Client SDK.
+The PNaCl ABI will remain stable starting with the release of Chrome 31.</li>
+<li><p class="first">Additional changes in the Chrome/Pepper 31 release:</p>
+<ul class="small-gap">
+<li>Updates to the Pepper API, including socket and network support</li>
+<li>Improved socket support in the <code>nacl_io</code> library</li>
+</ul>
+</li>
+</ul>
+</section><section id="pnacl-in-chrome-30-dev-channel-01-aug-2013">
+<h2 id="pnacl-in-chrome-30-dev-channel-01-aug-2013">PNaCl in Chrome 30 Dev channel (01 Aug 2013)</h2>
+<ul class="small-gap">
+<li>Portable Native Client (PNaCl) is currently available for preview in Chrome
+30 (currently in the Dev channel). Apps and sites built with PNaCl can run in
+Chrome 30 without an explicit flag.</li>
+<li>See <a class="reference external" href="http://www.chromium.org/nativeclient/pnacl/introduction-to-portable-native-client">Introduction to Portable Native Client</a>
+for information on developing for PNaCl. More documentation will be available
+soon.</li>
+<li>Please note that the <a class="reference external" href="http://www.chromium.org/nativeclient/pnacl/bitcode-abi">PNaCl bitcode ABI</a> may still change
+before the official public release; if you’re developing a PNaCl-based
+application, be sure to build your code with the latest version of the Native
+Client SDK.</li>
+<li>Update: PNaCl is not enabled by default in beta or stable versions of M30.</li>
+</ul>
+</section><section id="pnacl-15-may-2013">
+<h2 id="pnacl-15-may-2013">PNaCl (15 May 2013)</h2>
+<ul class="small-gap">
+<li>Portable Native Client (PNaCl) is currently available for developer preview
+in Chrome 29 or higher.</li>
+<li>To produce a PNaCl executable (.pexe) file, you must use the pnacl toolchain
+in the current <code>pepper_canary</code> bundle. Chrome 29 does not support .pexe
+files produced by earlier versions of the pnacl toolchain (that is,
+executables compiled with the <code>pepper_28</code> bundle or earlier).</li>
+<li>To run an application with a PNaCl module, you must launch Chrome 29 with the
+<code>--enable-pnacl</code> flag (for <a class="reference external" href="http://developer.chrome.com/apps/about_apps.html">packaged apps</a>), or the
+<code>--enable-nacl</code> flag (for other apps).</li>
+<li>When you launch Chrome with the <code>--enable-pnacl</code> flag, Chrome loads a PNaCl
+translator in the background. Wait about a minute after you launch Chrome and
+check <a class="reference external" href="chrome://nacl">chrome://nacl</a> to verify that the translator loaded.</li>
+<li>PNaCl translators are currently available for 32-bit x86, 64-bit x86, and ARM
+architectures.</li>
+<li>PNaCl applications must use the newlib C library (glibc and dynamic linking
+are not supported yet).</li>
+<li>The intermediate representation (IR) format may change prior to the release
+of PNaCl. If so, you will need to recompile your application with the pnacl
+toolchain in a new SDK bundle.</li>
+</ul>
+</section><section id="pepper-27-12-april-2013">
+<h2 id="pepper-27-12-april-2013">Pepper 27 (12 April 2013)</h2>
+<p>The Pepper 27 bundle features a significant number of new libraries that have
+been incorporated directly into the SDK.</p>
+<section id="libraries">
+<h3 id="libraries">Libraries</h3>
+<ul class="small-gap">
+<li><p class="first">A number of libraries from the naclports project have been incorporated
+directly into the Native Client SDK. These libraries include:</p>
+<ul class="small-gap">
+<li>image encoding/decoding: jpeg, tiff, png, webp</li>
+<li>multimedia: openal, freealut, ogg, vorbis</li>
+<li>XML parsing: tinyxml, xml2</li>
+<li>miscellaneous: zlib (general purpose compression), freetype (font
+rendering), lua (Lua interpreter)</li>
+</ul>
+<p>The libraries are located in <code>ports/lib</code>, and the header files are in
+<code>ports/include</code>.</p>
+</li>
+<li>The <code>httpfs</code> filesystem in the nacl_io library now caches content in memory
+by default; this improves performance considerably.</li>
+<li>For applications compiled with a glibc toolchain, <code>dlopen()</code> can now be
+used to open shared libraries that are not specified in an application’s
+Native Client manifest (.nmf) file. This allows applications, for example, to
+download a shared object and then use <code>dlopen()</code> to access the shared
+object. The <code>dlopen</code> example has been modified to demonstrate this
+functionality: reverse.cc is built into a shared object (.so) file, which is
+downloaded and opened using an <code>httpfs</code> mount.</li>
+</ul>
+</section><section id="examples">
+<h3 id="examples">Examples</h3>
+<ul class="small-gap">
+<li>Each example now has a single <code>index.html</code> file, instead of multiple HTML
+files corresponding to NaCl modules built using different toolchains and
+configurations. By default, most examples are built using one toolchain
+(newlib) and one configuration (Debug). If you build an example using
+multiple toolchains or configurations, you can specify which version to run
+in Chrome using the query parameters <code>tc</code> and <code>config</code>. For example,
+assuming you are serving an example from the local server localhost:5103, you
+can run a version of the example built with the glibc toolchain in the
+Release configuration by specifying the following URL in Chrome:
+<code>http://localhost:5103/index.html?tc=glibc&config=Release</code>. For additional
+information about how different NaCl modules are loaded into <code>index.html</code>,
+see the <code>common.js</code> file in each example.</li>
+</ul>
+</section><section id="build-tools-and-toolchains">
+<h3 id="build-tools-and-toolchains">Build tools and toolchains</h3>
+<ul class="small-gap">
+<li>Common makefiles, including <code>tools/common.mk</code>, can now handle source files
+located outside of an application’s root directory. For example, a Makefile
+for an application can specify a source file to compile such as
+<code>../../some/other/place.cpp</code>.</li>
+</ul>
+</section></section><section id="pepper-26-29-march-2013">
+<h2 id="pepper-26-29-march-2013">Pepper 26 (29 March 2013)</h2>
+<p>The Pepper 26 bundle includes a new HTTP filesystem type in the nacl_mounts
+library (which has been renamed nacl_io), changes to the example Makefiles, a
+simple new 3D example, and a threaded file IO example.</p>
+<section id="id1">
+<h3 id="id1">Build tools and toolchains</h3>
+<ul class="small-gap">
+<li><p class="first">Makefiles have been changed significantly:</p>
+<ul class="small-gap">
+<li>Build commands are now specified in a number of common files
+(<code>tools/*.mk</code>), which are included in the Makefiles in the examples.</li>
+<li>By default, make displays a simplified list of build steps (e.g., <code>CC
+newlib/Debug/hello_world_x86_32.o</code>) rather than the actual build commands.
+To see the actual build commands, run <code>make V=1</code>.</li>
+<li>By default, most examples are built using one toolchain (newlib) and one
+configuration (Debug). To build an example using a different toolchain or
+configuration, run <code>make</code> with the parameters <code>TOOLCHAIN=<x></code> or
+<code>CONFIG=<y></code>. You can also run make <code>all_versions</code> to build an example
+with all toolchains.</li>
+</ul>
+</li>
+<li>Header files have been moved out of the toolchains. All toolchains now share
+the same set of header files as host builds. Previously host and NaCl builds
+used different headers, which could cause build problems.</li>
+</ul>
+</section><section id="id2">
+<h3 id="id2">Libraries</h3>
+<ul class="small-gap">
+<li>The nacl_mounts library has been renamed <strong>nacl_io</strong>, and has been expanded
+with a new type of mount, httpfs, which can be used to read URLs via HTTP.
+For details see <code>include/nacl_io/nacl_io.h</code>, as well as the
+<code>hello_nacl_io</code> example.</li>
+</ul>
+</section><section id="id3">
+<h3 id="id3">Examples</h3>
+<ul class="small-gap">
+<li>A new example, <strong>hello_world_instance3d</strong>, has been added to demonstrate a
+simplified 3D app.</li>
+<li>The <strong>file_io</strong> example has been rewritten to do all file operations on a
+thread. The example demonstrates how to use the MessageLoop API and blocking
+callbacks on a thread.</li>
+</ul>
+</section><section id="general">
+<h3 id="general">General</h3>
+<ul class="small-gap">
+<li>Old bundles (<code>pepper_20</code> and earlier) have been removed from the Native
+Client SDK Manifest, and will no longer be updated by the <code>naclsdk</code>
+command.</li>
+</ul>
+</section></section><section id="pepper-25-21-december-2012">
+<h2 id="pepper-25-21-december-2012">Pepper 25 (21 December 2012)</h2>
+<p>The Pepper 25 bundle features an ARM toolchain to build Native Client modules
+for ARM devices, two new Pepper APIs (including the MessageLoop API, which lets
+you make Pepper calls on background threads), two new libraries (nacl_mounts,
+which provides a virtual file system that you can use with standard C file
+operations, and ppapi_main, which lets you implement a Native Client module
+using a simple ppapi_main function), and two new examples that demonstrate how
+to use the nacl_mounts and ppapi_main libraries.</p>
+<section id="id4">
+<h3 id="id4">Build tools and toolchains</h3>
+<ul class="small-gap">
+<li><p class="first">The SDK includes a new toolchain to build Native Client executables (.nexe
+files) for <strong>ARM devices</strong>.</p>
+<ul class="small-gap">
+<li>Currently the ARM toolchain can only be used to compile modules that use
+the <a class="reference internal" href="/native-client/devguide/devcycle/dynamic-loading.html#c-libraries"><em>newlib C library</em></a>. You cannot use the ARM toolchain
+to compile modules that use the glibc library.</li>
+<li>The ARM toolchain is in the directory
+<code>pepper_25/toolchain/<host>_arm_newlib</code>. The bin subdirectory contains
+the compiler (<code>arm-nacl-gcc</code>), the linker (<code>arm-nacl-g++</code>), and the
+other tools in the toolchain.</li>
+<li>Take a look at the <code>hello_world</code> example to see how to use the ARM
+toolchain. Go to <code>examples/hello_world</code> and run <code>make</code>. When the build
+finishes, the newlib/Debug and newlib/Release subdirectories will contain
+.nexe files for the x86-32, x86-64, and ARM target architecutes, and a
+Native Client manifest (.nmf file) that references those three .nexe files.</li>
+</ul>
+</li>
+<li>The simple web server included in the SDK, <code>httpd.py</code>, has been moved from
+the <code>examples/</code> directory to the <code>tools/</code> directory. On Windows, you can
+run <code>httpd.cmd</code> (in the <code>examples/</code> directory) to start the server.</li>
+</ul>
+</section><section id="ppapi">
+<h3 id="ppapi">PPAPI</h3>
+<p>Pepper 25 includes two new APIs:</p>
+<ul class="small-gap">
+<li>The <a class="reference external" href="https://developers.google.com/native-client/dev/pepperc/struct_p_p_b___console__1__0">Console API</a>
+lets your module log messages to the JavaScript console in the Chrome browser.</li>
+<li>The <a class="reference external" href="https://developers.google.com/native-client/dev/peppercpp/classpp_1_1_message_loop">MessageLoop</a>
+API lets your module make PPAPI calls on a background thread. Once you’ve
+created a message loop resource, attached it to a thread, and run it, you can
+post work to the thread, including completion callbacks for asynchronous
+operations. For a C++ example of how to use the MessageLoop API,
+see <code>pepper_25/include/ppapi/utility/threading/simple_thread.h</code>. Note that
+you cannot make asynchronous PPAPI calls on a background thread without
+creating and using a message loop.</li>
+</ul>
+</section><section id="id5">
+<h3 id="id5">Libraries</h3>
+<p>The SDK includes two new libraries:</p>
+<ul class="small-gap">
+<li><p class="first">The <strong>nacl_mounts</strong> library provides a virtual file system that your module
+can “mount” in a given directory tree. The file system can be one of several
+types:</p>
+<ul class="small-gap">
+<li>“memfs” is an in-memory file system,</li>
+<li>“dev” is a file system with various utility nodes (e.g., <code>/dev/null</code>,
+<code>/dev/console[0-3]</code>, <code>/dev/tty</code>), and</li>
+<li>“html5fs” is a persistent file system.</li>
+</ul>
+<p>Once you’ve mounted a file system in your module, you can use standard C
+library file operations: fopen, fread, fwrite, fseek, and fclose. How those
+operations are performed depends on the type of file system (e.g., for
+html5fs, the operations are performed using the Pepper FileIO API). For a
+list of the types of file systems you can mount, see
+include/nacl_mounts/nacl_mounts.h. For an example of how to use nacl_mounts,
+see examples/hello_nacl_mounts. Note that html5fs is subject to the same
+constraints as persistent <a class="reference internal" href="/native-client/devguide/coding/file-io.html#devguide-coding-fileio"><em>local file IO</em></a> in
+Chrome (for example, prior to using an html5fs file system, you must <a class="reference external" href="enabling_file_access">enable
+local file IO</a>).</p>
+</li>
+<li>The <strong>ppapi_main</strong> library simplifies the creation of a NaCl module by
+providing a familiar C programming environment. With this library, your
+module can have a simple entry point called ppapi_main(), which is similar to
+the standard C main() function, complete with argc and argv[] parameters.
+Your module can also use standard C functions such as printf(), fopen(), and
+fwrite(). For details see include/ppapi_main/ppapi_main.h. For an example of
+how to use ppapi_main, see examples/hello_world_stdio.</li>
+</ul>
+<p>Header files for the new libraries are in the <code>include/</code> directory, source
+files are in the <code>src/</code> directory, and compiled libraries are in the <code>lib/</code>
+directory.</p>
+</section><section id="id6">
+<h3 id="id6">Examples</h3>
+<ul class="small-gap">
+<li><p class="first">The SDK includes two new examples:</p>
+<ul class="small-gap">
+<li><strong>hello_nacl_mounts</strong> illustrates how to use standard C library file
+operations in a Native Client module through the use of the nacl_mounts
+library.</li>
+<li><strong>hello_world_stdio</strong> illustrates how to implement a Native Client module
+with a ppapi_main() function, and how to write to STDOUT and STDERR in a
+module, through the use of the nacl_mounts and ppapi_main libraries. This
+example makes it easy for new users to get started with Native Client by
+letting them start making changes in a familiar C environment.</li>
+</ul>
+</li>
+<li><p class="first">With a few exceptions, the Makefile for each example now builds the following
+versions of each example:</p>
+<ul class="small-gap">
+<li>glibc toolchain: 32-bit and 64-bit .nexes for the x86 target architecture</li>
+<li>newlib toolchain: 32-bit and 64-bit .nexes for the x86 target architecture,
+and ARM .nexe for the ARM architecture</li>
+<li>pnacl toolchain: .pexe (which is subsequently tranlsated to .nexes for the
+x86-32, x86-64, and ARM architectures)</li>
+<li>hosted toolchain: .so or .dll (to be executed as a Pepper plug-in in
+Chrome)</li>
+</ul>
+</li>
+<li>Additionally, each version is built in both a Debug and a Release
+configuration.</li>
+<li>The Makefile for each example includes two new targets: <code>make RUN</code> and
+<code>make LAUNCH</code>. These targets, which are interchangeable, launch a local
+server and an instance of Chrome to run an example. When the instance of
+Chrome is closed, the local server is shut down as well.</li>
+<li>The hello_world_stdio example includes a simplified Makefile that only lists
+source dependencies, and invokes the build rules in a separate file
+(common.mk).</li>
+</ul>
+</section></section><section id="pepper-24-5-december-2012">
+<h2 id="pepper-24-5-december-2012">Pepper 24 (5 December 2012)</h2>
+<p>The Pepper 24 bundle features a new, experimental toolchain called PNaCl (short
+for “Portable Native Client”), a new library (pthreads-win32) for the Windows
+SDK, and an expanded list of attributes for Pepper 3D contexts that lets
+applications specify a GPU preference for low power or performance.</p>
+<section id="id7">
+<h3 id="id7">Build tools and toolchains</h3>
+<ul class="small-gap">
+<li>The SDK includes a new, experimental toolchain called <a class="reference external" href="http://nativeclient.googlecode.com/svn/data/site/pnacl.pdf">PNaCl</a> (pronounced
+“pinnacle”). The PNaCl toolchain produces architecture-independent executable
+files (.pexe files). Chrome doesn’t yet support .pexe files directly, but if
+you want to experiment with this early preview of PNaCl, the toolchain
+includes a tool to translate .pexe files into architecture-specific .nexe
+files. Take a look at the <code>hello_world</code> example to see how to build a .pexe
+file and translate it into multiple .nexe files. Note that PNaCl is currently
+restricted to the newlib C standard library – if your application uses glibc,
+you can’t build it with PNaCl.</li>
+<li>The <code>create_nmf.py</code> script uses ELF headers (rather than file names) to
+determine the architecture of .nexe files. That means you can change the
+names of your .nexe files and <code>create_nmf.py</code> will still be able to
+generate the appropriate Native Client manifest file for your application.</li>
+</ul>
+</section><section id="id8">
+<h3 id="id8">Examples</h3>
+<ul class="small-gap">
+<li>The SDK examples now build with four toolchains: the glibc and newlib
+toolchains, the experimental PNaCl toolchain, and the hosted toolchain on
+your development machine. Within each toolchain build, each example also
+builds both a debug and a release version.</li>
+<li>The example Makefiles use dependency (.d) files to enable incremental builds.</li>
+<li>The pong example has been cleaned up and modified to run more smoothly. The
+drawing function is now set up as the Flush() callback, which allows 2D
+drawing to occur as quickly as possible.</li>
+</ul>
+</section><section id="id9">
+<h3 id="id9">PPAPI</h3>
+<ul class="small-gap">
+<li>When creating a 3D rendering context, the <a class="reference external" href="https://developers.google.com/native-client/dev/pepperc/group___enums#ga7df48e1c55f6401beea2a1b9c07967e8">attribute list</a>
+for the context can specify whether to prefer low power or performance for
+the GPU. Contexts with a low power preference may be created on an integrated
+GPU; contexts with a performance preference may be created on a discrete GPU.</li>
+</ul>
+</section><section id="windows-sdk">
+<h3 id="windows-sdk">Windows SDK</h3>
+<ul class="small-gap">
+<li>The Windows SDK includes the pthreads-win32 library to assist in porting from
+win32 code. You can use this library when developing your module as a Pepper
+plug-in (.dll). See pepper_24/include/win/pthread.h and
+pepper_24/src/pthread/README for additional information.</li>
+<li>The update utility naclsdk.bat works when it is run from a path with spaces.</li>
+</ul>
+</section></section><section id="pepper-23-15-october-2012">
+<h2 id="pepper-23-15-october-2012">Pepper 23 (15 October 2012)</h2>
+<p>The Pepper 23 bundle includes support for the nacl-gdb debugger on Mac and
+32-bit Windows, resources to enable hosted development on Linux, and changes to
+make the SDK examples compliant with version 2 of the Chrome Web Store manifest
+file format.</p>
+<section id="tools">
+<h3 id="tools">Tools</h3>
+<ul class="small-gap">
+<li>The <a class="reference external" href="https://developers.google.com/native-client/pepper23/devguide/devcycle/debugging#gdb">nacl-gdb debugger</a>
+now works on all systems (Mac, Windows, and Linux).</li>
+<li>The output of the SDK update utility has been simplified. When you run the
+command <code>naclsdk list</code>, the utility displays one line for each available
+bundle, annotated with an “<code>I</code>” if the bundle is already installed on your
+system, and a “<code>*</code>” if the bundle has an update available. To see full
+information about a bundle, use the command <code>naclsdk info <bundle></code> (for
+example, <code>naclsdk info pepper_28</code>).</li>
+</ul>
+</section><section id="linux-sdk">
+<h3 id="linux-sdk">Linux SDK</h3>
+<ul class="small-gap">
+<li><p class="first">Developers using the Linux SDK now have resources, including pre-built
+libraries and example Makefiles, that make it easier to <strong>build a module as a
+Pepper plugin</strong> (sometimes called a “trusted” or “in-process” plugin) using
+the native C/C++ compiler on their development system. In essence this makes
+developing a Native Client module a two-step process:</p>
+<ol class="arabic simple">
+<li>Build the module into a shared library (.so file) using your system’s
+C/C++ compiler. Test and debug the .so file using the tools in your normal
+development environment.</li>
+<li>Build the module into a .nexe file using the compiler from one of the
+Native Client toolchains in the SDK (nacl-gcc or nacl-g++). Test and debug
+the .nexe file using nacl-gdb.</li>
+</ol>
+<p>This two step development process has many benefits—in particular, you can
+use the compilers, debuggers, profilers, and other tools that you’re already
+familiar with. But there are a few potential issues to keep in mind:</p>
+<ul class="small-gap">
+<li>Chrome uses different threading models for trusted plugins and Native
+Client modules.</li>
+<li>Certain operations such as platform-specific library calls and system calls
+may succeed during trusted development, but fail in Native Client.</li>
+</ul>
+<p>Here are the resources you can use to build your module into a Pepper plugin:</p>
+<ul class="small-gap">
+<li>header files are in <code>pepper_23/include</code></li>
+<li>source files are in <code>pepper_23/src</code></li>
+<li>pre-built libraries are in <code>pepper_23/lib</code></li>
+</ul>
+<p>You can now build and run most of the examples in the SDK as Pepper plugins.</p>
+<ul class="small-gap">
+<li>Look at the example Makefiles or run <code>make</code> in the example directories to
+see the commands and flags used to build modules as Pepper plugins.</li>
+<li>Run <code>make LAUNCH</code> in the example directories to see how to use the
+<code>--register-pepper-plugins</code> argument to load a Pepper plugin in Chrome.
+Note that you must set the <code>CHROME_PATH</code> environment variable and start a
+<a class="reference internal" href="/native-client/devguide/devcycle/running.html#web-server"><em>local server</em></a> prior to running this command.</li>
+</ul>
+</li>
+</ul>
+</section><section id="id10">
+<h3 id="id10">Examples</h3>
+<ul class="small-gap">
+<li>On Linux and Windows systems, most of the examples now build with three
+toolchains: the Native Client glibc and newlib toolchains, and the native
+toolchain on the host system. Modules built with the native toolchain on the
+host system can only run as Pepper plugins.</li>
+<li>All examples in the SDK now comply with version 2 of the Chrome Web Store
+<a class="reference external" href="http://developer.chrome.com/extensions/manifest.html">manifest file format</a>. By default,
+applications that use version 2 of the manifest file format apply a strict
+<a class="reference external" href="http://developer.chrome.com/extensions/contentSecurityPolicy.html">content security policy</a>, which
+includes a restriction against inline JavaScript. This restriction prohibits
+both inline <code><script></code> blocks and inline event handlers (e.g., <code><button
+onclick="..."></code>). See <a class="reference external" href="http://developer.chrome.com/extensions/manifestVersion.html">Manifest Version</a> for a list of
+changes between version 1 and version 2 of the manifest file format, and a
+support schedule for applications that use version 1.</li>
+</ul>
+</section><section id="id11">
+<h3 id="id11">PPAPI</h3>
+<ul class="small-gap">
+<li><a class="reference external" href="https://developers.google.com/native-client/pepper23/pepperc/group___enums#ga21b811ac0484a214a8751aa3e1c959d9">PP_InputEvent_Modifier</a>
+has two new enum values (_ISLEFT and _ISRIGHT).</li>
+<li>The memory leak in the <a class="reference external" href="https://developers.google.com/native-client/pepper23/pepperc/struct_p_p_b___web_socket__1__0">WebSocket</a>
+API has been fixed.</li>
+</ul>
+</section></section><section id="pepper-22-22-august-2012">
+<h2 id="pepper-22-22-august-2012">Pepper 22 (22 August 2012)</h2>
+<p>The Pepper 22 bundle includes a <strong>command-line debugger</strong>, resources to enable
+<strong>hosted development on Windows</strong>, and changes to the example Makefiles (each
+example now builds both a debug and a release version).</p>
+<section id="id12">
+<h3 id="id12">Tools</h3>
+<ul class="small-gap">
+<li>The SDK now includes a <strong>command-line debugger</strong> that you can use to debug
+Native Client modules. See <a class="reference internal" href="/native-client/devguide/devcycle/debugging.html#devcycle-debugging"><em>Debugging with nacl-gdb</em></a> for instructions on how to use this debugger. For now,
+nacl-gdb only works on 64-bit Windows, 64-bit Linux, and 32-bit Linux
+systems. Support for Mac and 32-bit Windows systems will be added soon.</li>
+</ul>
+</section><section id="id13">
+<h3 id="id13">Windows SDK</h3>
+<ul class="small-gap">
+<li><p class="first">Developers using the Windows SDK can now <strong>build a module as a Pepper
+plugin</strong> (sometimes called a “trusted” or “in-process” plugin) using the
+native C/C++ compiler on their development system. In essence this makes
+developing a Native Client module a two-step process:</p>
+<ol class="arabic simple">
+<li>Build the module into a DLL using your system’s C/C++ compiler. Test and
+debug the DLL using the tools in your normal development environment.</li>
+<li>Build the module into a .nexe using the compiler from one of the Native
+Client toolchains in the SDK (nacl-gcc or nacl-g++). Test and debug the
+.nexe using nacl-gdb.</li>
+</ol>
+<p>This two step development process has many benefits—in particular, you can
+use the compilers, debuggers, profilers, and other tools that you’re already
+familiar with. But there are a few potential issues to keep in mind:</p>
+<ul class="small-gap">
+<li>Some libraries that are commonly used with Native Client may not build
+easily on Windows.</li>
+<li>You may need to put in extra effort to get source code to compile with
+multiple compilers, e.g., Microsoft Visual Studio and GCC.</li>
+<li>Chrome uses different threading models for trusted plugins and Native
+Client modules.</li>
+<li>Certain operations such as platform-specific library calls and system calls
+may succeed during trusted development, but fail in Native Client.</li>
+</ul>
+<p>Here are the resources you can use to build your module into a DLL:</p>
+<ul class="small-gap">
+<li>header files are in <code>pepper_22\include</code></li>
+<li>source files are in <code>pepper_22\src</code></li>
+<li>pre-built libraries are in <code>pepper_22\lib</code></li>
+</ul>
+</li>
+<li>A Visual Studio add-in will be available in the near future with
+configurations that include platforms for both Pepper plugins and NaCl
+modules.</li>
+</ul>
+<aside class="note">
+<strong>Note:</strong> It’s also possible to build a module as a trusted plugin on Mac and
+Linux systems, but doing so requires more work because the SDK does not yet
+include the above resources (library source files and pre-built libraries)
+for Mac and Linux systems. To build and debug a trusted plugin on Mac and
+Linux systems, you need to <a class="reference external" href="http://dev.chromium.org/developers/how-tos/get-the-code">get the Chromium code</a> and then follow
+the <a class="reference external" href="http://www.chromium.org/nativeclient/how-tos/debugging-documentation/debugging-a-trusted-plugin/trusted-debugging-on-mac">Mac instructions</a>
+or <a class="reference external" href="http://www.chromium.org/nativeclient/how-tos/debugging-documentation/debugging-a-trusted-plugin/debugging-a-trusted-plugin-on-linux">Linux instructions</a>.
+In the future, the SDK will include resources for hosted development on Mac
+and Linux as well as Windows.
+</aside>
+</section><section id="id14">
+<h3 id="id14">Examples</h3>
+<ul class="small-gap">
+<li>Each example in the SDK now builds both a debug and a release version. As
+before, most examples also build newlib and glibc versions, which means that
+there are now four versions for each example. Take a look at the Makefiles in
+the examples to see the compiler flags that are used for debug and release
+versions. For a description of those flags, see <a class="reference internal" href="/native-client/devguide/devcycle/building.html#compile-flags"><em>Compile flags for
+different development scenarios</em></a>.</li>
+<li>Comments have been added to common.js, which is used in all the examples. The
+JavaScript in common.js inserts an <embed> element that loads the NaCl module
+in each example’s web page, attaches event listeners to monitor the loading
+of the module, and implements handleMessage() to respond to messages sent
+from the NaCl module to the JavaScript side of the application</li>
+</ul>
+</section><section id="id15">
+<h3 id="id15">PPAPI</h3>
+<ul class="small-gap">
+<li>The <code>CompletionCallbackFactory</code> class template now takes a thread traits
+class as its second parameter. For details see the <a class="reference external" href="https://developers.google.com/native-client/pepper22/peppercpp/classpp_1_1_completion_callback_factory#details">CompletionCallbackFactory
+class template reference</a>.</li>
+</ul>
+</section></section></section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/sitemap.html b/native_client_sdk/doc_generated/sitemap.html
new file mode 100644
index 0000000..c3a798e7
--- /dev/null
+++ b/native_client_sdk/doc_generated/sitemap.html
@@ -0,0 +1,378 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<section id="native-client-documentation-sitemap">
+<h1 id="native-client-documentation-sitemap">Native Client Documentation Sitemap</h1>
+<p>Contents:</p>
+<div class="toctree-wrapper compound">
+<ul class="small-gap">
+<li class="toctree-l1"><a class="reference internal" href="/native-client/overview.html">Technical Overview</a><ul class="small-gap">
+<li class="toctree-l2"><a class="reference internal" href="/native-client/overview.html#introduction">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/overview.html#why-use-native-client">Why use Native Client?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/overview.html#common-use-cases">Common use cases</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/overview.html#how-native-client-works">How Native Client works</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/overview.html#native-client-in-a-web-application">Native Client in a web application</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/overview.html#versioning">Versioning</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/overview.html#where-to-start">Where to start</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="/native-client/quick-start.html">Quick-start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="/native-client/nacl-and-pnacl.html">NaCl and PNaCl</a><ul class="small-gap">
+<li class="toctree-l2"><a class="reference internal" href="/native-client/nacl-and-pnacl.html#native-client-nacl">Native Client (NaCl)</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/nacl-and-pnacl.html#portable-native-client-pnacl">Portable Native Client (PNaCl)</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/nacl-and-pnacl.html#when-to-use-pnacl">When to use PNaCl</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/nacl-and-pnacl.html#when-to-use-nacl">When to use NaCl</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="/native-client/glossary.html">Glossary</a></li>
+<li class="toctree-l1"><a class="reference internal" href="/native-client/sdk/download.html">Download the Native Client SDK</a><ul class="small-gap">
+<li class="toctree-l2"><a class="reference internal" href="/native-client/sdk/download.html#overview">Overview</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/sdk/download.html#prerequisites">Prerequisites</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/sdk/download.html#download-and-install-the-sdk">Download and install the SDK</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/sdk/download.html#staying-up-to-date-and-getting-new-versions-of-bundles">Staying up-to-date and getting new versions of bundles</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="/native-client/sdk/examples.html">Running the SDK Examples</a><ul class="small-gap">
+<li class="toctree-l2"><a class="reference internal" href="/native-client/sdk/examples.html#configure-the-google-chrome-browser">Configure the Google Chrome Browser</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/sdk/examples.html#build-the-sdk-examples">Build the SDK examples</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/sdk/examples.html#run-the-sdk-examples">Run the SDK examples</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/sdk/examples.html#run-the-sdk-examples-as-packaged-apps">Run the SDK examples as packaged apps</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/sdk/examples.html#debugging-the-sdk-examples">Debugging the SDK examples</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="/native-client/sdk/release-notes.html">Release Notes</a><ul class="small-gap">
+<li class="toctree-l2"><a class="reference internal" href="/native-client/sdk/release-notes.html#chrome-pepper-33-branched-on-16-december-2013">Chrome/Pepper 33 (branched on 16 December 2013)</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/sdk/release-notes.html#pnacl-enabled-by-default-in-chrome-31-12-nov-2013">PNaCl enabled by default in Chrome 31 (12 Nov 2013)</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/sdk/release-notes.html#pnacl-in-chrome-30-dev-channel-01-aug-2013">PNaCl in Chrome 30 Dev channel (01 Aug 2013)</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/sdk/release-notes.html#pnacl-15-may-2013">PNaCl (15 May 2013)</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/sdk/release-notes.html#pepper-27-12-april-2013">Pepper 27 (12 April 2013)</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/sdk/release-notes.html#pepper-26-29-march-2013">Pepper 26 (29 March 2013)</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/sdk/release-notes.html#pepper-25-21-december-2012">Pepper 25 (21 December 2012)</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/sdk/release-notes.html#pepper-24-5-december-2012">Pepper 24 (5 December 2012)</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/sdk/release-notes.html#pepper-23-15-october-2012">Pepper 23 (15 October 2012)</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/sdk/release-notes.html#pepper-22-22-august-2012">Pepper 22 (22 August 2012)</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="/native-client/devguide/index.html">Developer’s Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="/native-client/devguide/tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="/native-client/devguide/tutorial/tutorial-part1.html">C++ Tutorial: Getting Started (Part 1)</a><ul class="small-gap">
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/tutorial/tutorial-part1.html#overview">Overview</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/tutorial/tutorial-part1.html#step-1-download-and-install-the-native-client-sdk">Step 1: Download and install the Native Client SDK</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/tutorial/tutorial-part1.html#step-2-start-a-local-server">Step 2: Start a local server</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/tutorial/tutorial-part1.html#step-3-set-up-the-chrome-browser">Step 3: Set up the Chrome browser</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/tutorial/tutorial-part1.html#step-4-stub-code-for-the-tutorial">Step 4: Stub code for the tutorial</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/tutorial/tutorial-part1.html#step-5-compile-the-native-client-module-and-run-the-stub-application">Step 5: Compile the Native Client module and run the stub application</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/tutorial/tutorial-part1.html#step-6-modify-the-javascript-code-to-send-a-message-to-the-native-client-module">Step 6: Modify the JavaScript code to send a message to the Native Client module</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/tutorial/tutorial-part1.html#step-7-implement-a-message-handler-in-the-native-client-module">Step 7: Implement a message handler in the Native Client module</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/tutorial/tutorial-part1.html#step-8-compile-the-native-client-module-and-run-the-application-again">Step 8: Compile the Native Client module and run the application again</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/tutorial/tutorial-part1.html#troubleshooting">Troubleshooting</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/tutorial/tutorial-part1.html#next-steps">Next steps</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="/native-client/devguide/tutorial/tutorial-part2.html">C++ Tutorial: Getting Started (Part 2)</a><ul class="small-gap">
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/tutorial/tutorial-part2.html#overview">Overview</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/tutorial/tutorial-part2.html#using-the-native-client-sdk-build-system">Using the Native Client SDK build system</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/tutorial/tutorial-part2.html#making-index-html-work-for-chrome-apps">Making index.html work for Chrome Apps</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/tutorial/tutorial-part2.html#sharing-common-code-with-common-js">Sharing common code with common.js</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/tutorial/tutorial-part2.html#example-specific-behavior-with-example-js">Example-specific behavior with example.js</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="/native-client/devguide/devcycle/index.html">Development Cycle</a></li>
+<li class="toctree-l1"><a class="reference internal" href="/native-client/devguide/devcycle/building.html">Building</a><ul class="small-gap">
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/devcycle/building.html#introduction">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/devcycle/building.html#the-pnacl-toolchain">The PNaCl toolchain</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/devcycle/building.html#using-the-pnacl-tools-to-compile-link-debug-and-deploy">Using the PNaCl tools to compile, link, debug, and deploy</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/devcycle/building.html#the-gnu-based-toolchains">The GNU-based toolchains</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/devcycle/building.html#using-make">Using make</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/devcycle/building.html#libraries-and-header-files-provided-with-the-sdk">Libraries and header files provided with the SDK</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/devcycle/building.html#troubleshooting">Troubleshooting</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="/native-client/devguide/devcycle/running.html">Running</a><ul class="small-gap">
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/devcycle/running.html#introduction">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/devcycle/running.html#portable-native-client-pnacl-applications">Portable Native Client (PNaCl) applications</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/devcycle/running.html#native-client-applications-and-the-chrome-web-store">Native Client applications and the Chrome Web Store</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/devcycle/running.html#prerequisites">Prerequisites</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/devcycle/running.html#requirements">Requirements</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/devcycle/running.html#technique-1-local-server">Technique 1: Local server</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/devcycle/running.html#technique-2-packaged-application-loaded-as-an-unpacked-extension">Technique 2: Packaged application loaded as an unpacked extension</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/devcycle/running.html#technique-3-hosted-application-loaded-as-an-unpacked-extension">Technique 3: Hosted application loaded as an unpacked extension</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/devcycle/running.html#technique-4-chrome-web-store-application-with-trusted-testers">Technique 4: Chrome Web Store application with trusted testers</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="/native-client/devguide/devcycle/debugging.html">Debugging</a><ul class="small-gap">
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/devcycle/debugging.html#diagnostic-information">Diagnostic information</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/devcycle/debugging.html#basic-debugging">Basic debugging</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/devcycle/debugging.html#debugging-with-other-tools">Debugging with other tools</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="/native-client/devguide/devcycle/vs-addin.html">Debugging With Visual Studio</a><ul class="small-gap">
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/devcycle/vs-addin.html#introduction">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/devcycle/vs-addin.html#platforms">Platforms</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/devcycle/vs-addin.html#installing-the-add-in">Installing the add-in</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/devcycle/vs-addin.html#try-the-hello-world-gles-sample-project">Try the <code>hello_world_gles</code> sample project</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/devcycle/vs-addin.html#developing-for-native-client-in-visual-studio">Developing for Native Client in Visual Studio</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="/native-client/devguide/devcycle/dynamic-loading.html">Dynamic Linking and Loading with glibc</a><ul class="small-gap">
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/devcycle/dynamic-loading.html#introduction">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/devcycle/dynamic-loading.html#building-a-dynamically-linked-application">Building a dynamically linked application</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/devcycle/dynamic-loading.html#generating-a-native-client-manifest-file-for-a-dynamically-linked-application">Generating a Native Client manifest file for a dynamically linked application</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/devcycle/dynamic-loading.html#deploying-a-dynamically-linked-application">Deploying a dynamically linked application</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/devcycle/dynamic-loading.html#opening-a-shared-library-at-runtime">Opening a shared library at runtime</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/devcycle/dynamic-loading.html#troubleshooting">Troubleshooting</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="/native-client/devguide/coding/index.html">Coding Your Application</a></li>
+<li class="toctree-l1"><a class="reference internal" href="/native-client/devguide/coding/3D-graphics.html">3D Graphics</a><ul class="small-gap">
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/coding/3D-graphics.html#validating-the-client-graphics-platform">Validating the client graphics platform</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/coding/3D-graphics.html#calling-opengl-es-2-0-commands">Calling OpenGL ES 2.0 commands</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/coding/3D-graphics.html#implementing-a-rendering-loop">Implementing a rendering loop</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/coding/3D-graphics.html#managing-the-opengl-es-2-0-pipeline">Managing the OpenGL ES 2.0 pipeline</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/coding/3D-graphics.html#rendering-and-inactive-tabs">Rendering and inactive tabs</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/coding/3D-graphics.html#tips-and-best-practices">Tips and best practices</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="/native-client/devguide/coding/audio.html">Audio</a><ul class="small-gap">
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/coding/audio.html#reference-information">Reference information</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/coding/audio.html#about-the-pepper-audio-api">About the Pepper audio API</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/coding/audio.html#digital-audio-concepts">Digital audio concepts</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/coding/audio.html#setting-up-the-module">Setting up the module</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/coding/audio.html#creating-an-audio-configuration-resource">Creating an audio configuration resource</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/coding/audio.html#creating-an-audio-resource">Creating an audio resource</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/coding/audio.html#implementing-a-callback-function">Implementing a callback function</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/coding/audio.html#starting-and-stopping-playback">Starting and stopping playback</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="/native-client/devguide/coding/application-structure.html">Application Structure</a><ul class="small-gap">
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/coding/application-structure.html#application-components">Application components</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/coding/application-structure.html#html-file-and-the-embed-element">HTML file and the <embed> element</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/coding/application-structure.html#manifest-files">Manifest Files</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/coding/application-structure.html#modules-and-instances">Modules and instances</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/coding/application-structure.html#native-client-modules-a-closer-look">Native Client modules: A closer look</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="/native-client/devguide/coding/native-client-modules.html">Native Client Modules</a><ul class="small-gap">
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/coding/native-client-modules.html#introduction">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/coding/native-client-modules.html#writing-modules-in-c">Writing modules in C</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/coding/native-client-modules.html#id1">Writing modules in C++</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="/native-client/devguide/coding/file-io.html">File I/O</a><ul class="small-gap">
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/coding/file-io.html#introduction">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/coding/file-io.html#reference-information">Reference information</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/coding/file-io.html#local-file-i-o">Local file I/O</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/coding/file-io.html#the-file-io-example">The <code>file_io</code> example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/coding/file-io.html#file-io-deep-dive"><code>file_io</code> deep dive</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="/native-client/devguide/coding/nacl_io.html">The nacl_io Library</a><ul class="small-gap">
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/coding/nacl_io.html#introduction">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/coding/nacl_io.html#using-nacl-io">Using nacl_io</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/coding/nacl_io.html#the-nacl-io-demo">The nacl_io demo</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/coding/nacl_io.html#reference-information">Reference information</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="/native-client/devguide/coding/message-system.html">Messaging System</a><ul class="small-gap">
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/coding/message-system.html#reference-information">Reference information</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/coding/message-system.html#introduction-to-the-messaging-system">Introduction to the messaging system</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/coding/message-system.html#communication-tasks-in-the-hello-world-example">Communication tasks in the “Hello, World” example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/coding/message-system.html#messaging-in-javascript-code-more-details">Messaging in JavaScript code: More details.</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/coding/message-system.html#messaging-in-the-native-client-module-more-details">Messaging in the Native Client module: More details.</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="/native-client/devguide/coding/progress-events.html">Progress Events</a><ul class="small-gap">
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/coding/progress-events.html#module-loading-and-progress-events">Module loading and progress events</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/coding/progress-events.html#handling-progress-events">Handling progress events</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/coding/progress-events.html#displaying-load-status">Displaying load status</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/coding/progress-events.html#the-lasterror-attribute">The <code>lastError</code> attribute</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/coding/progress-events.html#the-readystate-attribute">The <code>readyState</code> attribute</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/coding/progress-events.html#the-exitstatus-attribute">The <code>exitStatus</code> attribute</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="/native-client/devguide/coding/url-loading.html">URL Loading</a><ul class="small-gap">
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/coding/url-loading.html#introduction">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/coding/url-loading.html#reference-information">Reference information</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/coding/url-loading.html#background">Background</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/coding/url-loading.html#the-url-loader-example">The <code>url_loader</code> example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/coding/url-loading.html#url-loader-deep-dive"><code>url_loader</code> deep dive</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="/native-client/devguide/coding/view-focus-input-events.html">View Change, Focus, and Input Events</a><ul class="small-gap">
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/coding/view-focus-input-events.html#overview">Overview</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/coding/view-focus-input-events.html#handling-browser-events">Handling browser events</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/coding/view-focus-input-events.html#handling-input-events">Handling input events</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="/native-client/devguide/distributing.html">Distributing Your Application</a><ul class="small-gap">
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/distributing.html#portable-native-client">Portable Native Client</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/distributing.html#non-portable-native-client">Non-portable Native Client</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="/native-client/community/index.html">Community</a></li>
+<li class="toctree-l1"><a class="reference internal" href="/native-client/community/application-gallery.html">Application Gallery</a></li>
+<li class="toctree-l1"><a class="reference internal" href="/native-client/community/middleware.html">Middleware and Software Support</a></li>
+<li class="toctree-l1"><a class="reference internal" href="/native-client/community/security-contest/index.html">Security Contest Archive</a><ul class="small-gap">
+<li class="toctree-l2"><a class="reference internal" href="/native-client/community/security-contest/index.html#contest-overview">Contest overview</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/community/security-contest/index.html#contest-winners">Contest winners</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/community/security-contest/index.html#panel-of-judges">Panel of judges</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/community/security-contest/index.html#additional-information">Additional information</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="/native-client/community/security-contest/contest-announcement.html">Native Client Security Contest</a><ul class="small-gap">
+<li class="toctree-l2"><a class="reference internal" href="/native-client/community/security-contest/contest-announcement.html#what-it-is">What it is</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/community/security-contest/contest-announcement.html#when">When</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/community/security-contest/contest-announcement.html#what-s-in-it-for-you">What’s in it for you</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/community/security-contest/contest-announcement.html#forum-native-client-announce">Forum: native-client-announce</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/community/security-contest/contest-announcement.html#forum-native-client-discuss">Forum: native-client-discuss</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="/native-client/community/security-contest/contest-terms.html">Security Contest Terms and Conditions</a></li>
+<li class="toctree-l1"><a class="reference internal" href="/native-client/community/security-contest/contest-faq.html">Security Contest FAQ</a><ul class="small-gap">
+<li class="toctree-l2"><a class="reference internal" href="/native-client/community/security-contest/contest-faq.html#what-is-this-contest-about">What is this contest about?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/community/security-contest/contest-faq.html#where-can-i-get-more-information-on-native-client">Where can I get more information on Native Client?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/community/security-contest/contest-faq.html#what-people-are-you-looking-for">What people are you looking for?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/community/security-contest/contest-faq.html#how-do-i-sign-up">How do I sign up?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/community/security-contest/contest-faq.html#what-is-the-process-of-participating">What is the process of participating?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/community/security-contest/contest-faq.html#how-many-prizes-are-there-what-are-the-prizes">How many prizes are there? What are the prizes?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/community/security-contest/contest-faq.html#can-i-sign-up-as-a-team-how-many-people-can-be-a-member-of-my-team">Can I sign up as a team? How many people can be a member of my team?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/community/security-contest/contest-faq.html#what-will-i-need-to-do-to-win">What will I need to do to win?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/community/security-contest/contest-faq.html#who-is-going-to-judge-these-entries-who-are-these-people">Who is going to judge these entries? Who are these people?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/community/security-contest/contest-faq.html#when-can-i-start-submitting-issues">When can I start submitting issues?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/community/security-contest/contest-faq.html#registration-does-not-work-for-me-what-can-i-do">Registration does not work for me—what can I do?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/community/security-contest/contest-faq.html#i-registered-as-a-team-but-i-want-to-change-the-team-composition-by-adding-or-removing-members-what-should-i-do">I registered as a team but I want to change the team composition by adding or removing members. What should I do?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/community/security-contest/contest-faq.html#i-have-a-previous-engagement-and-i-cannot-sign-up-until-after-the-competition-starts-is-this-ok">I have a previous engagement and I cannot sign up until after the competition starts. Is this ok?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/community/security-contest/contest-faq.html#my-team-has-accepted-the-terms-and-conditions-except-for-one-person-who-is-unavailable-whose-email-was-misspelled-etc-what-can-i-do">My team has accepted the Terms and Conditions except for one person who is unavailable / whose email was misspelled / etc. What can I do?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/community/security-contest/contest-faq.html#can-i-enter-multiple-times">Can I enter multiple times?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/community/security-contest/contest-faq.html#why-do-you-need-a-prize-recipient">Why do you need a prize recipient?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/community/security-contest/contest-faq.html#we-want-to-change-the-prize-recipient-what-can-we-do">We want to change the prize recipient. What can we do?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/community/security-contest/contest-faq.html#i-want-to-remain-anonymous-during-the-contest-is-this-possible">I want to remain anonymous during the contest. Is this possible?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/community/security-contest/contest-faq.html#one-of-my-professors-friends-is-a-judge-can-i-participate">One of my professors / friends is a judge. Can I participate?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/community/security-contest/contest-faq.html#can-my-company-be-registered-as-an-entrant">Can my company be registered as an entrant?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/community/security-contest/contest-faq.html#i-never-signed-up-for-this-contest-but-i-got-an-email-from-you-what-is-this-about">I never signed up for this contest, but I got an email from you. What is this about?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/community/security-contest/contest-faq.html#i-tried-to-sign-up-and-it-seems-someone-who-wants-to-be-a-member-of-my-team-has-already-registered-with-another-team-what-can-we-do">I tried to sign up and it seems someone who wants to be a member of my team has already registered with another team. What can we do?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/community/security-contest/contest-faq.html#i-lost-or-never-got-the-email-asking-me-to-confirm-the-terms-and-conditions-what-can-i-do">I lost or never got the email asking me to confirm the Terms and Conditions. What can I do?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/community/security-contest/contest-faq.html#one-of-our-team-members-rejected-the-terms-and-conditions-what-can-we-do">One of our team members rejected the Terms and Conditions. What can we do?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/community/security-contest/contest-faq.html#how-are-you-going-to-evaluate-the-submissions">How are you going to evaluate the submissions?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/community/security-contest/contest-faq.html#can-i-include-issues-i-submitted-before-the-contest">Can I include issues I submitted before the contest?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/community/security-contest/contest-faq.html#what-is-the-difference-between-exploit-issue-and-summary">What is the difference between exploit, issue and summary?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/community/security-contest/contest-faq.html#what-issues-should-i-include-in-the-summary">What issues should I include in the summary?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/community/security-contest/contest-faq.html#why-are-you-asking-for-the-top-10-issues-only">Why are you asking for the top 10 issues only?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/community/security-contest/contest-faq.html#my-english-is-not-great-will-this-count-against-me-in-the-judging-process">My English is not great—will this count against me in the judging process?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/community/security-contest/contest-faq.html#what-information-do-i-need-to-include-in-the-issue-submission">What information do I need to include in the issue submission?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/community/security-contest/contest-faq.html#how-do-i-contest-a-decision-that-a-bug-is-a-duplicate">How do I contest a decision that a bug is a duplicate?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/community/security-contest/contest-faq.html#why-is-the-native-client-team-updating-the-source-code-during-the-contest">Why is the Native Client team updating the source code during the contest?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/community/security-contest/contest-faq.html#i-forgot-to-include-something-in-the-summary-what-can-i-do">I forgot to include something in the summary—what can I do?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/community/security-contest/contest-faq.html#someone-from-our-team-submitted-a-summary-on-behalf-of-our-team-without-consulting-with-everyone-else-how-can-we-ensure-that-the-judges-will-use-the-previous-summary-and-not-the-last-one">Someone from our team submitted a summary on behalf of our team without consulting with everyone else. How can we ensure that the judges will use the previous summary and not the last one?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/community/security-contest/contest-faq.html#will-you-be-evaluating-each-exploit-separately-for-every-one-of-the-criteria">Will you be evaluating each exploit separately for every one of the criteria?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/community/security-contest/contest-faq.html#i-only-found-one-exploit-but-i-think-it-is-very-good-can-i-still-win">I only found one exploit but I think it is very good. Can I still win?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/community/security-contest/contest-faq.html#how-are-you-going-to-pick-the-winners">How are you going to pick the winners?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/community/security-contest/contest-faq.html#when-and-how-are-we-going-to-find-out-the-results-of-the-contest">When and how are we going to find out the results of the contest?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/community/security-contest/contest-faq.html#what-will-google-do-with-my-data">What will Google do with my data?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/community/security-contest/contest-faq.html#i-have-more-questions-where-can-i-get-a-response">I have more questions—where can I get a response?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/community/security-contest/contest-faq.html#i-like-this-project-are-you-hiring-people-to-work-on-it-full-time">I like this project. Are you hiring people to work on it full time?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/community/security-contest/contest-faq.html#how-can-i-get-involved-in-this-project-besides-the-contest">How can I get involved in this project besides the contest?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/community/security-contest/contest-faq.html#why-is-my-country-province-excluded-from-the-contest">Why is my country/province excluded from the contest?</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="/native-client/pepper_stable/c/index.html">Pepper C API Reference (Stable)</a><ul class="small-gap">
+<li class="toctree-l2"><a class="reference internal" href="/native-client/pepper_stable/c/index.html#id1">Interfaces</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/pepper_stable/c/index.html#id2">Structures</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/pepper_stable/c/index.html#id3">Functions</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/pepper_stable/c/index.html#id4">Enums</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/pepper_stable/c/index.html#id5">Typedefs</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/pepper_stable/c/index.html#id6">Macros</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/pepper_stable/c/index.html#files">Files</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="/native-client/pepper_stable/cpp/index.html">Pepper C++ API Reference (Stable)</a><ul class="small-gap">
+<li class="toctree-l2"><a class="reference internal" href="/native-client/pepper_stable/cpp/index.html#id1">Classes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/pepper_stable/cpp/index.html#files">Files</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="/native-client/pepper_beta/c/index.html">Pepper C API Reference (Beta)</a><ul class="small-gap">
+<li class="toctree-l2"><a class="reference internal" href="/native-client/pepper_beta/c/index.html#id1">Interfaces</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/pepper_beta/c/index.html#id2">Structures</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/pepper_beta/c/index.html#id3">Functions</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/pepper_beta/c/index.html#id4">Enums</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/pepper_beta/c/index.html#id5">Typedefs</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/pepper_beta/c/index.html#id6">Macros</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/pepper_beta/c/index.html#files">Files</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="/native-client/pepper_beta/cpp/index.html">Pepper C++ API Reference (Beta)</a><ul class="small-gap">
+<li class="toctree-l2"><a class="reference internal" href="/native-client/pepper_beta/cpp/index.html#id1">Classes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/pepper_beta/cpp/index.html#files">Files</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="/native-client/pepper_dev/c/index.html">Pepper C API Reference (Dev)</a><ul class="small-gap">
+<li class="toctree-l2"><a class="reference internal" href="/native-client/pepper_dev/c/index.html#id1">Interfaces</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/pepper_dev/c/index.html#id2">Structures</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/pepper_dev/c/index.html#id3">Functions</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/pepper_dev/c/index.html#id4">Enums</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/pepper_dev/c/index.html#id5">Typedefs</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/pepper_dev/c/index.html#id6">Macros</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/pepper_dev/c/index.html#files">Files</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="/native-client/pepper_dev/cpp/index.html">Pepper C++ API Reference (Dev)</a><ul class="small-gap">
+<li class="toctree-l2"><a class="reference internal" href="/native-client/pepper_dev/cpp/index.html#id1">Classes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/pepper_dev/cpp/index.html#files">Files</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="/native-client/reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="/native-client/reference/pnacl-bitcode-abi.html">PNaCl Bitcode Reference Manual</a><ul class="small-gap">
+<li class="toctree-l2"><a class="reference internal" href="/native-client/reference/pnacl-bitcode-abi.html#introduction">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/reference/pnacl-bitcode-abi.html#high-level-structure">High Level Structure</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/reference/pnacl-bitcode-abi.html#type-system">Type System</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/reference/pnacl-bitcode-abi.html#other-values">Other Values</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/reference/pnacl-bitcode-abi.html#intrinsic-global-variables">Intrinsic Global Variables</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/reference/pnacl-bitcode-abi.html#instruction-reference">Instruction Reference</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/reference/pnacl-bitcode-abi.html#intrinsic-functions">Intrinsic Functions</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="/native-client/reference/pnacl-c-cpp-language-support.html">PNaCl C/C++ Language Support</a><ul class="small-gap">
+<li class="toctree-l2"><a class="reference internal" href="/native-client/reference/pnacl-c-cpp-language-support.html#source-language-support">Source language support</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/reference/pnacl-c-cpp-language-support.html#memory-model-and-atomics">Memory Model and Atomics</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/reference/pnacl-c-cpp-language-support.html#threading">Threading</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/reference/pnacl-c-cpp-language-support.html#setjmp-and-longjmp"><code>setjmp</code> and <code>longjmp</code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/reference/pnacl-c-cpp-language-support.html#c-exception-handling">C++ Exception Handling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/reference/pnacl-c-cpp-language-support.html#inline-assembly">Inline Assembly</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/reference/pnacl-c-cpp-language-support.html#future-directions">Future Directions</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="/native-client/reference/nacl-manifest-format.html">Native Client Manifest (nmf) Format</a><ul class="small-gap">
+<li class="toctree-l2"><a class="reference internal" href="/native-client/reference/nacl-manifest-format.html#overview">Overview</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/reference/nacl-manifest-format.html#field-summary">Field summary</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/reference/nacl-manifest-format.html#field-details">Field details</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/reference/nacl-manifest-format.html#semantics">Semantics</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="/native-client/publications-and-presentations.html">Publications and Presentations</a><ul class="small-gap">
+<li class="toctree-l2"><a class="reference internal" href="/native-client/publications-and-presentations.html#recent-talks-and-demos">Recent talks and demos</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/publications-and-presentations.html#publications">Publications</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/publications-and-presentations.html#external-publications">External Publications</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="/native-client/faq.html">Frequently Asked Questions</a><ul class="small-gap">
+<li class="toctree-l2"><a class="reference internal" href="/native-client/faq.html#what-is-native-client-good-for">What is Native Client Good For?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/faq.html#development-environments-and-tools">Development Environments and Tools</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/faq.html#openness-and-supported-architectures-and-languages">Openness, and Supported Architectures and Languages</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/faq.html#coming-soon">Coming Soon</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/faq.html#security-and-privacy">Security and Privacy</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/faq.html#development">Development</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/faq.html#portability">Portability</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/faq.html#troubleshooting">Troubleshooting</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="/native-client/help.html">Help with NaCl</a><ul class="small-gap">
+<li class="toctree-l2"><a class="reference internal" href="/native-client/help.html#documentation">Documentation</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/help.html#forums">Forums</a></li>
+<li class="toctree-l2"><a class="reference internal" href="/native-client/help.html#issue-tracker">Issue tracker</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="/native-client/version.html">SDK version information</a></li>
+</ul>
+</div>
+</section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/doc_generated/version.html b/native_client_sdk/doc_generated/version.html
new file mode 100644
index 0000000..7edc6caf
--- /dev/null
+++ b/native_client_sdk/doc_generated/version.html
@@ -0,0 +1,8 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<section id="sdk-version-information">
+<span id="version"></span><h1 id="sdk-version-information"><span id="version"></span>SDK version information</h1>
+<p>Placeholder.</p>
+</section>
+
+{{/partials.standard_nacl_article}}
diff --git a/native_client_sdk/src/doc/README b/native_client_sdk/src/doc/README
index da6e2f56..ff49281 100644
--- a/native_client_sdk/src/doc/README
+++ b/native_client_sdk/src/doc/README
@@ -21,7 +21,7 @@
------------
To build the docs you will needs sphinx installed (and sphinx-build in your
-path). On debian/ubuntu this command is part of the ``python-sphinx`` package.
+path). On debian/ubuntu this command is part of the ``python-sphinx`` package.
There are many different output formats that can be generated using the targets
in the included Makefile. The three most commonly used ones are ``devsite``,